你也许会问,既然通过一个上位机程序可以完成这个任务,为什么还要通过浏览器实现呢?其实这两个方法各有优缺点,用上位机程序,用户可以自己定制协议,但是用户不仅需要安装该上位机程序,而且还要考虑面对不同的操作系统下的兼容情况。然而通过网页更新的话,只需要设备内嵌一个HTTP服务器,便省去了编写上位机程序的负担,并无须考虑去兼容不同的操作系统。当然,上位机程序可以实现UDP广播寻址终端,无需知道终端IP地址即可找到同一网段下的多个终端。而使用网页的话就只能是预先知道终端IP地址并逐一配置。
其实,对于通过网页配置相信大家并不陌生,家里有无线路由器的朋友估计都有实践经验。通过浏览器键入路由器的默认IP,然后根据网页提示就可以一步步地实现设备信息配置,诸如WiFi密码、SSID等。今天,我们就是来探究一下这个应用的原理,在单片机里实现一个HTTP服务器,通过这个HTTP服务器来配置设备信息,并实现了设备固件更新。
当然,我这里的这个HTTP服务器没有家里的路由器那样的功能强大,在这里也只是抛砖引玉,希望大家能够从中获取启发,设计出更出色的产品。方便起见,我们仍旧延续上一篇文章的平台——基于Cortex-M3的W5200评估板(STM32F108C8 + W5200)。
图1 W5200评估板
该评估板单片机的系统资源:64KB的闪存和20KB的SRAM。
(W5200可以和任何单片机配合使用,如果用户想使用其他单片机+W5200来实现的话,需要您自行修改代码,这里暂不提供其他库。)
功能演示
在我们展开谈论基于HTTP的远程配置和固件更新的原理之前,先给大家看一下我们这个程序小样的功能演示。感兴趣的朋友可以在接下来的文章中,了解到具体该功能是如何实现的。
步骤1:
用ISP工具烧录Boot(评估板SW2 调至PROP),不了解的话,可以参考我们上一个主题内容。
图2用FlashLoader烧录boot.bin
步骤2:
将评估板上SW2 调到RUN模式,打开ConfigTool。点击按钮,可查找到当前设备,并可通过按钮,将app.bin程序上传至评估板中,右侧可看到当前设备的IP地址及版本号等信息,此时版本号为1.0,如图:
图3配置工具烧录app.bin成功
ConfigTool这里的工作也很简单,就是在第一次Boot启动时,把App传给单片机。当App运行时,ConfigTool就无用武之地了,因为用浏览器就可以完成ConfigTool的工作了。
(注:以上途径并不是必须的,仅为了方便演示,保证boot和app程序已经烧录好即可。)
步骤3:
在浏览器中输入W5200评估板的IP地址,回车后出现Web界面。
如图可看到,界面分为Device Settings和Firmware Updating两部分,其中Device Settings中依次列出W5200评估板的硬件版本号、MAC地址、IP地址、子网掩码以及默认网关基本配置。
用户可以配置其他IP地址,子网掩码及网关,并点击’Save settings and Reboot’,设置并重启生效;
图4 Web配置界面
如:
在WEB界面上,将IP地址192.168.1.2改为192.168.1.20。更改后保存,等待后更改成功:
图5更改IP成功
步骤4:
下面针对固件更新,点击“浏览”按钮,选择好要更新文件。
继续阅读:http://blog.iwiznet.cn/?p=5861
作者:Katrina,Jerry,Cillian
感谢阅读!
更多信息请关注WIZnet官方微博:
http://weibo.com/wiznet2012
文章评论(0条评论)
登录后参与讨论