Ameba Arduino: [RTL8195AM] [RTL8710AF] Cloud OTA
材料準備
範例說明
- Ameba x 1
- Apache Web Server
這個範例裡說明了如何使用AMEBA從 Web Server上下載firmware完成遠端OTA的功能。此專案由Maker Rododo貢獻
http://www.rododo.farm/
下載完成並解壓縮後,將裡頭的Apache24目錄拷貝到C:\根目錄之下
接下來以系統管理員權限開啟CMD命令提示字元工具
輸入:
測試:
接著打開瀏覽器,於網址列輸入
如果Apache Web Server有順利啟動,網頁上會顯示It works!
接著執行編譯,進行編譯後我們需要找到用於OTA的 ota.bin,接著我們打開安裝Arduino Ameba SDK的資料夾,如果當初安裝Arduino IDE的路徑沒有特地改變,因是在:
其中203df9即是由checksum產生的檢查碼。將檢查碼轉成10進制後,開啟記事本在C:\Apache24\htdocs目錄裡新增check.txt,並存進此10進制數值,如下圖:
編譯並上傳至Ameba之後按下Reset按鈕,就可以開始從Web Server下載OTA 接著我們打開終端機軟體
WiFi連線成功後,會先進行check.txt的檢查
開始download ota.bin
下載結束,進行checksum的檢驗,接著開始OTA程序,如有成功,則燒錄完成就會自動重新啟動,並印出” Hello from Ameba!!!”
程式碼說明
- 安裝Web Server

C:\Apache24\bin\httpd -k install
啟動Apache:
net start apache2.4

http://127.0.0.1/

- 製作OTA firmware

C:\Users\yourname\AppData\Local\Arduino15\packages\realtek\tools\ameba_tools\1.1.0
應會找到ota.bin,把他備份下來,並且放置到Apache Web Server的htdocs目錄裡(C:\Apache24\htdocs)。
- 製作checksum文件
Checksum.exe ota.bin


- 範例操作





int checksum = OTA.gatherOTAinfo(REMOTE_ADDR,"/check.txt", REMOTE_PORT);
if( checksum != -1) Serial.println("info_ok");
在setup()裡,一開始藉由OTA.gatherOTAinfo來取得遠端server上check.txt裡頭的checksum資訊,此方法中需填入web server address及port
Realtek IoT/Wi-Fi MCU Solutions . All Rights Reserved. 使用條款