i need help to design a special wireless communicaiton between a main device and many end devices using nrf24l01 device from nordic semiconductor.
-- main device use raspberry pi. End device use Arduino nano or uno or similar ones
-- i was thinking to use nrf24l01 so main device and end devices can communicate. Each device shall have one nrf24l01. if you have better rf devices, i am open.
-- the main device and end devices are close by, not too far each other. The end devices are to measure for example temperatures, humidity, pressure, ...
-- the number of end devices could be 10, 20, 30, ... and for now, i like to assume there are at least 15-20 end devices.
-- for typical applicaitons, the end devices collect measured data and send to the main device, and i think this can be done, but this is not what i want, i need something a little bit special.
-- basically i do not want end devices to do anything without the permission from the main device. So initially all the end devices are not doing anything, and they only listen to the main device. As main device sends out an RF signal to all the end devices, and since the main device and all the end devices are close by, all the end devices shall be able to get the signal from the main device at the same time. After each end device receive the signal from the main device, each end device will collect a measured data and send the collect measured data back to the main device.
-- since this project is focused on the RF communication, each end device will not measure temperature or pressure or anything. Each end device only needs to send back two things to the main device. The first thing is the device #. Please remember that we have at least 15 to 20 devices, so we need to define each end device a number, so the main device knows the signal is from each end device. The second thing is a "radom time".
-- please note that initially each end device shall not do anything and they shall just wait for the signal from the main device. As each end device receives the signal from the main device, they will define that moment to be time=0, then each end device shall generate a random time delay, the time delay shall be in between 0-50ms. I think this random time delay can be generated easily with Arduino. Then each end device shall send this random time delay back to the main device. Ideally, the main device shall receive the time delay from end devices at different times.
-- basically the main device will send out a RF signal every 1 or 2 second to all end devices, and each end device, upon the receiving of RF signal from the main device, generate a random number delay in between 0-50ms, then send back (a) device # and (b) the random time delay to the main device.
-- the main device shall receive (a) device # (b) random time delay from each end device every 1 or 2 seconds.
-- nrf24l01 has 6 listening pipes and the nrf24l01 on the main device shall be able to receive 6 channels of data from 6 end device at the same time, but please note that now we have at least 15 to 20 end devices, and i may want to extend to 30-40 end devices. So my concern is what if there are more than 6 signals arriving at main device at about the same time? You will have to figure out a solution to make sure main device do not miss the data from end devices. I think each end device can re-send the data to main device, but it must be done quickly, please remember main device will send RF signal every 1-2 seconds to all end devices, and receive the data from all end devices within 1-2 seconds, and this is an ongoing looping ...everything must be done quickly without missing of anything.
-- for this project, i assume you will know that nrf24l01 can not listen and talk at the same time. And you shall try at least 15-20 end devices to make sure no data missing ..
Đã trao cho:
7 freelancer đang chào giá trung bình $282 cho công việc này
i am an arduino expert. Hi, I'm interested in working on this project. Please, consider sending a message so that we can discuss the project details exclusively. Thank you
I am electronic engineer.. My skills : - Arduino, Pic series micro controller - PCB design, Protel, AltiumDesignr, Proteus - My Experience BLE, RF, Automatic control system