ciaran55
@ciaranwalsh55 · Se unió el junio 2025
Smart-city engineer · energy
- Temas
- 9
- Respuestas
- 68
- Puntos
- 0
Respuestas de foro creadas
Android specifically checks for a 204 answer, if it gets anything else it should show the sign-in prompt. Your server probably isn’t being asked at all without the DNS bit.
Is UART logging still on in the build? On the nRF52 that keeps the high-frequency clock running.
Plenty of our street cabinet meters only give pulses and they report fine, something just has to count them.
jessicathompson37 is right on the process side, keep the check valves. I drew a compressor room for a client last year.
Palette: Compressor, Compressed-air receiver and Compressed-air dryer are in the Process library, not the core set, so if you only see some of them, check which libraries your organisation bought. Check valve is in the core set under the Water network family; search the palette for «check valve».
The animation: a connection has no value of its own. It follows its «from» symbol, so a pipe shows flow while the symbol at its start runs. If your pipe from compressor 2 keeps flowing, it was probably drawn from the receiver towards the compressor, or both pipes start at the same running symbol. Draw them in the flow direction:
Compressor 1 -> Check valve 1 -> Receiver -> Dryer -> header
Compressor 2 -> Check valve 2 ----^
and bind each compressor’s Running to its own running value on its Views. Tick Flow arrow on the pipes so the direction is visible. A check valve placed on the line takes the medium of the first connection that touches it. Pipes, cables and connections
I2C with a bus extender like the P82B715 can do long runs, we used it for 20 m once.
Two different questions.
SPI: yes, bit-banging is fine. The SX1276 has no minimum SPI clock, mode 0, and register access at a few hundred kHz from a PIC is plenty. People run raw LoRa point to point like that.
LoRaWAN: that’s where a PIC16 runs out. The stack needs crypto (AES-CMAC for the MIC), session state, and it has to open the receive windows on time after each uplink. Hermetry’s default RX1 delay is 5 s, and the window has to open within a few milliseconds of that. Doable, but not on that RAM.
So Kevin’s idea. A module with its own LoRaWAN stack (an STM32WL based one, for example) over UART. The PIC sends a join command once and then a hex payload per reading, the module handles everything else. Each probe joins with OTAA, Class A, LoRaWAN 1.0.2 to 1.0.4, which is what Hermetry’s network server does, on the same frequency plan as your gateway. A table codec turns your bytes into moisture and battery. Check LoRaWAN limits before you pick the module so its version matches, and buy it for your gateway’s band.
Then flip it around so nobody calls the Uno at all. The Uno posts its counter to Hermetry, and the ERP pulls the shift total from Hermetry. Inbound to your network stays closed.
Uno: send the running total (never reset it on the Uno) every minute to the device HTTP API with its token. A W5100 can’t do TLS, so either put a small TLS-capable board in front or, simplest, swap the Uno for an ESP32 with Ethernet and post over HTTPS. The body is just {"cases_total": 184233}.
ERP side: an API key with the Read only preset for telemetry, allowlisted to the ERP server’s address. At 06:05, 14:05 and 22:05 the import job asks for the increase over the shift:
GET /tenant/{tenantId}/api/telemetry/series?kind=iot_device&entityId={line3}
&keys=cases_total&from={shift_start_ms}&to={shift_end_ms}&bucket=1h&agg=increase
Add up the 8 hourly values. increase handles the counter properly and you don’t care if the device was offline for 10 minutes in between, the total catches up. On the board, the same key on a chart with increase gives ops the live cases per hour.
I’d avoid pushing from a flow to the ERP in your case: the HTTP request block refuses private addresses, so it can’t reach 10.x anyway. The pull keeps IT happy. Reference: The history API.
Stick to ADC1 even for testing, I lost an hour to ADC2 reading 4095 with Wi-Fi on.
And STATE isn’t a reset signal. It goes high once when the Bluetooth link connects, it doesn’t pulse when avrdude starts. That alone gives you resp=0x00.
Quickest way back: pip install paho-mqtt==1.6.1 and restart the service. Then fix it properly when there’s time.
That was exactly it. Passing &Wire to both fixed the sensors, and the RS-485 side works again because 21/22 are left alone. Cabinet current and temperature are on the dashboard now. In case someone has the INA219 library I have: its begin() takes the pointer, but older versions did not, so update it first.
Keisha’s short version is right. The detail, as I explain it to new starters:
The chip rate equals the bandwidth, so at 125 kHz you get 125,000 chips per second. One symbol is 2^SF chips, so a symbol lasts 2^SF / BW: about 1 ms at SF7 and 33 ms at SF12. Each symbol carries SF bits. With the 4/5 coding rate that gives a bit rate of SF × BW / 2^SF × 4/5, about 5.5 kbit/s at SF7 and 290 bit/s at SF12. Each SF step roughly halves the bit rate and doubles the airtime.
In EU868, assuming that’s what your gateways run, the DR numbers are just names for SF and bandwidth pairs:
DR0 SF12 125k DR3 SF9 125k
DR1 SF11 125k DR4 SF8 125k
DR2 SF10 125k DR5 SF7 125k
DR6 SF7 250k DR7 FSK 50 kbit/s
So the vendor’s SF9 is DR3. You don’t have to set anything for that. ADR (on by default) moves each device within the profile’s Lowest/Highest DR range, DR0 to DR5 by default, based on the best SNR over its last 20 uplinks. A meter that hears the gateway well ends up faster than SF9, a far one stays slower. After a change you can see it in the device’s lora.dr attribute. The one case where you’d turn ADR off is anything that moves, like a tracker.
Don’t count on yaw inside a steel trailer. The magnetometer gets pulled around by the steel, we saw 40° errors. Roll and pitch are what you need for «tipped over» anyway.
Went with a loop-powered splitter, the budget worked out with 4 V to spare. The node reads the second output, Scale block gives level_pct, and I kept the raw mA key with an alarm below 3.8. The PLC reading didn’t move when we cut the node’s power to test.
@Kevin H. not dumb, but no comms licence on that PLC and the vendor won’t sell one for a site this size. @aisha.maker that’s a ground loop waiting to happen here, the ESP is powered from a different supply.

