ESP8266模块使用完整教程「建议收藏」

在我入门ESP8266小黄板的过程中,过程是艰难的,因为网络上的资料太多太乱,官网上的资料不算太完备,而在技术交流群里面的就更乱了,所以想按自己学习所总结到的经验来分享给大家。资源链接:http://pan.baidu.com/s/1i4qjrY9请使用本教程之前先下载以上资源。前言:esp8266我用到的是小黄板测试板,而ESP8266主要有两种固件,一种是AT固件,一种是IOT固件。前者用串

大家好,又见面了,我是你们的朋友全栈君。

在我入门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账号...

(1)


相关推荐

  • 论文DepthTrack: Unveiling the Power of RGBD Tracking阅读及代码讲解[通俗易懂]

    论文DepthTrack: Unveiling the Power of RGBD Tracking阅读及代码讲解[通俗易懂]最近终于有了一篇的顶会像样的RGBDtracking的论文了:ICCV2021:DepthTrack:UnveilingthePowerofRGBDTrackingGithub:https://github.com/xiaozai/DeT数据集简介这边看完就随手记录一下关键的部分:主要是创建了个大规模的RGBDtrackingbenchmark:DepthTrack(有数据集之后才能促进算法的研究),当然随之也搞了个baselinetracker—DeT,这也是现在搞d

  • 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:zheng gitee.com/shuzheng/zheng/blob/master/README.md 前言…

  • 数据库的设计原则有哪些_数据库三原则

    数据库的设计原则有哪些_数据库三原则数据库设计是程序开发的核心部分,标准的数据库设计原则和步骤能有效提高开发进度和效率。数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。  在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。一、数据库和信息系统  (1)数据库是信息系统的核

  • linux修改文件名字

    linux修改文件名字linux下重命名文件或文件夹使用mv既可实现。例子:①将一个名为abc.txt的文件重命名为1234.txt[root@station90root]#mvabc.txt1234.txt

  • 程序员为什么不喜欢去做外包_外包程序员的出路

    程序员为什么不喜欢去做外包_外包程序员的出路做IT的一定对于外包公司很熟悉,就算没做过,想必也是经常听说,说实话在行业内是存在鄙视链的,而外包公司往往在最低端。很多人都在四处问:“软件外包公司到底能不能去”?到底能不能学到真正的技术?我来为大家详细梳理一下这个问题。想要知道外包公司到底值不值得去,我们就应该了解外包公司的概念是什么?不仅仅是IT行业有软件外包公司,在很多行业中,外包公司的数量也都是最多的。外包的工作形式分为两种:‍外包公司承接甲方的项目,了解需求后拿回自己的公司做项目,程序员按照客户的需求把代码写好,最终完成项目,外包

  • 《深入浅出 Java Concurrency》—锁紧机构(一)Lock与ReentrantLock

    《深入浅出 Java Concurrency》—锁紧机构(一)Lock与ReentrantLock

    2021年12月17日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号