Yapay zekâ tarafından English dilinden çevrildi ·
Sahada hâlâ birkaç tane var. Aradaki fark DHCP’yi kimin yönettiğidir.wpa-conf ile ifupdown, wpa_supplicant’ı yapılandırmanızla başlatır ve ardından wlan0 üzerinde dhclient’ı kendisi çalıştırır. wpa_supplicant dosyadaki bloklardan bir ağ seçer, ifupdown hangisinin seçildiğini umursamaz. Basittir ve “yakındaki iki ağdan hangisi varsa ona bağlan” için yeterlidir.wpa-roam ile wpa_supplicant roaming modunda çalışır ve her bağlantı ile bağlantı kopmasında wpa_action’ı çağırır; bu da bir mantıksal arayüzü ayağa kaldırır. Her ağ bloğu, kullanılacak mantıksal arayüzün adını belirten bir id_str taşıyabilir; bu olmayan her ağ iface default arayüzüne düşer. Her ağ için farklı IP ayarları olması amaçlanmıştır. Sorun şu: wpa_action eski kiralamayı kaldırmak için bağlantı kopmasını görmek zorundadır. Cihaz taşındığında ve erişim noktası garip bir sırayla kaybolduğunda, hiçbir kiralamanın olmadığı bir bağlantıyla kalırsınız. Saha belirtiniz budur.İki DHCP ağı için wpa-conf ve öncelikleri kullanın:
# /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="LAB-WIFI"
psk="..."
priority=10
}
network={
ssid="FIELD-AP"
psk="..."
priority=5
}
Hermetry tarafında, ağlar arasında her geçiş MQTT oturumunu düşürür; bu yüzden istemcinizin geri çekilmeli (backoff) bir yeniden bağlanma yapmasını ve yeniden abone olmasını sağlayın. Cihazın çevrimdışı alarmı varsa, açık kalma süresini laboratuvardan parsele yürüme süresinden uzun ayarlayın, aksi halde her seferinde bir alarm alırsınız.
We still have a few of these in the field. The difference is who drives DHCP.
With wpa-conf, ifupdown starts wpa_supplicant with your config and then runs dhclient on wlan0 itself. wpa_supplicant picks a network from the blocks in the file, ifupdown doesn’t care which one. Simple, and enough for “connect to whichever of these two is around”.
With wpa-roam, wpa_supplicant runs in roaming mode and calls wpa_action on every connect and disconnect, which then brings up a logical interface. Each network block can carry an id_str that names the logical interface to use, and anything without one falls to iface default. It’s meant for different IP settings per network. The catch is that wpa_action must see the disconnect to take the old lease down; when the node is carried away and the AP disappears in a funny order, you end up associated with no lease. That’s your field symptom.
For two DHCP networks use wpa-conf and priorities:
# /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="LAB-WIFI"
psk="..."
priority=10
}
network={
ssid="FIELD-AP"
psk="..."
priority=5
}
On the Hermetry side, each move between networks drops the MQTT session, so make your client reconnect with backoff and resubscribe. If the node has an offline alarm, set its open-after time longer than a walk from the lab to the plot or you’ll get one every trip.

