Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Megan Brooks

brooksdata

@megan_b40 · Eylül 2025 tarihinde katıldı

Yeni üye

Data analyst · water and wastewater

Konular
2
Yanıtlar
45
Puan
0
Yeni üye10 için Üye puan

Oluşturulan forum yanıtları

15 yazı görüntüleniyor – 16 ile 30 arası (toplam 45)

Same physics as David’s speaker, yes. The RF burst gets rectified by the input stage of the ADC (or any semiconductor junction on the line), and that shows up as a DC offset for the length of the burst. 2G-style bursts at 217 Hz are the worst, but LTE uplink bursts do it too. A cabinet I look after at work had exactly your picture, spikes during uploads only.

What fixed ours, cheapest first:

  • Get the antenna out of the cabinet. A short-cable antenna on the cabinet roof. Inside a steel box the router is shouting at your wiring from 30 cm.
  • Shielded twisted pair for the 4-20 mA run, shield grounded at the controller end only.
  • An RC filter right at the ADC pin, 1 k and 100 nF, plus a 100 pF cap close to the pin for the RF itself. Your level doesn’t change in milliseconds, you can afford it.
  • A clip-on ferrite on the signal pair where it enters the controller.
  • If the router has a setting to lock it to LTE and not fall back to 2G, use it.

After the first two the spikes were gone for us. Old spikes stay in your history, so if anyone set an alarm on that level, check whether they were tripping it. A readings-in-a-row debounce of 2 or 3 on the high-level rule hides any single leftover.

QoS 1 and a lot of patience.
Kabul edilen çözüm♥ 9

Yapay zekâ tarafından English dilinden çevrildi ·

Profildeki Custom topics bunun için değil mi? v1/ dışındaki herhangi bir konuyu kabul eden bir ayar olduğunu hatırlıyorum.

QoS 1 and a lot of patience.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Yani asıl ilk adım bir veri seti. Hermetry’de zaten haftalarca okuma verin var, sadece etiketlere ihtiyacın var: temizlik ekibinin giriş/çıkış saatleri yeterli olur.

QoS 1 and a lot of patience.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

Sorun tam olarak bu, ilk kurulumumda da aynı şeyi yapmıştım. I2C pinleri fiziksel pin 3 (BCM GPIO2, SDA) ve fiziksel pin 5 (BCM GPIO3, SCL). Sen SDA’yı aslında SCL olan GPIO3’e, SCL’yi ise fiziksel pin 29 olan ve hiç I2C olmayan GPIO5’e bağlamışsın. Bu yüzden veriyolunda yanıt veren bir cihaz yok ve boş tablo görüyorsun. Sensörlerin büyük ihtimalle sağlam.SDA’yı fiziksel pin 3’e, SCL’yi fiziksel pin 5’e taşı; o zaman BME280 için 0x77 (ya da SDO jumper’ına bağlı olarak 0x76) ve VEML7700 için 0x10 görmelisin. Pi’nin bu iki pinde zaten 1.8 kΩ pull-up dirençleri var ve breakout kartları da kendi dirençlerini ekliyor, o yüzden fazlasını ekleme.Okuma ve gönderme kısmı da kısa. Ben Adafruit CircuitPython sürücülerini ve paho’yu kullanıyorum:

import json, time, board, adafruit_bme280.basic as bme, adafruit_veml7700
import paho.mqtt.client as mqtt

i2c = board.I2C()
env = bme.Adafruit_BME280_I2C(i2c, address=0x77)
lux = adafruit_veml7700.VEML7700(i2c)

c = mqtt.Client(client_id="lab-env-01")
c.username_pw_set(TOKEN)              # token as username, no password
c.tls_set()
c.connect(BROKER_HOST, 8883, 60)
c.loop_start()
while True:
    msg = {"temp_c": round(env.temperature, 2), "rh": round(env.humidity, 1),
           "pressure_hpa": round(env.pressure, 1), "lux": round(lux.lux, 1)}
    c.publish("v1/telemetry", json.dumps(msg), qos=1)
    time.sleep(30)

Düz bir nesne, bu yüzden Hermetry 30 saniyelik okumalar için alındığı zamanı damgalar, bu yeterli. Zaman damgası eklemek istersen payload kuralları burada: MQTT topics and payload reference.

QoS 1 and a lot of patience.
Kabul edilen çözüm♥ 4

Yapay zekâ tarafından English dilinden çevrildi ·

Ha, iyi ki biri beni düzeltti. “Pi’nin bakış açısından” ifadesini hatırlayacağım.

QoS 1 and a lot of patience.
♥ 0

WiFiManager falls back to the portal again if it can’t join, that part’s handled.

For the credential, one shared token is worse than wrong. Hermetry allows one session per device, so 30 boards on one token keep throwing each other off. Use the profile’s provisioning instead. You flash the same firmware with the profile’s provisioning key and secret, and each board asks for its own credential on first start:

// first boot only, after Wi-Fi is up
// MQTT connect: username "provision", empty password, TLS
subscribe("v1/provision/res");
publish("v1/provision/req",
  "{"deviceName":"logger-" + chipId + "","
  ""provisionDeviceKey":"pk_...","provisionDeviceSecret":"ps_..."}");
// answer: {"status":"SUCCESS","credentialsType":"ACCESS_TOKEN","credentialsValue":"..."}
// store credentialsValue in NVS, reconnect with it, never provision again

On the profile’s Provisioning tab you pick a strategy. With Allow creating new devices, each new board lands in quarantine and its data is dropped until an admin activates it. With Only pre-provisioned devices you create logger-<chipId> names beforehand from your 30 boards, and a leaked key can’t add strangers. For 30 units I’d pre-create them. Hermetry never re-issues a credential for an existing name, so keep the token safe in NVS. Details on Adding and claiming devices.

QoS 1 and a lot of patience.
Kabul edilen çözüm♥ 8

Yapay zekâ tarafından English dilinden çevrildi ·

Daniel haklı. Geçen yıl bir pompa istasyonundaki Pi’de tam olarak bunu yaşadım. eth0’ı yapılandıran iki şey var: dhcpcd önyüklemede başlıyor, DHCP sunucusu bulamayınca porta 169.254 link-local adresi ve rotalar veriyor, ardından ifup kendi adresini ve varsayılan rotasını eklemeye çalışıyor. Rota zaten var olduğu için çekirdek “File exists” yanıtını veriyor ve ifup pes ediyor. Önyüklemede hangisinin yarışı kazanmasına bağlı olarak ağ geçidiniz çıkabiliyor ya da çıkamıyor.Birini seçin. Bullseye’da bu dhcpcd demek. /etc/network/interfaces dosyasından eth0 bloğunu kaldırın (dosyada yalnızca source satırı kalsın) ve statik ayarı /etc/dhcpcd.conf dosyasına koyun:

interface eth0
static ip_address=10.40.2.20/24
static routers=10.40.2.1
static domain_name_servers=10.40.2.1
noipv4ll

Ardından yeniden başlatmadan temizleyin:

sudo ip addr flush dev eth0
sudo systemctl restart dhcpcd
ip addr show eth0

noipv4ll 169.254 adresini durdurur. Daha sonra Bookworm’a geçerseniz dhcpcd kaldırılmış olur ve aynısını nmcli ile yaparsınız, bunu not edin.

QoS 1 and a lot of patience.
Kabul edilen çözüm♥ 6

Both of those are your problems, I had the same pair on battery water meter tags last year.

Current: the UART peripheral being enabled keeps the HF clock up, that alone is hundreds of uA when active and tens when idle. Set CONFIG_SERIAL=n and CONFIG_LOG=n in the release build (or CONFIG_PM_DEVICE and suspend the UART). Also enable the DC/DC (CONFIG_BOARD_ENABLE_DCDC=y, needs the inductor fitted on your board), and make sure unused GPIOs aren’t floating. That got us from about 35 uA to 3.

Online status: for child devices Hermetry takes the online state from the gateway’s v1/gw/connect and v1/gw/disconnect messages, so your gateway is telling it the tags are gone. With 60 s advertising and a 60 s timeout, one missed advert means a disconnect. Make the gateway wait for 5 missed adverts before sending disconnect.

For the alarm, set the Device offline rule’s Open after to something like 900 seconds so a short gap doesn’t page anyone. More on how child status works: Gateways and devices behind a gateway.

QoS 1 and a lot of patience.
Kabul edilen çözüm♥ 1

Yapay zekâ tarafından English dilinden çevrildi ·

Ayrıca toplu gönderimleri makul tutun; varsayılan değer cihaz başına saniyede 10 mesajdır. Tek seferde büyük bir birikim gönderilirse mesajlar düşürülür.

QoS 1 and a lot of patience.
♥ 0

Yapay zekâ tarafından English dilinden çevrildi ·

MOSI ve MISO, SPI’nin iki veri hattıdır. Bence sizin kartınızda DO, MOSI’ye karşılık geliyor? Yani veri çıkışı.

QoS 1 and a lot of patience.
♥ 0
15 yazı görüntüleniyor – 16 ile 30 arası (toplam 45)