I would like to communicate intel edison board to arduino board for long range application
Now I have code for arduino for interfacing nrf24l01 with arduino but that same code is not working fine with edison so i need any library or code that work fine with edison
some one can help me....???
- Can you share the link to the Arduino library you are trying to reuse?
- Which nRF24L01 module are you specifically using? link?
- If you are using the Arduino IDE with your Edison and running into problems, are you seeing compilation errors? Or does your sketch upload fine but just 'do nothing'?
- Also, what are the details of your Edison setup? Mini or Arduino breakout board? What breakout lines/pins have you connected up to which of those on the module? Pictures are helpful.
[edit: just saw YermiA_Intel posted a relevant response in another post - ]
[edit again: there are a lot of people trying to use this module in the forum, try searching for posts like this ]
Thanks for reaching out!
As you may know Arduino (I presume you are using the UNO) and Edison work on different architectures, precisely Arduino (UNO) uses an AVR architecture and Edison uses x86. Therefore, Arduino libraries that are dependent on AVR's architecture, will not be compatible with Edison.
So, you might be interested in using mraa/upm for your project, this library lets you interact with Edison's interfaces from the Linux side and it is compatible with the nrf24l01. You can find examples of how to use this sensor with Edison and mraa/upm at:
I hope this information helps you,
yes,am using Arduino IDE and
this is the link am following https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo arduino-info - Nrf24L01-2.4GHz-HowTo
when am using the Arduino IDE with my Edison,sketch upload fine but just 'do nothing'?
Details of your Edison setup is - Arduino breakout board
I hope,I have gave the information that you asked for,
thanks for your response
I'm looking over the library mentioned in https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo# lib and if you go to its Arduino examples, you will see the most basic one GettingStarted.ino. This sketch includes SPI.h and if you then go to SPI.h ( https://github.com/codebendercc/arduino-library-files/blob/master/libraries/SPI/SPI.h), you will be able to see that it indeed includes AVR dependent libraries. Hence the library will not be able to work out of the box for Edison, you will either have to modify the library to not include this AVR calls or use a Linux approach.
Anyway, I can see in https://github.com/TMRh20/RF24 that this library is also compatible with Linux, so, if you'd like to use it, I would suggest you to try this approach or you can use the library I mentioned before.
I hope this helps.
first of all thanks for the reply....
thanks for making me understand about the concept of architecture and library ...
If I had to work on this NRF24L01 module with Edison.....Can I use arduino code which not have any library......
Actually I find this http://www.kevindarrah.com/wp-content/uploads/2014/03/NRFMaster_V2.txt http://www.kevindarrah.com/wp-content/uploads/2014/03/NRFMaster_V2.txt which is arduino code.
Any one have code without including any library in it .....
Should I need to install linux software on edison board for working on this module....
these are the doubts arised ..for me..
Yes, if you implement a code that doesn't use an AVR dependent library, you should be able to use it on your Edison. Nevertheless, if you search for Arduino codes usually they do have this detail.
If I had to work with the NRF24L01, I would indeed use a Linux library in order to avoid this issue. And the fact that the library you are using is also compatible with Linux makes it very convenient. However, I would be inclined to use mraa/upm as there are several working examples that use this sensor with Edison.
You don't have to install anything on Edison, it already runs a full version of Linux. Perhaps you'd have to update mraa and upm but that should be it.
If you need help using mraa/upm, let me know and I'll gladly help you get started.