“Microduino WiFi(ESP) mqtt通讯固件烧写教程/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
出处
1.为什么要给ESP8266烧写固件
第29行: 第29行:
 
==烧写固件过程==
 
==烧写固件过程==
  
===1.为什么要给ESP8266烧写固件===
+
===为什么要给ESP8266烧写固件===
 
烧写固件以后就有了MQTT通讯功能,也就可以和mCotton云端通讯了
 
烧写固件以后就有了MQTT通讯功能,也就可以和mCotton云端通讯了
 +
 
===2.固件的的内部机制是什么===
 
===2.固件的的内部机制是什么===
 
固件功能是实现了一个中转:
 
固件功能是实现了一个中转:

2017年5月24日 (三) 07:04的版本


目的

本教程将教大家如何给WiFi(ESP)模块烧写第三方固件,本文使用的固件是和mCotton通讯的固件。

设备

模块 数量 功能
Microduino-Core+/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-WiFi(ESP)/zh 1 网络通讯


程序

[https://github.com/Microduino/mqttFirmware]

烧写固件过程

为什么要给ESP8266烧写固件

烧写固件以后就有了MQTT通讯功能,也就可以和mCotton云端通讯了

2.固件的的内部机制是什么

固件功能是实现了一个中转:

  • Core+得到的传感器json格式数据通过串口Serial1发送到ESP8266中,ESP8266再通过mqtt协议发送到云端
  • 云端通过mqtt协议发送json格式数据到ESP8266中,ESP8266在通过串口传到Core+,core+在控制执行器

3.如何给ESP8266烧写固件

用microduino IDE就可以给ESP8266烧写固件,不过首先你给IDE装一个ESP8266的插件

3.1.安装插件

打开MicroduinoIDE进入Preferences[首选项]

在Additional Boards Manager URLs[附加开发板管理器网址]里输入:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

点击OK,重启IDE

选择Boards Manager[开发板管理器]

在搜索框中输入关键字ESP就能看到要安装的插件,点击install,(我的已经安装完了所以不可用)

Tips:如果安装不成功需要翻墙

安装好以后板卡就可以选择Generate ESP8266 Module

到此,ESP8266的插件就安装成功了

3.2.模块准备

接下来你需要3个Microduino模块: Core+

USBTTL

WiFi(ESP)

如果使用mCookie的话需要确保WiFi(ESP)上的跳线跳到了D2,D3

Core+

USBTTL

WiFi(ESP)

3.3.给Core+考入程序帮助WiFi(ESP)烧写固件

现在需要给Core+考入一个串口转换的程序用来帮助WiFi(ESP)烧写固件

代码如下:

代码附件: softToHard.ino

3.4.正式烧写固件

考好程序后把3个模块堆叠在一起,确保WiFi(ESP)模块的按钮露在外边因为一会烧写的时候要按住它不松手

好了,要开始上传了:

固件有两中可根据实际需要选择:

一种是不支持smartConfiger的固件IOTFirmwareV6_7_13.ino

另一种是支持smartConfiger的固件smartMqttESPFirmware.ino

根据你的需要选择一个打开

插上USB以后选择Serial

串口选择分配的串口(我的串口是COM18,你的可能不一样)

USBTTL +core+ +ESP8266堆叠好以后,上传固件的时候要按住那个按钮(mCookie的ESP8266的串口引脚是0,1,为了好调试可以改成2,3,micorduino的ESP8266引脚是2,3所以不用改)

上传就点这个上传就可以了,记住给ESP8266上传代码固件的时候要按住那个按钮

烧写完以后,之前的Core+就可以用来做其它事情了,比如获取温湿度数据传给WiFi(ESP),然后刚才你考入的固件就可以把温湿度数据上传云端了

然而,如果你有很多设备需要通过mqtt上传云端的话,这个Core+就可以不烧写其它程序做好标记,只用来给WiFi(ESP)烧写固件

4.编写你自己的设备程序:

在写你自己设备程序的时候可以参照提供给你的示例代码:

如果在上传你自己写的设备程序时候报 无法找到 ArduinoJson库的错误的话请把提供给你的ArduinoJson库

解压后放到你的IDE地址里的libraries里即可