我們在2016年有透過 Windows 10 IoT Core 來開發 UWP beacon 的程式,並透過 Azure IoT Hub 來處理訊息。
但是這支 UWP 程式執行一段時間後,那台 Raspberry 就無法由外部到它。
後來更新到 Build 15063 後,過一段時間後,整個作業系統直接就 Crash 掉了。
同事 Kent 查看 event 發現,因為 IoT Core 如果自動更新後,自動重新開機後, OS 就 Crash 掉了。
所以將自動更新透過 Power Shell 將它關掉(要更新的話,就手動更新測試沒問題再上),可參考Disable Windows Update in Windows 10 IoT Core with PowerShell。
過了一陣子後,無法連網的狀況又發生了,但系統是有取到 ip 的,但就是無法連網。
再將系統重新啟動後,就又可以正常連網。
所以就在程式中檢查,如果無法連到 Azure IoT Hub N 次之後,就讓系統重新啟動,可參考Windows 10 IoT Core 如何透過 UWP 程式來 重開機 或是 關機 (C00CE014)。
- 而觀察到目前為止,採取這樣子的方式(停止自動更新、無法連網 N 次就重開機),程式目前運作的都還蠻順利的哦!
- 另外比較麻煩的就是 Android 的手機如果有連到 藍牙裝置(耳機、手環 …),就無法掃到 Beacon ,手機重開機後才掃得到。