This does sound interesting however if I understand this correctly I would still require physical access to the moteino to reboot it and some sort of external reset switch
All that's required is a way to reboot the Moteino which you can do in software. That's how I do it in my setup all the time. I just setup the new image and the send a restart command to the Moteino, it restarts and the bootloader does the rest.
Just do a
wdt_enable( WDTO_15MS ); while( true );
to force a reset.
You do have a communication channel back to the Moteino's, correct? Usually (without listen mode) one does this by sending a payload to the Moteino with the ACK packet. The server can queue commands for a given Moteino and deliver them when it phones home.
and it would not give me the advantages of being able to communicate to the node through Listen Mode which is a feature that I would really like?
That depends: I guess from your description that your Moteino's are primarily asleep to save battery. Periodically they wake up and participate in the mesh. It that's the case you could use listen mode while the Moteino is sleeping and on wakeup configure the RH library for mesh communication.
Physical access to the node in some cases is difficult or expensive, I could buy extra radios for all the nodes for less than it costs me to access the difficult ones, so the radio cost really is not an issue.
Yeah - that what it sounds like. I have a similar setup though not quite as difficult as yours. But I have a Moteino in a waste water sewage pit which I prefer not to open frequently
- and I have a lake thermometer that I potted in epoxy so there's no way to program it the traditional way at all.
The external switch part I have taken care of with hall sensors so as not to compromise the integrity of my enclosures and I guess one of these could be used to trigger a reset. I currently use these in various ways to put some sensor nodes into different modes, eg I have an OLED display/receiver with a magnet in the base, when I put this on top of a node it switches to frequent transmission to the display in addition to it's very infrequent transmission to the gateway. A magnet on a stick could be used to trigger reset on some of the nodes but not all.
This is exactly the kind of use case that I originally implemented listen mode for: being able to interactively manage and configure a Moteino without significant battery life impact. So yeah, that in combination with the bootloader might be ideal.
Prior to listen mode I had a command to increase the update frequency of the Moteino. So while it would usually phone home 1 an hour (giving me an opportunity to send a command back with the ACK once an hour) I could set it to an update every 10 seconds, wait an hour and then be able to send a command every 10 seconds.
I am keen to explore the multiple radio option more at this stage unless there is fatal flaw in my thinking here.
It's certainly possible that multiple radios might work. I'd be concerned about the battery life implications (I'm always paranoid that way
), and the overall complexity of the solution. You'd also have to make sure that both antenna's are installed such that they don't impair each other.
Joe