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. 使用条款