ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)
ESP8266 入门:使用机智云快速实现开关与 adc 接口的电压测量(包含固件烧写教程)
- 0. 需要准备的材料
- 硬件部分:
- 软件部分:
- 1.机智云的账号注册与 SOC 方案创建
- 2.对下载的机智云代码包进行三分钟简单修改
- 2.1 eclipse 导入工程
- 2.2 代码简单修改
- 3.ESP8266 固件烧录
- 3.1 生成使用adc接口需要的配置文件(不打算使用adc接口可以直接忽略这一小节,直接进入3.2烧录部分)
- 3.2 ESP8266 固件烧录
- 4.使用手机机智云 app 连接上 ESP8266 模块
- 5.使用机智云 app 进行功能测试
- 5.1 测试开关的功能
- 5.2 adc 接口检测电压的功能检测
- 6.常见问题与注意事项
- 6.1程序编译
- 6.2 串口烧写
- * 串口的确认(COM X)
0. 需要准备的材料
硬件部分:
ESP8266 模组(我这里选择了机智云的 gokit3(s),上面的 ESP8266 型号是esp-12F)
一根 USB 转 TTL 的线
可选:一根 USB 线(用来给机智云的 gokit3(s)供电)
软件部分:
机智云账号的注册(参考链接:机智云官方注册链接)
安信可推出的基于windows的esp8266IDE(百度网盘提取码:m75u
固件烧写工具FLASH_DOWNLOAD_TOOLS(百度网盘提取码:ck59 )
手机机智云app(用来进行调试)(机智云手机 app))
准备好上述内容后,那我们从软件部分出发,正式开始吧!
1.机智云的账号注册与 SOC 方案创建
首先,我们需要打开机智云官方注册链接进行免费注册(参考链接:机智云官方注册链接)。
注册完毕后,我们点击右上角的 “开发者中心”。如下图。
继续点击右上角的 “创建新产品”。如下图。
选择符合自己设计的产品分类(不影响具体功能),取一个自己喜欢的产品名称,选择 Wi-Fi /移动网络方案。之后直接点击保存。如下图。
这样我们就有一个自己的产品啦,然后点击左边选项栏里的数据点,之后点击页面中部的 “创建数据点”。如下图。
然后我们就可以开始添加我们想要的数据点了,首先我们添加数据点 “开关”。如下图。按图示填好后点击 “添加”。
接下来我们继续添加第二个功能:使用 ESP8266 自带的 adc 引脚检测电压,这里我添加了两个数据点,第一个数据点为控制 adc 接口是否检测电压,第二个数据点为显示检测到的电压值,由于 ESP8266 的 adc 接口为 10 位,所以他的测量范围是(0 - 1024),阅读 ESP8266 手册后发现测量的电压范围为(0 - 1v),所以我们需要在后续程序或者自行进行进一步电压数值换算。数据点设置如下图。
然后我们在 “数据点”页面能看到三个数据点,点击 “应用”,这样我们就完成了数据点的设置。
然后我们点击左边选项栏的 “基本信息”,之后点击 “显示完整密钥”。输入我们刚刚创建机智云账号时使用的密码,获取并复制产品密钥(product secret)。
之后我们点击左边选项栏里的 MCU 开发,由于我们没有 MCU,所以选择 SOC 方案,硬件平台选择 ESP8266_32M ,最后粘贴刚刚复制的产品密钥,点击 “生成代码包”。
生成完毕后点击 下载,此时我们在机智云平台的代码构建部分全部结束。
2.对下载的机智云代码包进行三分钟简单修改
2.1 eclipse 导入工程
首先,我们得确认是否下载好我下载最前面的 ESP8266IDE 以及烧写工具,在下载解压完成之后,我们解压上一步下载好的机智云代码包,然后点开 ESP8266 IDE (在文件夹 AITHINKER-ESP8266-SDK-v2.0 里,这个文件夹直接通过下载解压我在文章开头发的百度云盘文件得到),如下图(我使用的 win10 系统环境)
之后我们发现 eclipse 打开了,提示选择工作区间,我直接点击了 ok,你也可以选择你想要的工作区间。
打开 eclipse 后,我们点击左上角的 file,在弹出的选项栏里点击 Import。
选择 Existing Code as Makefile Project
,然后点击 Next
点击 Browse
,在弹出的目录中找到我们刚刚下载解压的机智云代码包,之后在 Toolchain for Indexer Settings
里选择 Cygwin GCC
。
到这里,我们 eclipse 的配置就完成了。
2.2 代码简单修改
首先我们在左边打开工程,在根目录里找到 Makefile 文件,打开。对 23-27 行进行修改,关于 SPI_MODE,如果你的 ESP8266 模块上写的安信可就输入 QIO,如果是“汇思锐(HYSIRY)”就输入 DOUT (问题总结一)如图。
之后我们可以点开 app/user
目录下的 user_main.c 进行功能函数的编写,由于我们这个教程要实现的功能比较简单,所以我们直接进入 app/Gizwits
里的 gitwits_product.c 里进行编写调用,我们定义 GPIO 5 口为 swtich 开关。如下图。
之后我们回到 app/user
目录下的 user_main.c,根据大家自身的 ESP8266 模组情况进行对应的调试,如果没有 gokit3(s)SOC 开发板的话,可以将 145-146 行按如下图所示自行调整(也可以不调,使用对应的波特率和串口即可)。我在这里用的是之前默认的(默认为波特率(9200,115200)和将打印信息输出到 UART 1)。
如下图,在 user_main.c 里可以看到,按键 1 接到了 GPIO 0 上,按键 2 接到了 GPIO 14 上。有 1 个输出需要连接到 GPIO 5。
按键 1 短按:运行出厂测试代码
按键 1 长按:模块复位
按键 2 短按:AP 模式
按键 2 长按:airlink 模式
最后,我们右键点击左边项目栏里的 SOC_ESP8266_32M_source
项目,然后先点击 clean project
,再点击 build project
,在下方 "Console"里显示如下的时候,说明代码部分已经全部完成,可以进行后续的固件烧录和 app 测试了。(如果 build project 后报 makefile 之类的错误,需要点击左上角 “file” 里的 “save all” 保存后,再 build 就好了。)
3.ESP8266 固件烧录
首先我们打开之前下载的串口烧写工具(文章开头提供的固件烧写工具 FLASH_DOWNLOAD_TOOLS(百度网盘提取码:ck59 ))
3.1 生成使用adc接口需要的配置文件(不打算使用adc接口可以直接忽略这一小节,直接进入3.2烧录部分)
选择第一项 ESP8266 DownloadTool
因为我们需要使用到 adc 接口外接电路检测电压(如果不打算使用 adc 接口,可以直接忽略这一步),所以接下来我们需要点击“RFConfig”,将 vdd_const 位改成 33(3.3 V),最后点击 GenInitBin,将生成的 esp8266_init_data_setting
复制到机智云代码包的 bin 文件目录下
将 esp8266_init_data_setting
复制到机智云代码包的 bin 文件目录下(不使用 adc 接口的话,可以忽略)。
3.2 ESP8266 固件烧录
打开此文章开头提供下载的串口烧录工具,选择第一项 “ESP8266 DownloadTool”
然后使用 USB 转 TTL 线连接 ESP8266,一般需要使用四根,
VCC 接 ESP8266 模块上的 VCC(没有的话直接使用 +5 V 电压进行供电),
TTL 线上的 RX 接 ESP8266 模块上的 TX,
TTL 线上的 TX 接 ESP8266 模块上的 RX,
TTL 线上的 GND 接 ESP8266 模块上的 GND,
(如果 TTL 有 UART0 线,也可以接上,我这里的 ESP8266-12F UART0 部分由 key1 直接可以控制进入烧录模式还是正常运行模式,这部分模块不同可自行百度如何接线)
如图
接完后将 ESP8266 模块上 +5 V的电(3.3 V 是工作电压,5 V 是烧录电压),将 key1 下拨至 GND,然后烧录软件各项参数如下设置,注意 SPI MODE 需要根据你的 ESP8266 模块而定(在之前的程序修改中也有不同),如果你的 ESP8266 模块上写的安信可就输入 QIO ,如果是 “汇思锐(HYSIRY)”就输入 DOUT。选择你自己的 TTL 转 USB 串口,不会查看 COM 型号的话见文章末尾的(常见问题 6.2)。最后点击软件下方的 erase,然后点击 start,此时应显示“等待上电同步”。
注意:第三个烧录文件 esp8266_init_data_setting
,如果不需要使用 adc 接口,请将 esp8266_init_data_setting
替换成 bin 目录下的 esp_init_data_default
。
此时串口工具会开始大约 30 s 计时,如果使用 ESP8266-12F 的话,将 key1 拨至 GND 端,按一下 RESET 即可进行烧录,其他 ESP8266 模块需要调整 UART0 和 RESET 的电平,也可以进行烧录。直到提示 “FINISH”。
接下来我们将 5 V 的烧录阶段供电电压替换成 3.3 V 的工作阶段供电电压,然后将 ESP8266-12F 上的 key1 拨到 key1 端,之后按一下reset,我们的程序就开始运行了。
4.使用手机机智云 app 连接上 ESP8266 模块
由于之前我们已经将配网需要的控制电路已经配置好:
按键 1 接到了 GPIO 0 上,按键 2 接到了 GPIO 14 上。有 1 个输出需要连接到 GPIO5。
按键 1 短按:运行出厂测试代码
按键 1 长按:模块复位
按键 2 短按:AP 模式
按键 2 长按:airlink 模式
ESP8266-12F 各引脚功能如图所示
我们选择通过 ap 模式进行配网,如果跟我一样使用的 gokit3(s),只需要在 SOC 板接上 USB电源后,在 ESP8266-12F 的 key1 键拨至key1 端的情况下按一下 “reset”,再按一下 gokit SOC 板上的 key2 键即可进入 ap 模式。
如果没有 gokit3(S),可以根据上述文本和图片对 GPIO14 引脚接一个开关,或者通过导线进行电平短暂切换,也能达到短按 key2 的效果,进入 ap 模式。
在明白如何进入 ap 模式后,我们打开手机上下载的机智云手机 app,创建一个账号(跟之前创建的机智云电脑端账号不互通),进入 app 主页后我们点击右上角的 “+” 号,然后点击 “热点配置”,同时要让 ESP8266 模块进入 ap 模式(短按 gokit3 soc 板上的 key2 或者对 gpio 14 引脚进行电平迅速调整),如下系列图
然后继续,随便进入一个可用你当前 Wi-Fi 环境。然后点击“下一步”。
然后选择模组类型,这里我们 ESP8266-12F 选择“乐鑫”(基本都是乐鑫)。
如下图,按之前所述的操作保证 ESP8266进入 ap 模式后。点击“我已完成上述操作”。
点击“去连接设备热点”。
在WIFI列表里找到 XPG-GAgent-503
(尾号是你 ESP8266 模块序列号的最后三位),输入默认密码 123456789
,然后会提示连接成功,返回 app 后就发现成功建立连接啦。
5.使用机智云 app 进行功能测试
5.1 测试开关的功能
在完成上一步后,我们发现机智云 app 主页已经出现了我们的设备。
点击进入我们的设备,然后点击 switch 右边的开关键,我们发现引脚也在进行对应的高低电平切换(通过外接 led 小灯进行检测),如图。
5.2 adc 接口检测电压的功能检测
然后我们在设备的操作页面打开 switch_adc 的开关,我们发现示数在50左右,然后我们通过外接电压(注意检测范围位 0-1 v,如果要检测更大的电压可以先接缩小电路,然后在程序或者机智云数据点里加放大系数)。我接入了 0.5 V 左右的电压,示数相应的发生了变化,如图。
到这里,我们已经完成了所有的步骤。最后我补充一些过程中常见的问题和注意事项:
6.常见问题与注意事项
6.1程序编译
1.eclipse 中最后的 build project
阶段如果出现类似于 “ makefile…” 之类的错误,需要点击左上角 “file”,然后点击 “save all”,保存所有文件之后在 build project
就能成功了。
6.2 串口烧写
* 串口的确认(COM X)
在 USB 连接上电脑后,我们右键点击“我的电脑”,然后点击“属性”,进入“系统”。
点击左边的“设备管理器”。然后点击“端口”就能查看具体选择 COM 的数值。
其他注意事项
1.SPI MODE 需要根据你的 ESP8266 模块而定(在之前的程序修改中也有不同),如果你的 ESP8266 模块上写的安信可就输入 QIO,如果是“汇思锐(HYSIRY)”就输入 DOUT。
2.第三个烧录文件 esp8266_init_data_setting
,如果不需要使用 adc 接口,请将 esp8266_init_data_setting
替换成 bin 目录下的 esp_init_data_default
。
3.如果出现“串口连接失败”,先通过上述确认串口操作,确认选择的串口没有问题。然后如果还有问题,下载一个“驱动精灵”进行驱动扫描。驱动精灵会自动安装需要的串口驱动。
4.如果在按 start 和复位时出现 ESP8266 Chip stub error esp_stub_and_set_baud.
的错误。往往是线没有接好(TX,RX 线长度不一致,或者接口松动都可能导致这个问题)。注意 USB 转 TTL 线的TX端接esp8266模块的 RX 端,USB 转 TTL 线的 RX 端接 ESP8266 模块的 TX 端.
附:win10 最好不要买 Prolific USB-to-Serial Comm Port
这型号的 USB 转 TTL 的线,因为需要手动更新驱动程序才能用- -,这里有问题可以留下评论。最后希望大家能多多指导,共同进步!
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)相关推荐
- 【MicroPython esp8266】固件烧写教程
[MicroPython esp8266]固件烧写教程 ⛳烧录工具准备 -
- Esp8266 进阶之路35【项目篇】借助机智云平台用乐鑫esp8266芯片做一个商业化的七彩RGB灯泡可调整体方案项目,炫彩夺目高大尚。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个" ...
- STM32通过ESP8266利用机智云平台实现手机远程操作
STM32通过ESP8266利用机智云平台实现手机远程操作 将STM32作为主控芯片,ESP8266作为外设,利用串口传递信息,通过机智云平台实现STM32与手机之间的数据传输!之所以选择机智云平台, ...
- 【如何使用机智云平台进行ESP8266固件烧入】
如何机智云平台进行ESP8266固件烧入 下面分享一下机智云平台进行ESP8266固件烧入,在我们通过ESP8266进行机智云平台连接之前必须要先进行相应的固件烧入. 机智云平台链接 一.进行账号注册 ...
- 基于机智云平台的智能家居系统
摘要:随着社会的发展,人们对于生活质量的要求越来越高,智能家居作为能够大幅提升人们生活舒适度的一部分,得到了越来越多的人关注,更多方便.实用的智能家居系统急需被提出. 本文设计了一种基于机智云物联网云 ...
- STM32接入机智云平台
写博客作为学习记录,加深印象,可能写的不对,或者有些地方写的不全,欢迎在下评论哈,我会及时更正 传送门:博客汇总帖 如果ESP8266还没有烧录机智云固件,在我另一篇博客: ESP8266烧写机智云固 ...
- 国内外物联网平台初探(篇五:机智云平台)
国内外物联网平台初探(篇五:机智云平台) ------ [导读]------ 物联网智库将在每周五下午的第二篇文章推送由马智先生研究撰写的系列文章--<国内外物联网平台初探>. 物联网智库 ...
- 基于ShineBlink物联网开发板和机智云平台开发的“针对短期内宠物无人照顾的智能宠物屋”系统
正式介绍作品前先说明一下,我是湖南文理学院计算机与电气工程学院的一名大三学生,我叫陈海涛.作品全部内容均为个人创意.个人设计并手工制作,后期会考虑写论文投期刊,So!!严禁抄袭!抄袭必究! 该作品是用 ...
- 毕业设计:基于STM32与机智云平台的远程控制智能家居系统
该项目实现一个智能家居系统,采用STM32为主控,并连接云平台-机智云作为远程控制的云服务器,同时用到手机APP作为控制终端,整个系统包括硬件端.云平台.手机APP,是一套完整的物联网智能家居系统. ...
最新文章
- java opcode 反汇编,OPCode详解及汇编与反汇编原理
- “地理智慧 链接未来”,2020 GIS 软件技术大会主题大会召开
- 图神经网络(二)GCN的性质(3)GCN是一个低通滤波器
- linux搭建rabbitmq环境,RabbitMQlinux-centos环境配置
- 关于从Activity A跳转到Activity B ,其中Activity A中有一个VideoView,Activity B中有一个MediaPlayer。...
- 基于卷积神经网络的人脸识别项目_使用Tensorflow-gpu+dilib+sklearn
- cocos2dx学习笔记(一)在cocos2dx 中使用spine骨骼动画
- 下载XAMPP并安装和使用(Mac环境)
- 高通骁龙430系列-MSM8937 ( Cortex-A53架构)
- 欢迎使用传真服务器系统,coFax传真服务器 OCR页面号码识别传真
- 说一说Qpython3在Android手机上的应用
- 反向题在测试问卷信效度_问卷前测除了信效度,你还需知道...
- ASP.NET MVC入门
- FlashFXP绿色版
- 关于javaBean运行后出现Name was not previously introduced as per JSP.5.3的解决方法
- 纯前端导出excel文件(包含设置样式)
- 数字逻辑---头歌实训作业---逻辑函数及其描述工具(Logisim)
- k8s.gcr.io的镜像无法下载的问题
- python里面的pip是什么意思_python中的pip是什么意思
- 在 angular6 中自定义 webpack 配置
热门文章
- 一文搞定Java集合类,你还在为Java集合类而烦恼吗?
- 火狐 脱机文件位置不能更改_如何更改Firefox下载文件夹的位置
- 【转】用opencv使摄像头在30fps下捕获1080p的数据
- 什么是数据挖掘,给出一个你在生活中应用数据挖掘技术的例子,分析数据挖掘的意义。...
- PyG:PyTorch Geometric Library
- MINSTER触摸屏维修贝加莱显示屏维修5RP920.1505-KC3
- 互联网早报:蚂蚁链正式发起“宝藏计划”,开放可信数字技术守护传统文化
- 【pytorch 优化器】ReduceLROnPlateau详解
- 从cer和pfx证书文件获取公、私钥
- 万众期待的Adobe Photoshop 2021 for Mac正式上线