Yapay zekâ tarafından English dilinden çevrildi ·
Kevin haklı, ve “preconfigured” bağlantısı, imager’ın ev WiFi’nizden oluşturduğu bağlantıdır. Hotspot’u ikinci bir NetworkManager bağlantısı olarak ekleyin ve ikisine de öncelik verin. Ben tam olarak bu yapıyla iki fabrika arasında bir Pi taşıyorum.
sudo nmcli con add type wifi ifname wlan0 con-name allotment
ssid "Aisha-phone" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "********"
sudo nmcli con modify allotment connection.autoconnect yes connection.autoconnect-priority 10
sudo nmcli con modify preconfigured connection.autoconnect-priority 20
nmcli -f NAME,AUTOCONNECT,AUTOCONNECT-PRIORITY con show
İkisi de menzildeyse yüksek öncelikli olan kazanır, yani önce ev. Pi’yi açmadan önce hotspot’u açın; Pi önce açılırsa bir dakika bekleyin, NetworkManager yeniden tarar.Tamponlama için okumaları küçük bir SQLite tablosunda veya hatta bir JSONL dosyasında tutun ve bağlantı geri geldiğinde bunları kendi zaman damgalarıyla, toplu halde gönderin:
[{"ts": 1762668000000, "values": {"soil.bed3": 31.5, "air.temp": 12.1}},
{"ts": 1762668300000, "values": {"soil.bed3": 31.2, "air.temp": 12.6}}]
ts, UTC cinsinden milisaniyedir. Bir satırı yalnızca yayın onaylandıktan sonra silin (QoS 1, paho ile wait_for_publish() kullanarak PUBACK’i bekleyin).Pi ile ilgili bir tuzak: pilli bir saat yoktur. Allotment’ta açılır ve bir süre ağ alamazsa, NTP senkronize olana kadar saat yanlıştır; bu saatle damgalanan okumalar yanlış zamana düşer ya da atılır (10 dakikadan fazla ileri tarihliyse reddedilir). Okumaları yalnızca timedatectl show -p NTPSynchronized evet dediğinde damgalayın; aksi halde ts olmadan gönderin ve Hermetry’nin varış zamanını kullanmasına izin verin.
Kevin’s right, and the “preconfigured” connection is the one the imager created from your home WiFi. Add the hotspot as a second NetworkManager connection and give both a priority. I carry a Pi between two factories with exactly this.
sudo nmcli con add type wifi ifname wlan0 con-name allotment
ssid "Aisha-phone" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "********"
sudo nmcli con modify allotment connection.autoconnect yes connection.autoconnect-priority 10
sudo nmcli con modify preconfigured connection.autoconnect-priority 20
nmcli -f NAME,AUTOCONNECT,AUTOCONNECT-PRIORITY con show
Higher priority wins when both are in range, so home first. Turn the hotspot on before you power the Pi; if it boots first, give it a minute, NetworkManager rescans.
For buffering: keep the readings in a small SQLite table or even a JSONL file, and when the connection comes back send them with their own time stamps, in batches:
[{"ts": 1762668000000, "values": {"soil.bed3": 31.5, "air.temp": 12.1}},
{"ts": 1762668300000, "values": {"soil.bed3": 31.2, "air.temp": 12.6}}]
ts is milliseconds UTC. Delete a row only after the publish is acknowledged (QoS 1, wait for the PUBACK in paho with wait_for_publish()).
One trap with a Pi: there’s no battery-backed clock. If it boots at the allotment and gets no network for a while, the clock is wrong until NTP syncs, and readings stamped with that clock end up at the wrong time or get dropped (more than 10 minutes in the future is refused). Only stamp readings after timedatectl show -p NTPSynchronized says yes, otherwise send them without ts and let Hermetry use the arrival time.

