美文网首页
物联网模块ESP8266学习笔记-1

物联网模块ESP8266学习笔记-1

作者: aqxgm | 来源:发表于2018-09-11 17:01 被阅读0次

        价廉物美又好玩的物联网模块ESP8266,十多块钱的东东却不容易玩的转,在此记录学习过程。

        初识ESP8266

        ESP8266是上海乐鑫(ESPRESSIF)生产的WI-FI低功耗芯片,是业内集成度最高的 Wi-Fi 芯片,最小封装尺寸仅为 5mm x 5mm。提供了一套高度集成的 Wi-Fi SoC 解决方案,其低功耗、紧凑设计和高稳定性可以满足用户的需求。ESP8266集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,仅需很少的外围电路,可将所占 PCB 空间降到最低。ESP8266EX 专为移动设备、可穿戴电子产品和物联网应用而设计,通过多项专有技术实现了最低功耗。ESP8266EX 有三种运行模式:激活模式、睡眠模式和深度睡眠模式,能够延长电池寿命。

        ESP8266EX 拥有完整的自成体系的 Wi-Fi 网络功能,既能够独立应用,也可以作为从机搭载于其他主机 MCU 运行。当 ESP8266EX 独立应用时,能够直接从外接 flash 中启动。内置的高速缓冲存储器有利于提高系统性能,并且优化存储系统。此外 ESP8266EX 只需通过 SPI/SDIO 接口或 I2C/UART即可作为 Wi-Fi 适配器,应用到基于任何微控制器的设计中。ESP8266EX 还集成了增强版的 Tensilica’s L106 钻石系列 32-bit 内核处理器,具有超低功耗和 16 位RSIC,时钟速度最高可达 160 MHz。支持实时操作系统 (RTOS),目前 Wi-Fi 协议栈只用了 20% 的 MIPS,其他均可用于用户编程和开发。带片上SRAM,ESP8266EX 可以通过 GPIO 外接传感器和其他设备。    

ESP8266EX芯片

        ESP8266芯片体积小并且是QFN封装,我等普通爱好者用起来会比较困级。不过好在Taobao上有和外围电路一起封装好的模块。还有基于这些模块的开发板,板载USB转串口电路,只要用MicroUSB线连接电脑就可以调试了。建议入手这种,方便好用价格也不贵。

Esp8266模块     搭载了USB转串口的ESP8266开发板

        本人所了解的几种主流开发方式

        AT指令:模块通过串口与上位机连接,上位机发出指令,模块收到指令后做出响应。可以用PC端的串口助手调试。当然也可以用另一片单片机做上位机,不过放着模块集成的32位MCU不用,再用51之类的8位单片机驱动的话就有点小马拉大车了。

        NodeMCU:运行于ESP8266模块上的一种固件,该固件提供一些封装好的模块(API),直接调用就可以了。使用LUA语言编程。

        Arduino:模块可以在Arduino环境下调试,有基础的同学可以使用此方式。本菜鸟没玩过Arduino,只是按教程简单试了一下,发现编译下载好慢就放弃掉了。

        3种方法各有优劣,同学们可以自行选择最适合自己的方式。至于官方推荐的开发方式是运行在Linux环境下,本菜鸟直接无视,入门太难了。比来比去,最后还是选择了NodeMCU,LUA语言和C有很大的相似性,以前玩过C51再玩这个可能会有帮助。

        NodeMCU固件

        NodeMCU的源代码发布在github网站,但是要编译成可刷入模块的bin固件,需要在陌生的Linux环境下,我也没有找到一个靠谱的教程,特意装了个Linux系统试了试,貌似玩不转。

        不过有个好消息:固件可以在线订制,打开http://nodemcu-build.com/,留下自己的Email,选择自己需要的模块和版本。很快会就收到订制好的固件了,一个integer,一个float。区别大概是Float支持浮点Integer不支持。

刷入固件用的工具从这里下载https://github.com/nodemcu,按住Flash键不放,把模块接入USB,选好COM口和要刷入的固件,速度优先选高的,如果刷入失败,再向下降就行。

固件刷好后,打开串口助手。波特率选115200,试一下第一句程序:print(“Hello NodeMCU!”),模块正常的话会显示Hello NodeMCU!

试试node.restart(),重新启动一下模块,会显示当前固件的版本、生成时间、包含模块等信息。

为便于理解,我们可以把ESP8266模块看作一个可以连接WIFI的单片机。但是要玩转这片小小的板子,却没有想像中那么简单。模块的编程和51单片机有很大的区别,

固件刷好后,就可以开心的玩了。开发软件个人建议使用Esplorer,此软件需要安装JAVA。试一下第一句程序:print(“Hello NodeMCU!”),模块正常的话会显示Hello NodeMCU!

试试node.restart(),重新启动一下模块,会显示当前固件的版本、生成时间、包含模块等信息。

最新的NODEMCU固件支持可变波特率,不再局限于9600bps。比如可以在Esplorer里把波特率改为57600。如下图:

至此开发环境搭建完毕,可以试着先把模块连接到家里的WIFI,参照如下例程,把SSID和密码改成自己的,运行一下就能连接了。

相关文章

网友评论

      本文标题:物联网模块ESP8266学习笔记-1

      本文链接:https://www.haomeiwen.com/subject/dfwugftx.html