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

AMEBA透過網路校時RTC時鐘模組

作者:曹永忠

前文介紹 RTC 時鐘模組具備時間功能,並且為了斷電時仍然可以保留時間,補足Ameba開發板並沒有內置時鐘(Internal Clock)的問題,可以見到 「Tiny RTC I2C 時鐘模組」的外觀圖,模組採用DS1307晶片,若讀者需要更詳盡的資料,請參考「Arduino投幣計時器(網路篇)」,內容關於RTC 時鐘模組。

RTC時鐘模組的介紹與描述

Tiny RTC I2C 時鐘模組

Tiny RTC I2C 時鐘模組

如下圖所示,我們可以參考時鐘模組之電路連接圖,先將電路連接完善後,撰寫與測試下列「Tiny RTC I2C 時鐘模組」測試程式。

時鐘模組電路連接方式

時鐘模組電路連接方式

在完成上圖所示之時鐘模組之電路連接之後,如下圖所示,完成時鐘模組電路實際組裝的工作。

時鐘模組電路實際組裝圖

時鐘模組電路實際組裝圖

RTC模組的校時問題

我們發現,若裝設新的開發板或不同時間點設置新裝置,必須透過使用者重新設定時間,或是修改程式;因為「RTC 時鐘模組」的初始化時間是寫在Ameba開發板的程式內,必須重新編譯程式並上傳,這樣是非常不方便的。

若我們具有自動校時的功能,完全不需使用者手動設定或重新更新系統軟體,就可以達到正確時間校時的機制,這樣才能更簡單的產業化應用,由於目前網路校時非常的方便,所以我們可以透過網路校時的方式來實踐這個機制,或許是一個相當完善的解決方案。

Ameba的WiFi功能

Ameba開發板是一塊「IOT Wi-Fi微型化模組」(RTL8711AF and RTL8195AM),內建 ARM Cortex-M3 CPU、記憶體,同時還配置了完整的無線網路協議,包含:SSL硬體加速電路、UART、 I2C、 SPI、PWM ,以及高速的 SDIO 接口等各式序列介面(如下圖所示)。

Ameba開發板核心晶片「RTL8195AM」規格

Ameba開發板使用「RTL8195AM」為開發板核心晶片,功能強大,其下為晶片的基本規格:

  • 32-bit 166MHz ARM Cortex-M3 CPU
  • 內建 低功耗 802.11 b/g/n 2.4G 無線 Wi-Fi
  • 內建 NFC
  • 介面支援 : GPIO / PWM / SPI / I2C / ADC / DAC / UART
  • Crypto HW engine : 可做硬體加解密, 支援 MD5/ SHA-1 / SHA2-256 / DES / 3DES / AES
  • IC 本身有 512K RAM, 另外模組包含 2M SDRAM / 16M bit flash

Ameba開發板的規格

Ameba開發板具有強大的功能,並內含WiFi上網功能,其下為基本規格:

  • 與Arduino UNO開發板相容,可支援大多數 Arduino 擴充板(Shield),如DfRobot的 LCD Keypad shield…等等
  • 含一個 NXP LPC11U35 cortex-M0 IC,具備下列功能:
  1. 不須使用 JLINK 可直接透過 USB傳入程式image檔
  2. 不須使用USB序列傳輸線,UART即可使用將訊息傳給開發用的電腦

取得網路校時時間資料

將Ameba開發板的驅動程式安裝好之後,我們打開開發工具「Sketch IDE」整合開發軟體撰寫一段程式,如下表所示之網路校時測試程式,就可以透過Ameba WiFi模組取得網路校時時間。

網路校時測試程式(UdpNtpClient)

如下圖所示,讀者可以看到本次實驗-網路校時測試程式結果畫面。

透過網路校時設計RTC時鐘模組

整合上述程式,我們可以將RTC時鐘模組的網路校時功能給予實作出來。打開Ameba開發工具「Sketch IDE」整合開發軟體撰寫一段程式,如下表所示之網路校時RTC時鐘模組測試程式,就可以透過Ameba WiFi模組取得網路時間並校正時鐘模組。

網路校時RTC 時鐘模組測試程式(SetTime_fromNet)

如下圖所示,可以看到本次實驗「網路校時RTC 時鐘模組」測試程式結果畫面,在下圖第一個紅框中,取得網路校時的時間;在第二個紅框中,已將網路校時的時間寫入RTC時鐘模組,之後就由模組讀出時間,不必浪費網路頻寬,為了取得時間資料,不斷向網路校時伺服器要求時間,不僅加快了系統的速度,也省去了網路不必要的頻寬浪費。

小結

本文主要介紹Ameba開發板如何透過WiFi模組連接上網際網路,去取得網路校正時間,並且成功校正RTC時鐘模組。這樣的功能,可以說是網路化、實務化的核心功能,透過解說,相信讀者更可以應用RTC時鐘模組到商業化產品,進而將本技術應用在物聯網的核心技術。

曹建國

目前為自由作家,已有二十多年的開發資訊系統經驗,專長為於軟體工程、軟體開發與設計、物件導向程式設計、Arduino/Ameba/LinkIt ONE等開發版開發與應用、嵌入式系統開發,同時也喜歡商品攝影及人像攝影,並持續發表作品及相關專業著作。

原始碼網址:https://github.com/brucetsao/

上一篇: | 下一篇:

Trackbacks/Pingbacks

  1. 智慧家庭:PM2.5空氣感測器(電路設計下篇) | vMaker - […] 曹永忠. (2016a). AMEBA透過網路校時RTC時鐘模組. 智慧家庭.  Retrieved from http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/ […]
  2. 物聯網系列:彩色顯示介紹(OLED LCD篇) - vMaker 台灣自造者vMaker 台灣自造者 - […] 曹永忠. (2016a). AMEBA透過網路校時RTC時鐘模組. 智慧家庭.  Retrieved from http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/ […]
  3. 物聯網系列:彩色顯示介紹(2.4~3.2”TFT 基本篇) - vMaker 台灣自造者vMaker 台灣自造者 - […] 曹永忠. (2016a). AMEBA透過網路校時RTC時鐘模組. 智慧家庭.  Retrieved from http://makerpro.cc/2016/03/using-ameba-to-develop-a-timing-controlling-device-via-internet/ […]

我想回應

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

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