Otel termostat firmware'i: satıcı flash belleğin blok halinde silindiğini söylüyor, bu yüzden küçük güncelleme yok. Tam imajı göndermek riskli mi?
Yapay zekâ tarafından English dilinden çevrildi ·
120 odalı bir otelin tesis müdürüyüm. Her odada küçük bir satıcının termostat kontrolcüsü var; içinde ESP32 bulunuyor ve otel Wi-Fi ağı üzerinden Hermetry’ye bağlı. Fanın açık kalması hatasını düzeltmek istiyorlar ve plan Hermetry’nin firmware güncellemelerini kullanmak.Hızlı olsun diye “sadece düzeltmeyi” gönderip gönderemeyeceklerini sordum. Satıcı hayır dedi; flash belleğin yalnızca blok halinde silinebildiğini, bu yüzden her zaman tam 1.4 MB’lık imajı gönderdiklerini söyledi. Kulağa makul geliyor ama tam olarak anlamıyorum. Asıl endişelerim, 120 odanın misafir Wi-Fi’sinden aynı anda indirme yapması ve kötü bir imajın kasımda odaları ısıtmasız bırakması. Tam imajı tüm odalara göndermek riskli mi?
Facility manager at a 120-room hotel. Every room has a thermostat controller from a small vendor, ESP32 inside, connected to Hermetry over the hotel Wi-Fi. They want to fix a bug where the fan stays on, and the plan is to use Hermetry’s firmware updates.
I asked if they could send “just the fix” to keep it quick. The vendor said no, the flash can only be erased in blocks so they always send the whole 1.4 MB image. That sounds plausible but I don’t really understand it. My real worries are 120 rooms downloading at once on the guest Wi-Fi, and a bad image leaving rooms with no heat in November. Is pushing the full image to all of them risky?
Yapay zekâ tarafından English dilinden çevrildi ·
Bloklar meselesi doğru ama asıl neden bu değil. Flash 4 KB sektörler halinde silinir ve sayfalar halinde yazılır, dolayısıyla baytları yerinde yamalayamazsınız. Delta güncellemeler yine de mümkün: cihaz, eski imaj ile yamayı birleştirerek yeni imajı yedek bir bölüme yeniden oluşturur. Bunun için cihazda ek kod ve satıcı tarafında bir yama aracı gerekir. Küçük satıcıların çoğu buna zahmet etmez.Sormak isteyeceğiniz güvenlik noktası, iki OTA bölümü olup olmadığıdır. Öyleyse yeni imaj pasif olana yazılır ve açılmazsa eski imaj hâlâ yerinde durur.
The block thing is true but not really why. Flash is erased in 4 KB sectors and written in pages, so you can’t patch bytes in place. Delta updates are still possible, the device rebuilds the new image from old image plus patch into a spare partition. It needs extra code on the device and a patch tool on the vendor’s side. Most small vendors don’t bother.
The safety bit you want to ask about is whether they have two OTA partitions. Then the new image goes into the inactive one and the old one is still there if it fails to boot.
Yapay zekâ tarafından English dilinden çevrildi ·
Onlara sordum. “ota_0 and ota_1 with rollback enabled” diyorlar, 4 MB flash. Ayrıca imzalı imajlar, bu benim için ne anlama geldiğini bilmiyorum.
Asked them. They say “ota_0 and ota_1 with rollback enabled”, 4 MB flash. Also signed images, whatever that means for me.
Yapay zekâ tarafından English dilinden çevrildi ·
O zaman tam imaj sorun değil, delta konusunda endişelenmeyi bırakın. Geçen bahar fabrikamızdaki yaklaşık 200 kontrolcuya 1,6 MB’lik bir imaj gönderdik. Her şeyi sakinleştiren dağıtım yöntemi oldu.Paket atamasında Profilin her cihazı seçeneğini seçin ve Dalgalar halinde gönder seçeneğini açın. Genellikle izlenen plan, %1 kanarya (en az bir, en fazla on), ardından %10, sonra %50, sonra kalanlar şeklindedir; aralarda 15-30 dakika beklenir ve bir dalgada %5’ten fazla hata olursa dağıtım kendiliğinden duraklar. Bir otel için dalgaları düzenlemenizi öneririm: ilk dalga yürüyerek gidebileceğiniz 3 oda, birkaç saat bekleyin, sonra 20 oda, ardından geri kalanlar gece boyunca. Kimse kendi dalgasından önce indirmez, bu yüzden Wi-Fi aynı anda yalnızca birkaç cihazı görür.Bizim için işe yarayan diğer şeyler:
- Önce iki üniteyle Tek cihaz atamalarını deneyin.
- İndirme bağlantısı 15 dakika sonra sona erer, ancak cihaz yeniden isteyip bir HTTP Range isteğiyle kaldığı yerden devam edebilir, bu yüzden bağlantısı sorunlu bir oda felaket olmaz.
- Yeni sürümde geri gelmeyen cihaz Eski sürüme döndü olarak görünür; bu, geri alma mekanizmanızın çalıştığı anlamına gelir.
Ayrıntılar: Firmware dağıtımını dalgalar halinde yapmak.
Then the full image is fine, I’d stop worrying about delta. We pushed a 1.6 MB image to about 200 controllers at our plant last spring. The rollout is what made it calm.
On the package assignment pick Every device of the profile and turn on Send in waves. The usual plan is a canary of 1% (at least one, at most ten), then 10%, then 50%, then the rest, with 15-30 minute waits between, and it pauses itself if a wave has more than 5% failures. For a hotel I’d edit the waves: first wave 3 rooms you can walk to, wait a couple of hours, then 20, then the rest overnight. Nobody downloads before their wave, so the Wi-Fi only ever sees a few at once.
Other things that helped us:
- Test with One device assignments on two units first.
- The download link expires after 15 minutes but the device can ask again and resume with an HTTP Range request, so a flaky room isn’t a disaster.
- A device that doesn’t come back on the new version shows as Went back to the old version, that’s your rollback working.
Details: Rolling out firmware in waves.
Yapay zekâ tarafından English dilinden çevrildi ·
Geçen hafta kendi dalgalarımla yaptık: önce 2. kattaki 3 oda, sonra 20 oda, kalanları gece 1’de. 2. dalgada bir oda “Bu cihaz için geçerli değil” gösterdi; kontrolcüsünün sürümü paketin izin verilen en düşük sürümünden eskiydi, bu yüzden atlandı. Satıcı o odayı elle flaşlıyor. Fan hatası diğer her yerde giderildi. Beklediğimden çok daha az korkutucu çıktı.
We did it last week with my own waves, 3 rooms on floor 2 first, then 20, then the rest at 1 a.m. One room showed Not for this device in wave 2, its controller was on a version older than the package’s lowest allowed one, so it got skipped. Vendor is flashing that one by hand. Fan bug gone everywhere else. Much less scary than I expected.
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.
Sohbete katılın
Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

