I’m fairly new to all of this and was hoping to get some direction on if I’m approaching this properly. For a university project I’m working to develop a wind sensing network used in wildfire fighting applications. Originally we were going to use satellite modems but having a modem in each node is far too expensive. I came across meshtastic and figured it was a great solution where every sensor node can communicate through the mesh network to a gateway node that will have a satellite modem or some other type of network connection, not really important at the moment. My only problem is I’m having trouble understanding how to actually use Meshtastic. From my understanding its used to send messages across the network from one node to another. I’m assuming that any node can create its own messages instead of just being a repeater. On the Meshtastic website I found the configuration modules like telemetry but this all seems very limited.
I’ll start with the hardware. I’m going to be using the wisblock board with a RAK4631 core module. I have two different anemometers for wind sensing, one communicates via RS485 and another via bluetooth. For the RS485 anemometer I will be using the RS485 wisblock module. I will also have a GPS module to get one time information about the sensor node’s location.
Now for what I want to do. First I will take a gps measurement so we know the node location then I want to take wind data samples over a period of time and calculate the average speed and direction and transmit that through the network to the gateway node. Ideally the gps coordinates are only transmitted once and then replaced with a node ID for following transmissions. I have my own code for collecting and processing the sensor data and I just want to use Meshtastic as a framework to put my sensor code on top of. I don’t want to have to learn how to and build my own mesh network from scratch.
Now my questions, and I’m sorry if these have been answered somewhere I’m new to all this and couldn’t find answers to what I was looking for. Is Meshtastic viable for what I am trying to achieve or is there another library out there somewhere that would be more appropriate? If Meshtastic is good for this here would I find documentation on how to create device firmware that includes both Meshtastic and my sensor code? I’ve done arduino projects in the past so I understand collecting and processing sensor data but the network part of things is all completely foreign to me. Am I just completely misunderstanding everything and need to restart at square 1? Any sort of help or direction would be greatly appreciated!
Sounds like a nice use case for Meshtastic. Indeed each node can send out information on its own and it can be delivered via the mesh to a kind of “gateway node” that connects via MQTT to the internet.
It depends a bit on how complicated your sensor processing is, but if the readings are fast and the averaging doesn’t need to happen too often, you can create your own software module in the firmware using the Module API.
If it gets too complicated, you can also use a separate MCU for your sensor readings and talk via the Serial Module to the Meshtastic node to send out the data.
I’m not sure if a Bluetooth-based sensor is feasible in the current Meshtastic firmware. You’d need to replace the current code that connects to a phone. Probably better to handle that with a secondary MCU.
Just what I need for field monitoring system for T,H,P and soil moisture and perhaps motion.
I will be monitoring this thread for ideas. Thank you, Doug
The Module API seems to be exactly what I was looking for, thank you. Time to look into how this all works to create my own module. My first prototype won’t use meshtastic, just going to make sure I can do all the sampling and save it to an SD card. In a few weeks I’ll start building the sensor module and I’ll give some updates as I go.
This is a very interesting project, and I am looking forward to seeing the result.
Are the RS485 sensors expensive, and do they use a lot of current running?
I did a project way back with low-cost anemometers and direction sensors. As I remember, the anemometer was just a mercury tilt switch that triggered for each rotation, and the direction meters were mercury tilt switches and resistors (different values for each main direction of the wind). So the sensor set only used four wires, Two shorting at each rotation of the anemometer, and two giving different resistance depending on the wind direction. The microcontroller would have to keep track of them and do the math, so the setup used more power than I could afford for my project.
For me, Mashtastic’s firmware is not yet ideally implemented for sensor applications.
Sorry, yes I love the project too, but there is always potential for improvement.
Today you need a power connection or a large solar panel and lots of sun. Unfortunately, it doesn’t work with a small battery.
I would like to see the measurement network for sensor applications only operated at predefined times and not the rest of the time. In your case, it might be sufficient to only transmit the measured values every 60 minutes. The sync could take place via the GPS time.