文章類型
開發平台
解決方案
關注主題
文章類型
開發平台
解決方案
關注主題

【Ameba特異功能集(二)】忠實看門狗:WatchDog Timer (WDT)

作者:柯大

物聯網裝置對於感測資料的蒐集常需1年365天、1天24小時不間斷地,將感測值透過不同的通訊網路傳輸至雲端,但因網路狀態不穩或因其他外在的雜訊、電磁干擾,以及程式本身長時間運作的問題等各種情況,導致裝置系統無法如預期正常運作,結果當機,碰到這種情形,也只能靠人工重新開機裝置,或按下重新開機鈕「Reset」。

在萬物聯網的情形下,您的裝置可能安裝於一些外部環境,例如:架設於高架道路上,用來偵測與累計每天有多少輛車輛,以及超過多少高度,若這樣的系統當機了,就得派人去現場按重新開機,造成很大的不便、危險性及人力成本;或是在工廠輸送帶的生產線上,設置一個控制或感測生產線運作狀況的裝置,每當這個裝置當機了,就必須停止整條生產線,等待重新開機,才能恢復原有生產程序,這些影響都造成很大的不便,為了解決這個問題,可以嘗試在裝置上加入看門狗的功能,以下提供解決方案:

在裝置中加入看門狗 (WatchDog Timer)功能

Ameba物聯網開發板針對Arduino IDE開發環境,在V1.0.5版加入了WDT(Watch Dog Timer)功能,因應上述狀況,讓開發者利用此API功能自動偵測裝置運作情形,並在程式中加入WDT自動計時,當遇到系統故障或連網沒回應超過所要求的時間,就可自動reset裝置重新開機。

看門狗計時器就會對系統發出重設、重新開機或關閉的信號,使系統從懸停狀態回復到正常運作狀態。

有關對WatchDog Timer的說明可參考下列網站:

  1.  維基百科
  2.  Arduino.cc網站

3組自動Reset的API

2016年12月19日Realtek IoT/Arduino Solution (Version 1.0.5) ,新增開發板可設定自動Reset 的「Watchdog Timer」API功能:

範例一

範例二

小結

物聯網裝置受到外擾因素的影響很多,但並不是所有裝置都適合人工去重開,「WatchDog Timer」提供了我們解法,以後「Reset」不需要人工操控,也能自動重啟呢!

延伸閱讀

柯大

柯大

現為MakerPRO技術顧問,有近30年資訊電子產業研發經驗,關心最新技術,並投入不綴。亦熱心指導新興團隊參與技術創意競賽,獲獎無數。

專長包括物聯網軟硬體整合規劃設計、資訊服務系統整合規劃。熟悉各種物聯網開發板,包括Arduino、Edison、Linkit one、Ameba…
柯大

上一篇: | 下一篇:

我想回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *

邀您加入《MakerPro》粉絲團:Maker&Startup開發社群的學習與知識平台