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.
https://github.com/TMRh20/RF24Audio
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.
Sensor arrays:
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.
Suggested Topics
-
Update RF24 library to latest version
Bug Reports • 23 Mar 2014, 23:37 • andriej 24 Mar 2014, 22:52 -
Low Power Servo Actuator
Development • 11 Feb 2016, 14:43 • Tango2 12 Feb 2016, 10:21 -
Full-Duplex Network
My Project • 4 Dec 2014, 18:14 • sfam 20 Feb 2017, 19:33 -
Network of arduinos using NRF24l01+ RF transceivers using Mysensor library
Feature Requests • 3 Feb 2015, 14:07 • amitach 3 Feb 2015, 16:03 -
DevDuino v2.2 with EEPROM
Hardware • 10 Dec 2015, 21:50 • icebob 19 Dec 2015, 06:02 -
How to make sense of Struct data received from Arduino in RPi via NRF24?
General Discussion • 16 Jun 2022, 00:47 • nrf24_is_hard 31 Jul 2022, 04:41 -
Building a gateway with two transport layers
Hardware • 15 Aug 2021, 10:31 • Giovanni Chiva 15 Aug 2021, 18:02