Forum Replies Created
-
AuthorPosts
-
Thanks for looking into it.
I’m in the UK for my Uncle who had a stroke, and I took off very quickly from California, and not likely to get back before the end of May after his funeral. I hav
Thanks for looking into it.I’m in the UK for my Uncle who had a stroke, and I took off very quickly from California, and not likely to get back before the end of May after his funeral. I haven’t brought any tools to see what the response are from the server.
It seems very unlikely that 5 systems would all stop transmitting by themselves. My three systems, for power saving, only transmit every two hours, and then they transmit 8 readings with 1second pacing between readings. So they would typically attempted to transmit 2hours after the last readings all successfully received. However if the server only responded with a 201 to the first of the 8 and then no response to the other 7- then technically in wall time terms they could be trying 3hrs 45min later.
https://github.com/ODM2/ODM2DataSharingPortal/issues/485
I have seen blocking issues that have come up in the past, and wonder what could cause them
https://github.com/ODM2/ODM2DataSharingPortal/issues/628
Hope it works – be fascinating to get an overview of the project when you have time 🙂
@ckillen sorry to hear about the problems – I make the assumption that a sub-module can always lockup, and may need a hard reset/power cycle to bring it back. Internal modem software can only@ckillen sorry to hear about the problems – I make the assumption that a sub-module can always lockup, and may need a hard reset/power cycle to bring it back. Internal modem software can only be as good as its tested, sub-modules comms software is complicated and its very difficult to test for all cases.The Maylfy1.1 now supports a power off capability as well as reset. I treat lab found conditions like you are talking about as a golden opportunity to build in simple reliability – repower, reset. Intermittent field problems are too hard to figure out.
I find it really doesn’t work to give field technicians (or even PhD hydrologist) a training in how to remove a 20pin modem and reinsert it in hot and sweaty field conditions, and also how to have a u.fl antenna stay affixed. “You want what!”
It could also be that the modem power has been turned off, and the device is not working.
I have it such that the modem stream monitor can be enabled from the build command line (or platformio.ini).
I should note it probably is only able to work with the modem UART stream Serial1 running at a slow 9600baud and the SerialTerminal running at faster 115Kbaud
C++123456789HardwareSerial& modemSerial = Serial1;// library! https://github.com/vshymanskyy/StreamDebugger#if defined STREAMDEBUGGER_DBG#include <StreamDebugger.h>StreamDebugger modemDebugger(modemSerial, STANDARD_SERIAL_OUTPUT);#define modemSerHw modemDebugger#else#define modemSerHw modemSerial#endif // STREAMDEBUGGER_DBGI haven’t yet tried the SIM7080, still using the Digi LTE modem (I fortunately got enough stock).
In the extreme, last year I used the IP protocol monitor stream debugger WireShark to actually see what was going on the line, and to check for the HTTP response. However this is a pretty difficult setup to get right.
Great @ldecicco – one area to note with “pio pkg install” is how it becomes part of your build process. I like to have aGreat @ldecicco – one area to note with “pio pkg install” is how it becomes part of your build process. I like to have a development build environment tree. Then a final “release” environment – and attempt to take a full snapshot of all libs used. I encapsulate the difference in text instructions and operation of the platformio.ini.@rogers1313 interesting question, and I’ve been mulling over possible solutions as it seems very attractive.The area undefined , is power, cost of the cellular gateway, and reliability of th
@rogers1313 interesting question, and I’ve been mulling over possible solutions as it seems very attractive.The area undefined , is power, cost of the cellular gateway, and reliability of the connection.
Its possible to do the individual elements easily – 900Mhz point to point – and cellular – but then introduce a packet with the “readings in JSON”, that has to be pushed between the two, and also manage the resultant handshake ACK to ensure reliability of delivery.
One way to think of it might be with LoRa 900Mhz to a LoRa Gateway on Cellular. The power usage for a cellular gateway may become an issue if its solar powered. With the physical layer and the output on a say ThingsSpeak LoRa WAN, now the readings needs to be pushed to a server. MonitorMyWatershed doesn’t easily support that interface, but there are other servers that might be turnkey, and there is then the need to configure the server interface. Be interested to see if other people have ideas 🙂
@ldecicco congrats on trying the platformio – it has a lot of professional capability, but like anything – getting in a fancy plane(!) there are lots of bells and whistles that can go off.@ldecicco congrats on trying the platformio – it has a lot of professional capability, but like anything – getting in a fancy plane(!) there are lots of bells and whistles that can go off.For “new” libs there are at least two ways to work with them, a) put the full path to them under libdeps
I find a https://github.com/arduino-libraries/ArduinoMqttClient
and in the platformio.ini
12lib_deps =https://github.com/arduino-libraries/ArduinoMqttClientThis pulls into your directory under .pio\libdeps\mayfly
b) clone to directory <lib> – that is go to the directory lib and run
git clone git@github.com:arduino-libraries/ArduinoMqttClient.git
Check that its been installed correctly and builds OK. Also then need to make sure its also not specified in platformio.ini as it will also be pulled in to .pio\libdeps\mayfly and compile there instead.
To be able to modify a lib, there are a couple more stages – assuming you have a github account, first on github fork the lib, then clone it into the local lib directory. Check that its building ok from that directory. Then make modifications, finally “git push” back to your forked repo.
For a number of examples, you could look at my forks in
https://github.com/neilh10/ModularSensors/tree/release1/examples/tu_xx01 – and say how I manage TinyGSM – the amazing AT interface lib ~ see
https://github.com/neilh10/TinyGSM.git<span class=”pl-c”>#rel1 ;Bug fixes over Envirodiy</span>
It is very powerful, however does require a lot of learning by doing and also checking out other examples.
It does also require following how git works – for instance on a repo fork I try and add to a different “branch” than what the source uses. so envirodiy specifies “master”, but I create and add to “release1”, and then in the repo make that the source branch.
To understand git, I prefer the cmd line interface, as I don’t quite trust what the gui github client to tell me what its doing. I do use the vsc git for looking at differences. I often make small changes, say in a comment, just to test out how it works, and verify that its getting to the online repo correctly. I keep a “<project>-diary.docx” of what I’ve done that works. Its pretty amazing, however it can take some curating to know the sequences to make it work.
Hope that works for you
The other side of failure is looking at how to design for system stability.Some components may appear to fail, like modems. However the software of course needs to be robust enough to handle netwo
The other side of failure is looking at how to design for system stability.Some components may appear to fail, like modems. However the software of course needs to be robust enough to handle network conditions.
A way of thinking about it is the “7 Layer OSI stack” and transmission reliability is attributed to Network Layer, or layer 3 https://en.wikipedia.org/wiki/OSI_model
@sofija if you start a topic, perhaps describing what sensors you think you want, and some of the sensing goals, then it would be easier to provide some insights. My first board I used was from a Du@sofija if you start a topic, perhaps describing what sensors you think you want, and some of the sensing goals, then it would be easier to provide some insights. My first board I used was from a Dutch company, the hardware availability isn’t a good place to discuss this. It could be in https://www.envirodiy.org/forum/infrastructure-and-equipment/Hello Mary, gosh you may have to provide more detail of what you are thinking you are doing. The tipping bucket is typically a pulse count – it needs to translate the mechanical tipping bucket tHello Mary, gosh you may have to provide more detail of what you are thinking you are doing. The tipping bucket is typically a pulse count – it needs to translate the mechanical tipping bucket to an electronic pulse. So you may want to reference this in more detail.There is this , never tried it . .. https://github.com/EnviroDIY/TippingBucketRainCounter
Hi Cal, great to hear you’ve got your problem solved.Believe me that is part of the process, learning how the libs go together. They can be amazing to pull in, – but its part of the pr
Hi Cal, great to hear you’ve got your problem solved.Believe me that is part of the process, learning how the libs go together. They can be amazing to pull in, – but its part of the programming paradigm of how to reference and track them.
Sometimes better to post a new thread when asking a question, and for programming its getting the focus on the right level of detail to be able to get thoughts on what is causing an issue.
-
AuthorPosts