当前位置:首页 > 开发板 > 开发板
[导读]此次评测带来的是Adafruit推出的Feather系列中的ESP8266开发板。本文中使用VSC加Arduino拓展来实现8266的开发,其中用到了Arduino的库中一个很有意思的组件——aREST库。

大佬们又开始在乌镇吃饭了,物(互)联网又要热闹了!

万能的粗粮也推出了ESP32模块,只要15元RMB一块,物联网估计又要火一波!

联网的需求越来越大,以太网和WIFI都可以满足联网的需要,不过对于物联网设备来说,WIFI连接似乎更方便一点,便携是一个必然要考虑的因素。

Adafruit Feather HUZZAH ESP8266开发板隶属Feather系列中的一员,除了轻便、小巧之外,开发板本身就是一个“一揽子”解决方案:提供WIFI连接功能、USB连接及锂电池供电、充电功能,可以直接集成到已有的产品中,为开发节省不少时间我开销。

看上去很美,按Adafruit自己的说法,让我们一起来嗨!

先认识下Adafruit ESP8266长啥样。

买来的就是个散包,没有包装盒。厂商有点抠,这下装13的话,效果估计要打个八折。图上的东西,一个ESP8266模块,俩排针,就用一个防静电袋装着,逼格稍嫌不够!

开发板正面图,主要的器件都能看得很清楚。一个安信可的ESP8266模块,这是整个开发板的核心,提供WIFI连接功能。上下两排GPIO接口,提供了基本的GPIO功能,这些接口可以复用作SPI/I2C/UART接口,与外部传感器等进行交互。上图中最右边是USB接口,可以兼做电源及UART接口。与接口紧邻的靠下的就是锂电池接口,用来连接3.7V规格的锂电池。锂电池接口上面是CP2104串口芯片及复位按钮。

开发板背面,看到Feather标志了,该开发板是Feather系列的一员,意味着轻巧、便携,能带你飞!

来个特写,近距离欣赏ESP8266模块和锂电池接口。

为了增强开发板的可便携性,开发板除了提供USB口供电之外,还提供了一个3.7V的锂电池接口,内置充电功能。当同时连接了锂电池和USB接口的话,开发板会自动切换到USB口取电。

开发板的主要特性如下

小巧,三围大小仅为51mmX23mmX8mm,重量仅6g

板载ESP8266模块,最高工作频率@80MHz,3.3V供电

4MB FLASH存储

3.3V电压调节器,最高支持峰值500mA电流输出

板载CP2104串口转换器,最高支持921600波特率

固件下载后支持自动复位

9个GPIO口,可复用作I2C、SPI等接口

1个模拟输入,最高支持1.0V

内置锂电池充电接口,提供约100mA充电电流

3个LED指示灯,可用作一般演示用,也可以用来指示特定的操作模式,如bootloader模式

4个安装孔

复位按键

市面上基于ESP8266模块的开发板甚多,不过提供了锂电池接口的倒不多见。Adafruit的这一款ESP8266开发板虽然只添加了一个小小的接口,但是该开发板的用途却是极大得到了扩展,不必再担心到哪里去找USB接口来给开发板供电了。

接下来准备上电。不过有一点要提醒大家,开发板上的GPIO口默认只引出了焊盘,如果要测试GPIO口功能的话,先得将随开发板一起提供的排针焊接好,这应该难不倒我们电子工程师,如果纯软件类的工程师估计要小小头疼一下,不过应该也不是什么大问题。

准备一根USB A转USB micro的数据线,一端与PC连接,另一端与开发板的USB口连接,可以看到开发板有灯闪烁,然后就没有反应了。

不用担心板子有问题,默认的出厂固件提供的是WIFI访问功能,没有对LED进行配置,打开手机的WIFI配置项,会看到里面多出一个WIFI热点,如下

ESP_XXXXXX设备即咱们的开发板提供的SSID名称,连接到该设备后如下

可以看到手机已连接上开发板,获取到的IP地址为192.168.4.2。嗯,WIFI工作正常,接下来,就是作为开发工程师的你大显身手的时候了。

ESP8266包含丰富的开发环境支持,乐鑫官方的ESP-IDF可以用来对开发板进行软件开发;这种方式比较底层,开发环境的配置及使用相对来说复杂一点。也可以使用ARDUINO来进行软件开发,这种方式相对来说要简单一点。另外一些脚本语言如Python、Lua等也可以用来进行软件开发。

咱们从Arduino开始。

Arduino原生并不支持ESP8266,因此,需要安装三方的支持包,主要包括xtensa专用的编译器及相关的库文件。

在Arduino的Preferences对话框中添加附加的URLS,如下

添加的URL如下:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

然后打开Arduino的Boards Manager对话框,

在对话框里选择安装ESP8266社区版,需要注意的是这个安装过程比较耗时,因为其中一个软件包大约有146MB,在Arduino下安装可能需要好几个小时。最佳的办法是直接打开上面提到的JSON文件,从里面抠出那个146MB的软件包,使用专用的下载软件下载然后放到用户目录的staging目录下,Arduino会自动发现该软件包,从而跳过下载过程,节省安装时间。[!--empirenews.page--]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

需要包含如下头文件

UI部分的代码如下

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

代码运行效果如下

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

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

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

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

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

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

要获取简单的用法,可以在命令提示符下输入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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭