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
 
下载完成并解压缩后,将里头的Apache24目录拷贝到C:\根目录之下
接下来以系统管理员权限开启CMD命令提示字元工具
输入:
C:\Apache24\bin\httpd -k install
启动Apache:
net start apache2.4
测试:
接着打开浏览器,于网址列输入
http://127.0.0.1/
如果Apache Web Server有顺利启动,网页上会显示It works!
- 制作OTA firmware
 
接着执行编译,进行编译后我们需要找到用于OTA的 ota.bin,接着我们打开安装Arduino Ameba SDK的资料夹,如果当初安装Arduino IDE的路径没有特地改变,因是在:
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
其中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!!!”
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
									Copyrights ©瑞晟微电子(苏州)有限公司 2021. All rights reserved. 使用条款