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)
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第1张图片
一根 USB 转 TTL 的线
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第2张图片
可选:一根 USB 线(用来给机智云的 gokit3(s)供电)
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第3张图片

软件部分:

机智云账号的注册(参考链接:机智云官方注册链接)
安信可推出的基于windows的esp8266IDE(百度网盘提取码:m75u
固件烧写工具FLASH_DOWNLOAD_TOOLS(百度网盘提取码:ck59 )
手机机智云app(用来进行调试)(机智云手机 app))

准备好上述内容后,那我们从软件部分出发,正式开始吧!

1.机智云的账号注册与 SOC 方案创建

首先,我们需要打开机智云官方注册链接进行免费注册(参考链接:机智云官方注册链接)。

注册完毕后,我们点击右上角的 “开发者中心”。如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第4张图片
继续点击右上角的 “创建新产品”。如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第5张图片
选择符合自己设计的产品分类(不影响具体功能),取一个自己喜欢的产品名称,选择 Wi-Fi /移动网络方案。之后直接点击保存。如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第6张图片
这样我们就有一个自己的产品啦,然后点击左边选项栏里的数据点,之后点击页面中部的 “创建数据点”。如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第7张图片
然后我们就可以开始添加我们想要的数据点了,首先我们添加数据点 “开关”。如下图。按图示填好后点击 “添加”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第8张图片
接下来我们继续添加第二个功能:使用 ESP8266 自带的 adc 引脚检测电压,这里我添加了两个数据点,第一个数据点为控制 adc 接口是否检测电压,第二个数据点为显示检测到的电压值,由于 ESP8266 的 adc 接口为 10 位,所以他的测量范围是(0 - 1024),阅读 ESP8266 手册后发现测量的电压范围为(0 - 1v),所以我们需要在后续程序或者自行进行进一步电压数值换算。数据点设置如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第9张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第10张图片
然后我们在 “数据点”页面能看到三个数据点,点击 “应用”,这样我们就完成了数据点的设置。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第11张图片
然后我们点击左边选项栏的 “基本信息”,之后点击 “显示完整密钥”。输入我们刚刚创建机智云账号时使用的密码,获取并复制产品密钥(product secret)。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第12张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第13张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第14张图片
之后我们点击左边选项栏里的 MCU 开发,由于我们没有 MCU,所以选择 SOC 方案,硬件平台选择 ESP8266_32M ,最后粘贴刚刚复制的产品密钥,点击 “生成代码包”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第15张图片
生成完毕后点击 下载,此时我们在机智云平台的代码构建部分全部结束。

2.对下载的机智云代码包进行三分钟简单修改

2.1 eclipse 导入工程

首先,我们得确认是否下载好我下载最前面的 ESP8266IDE 以及烧写工具,在下载解压完成之后,我们解压上一步下载好的机智云代码包,然后点开 ESP8266 IDE (在文件夹 AITHINKER-ESP8266-SDK-v2.0 里,这个文件夹直接通过下载解压我在文章开头发的百度云盘文件得到),如下图(我使用的 win10 系统环境)
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第16张图片
之后我们发现 eclipse 打开了,提示选择工作区间,我直接点击了 ok,你也可以选择你想要的工作区间。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第17张图片
打开 eclipse 后,我们点击左上角的 file,在弹出的选项栏里点击 Import。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第18张图片
选择 Existing Code as Makefile Project,然后点击 Next
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第19张图片
点击 Browse,在弹出的目录中找到我们刚刚下载解压的机智云代码包,之后在 Toolchain for Indexer Settings 里选择 Cygwin GCC
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第20张图片
到这里,我们 eclipse 的配置就完成了。

2.2 代码简单修改

首先我们在左边打开工程,在根目录里找到 Makefile 文件,打开。对 23-27 行进行修改,关于 SPI_MODE,如果你的 ESP8266 模块上写的安信可就输入 QIO,如果是“汇思锐(HYSIRY)”就输入 DOUT (问题总结一)如图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第21张图片
之后我们可以点开 app/user 目录下的 user_main.c 进行功能函数的编写,由于我们这个教程要实现的功能比较简单,所以我们直接进入 app/Gizwits 里的 gitwits_product.c 里进行编写调用,我们定义 GPIO 5 口为 swtich 开关。如下图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第22张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第23张图片
之后我们回到 app/user 目录下的 user_main.c,根据大家自身的 ESP8266 模组情况进行对应的调试,如果没有 gokit3(s)SOC 开发板的话,可以将 145-146 行按如下图所示自行调整(也可以不调,使用对应的波特率和串口即可)。我在这里用的是之前默认的(默认为波特率(9200,115200)和将打印信息输出到 UART 1)。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第24张图片
如下图,在 user_main.c 里可以看到,按键 1 接到了 GPIO 0 上,按键 2 接到了 GPIO 14 上。有 1 个输出需要连接到 GPIO 5。
按键 1 短按:运行出厂测试代码
按键 1 长按:模块复位
按键 2 短按:AP 模式
按键 2 长按:airlink 模式
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第25张图片
最后,我们右键点击左边项目栏里的 SOC_ESP8266_32M_source 项目,然后先点击 clean project,再点击 build project,在下方 "Console"里显示如下的时候,说明代码部分已经全部完成,可以进行后续的固件烧录和 app 测试了。(如果 build project 后报 makefile 之类的错误,需要点击左上角 “file” 里的 “save all” 保存后,再 build 就好了。)

ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第26张图片

3.ESP8266 固件烧录

首先我们打开之前下载的串口烧写工具(文章开头提供的固件烧写工具 FLASH_DOWNLOAD_TOOLS(百度网盘提取码:ck59 ))

3.1 生成使用adc接口需要的配置文件(不打算使用adc接口可以直接忽略这一小节,直接进入3.2烧录部分)

选择第一项 ESP8266 DownloadTool
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第27张图片
因为我们需要使用到 adc 接口外接电路检测电压(如果不打算使用 adc 接口,可以直接忽略这一步),所以接下来我们需要点击“RFConfig”,将 vdd_const 位改成 33(3.3 V),最后点击 GenInitBin,将生成的 esp8266_init_data_setting 复制到机智云代码包的 bin 文件目录下
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第28张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第29张图片
esp8266_init_data_setting 复制到机智云代码包的 bin 文件目录下(不使用 adc 接口的话,可以忽略)。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第30张图片

3.2 ESP8266 固件烧录

打开此文章开头提供下载的串口烧录工具,选择第一项 “ESP8266 DownloadTool”
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第31张图片
然后使用 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 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第32张图片
接完后将 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
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第33张图片
此时串口工具会开始大约 30 s 计时,如果使用 ESP8266-12F 的话,将 key1 拨至 GND 端,按一下 RESET 即可进行烧录,其他 ESP8266 模块需要调整 UART0 和 RESET 的电平,也可以进行烧录。直到提示 “FINISH”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第34张图片
接下来我们将 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 引脚进行电平迅速调整),如下系列图

ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第35张图片
然后继续,随便进入一个可用你当前 Wi-Fi 环境。然后点击“下一步”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第36张图片
然后选择模组类型,这里我们 ESP8266-12F 选择“乐鑫”(基本都是乐鑫)。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第37张图片
如下图,按之前所述的操作保证 ESP8266进入 ap 模式后。点击“我已完成上述操作”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第38张图片
点击“去连接设备热点”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第39张图片
在WIFI列表里找到 XPG-GAgent-503(尾号是你 ESP8266 模块序列号的最后三位),输入默认密码 123456789,然后会提示连接成功,返回 app 后就发现成功建立连接啦。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第40张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第41张图片

5.使用机智云 app 进行功能测试

5.1 测试开关的功能

在完成上一步后,我们发现机智云 app 主页已经出现了我们的设备。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第42张图片
点击进入我们的设备,然后点击 switch 右边的开关键,我们发现引脚也在进行对应的高低电平切换(通过外接 led 小灯进行检测),如图。

5.2 adc 接口检测电压的功能检测

然后我们在设备的操作页面打开 switch_adc 的开关,我们发现示数在50左右,然后我们通过外接电压(注意检测范围位 0-1 v,如果要检测更大的电压可以先接缩小电路,然后在程序或者机智云数据点里加放大系数)。我接入了 0.5 V 左右的电压,示数相应的发生了变化,如图。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第43张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第44张图片
到这里,我们已经完成了所有的步骤。最后我补充一些过程中常见的问题和注意事项:

6.常见问题与注意事项

6.1程序编译

1.eclipse 中最后的 build project 阶段如果出现类似于 “ makefile…” 之类的错误,需要点击左上角 “file”,然后点击 “save all”,保存所有文件之后在 build project 就能成功了。

6.2 串口烧写

* 串口的确认(COM X)

在 USB 连接上电脑后,我们右键点击“我的电脑”,然后点击“属性”,进入“系统”。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第45张图片
点击左边的“设备管理器”。然后点击“端口”就能查看具体选择 COM 的数值。
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第46张图片
其他注意事项
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 固件烧写教程)_第47张图片
ESP8266 快速入门(一):通过机智云平台 20 分钟实现开关与 adc 接口的电压测量功能(包含 ESP8266 固件烧写教程)_第48张图片

你可能感兴趣的:(ESP8266)