首页 > 评测 > 让WIFI开发变得更简单—Adafruit ESP8266开发板上手

让WIFI开发变得更简单—Adafruit ESP8266开发板上手

ESP8266   Adafruit   feather   WIFI   HUZZ   
  • 作者:SATURN
  • 来源:21ic
  • [导读]
  • 此次评测带来的是Adafruit推出的Feather系列中的ESP8266开发板。本文中使用VSC加Arduino拓展来实现8266的开发,其中用到了Arduino的库中一个很有意思的组件——aREST库。

不过说实话,Arduino这个IDE用着实在蛋疼!所以还是使用更好用的VSCODE来进行吧,使用VSCODE来开发ARDUINO程序的话,先要安装VSCODE-ARDUINO这个扩展(插件),安装过程就不详述了,参考官方说明即可。

不过VSCODE也蛋疼,新版的VSCODE默认对C/CPP的头文件处理模式使用的不再是Tag Parser,而是所谓的Default模式。这样智能感知及头文件搜寻就有点小问题,所以在VSCODE中还要对USER SETTINGS文件作如下修改

image9.png

即将默认的模式改为Tag Parser模式。

万事俱备,只差一段代码了。

image10.png

这段代码就是点个灯,有点简单,不过作为测试VSCODE配置是否正确而言足够了。

按组合键CTRL+ALT+U,将编译并上传代码到开发板,然后看到开发板上的红色LED开始闪烁。

补充一点,在VSCODE中选择开发板类型及串口参数,参考下图

image11.png

接下来再写一段简单的代码测试WIFI功能,将开发板设置成STATION模式,从上级路由中获取IP地址,通过串口显示

使用WIFI对象来配置开发板,只需要两个参数,一个是SSID,另一个是WPA密码,修改这两个值,与实际的路由器匹配即可。

注意下面的输出窗口,这是使用ESPTOOL上传代码到开发板的过程。

接下打开串口输出窗口,可以看到输出的信息如下

image13.png

看到开发板已获取到了实际的IP地址。

注意前面的乱码,ESP8266默认上电后的串口波特率为921600,实际配置的工作参数为115200,所以就乱了。

光链接WIFI也没啥,总得用来干点实事!继续来点灯,这次的版本是网络版的点灯,附带介绍下aREST库,这个库结合WIFI功能,可以实现通过网络来控制或读取开发板上的信息。

需要包含如下头文件

image14.png

UI部分的代码如下

image15.png

这里设置了UI的标题,控制LED灯的按钮及两个显示文本的组件,并不复杂。

代码运行效果如下

image16.png

界面虽称不上美观,但也够用了。

不过在ESP8266上用的话,注意这个ON/OFF的值是反的,即写入1是来灯,写入0则是亮灯。D3(RED)的原理图参考如下

image17.png

这是本地网络的通信,如果要连接上Internet,在任何地点实现远程访问及控制,可以使用另外一个称为PubSubClient的库来实现,有兴趣的童鞋可以去看看这个库的特性。

前面介绍过,ESP8266还可以支持Python及Lua,接下来看看如何使用这些流行的脚本语言来控制ESP8266

从附录给出的链接下载python固件,使用ESPTOOL烧录到开发板,如下

image18.png

使用串口通信软件如putty连接到开发板,就可以与开发板实现交互了,如下图

image19.png

要获取简单的用法,可以在命令提示符下输入help()获取得联机帮助,下面的代码演示了简单的WIFI热点扫描操作及结果

可以看到扫描出了附近可用的WIFI热点,接下来可以使用连接命令来连接,进而实现其它网络操作。

上图中还测试了交互式计算功能,计算2的1024次方的结果,运算速度还不错。

LUA操作与PYTHON操作基本类似,不过需要使用LUA固件,然后通过串口与开发板实现交互,这里就不赘述了。

总体来说,ESP8266还是很有吸引力的。一是开发板体积小巧,尤其适用在现有的创意中添加网络支持功能;基于ARDUINO的开发,也降低了准入门槛,菜鸟只需要花费很少的时间熟悉一下相关的API,就可以很快集成网络通信功能;PYTHON及LUA语言的支持,进一步拓宽了使用面,特别是对于那些不熟悉C语言的用户来说,真是一大福音!

参考资源:

ESP8266: https://www.adafruit.com/product/2821

LUA ESP8266: http://nodemcu.com/index_en.html

PYTHON ESP8266: https://micropython.org/download#esp8266

  • 本文系21ic原创,未经许可禁止转载!

网友评论