大家好,又见面了,我是你们的朋友全栈君。
在我入门ESP8266小黄板的过程中,过程是艰难的,因为网络上的资料太多太乱,官网上的资料不算太完备,而在技术交流群里面的就更乱了,所以想按自己学习所总结到的经验来分享给大家。
资源链接:http://pan.baidu.com/s/1i4MmNTN
请使用本教程之前先下载以上资源。
前言:esp8266我用到的是小黄板测试板,而ESP8266主要有两种固件,一种是AT固件,一种是IOT固件。
前者用串口调试助手,一步步输入AT指令操作模块,详情请查看资源链接下面的\esp8266\esp8266编程相关手册\4A-Espressif AT指令集018.pdf和4B-Espressif AT指令使用示例_v0.2.pdf,具体用法也可以参考我的另一篇文章:《关于51单片机+ESP8266》。用法非常简单。
后者是IOT模式是物联网全自动操作的,在这里是关于IOT方式的详细使用方法。
一、ESP8266固件编程与烧写
烧固件即可理解成是烧写系统,或者是烧写驱动。想玩ESP8266就要先往里面烧写固件。就像学习其他一般WiFi模块,我们要先了解几个问题:
a、固件从哪里来?
第一种是从官网获取各个不同版本的固件;
第二种是从互联网上获得别人已经写好并编译好的固件,一般是从官网上修改所得;
第三种是自己编写的固件。
b、怎样烧固件?
第一种如果烧写已有固件,则可用普通烧写工具刷入该bin文件;
第二种是自己编写好的固件源代码,要用编译工具先将源代码编译出.bin文件,才可以进行烧写。
c、怎样编写自己的固件?
先在官网上下载基础的iot_sdk包,再用编程工具,如Eclipse,编写好之后,进行编译,再烧写,这些步骤在下文都会一一详述。
1、打开编程工具
进入\esp8266
.在eclipse编写固件源代码.编程工具\AITHINKER-ESP8266-SDK\ESP8266IDE.exe
关于ESP8266IDE.exe的详细使用方法请看下面,与eclipse的用法相同:
\1.编程工具\安信可科技ESP8266模块编译平台说明.pdf
在上面说明文档中导入的步骤中导入esp_iot_sdk工程。
2、打开esp_iot_sdk工程
.在eclipse编写固件源代码.iot_sdk_examples,下面有四个已有的sdk工程,大同小异,可以根据不同需要导入不同工程,也可到官网下载。
其中,all_fit是小黄板上最实用的一个工程,里面包含已经编译好的IOT固件AI-THINKER-IOT-2014-10-17 165528.bin,可以烧写到板子上,方法查看第4点:烧写已有固件的方法。
同时也包含IOT.apk,安装到安卓手机上,将手机连接上小黄版放出来的WiFi,即可玩app里面的操作。
其他三个工程,用ESP8266IDE.exe修改好代码后编译烧写。
3、SDK代码修改基本方法
将对应的esp_iot_sdk工程导入ESP8266IDE.exe后,进入\app\user\user_main.c,修改以下内容:
在52、53行中修改WiFi账号和密码
在276、280行中修改服务器端地址和端口号
进行上述操作即可让小黄板连上当前WiFi,要对程序作进一步修改,请查看:
\esp8266\esp8266编程相关手册\2C-Espressif IoT SDK 编程手册_v0.9.1.pdf
4、烧写已有固件的方法
若要参考厂家已有固件,可以用烧写工具导入烧写,并与厂家对应的app配合使用。详情参看:
\esp8266\2.烧写已有固件的方法\烧写已有固件说明文档.doc
5、自行编译烧写固件的方法
(1)配置环境:参看下述文档,按照步骤安装并配置好,
esp8266\3.在win下配置固件编译环境并烧写\完全脱离虚拟机进行编译的环境安装包.txt
(2)按照文档将在第3步编写好的工程的三个文件driver、include、user,复制到C:\usr\xtensa\esp_iot_sdk\app里面。
(3)烧写程序先将小黄板的跳帽接上,再插入电脑USB口,运行C:\usr\install里的xtensa
(4)在命令提示符状态下输入:cd app
(5)然后输入make指令对源代码进行编译操作
(6)编译成功后,输入makebin,最终输出Fans_SDK_flash.bin固件。
(7)将模块8266通过USB转TLL串口接到电脑上,确保模块是处理升级烧录状态(跳帽插在多出来的两个脚上),最后在命令提示符下输入burnbin,将固件写到模块中去。
二、手机客户端
资源地址:http://pan.baidu.com/s/1i4MmNTN
1、手机使用已有app连接模块
打开:.手机客户端.已有app\固件与app组合使用\,如下:
(1)将IOT.apk安装到手机上,将IOT.bin烧到板子上。
(2)手机连接模块释放出来的热点,名称为:AI-THINKER-XXXXX ,然后打开app,就会自动连上模块。
(3)选择菜单“控制设备”,选择“LED调光”或者“开关”,就可以控制板上的灯的状态了。
2、使用手机调试助手连接模块
(1)将\2.手机客户端\2.手机调试助手\手机TCP&UDP调试助手.apk安装到手机上。这个其实是一个实现手机和其他设备UDP或者TCP连接的工具软件。连接时需要知道对方服务的IP地址和端口号。
(2)用“USR-TCP232-Test.exe”与其配合使用,查看收发情况。
(3)“esp_iot_sdk”是一个实现模块与手机实现TCP连接的一个简单例子。改编请参考网站:
http://bbs.espressif.com/viewtopic.php?f=31&t=232
在网站中,有很多其他各种用法的参考代码:
http://bbs.espressif.com/viewforum.php?f=31&sid=e3fefb9c7739e612c215d88e9b9c034d
到此,我们实现了在局域网内的手机与模块之间的连接与通讯,还有手机与模块通过服务器连接进行通讯,大家有兴趣的可以尝试,这里就不多说了。
这里没有具体操作到极致的细微,差不多是一个操作指导书,每一步的里面都会延伸到相应的文档,希望能够帮助大家。
QQ:3069508913
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125496.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...