Help moving files between Arduinos using RF24
Hello, I am looking for some help, not with code that I already have, but a starting place and possibly an educated opinion of if what I am attempting to do is even possible.
As a part of my work in academia, we use sensor arrays underwater to capture data. To enable us to use more of them in a wider variety of locations I have wired and programmed a fleet of Arduino Minis and Nanos to take readings from 4 sensors and write them into a csv file stored in an attached SD card with the RTC stamp.
So far, so dandy. I have been able to do this with 1 hour of C++ training and a lot of playing around and testing. It works pretty flawlessly.
But our sensors live underwater, and the battery will carry the unit for 6+ months or more. However we would like to gather data between these times WITHOUT opening the waterproof housing and resealing in the field. It is just too risky.
I was thinking RF24 wifi might work. I have looked everywhere and tried to find support for my idea, but I have no idea where to start. Both RF theory and C++ are new to me.
I can get two Nano's to ping each other and I am able to do so with a sensor array attached, so the units work...I just have NO idea where to start with the code.
WHAT I WANT TO DO;
Build two arduinos with RF24 chip. Using a hall sensor and a magnet on one system, tap the two together to engage the transfer of the csv file stored in the unit with the sensor array to the recovery arduino.
I can make the switch work, that programming is simple enough and the ideas behind it make sense to me.
What I cannot tell is if the RF24 is a platform capable of finding a file named log###.csv (where ### are a 3 digit or letter code) and then sending it wirelessly to the other unit which would write it to the SD card.
How would I execute the RF side of things? That is conceptually outside my realm of understanding.
Any suggestions on where to start? How hard this would be? I have not seen anything like this, only streaming so far.
Is it possible to use the RF24 to move bigger files, say 100k? Does anyone have sample script?
Any help would be appreciated!
I am working at building out a blog to show both the sensors AND the code when this whole bad boy is done, including attributions. The goal is to make science more democratic.
Thanks in advance!
Using MySensors library for this task would probably be a bit superfluous. I'd suggest you run RF24 directly. @TMRh20Projects did an "extension" to the library called RF24Audio. This could probably be tweaked into sending your sensors information between the two devices when you trigger the magnetic sensor.
Or perhaps using a bluetooth module transferring the data to your mobile phone directly.
Sounds like a very cool project. Great idea to use NRFs underwater to avoid opening and re-sealing. Can you share what types of measurements and where you are using this? (I'm curious )
I found this academic paper on underwater RF:
Experiments are conducted which demonstrate that a Zigbee transceiver, operating in the 2.4GHz band, can communicate with low error rates up to 40mm at low RF power (-25dBm) and up to 70mm at higher power (-3 dBm) in seawater. Ranges are slightly higher in fresh water.
I'm not sure, but I think you could expect similar results with NRFs. My experience is that people in academia are quite friendly and helpful, especially when talking to fellow academics, so you might even be able to get more information by contacting the authors.
In general the readings will not be underwater. At best, I think we could cover a foot or two with RF before the signal fades to noise. Even though sound travels well underwater, RF at these frequencies do not.
But what we hope to do, is take them out, leave them sealed and then download the information via a stored CSV file. That is the part we are struggling to code with right now.
We are building one to ride on surfboards that has gyrometric and accelerometric capabilities as well as temperature using a sinple DS18B20 tail into the water. This is for a social science project.
However, a more involved project involves pressure, temperature and conductivity (this is the hardest one to reliably measure with affordable parts).
the whole shebang is used to monitor streams, rivers and as of late wells to assess the impacts of salt run-off and ground water infiltration. Currently the commercial units cost $1500 plus a reader per single instance. If we can get this to work we can install 10x the number of sensors and engage citizens and science teachers in the building of our network.
Right now, I am trying to make it easy to get files out without the help (who might be 10 or not technical) having to open the units and reassemble them properly. Thus the WIFI.