How To Build an Arduino Wireless Network with Multiple NRF24L01 Modules
HTML-код
- Опубликовано: 27 авг 2024
- $2 for 10 PCBs (100*100mm) jlcpcb.com
Circuit diagrams, source codes and more details here ► howtomechatron...
In this tutorial we will learn how to build an Arduino wireless network, composed of multiple NR24L01 transceiver modules.
Thanks to JLCPCB for sponsoring this video.
Visit HowToMechatronics.com for more Tutorials, Tips, Projects and How It Works videos:
► howtomechatroni...
Like my page on Facebook:
► / howtomechatronics
Add me on Google+:
►plus.google.co...
Music: MÆSON - The Catch ( / tracks )
My goodness I've tried so many times and couldn't find a good tutorial to do this. Thanks a lot for making this video!
Justin Straver!
you have no idea how much this helped me, i had almost given up on trying to figure this out
I'm glad to hear that!
I have four modules on the way and I can't wait to do this project :-) thank you for sharing your talent with us.
Best NRF24L01 Network tutorial so far! Thanks for sharing!
Thank you for very clear explanation on how to create network of multiple NRF2401's Learned alot!
You made it pretty simple! I was very confused from this library till now. CONGRATS!
Thanks, I'm glad to hear that!
thanks you, very easy to understand, it cant be more simple and clear ,
i"ve been trying to understand how to code the mesh network,
now it is easy and clear,
Thank you for this tutorial......
Thanks!
Thank you! Concise and full of information!
According to diagram @3:00 minutes the hierarchy works in that way that the message for the lower nodes can go up/down a straight way from/to base node. When message needs to go to other node in the same hierarchy level or on the other level it must first go straight way up to base node than down to the destination node.
But, if we look on the diagram @6:11 minutes it looks that that hierarchy is not respected. How?
1. Base 00 (blue line) to Node 012: first send message to Node 02 than Node 02 will send to Node 012. The line must go through the rectangle of Node 02, not away of it.
2. Base 00 (pink line) to Node 022: first send message to Node 02 than Node 02 will send to Node 022.The line must go through the rectangle of Node 02, not away of it.
3. Node 012 (green line) to Node 01: first send message to Node 02, Node 02 to Base 00 and Base 00 will send message to Node 01. The line must go through the rectangle of Node 02 than to Base 00 than to Node 01, not away of it.
All of that to avoid confusion.
pretty sure it was just explaining where data goes not HOW it gets there
Wow! I've been waiting for something like this. Thank you!
This is so awesome!
I'm planning to do Spider Cam system to my biggish workshop. One arduino is the "controller" and then on each corner (four of course) of the workshop there's stepper motors to control the single wire.
ChatGPT implemented some code for me already for this! 😀
Maybe i missed it in video, but... These modules are great for almost 100m distance, in open area and 2m above ground. Every single tree will drop range significaly. In a house project two of these modules separate by two walls can hardly achieve 8-10m range. If there are bunch of wires in walls behind one of them, range will drop more, and loss of packets will increase. Better solution would be use of PA-LNA versions. Or, to use third one for a bridge between two of them in a node manner as Dejan pointed in video. Beside, local network can mess up things even more. So, channel must be set 108 or above. 115 is pretty much ok. Data rate to 250.
The other thing to notice is, these modules has Gremlins. Dupont cables can be used for making a project. For a finish product, dupont cables are out of business. Only hard-wired and capacitor on power lines is a MUST. Or to use an adapter for them, which is pretty good.
Good one, btw, Dejan.
Cheers.
Thanks for the input!
u are really great boss. ur every tutorial is real and good . i follow ur project also try those and be success.
never success communication while using NRF on bredboard, may b the loose connection or something else, but working perfectly on PCB
I gave a "like" and I suscribed. Thank you very much for this amazing tutorial. It is so helpful.
Excellent tutorial! Very well explained. Thank you
Thanks!
Thank you. this video is the best! Wish you all the luck in your life !!!!!
One video make tv(analog) transfer signal used rf module 😊
Your videos are really..... Cool.....
Can you create...... A full playlist of....... Using NRF24L01 from..... Beginning to.... End...... Complete tutorial........
this is excellent im going to make something not sure what but definitely something using your tutorial.
Excellent lesson! Thank you
Thanks!
I don't even have and Adruino (yet) and I understood everything. The potential here is ENDLESS !!! One new SUB here.
What is the distance of the NRF24L01 module ?
Thanks! The NRF24L01 module distance in open space should be up to 100 meters, and if the model is with the big antennas it should be up to 700 meter. But that would be significantly less if there are obstacles.
@@HowToMechatronics Thanks for your response. Very kind of you. I am looking at a project that will have obstructions in it maximum 150 feet... Wires concrete... etc etc. I would need to find the strongest module of this type out there.
I've referred to this several times, and your code. Thanks so much, bro!
Awesome video. I have a bunch of those nrf modules
❤❤❤❤احسن قناة لتبسيط الالكترونيك ❤❤❤❤
That's great project description Sir......
sir I faced issue while storing the different sensor data at receiver side . In which the value get shuffled between two variables .
DUUDE! awesome video and awesome example. We need more awesome dudes like you.
Great job on explaining. Thank you.
Thanks!
Excellent video...can u teach us to build the same network using LORA instead of NRL24
Sir can u make use of Wi-Fi module(esp8266) instead of Bluetooth
Wi-Fi uses -master - slave- oops, I mean primary-secondary connections (it's 2020 lol) while Bluetooth is peer-to-peer
you can connect a bunch of wifi clients to a hotspot but then that hotspot will not be able to connect to another hotspot ... you would need 2 wi-fi modules on a single device for that, which is really innefficient. wi-fi wasn't designed for this. wi-fi modules are for many-to-one connections where a device can be wither a client or a host but now both, and the networn is encrypted, secured and high-bandwidth ... basically for internet tethering ... that's what wi-fi was designed to do
connecting a whole bunch of devices through wi-fi, even if some of them had multiple modules so you could link them together would still be a huge pain in the ass because you would soon get horrible interference because there's only so many possible wi-fi channels
so if you want to make a wi-fi network ... just go ahead and get a powerful enough router and connect everything in a single network instead
Wow, thanks a lot for sharing such a perfect talented tutorial. Can it be applied for ESP32? If not, can't wait to see that u may come out with ESP32 mesh tutorial. 😊
hello an excellent project, I have a question how you define the, 0 and 10 for each specific node and if I wanted to use another node how can I define that data
is the code of node 01
if (header.from_node == 0)
if (header.from_node == 10)
Thank you
Have u figured that out?
up
Thanks for clear expanatios how to build or install the sencor..
Great video! - if I wanted to make two systems with this setup so having in total 6 arduinos. Would the systems interfere with each others?
i had the same thought, anyone with an answer pls
Use different channels
at nRF24L01 Network No any protocol follow as nrf24L01.h pipe following
Hello tnx for the GREAT tutorial. Can I connect a nodemcu to an Arduino which is wired to an NRF module? If yes , can I use the same libraries you used ?
very nice and clear tutorial..thank you
sir can i write code like (radio.write(main_node, &customKey, sizeof(customKey));)
Hi! Thank you for this tutorial. You have laid this out so well. One thing I am confused about is at 7:30, where you explain "header.from_node", I couldn't see how some of these values correspond to the node numbers. First you say, if (header.from_node == 0) { // If data comes from Node00. This DOES makes sense. But then you say, if (header.from_node == 10) { // If data comes from Node012. This is what confuses me. How does 10 mean Node012? Am I missing something here?
Ok but as you even mentioned it's not mesh topology at all it's a TREE topology. Once root is gone, none of these will be able to communicate to each other. Second thing - instead to use device ID (defined by manufacturer) you used fixed address. In order to do real mesh you would have to traceroute packets, include all nodenames this packet was sent to, name of origin, and most importantly local time of sender to distinguish order of messages. This example is bad, i have no example written by my own yet that's why im interested in this topic but this example is just bad at first glance.
Node 01 is receiving from node 00 & 012
Then why have u used 0 & 10 to check received data , please reply
I have a idea. In code(next to node address), he wrote octal format. Convert 012 to 10. (8^0)x2+(8^1)x1+(8'^2)x0=10 (if you dont understand , google octal format.)
great content an super animation/video editing
i...love... you, thank you so much for the Ecuador, Sir
i still dont get it..why single line command radio.read(&receiveddata,lengofdata) can take all the incoming pipe? should has to be command like this..(pipenumber,receiveddata,lengofdata) ? why the library didnt create like this?
Please A button keyboard wirles one modul 4button transmiter keypad wirles
Sir can u plz tell me the single line of program that can send the data for maximum distance while using nrf24l01+pa+lna in multiple nodes network.
thank you sir for this excellent video,
but its not working when i checked for Node 00 and Node 012 and when i does not connected other nodes (when i want to on or off led of NODE 012 controlled by Node 00)
please help me sir
shubham jaiswal have you fixed? I think it need node01 online act as a router in case node012 too far away
You really know how to explain. Great, please continue.
I have a question: Which programmer do you recommend for programming the Arduino Nano? Please supply a link. Thanks in advance.
Great work! Thanks
Awesome video going to use soon
Two set of network nrf24 overlapping, if node00, node01, node011 same.
Is there any unique pipe address as nRF24 ?
Kindly help
Pozdrav !Sviđaju mi se vaši video uradci ali zašto nemate titlova za prevod !🙂
hi sir
i have a problem with module nrf24
with using multiples noeuds
and one of this noeud play the rules of router
sending and receving data
can you help mee please
Please make a video about how to make wireless cat6 transmitter and receiver
if i use nodemcu for this project, can u show how make if use nodemcu
please
Can you make a tutorial on how to push data from these nodes to cloud for iot use
may be u could send the data serially to a raspberry pi then upload it to the cloud,, or add one node that connects to the cloud directly
Anyone know of wireless throughput greater than this module for the Arduino? If so, what's the max you've seen?
so you can communicate between 3125 NRF at the same time ??
so one NRF can send information to 3124 NRF in the same time ??
Hi I have Arduino Uno with 3 pins connected to Max7219 with 7-segmentLED. How is it possible to send data to another 4 Arduino Uno using NRF24L01 so I will have exactly the same displays on all my 7-segment LEDs. Thank you
I prefer to use Pcbway because they can check my design files mantually and help fix the small design error. So PCB always works perfectly and Fab quality is flawless. Moreover, there is no difference for me between $5 and $2.
How many nodes Could I have In a Mesh Topology?
SOOO NICE !!! this is a great video !
Thanks!
Thank you so much - excellent work!!!
Thanks!
how do you get the colored text bits when i code in my Ardino ide i dont get such colored text
Priceless
Hello, I have three Arduinos. 1 Uno as the base and 2 Megas as Node 1 & 2. My Base is sending 1 type int to Node 2 and Node 1 is sending 2 type long (encoder values) to Node 2. I am using header.from_node to differentiate where the data is coming from, but it does not seem to be able to process. How do I package the data and read it when expecting two completely different types and data sizes? I've tried struct and including everything I'm sending and receiving and only writing to the values when it comes from the intended node. Please let me know if you have any suggestions.
Excellent carry on
Is it possible to use stm32 instead of ardiuno
Nice Video... can you explain about"LoRa" module in next video.
Please make vedio on gas sensor
verry nice now i get it thanks
"radio hardware is not responding!!" What does it mean?
Useful video. Excellent
Awesome explained
In comparison to OSC, how stable is the wireless network? Latency? Does it drop data with distance?
Very nice. Thanks. What's the lag like?
Hi, a very good Tutorial!
And it works fine! But i have a question...
Which variable i have to change in the code, to create another Mesh-Network? I need a second one in the near of the other.
3125 child nodes are there in the tree, can they send data to the base? One by One at a time delay one second any one plz help.
Excellent video I have been looking for something like this for a long time. A couple of thoughts first thing can you use an ESP8266 for all nodes if you can which library’s would you use, second if you use an ESP8266 you can do away with the Arduino boards.
Excellent video, would you be able to expand the tutorial to discuss the rf24mesh library?
Thank you! That's a good suggestion but currently I have quite a big do-to list with other projects and tutorials, so it would take me some time to get to this one. Cheers!
Hi, can someone help me if I want n number of Nrf24l01 and use 1 single arduino as central node?
Can I use one Master and let's say 10 Slave? with same address?
Great video. I assume the same can be done with a mix of Arduinos and Raspberry Pi’s at different notes? I am trying to mix Arduinos and Pi’s on the same network.
Can u make a video on how to push data from these to cloud
what is node o1 module?
Great video!
Can this topology behave like an extender? For the example, sending data from node 011 to node 01, then forward it to master 00?
pretty sure it can
but all the correct modules will need to be powered and in range so it wont be like 01 to 0122 without first going thro 012
it's really good !! thnx
can connecting nodemcu with nrf24l01 ??
Sir i want to make address of five digit Integer number
like-
this_Node = 31211 :
Node1= 31222 :
So, What i have to do sir
or what are the changes i have to do,
How can i connect two NRF as receivers with single arduino uno connected with single TX ?
What can the range be if we need to communicate between base 00 and base 01111
Can this same thing done by node mcu using wifi without nrf24l module?
Can we connect node 01 directly to node 02, so that every successful step in the tree the nodes are connected to each other to reduce traffic through the central node?
bro can i get this version of the arduino programming tool , because the project does not work on the latest version
hi, great videos! can you please tell what software you use for animation?
Sorry, I'm lost On node01, if(header.from_node == 0) how did it point to Node02? Also, if(header.from_node ==10) how did it point to Node012?
webslinger2011 i have the same problems, have you fixed it?
And for your second question. In the library, they define node address in octal and if statement they using decimal to compare so 012 = 8^1 + 2x8^0
Sorry it's still unclear to me. I've set it aside for now since I have another project to finish for school.
I bought knockoff modules. They lack certain features. Where did you buy yours?
Is there a reason you used long instead of int data types? Wouldn't it be more efficient to use an unsigned int and byte for 0 ~1023 and 0 ~180 respectively?
Thank you so much
thank you a lot, so it has to be 5 level deep network? my network has to be vertically long, not horizontally, because i need a long range coverage, is there a way around this?
is it only limited to 5 devices per node?
I tested with similar codes. Address 00 for receiver and 01-05 for the transmitters. It only limits me for 5 transmitters. It gives error for address 06.
Loved the video but I want to make 4 door sensors and one receiver with led indicators on the receiver so is it posable to change your sketch to do this thanks Bob
In this case you can just use the rf24 library; your application does not need the mesh network.