ESP8266介绍
ESP8266是乐鑫设计,安可信生产的一块极便宜的WIFI模块,说是WIFI模块,是因为很多时候他被当作WIFI的发射接收模块和其他单片机配合使用,但实际上,他本身就是一块单片机,内置超低功耗 Tensilica L106 32 位 RISC 处理器,CPU 时钟速度最高可达 160 MHz,还有数量不等的IO端口(芯片是一样的,不同型号封装引出的管脚不同),所以在对IO管脚要求不是非常多的情况,直接用一块ESP8266就已经是完整的一个单片机方案。
说便宜,例如上面这块ESP-12F模块在网上可以用几块钱买到,加上某厂家5元包邮的电路板打样,自己焊几个电阻电容就完事,对于DIY来说实在很香。对于焊工不太好的朋友,一块山寨的开发板包括5V转3.3V电源(芯片是3.3V输入),USB刷机调试接口,也就是十几元包邮的样子。十多块钱的小东西要用WIFI,这应该是唯一的选择了。
ESP8266有自己的SDK,也支持Arduino开发,如果对程序的延迟非常敏感,就只能选择上面这些C++的开发环境,例如之前我用8266加上DWM1000做测距,就不太可能用NodeMCU。因为NodeMCU是一个Lua语言的运行环境,刷上NodeMCU固件大家可以愉快地用Lua进行编程,不用一次又一次地编译调试,几乎不会出现C/C++的什么指针,内存泄露问题,代价就是运行速度比C++开发的程序要慢一些。但对于大部分只是控制GPIO,WIFI时钟对时,或者传感器状态上报之类的应用,差1秒2秒又有什么关系呢?轻松开发才是最重要的……
NodeMCU开发有多简单?看个例子,11行代码就可以建立WIFI热点,并提供一个最简单的HTTP服务器。运行成功后,用手机或者电脑连上WIFI热点:testap,密码:12345678,然后打开浏览器即可成功访问http://192.168.4.1/
wifi.setmode(wifi.SOFTAP