Forum Replies Created
-
AuthorPosts
-
@oakleynode wow interesting you are looking at RSSI and it has a lot of variation. I haven’t characterized the RSSI result for a high percentage of failing calls.
Another system that is als
@oakleynode wow interesting you are looking at RSSI and it has a lot of variation. I haven’t characterized the RSSI result for a high percentage of failing calls.Another system that is also on the edge, and I added a new antenna that improved it, the reading is -81dBm https://monitormywatershed.org/sites/TUCA_Mi06/
The modem is a Digi CAT-M1 XB3-C-A2 with Verizon service. I haven’t got a real figure of ranges that should work
A test system is giving a crazy -1dBm – https://monitormywatershed.org/tsv/tu_rc_test07/4904/ – maybe its too strong to characterize!
The retrieved RSSI is the measurement of the last call, not the current one. Not sure what it indicates if the call fails completely – doesn’t go through. for GV01 its attempting to make calls every 15minutes, and then subsequently 15minutes later would be retrieving the RSSI.
For Mi06 it only makes a call every hour, though it retrieves the RSS reading on every 15minutes, to its likely the RSSI is the same value between calls.
For cell reflection off the ocean – you could look it up in a text book – but with waves maybe too chaotic. Not sure what you do with any answer, as it works or it doesn’t. It might be an interesting answer if you are wanting to compare against different frequencies – say would LoRa 900MHz be more reliable, but requires data packing. I haven’t figured out to easily do LoRa with MMW.
I keep an internal log on the uSD of connection attempts, and time to make the connection. Mostly that’s been useful for validating that connections where happening, that is verifying the device software. It also allowed me to show that the server was loosing data and in early 2023 the server response time was going out .
@oakleynode something to note is that the MMW/ODM2 packet design with UUIDs make an extra heavy packet. The packet design is not optimally designed for wireless conditions, the thingspeak packets are@oakleynode something to note is that the MMW/ODM2 packet design with UUIDs make an extra heavy packet. The packet design is not optimally designed for wireless conditions, the thingspeak packets are much lighter. If your site is on the edge of the wireless range, which varies a lot of with weather conditions, its going to have more trouble with the MMW UUID overheads. A site that I have on the very edge of wireless connectivity is https://monitormywatershed.org/sites/TUCA_GV01/. I implement a sequence number in all my packets to be able to easily characterize reliability. I have been upgrading the antenna on the site to be able to improve the wireless signal strength.I’ve found the server is pretty exacting, and the error responses are wip. In addition due to some undocumented compression routines on the server, if the POST timestamp is too old, and that region of the database its going to insert into is compressed, it then initiates an uncompres for that region and that can take an undefined looong, time . Which can the client POSTer to define a times-out.
I’m an advocate of reliability for ModularSensors, – and that also has meant characterizing the server, and in the process of testing my devices I’m finding server issues, one example https://github.com/ODM2/ODM2DataSharingPortal/issues/685
My reliability enhancements can do multiples POSTs per connection . Over a celluar connection (with 9600bard to the modem) the first POST has had responses of ~ 2.5sec, and subsequent ones 10seconds. However the server is not set up to take too many serial POSTs. Discussion https://github.com/ODM2/ODM2DataSharingPortal/issues/673#issuecomment-1692514992
For the ODM example, seems to me it is missing the “Content-Length: ”
The best documentation is the code.
https://github.com/EnviroDIY/ModularSensors/blob/master/src/publishers/EnviroDIYPublisher.cpp
I got the POST working on a Wio Terminal device (WiFi), but I needed to get wire-shark out to be able to sniff the packet to see exactly what the WioT device driver was outputting.
Here is an example of a trace from the transmitting device that succeeded (with a couple of changes to UUIDs so this won’t work)
POST /api/data-stream/ HTTP/1.1
Host: data.envirodiy.org
TOKEN: d9e65186-6cf6-4803-xxxx-4d9b1142bd48
Content-Length: 508
Content-Type: application/json{“sampling_feature”:”851d0f00-3d8b-41c7-xxxx-40cb86b9ad2c”,”timestamp”:”2023-10-27T16:04:49-08:00″,”740cc4f8-6bc5-471a-811c-e0977f286f51″:3,”1f239d16-e6e4-4f76-ae98-0b274c75c79e”:48.04,”5ab3af01-bf49-4187-893d-276d7d256cd7″:17.93,”fd4e9448-8f67-4b5b-bd73-630b0659af8b”:17.1875,”586f9006-261b-4c5a-8abe-c93d5ec799fe”:17.8750,”87e166b4-0810-424f-bcd1-bbfaf9bda24d”:17.5625,”f10be729-b2d0-48ba-9c30-912274985b83″:17.7500,”27d7e570-7ef1-4ab5-af94-dfef2eeb19c1″:4.101,”66b0642a-d8c9-4e25-9a8f-39e081c188fc”:6.557}
and in this case over WiFi the response is faster
— Response Code — 201 waited 632 mS Timeout 10000
regards
@shicks surely the issue isn’t how long it lasts – it will always run out of power at some point, or even worse batteries loose ca@shicks surely the issue isn’t how long it lasts – it will always run out of power at some point, or even worse batteries loose capacity, what was working decays – the issue is how to reliably recover when it has run out of available mA. ?The reliable bit – as in all engineering – is to add a buffer for real world component variations and that it just works for the “large power demand” when the modem turns on – across the expected usage of the battery. When Li-Ion batteries run down, their impedance goes up, they can supply less current at that voltage, and they need special charge management while they acquire a minimum charge .
@shicks I agree it would be good to see the software. For my systems I look to have it last 14days before it reaches 3.8V and it is a difficult target unless its being tested for and the time taken on@shicks I agree it would be good to see the software. For my systems I look to have it last 14days before it reaches 3.8V and it is a difficult target unless its being tested for and the time taken on the radio is also characterized.I see the issue is how to keep the sensor readings delivered reliably while there is enough power, and then when there isn’t enough power to manage the processor reliably until there is enough power – usually when harvested from solar.
I wonder what you see as a valid range for the Vbat, – some readings in the “Unmanaged Power Demand” indicate 5.1V and 3.0V. Can they be valid? For the recommended Adafruit 4.4Ahr battery, with a cellular comms SIM708, what thresholds do you see should be used?
This was what I used to guide my algorithms to avoid resets https://github.com/EnviroDIY/EnviroDIY_Mayfly_Logger/issues/32#issuecomment-959807618
and of course I implement the reliable software delivery
Attachments:
(previous post deleted and restated) @jp – interesting data. It very much looks like up to early October the solar was del(previous post deleted and restated) @jp – interesting data. It very much looks like up to early October the solar was delivering enough power for the system.Then with the seasons solar changing, the solar panel aspect is not delivering the power needed
What I would recommend is a) need to charge up the internal LiIon 4.4Ahr battery
- b) try and get more solar power
for a) my choice is the plentiful USB battery pack which can supply at least the 4Ahr at 5V. Your choice of Lithium primary batteries is also good – Li Primary have a good discharge characteristic – meaning 4 batteries at 6V would supply most of their power before dying. Alkaline and standard Carbon Zinc decay to about half the voltage when supplying their current.
However the AA Alkaline are rate at 3Ahr so probably a good boost to a partially dischatged 4.4Ahr battery
b) So anything you can do to help out a better solar aspect – less shade would help, and solar panels are best set at an optimal 45 degress or more from horizontal, but depends on the type of solar bracket. Winter sun is the more challenging, so best optimized for that – but I haven’t had much luck with low cost brackets to be able to do that.
An upgrade of the solar panel that is under 10V open circuit and at least 2.5W ~ another option https://voltaicsystems.com/3-5-watt-panel/ and of course the range https://voltaicsystems.com/small-solar-panels/ And also some same manufacturer here https://www.adafruit.com/product/5367
I’d be interested in what the software that you are using,
Particularly see what it thinks it is doing with low battery V – which results in what I’ve labeled as “Unmanaged Power Demand”. Its pretty amazing it still manages to get enough power to broadcast over the modem. The .csv file from the uSD would tell more of a story of what is happening when it resets.
This would be my analysis of the battery voltage readings from the site
<p style=”background: white; vertical-align: baseline; margin: 0in 0in .25in 0in;”><span style=”font-size: 10.5pt; font-family: Roboto; color: black;”>(I’m still analyzing my systems as to the gap that I’ve labeled “MMW System wide data loss”)</span></p>deleted and restated below
Attachments:
Hi @jp – I only install 2.5W or for a shady location I upgrade to 10W. Can you share the site that is publishing on, and can see how fast the power went down.The non recharge batteries cou
Hi @jp – I only install 2.5W or for a shady location I upgrade to 10W. Can you share the site that is publishing on, and can see how fast the power went down.The non recharge batteries could work – but you need to do a lot more power calculations to understand how long they will work. 4 batteries (4*1.6V =6V) will work for a boost plugged into USB-C, or a special connector instead of the Li-Ion – but then you need (3 * 1.6V = 4.8V) … , and probably D cells better options
My first suggestion is for you to get a USB Power Pack and just recharge the internal Li-Ion – I purchased this option a 10AHr USB, “10000mAh Dual USB Portable Charger, ”
and with a USB C cable plugged it into the Mayfly 1.1 – that recharged the LiIon battery in 2 hours
See https://monitormywatershed.org/sites/TUCA_Mi03/ battery Voltage – from Oct 1st. With the change in season there was less solar its deep in a Redwood forest The voltage declned from 4.125V and to about3.83V. At 3.8V my software stops it from transmitting readings. I was on site Nov 8, and plugged in the USB Power pack at 11:30 and it fully charged the 4.4Ahr battery by 13:00 – 90minutes. Then I also upgraded the panel to a 10W panel.
This was the context of the system. I align the solar panel to SW, but there was a lot of trees at that aspect, and with winter the solar aspect was decreasing.
https://photos.app.goo.gl/HMi5TDmh6n2rYdzA6
Though after the above I moved the solar panel to 15′ away, and then upgraded the 2.5W to 10W solar panel – which gets enough dappled ambient for an hour or so to boost the battery enough
Attachments:
An update – I’ve found I2C bugs in some of the ST3100’s devices – that I couldn’t get a work around. It may be to do with the AVR I2C master. Some other engineers are usiAn update – I’ve found I2C bugs in some of the ST3100’s devices – that I couldn’t get a work around. It may be to do with the AVR I2C master. Some other engineers are using it with an STM32 / ARM system that they aren’t seeing the same problem https://github.com/neilh10/STC3100arduino/issues/1From using the STC3100 – https://monitormywatershed.org/sites/TUCA_PO03/ I’ve come to the conclusion better to have an IC that also includes a battery capacity algorithm.
@jp thanks for sharing – power is a challenge when there isn’t enough of it. Finding enough power for your systems is the easiest step, – that is upsizing the solar panels, and ens@jp thanks for sharing – power is a challenge when there isn’t enough of it. Finding enough power for your systems is the easiest step, – that is upsizing the solar panels, and ensuring they have enough solar aspect this time of year.Just wondering, what is the standard kit that you have and source- sounds like you have the Mayfly 1.1 – what is the solar panel ? and battery ? and/or sensors
Cycling green and red leds is usually an indicator that its continually going through reset, Its NOT getting enough power to complete startup and then probably fails when invoking a heaver user – probably the modem. In short, IHMO, the ModularSensors architecture doesn’t do power demand management. That is it assumes there is enough power to get through the power up stage. I’ve talked about it extensively and come up with my own software to handle edge “reliability conditions”, and is available for anybody to use. https://github.com/neilh10/ModularSensors/wiki/1a-Feature-notes
An easy fix, if you are visiting the site, is to take a USB power pack with you, and then with an appropriate cable (Mayfly 1.x is USB-C) plug it in and boost the local Lithium Ion battery. However this can take a couple of hours, and the USB Power packs I have turn off when full charged the local battery, and then never turn back on – until unplugged.
This is a good conversation to have, so please share the details.
Seems like this might have broken, and I’ve created an issue https://github.com/ODM2/ODM2DataSharingPortal/issues/682
-
AuthorPosts