查看“Microduino WiFi(ESP) mqtt通讯固件烧写教程/zh”的源代码
←
Microduino WiFi(ESP) mqtt通讯固件烧写教程/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程将教大家如何给WiFi(ESP)模块烧写第三方固件,本文使用的固件是和mCotton通讯的固件。 ==设备== {|class="wikitable" |- |模块||数量||功能 |- |[[Microduino-Core+/zh]]||1||核心板 |- |[[Microduino-USBTTL/zh]] ||1||下载程序 |- |[[Microduino-Module_WIFI,ESP/zh]] ||1||网络通讯 |} ==程序== *固件包及其相关文件 '''[[File:mqttFirmware.zip]]''' ==烧写固件过程== ===为什么要给ESP8266烧写固件=== 烧写固件以后就有了MQTT通讯功能,也就可以和mCotton云端通讯了 ===固件的的内部机制是什么=== 固件功能是实现了一个中转: *Core+得到的传感器json格式数据通过串口Serial1发送到ESP8266中,ESP8266再通过mqtt协议发送到云端 *云端通过mqtt协议发送json格式数据到ESP8266中,ESP8266在通过串口传到Core+,core+在控制执行器 ===如何给ESP8266烧写固件=== 用microduino IDE就可以给ESP8266烧写固件,不过首先你给IDE装一个ESP8266的插件 ====安装插件==== 打开MicroduinoIDE进入Preferences[首选项] 在Additional Boards Manager URLs[附加开发板管理器网址]里输入: http://arduino.esp8266.com/stable/package_esp8266com_index.json [[File:esp8266MqttIDEPlugin1.png|600px|center|thumb]] 点击OK,重启IDE 选择Boards Manager[开发板管理器] [[File:esp8266MqttIDEPlugin2.png|600px|center|thumb]] 在搜索框中输入关键字ESP就能看到要安装的插件,点击install,(我的已经安装完了所以不可用) Tips:如果安装不成功需要翻墙 [[File:esp8266MqttIDEPlugin3.png|600px|center|thumb]] 安装好以后板卡就可以选择Generate ESP8266 Module [[File:esp8266MqttIDEPlugin4.png|600px|center|thumb]] 到此,ESP8266的插件就安装成功了 ===模块准备=== 接下来你需要3个Microduino模块: Core+ [[File:Microduino-core+ -rect.jpg|150px|link=Microduino-Core+/zh]] USBTTL [[File:Microduino-ft232-rect.jpg|150px|link=Microduino-USBTTL/zh]] WiFi(ESP) [[File:Microduino-8266-rect.jpg|150px|link=Microduino-Module WIFI,ESP/zh]] 如果使用mCookie的话需要确保WiFi(ESP)上的跳线跳到了D2,D3 Core+ [[File:mCookie-core+-rect.jpg|150px|link=mCookie-Core+]] USBTTL [[File:mCookie--FT232-rect.jpg|150px|link=mCookie-USBTTL]] WiFi(ESP) [[file:mCookie-WiFi-2Big1.jpg|800px|thumb|center|mCookie-WiFi]] ====给Core+考入程序帮助WiFi(ESP)烧写固件==== 现在需要给Core+考入一个串口转换的程序用来帮助WiFi(ESP)烧写固件 代码如下: 使用核心配合烧写固件 **将USBTTL、Core+、WIFI三个模块叠堆起来(不能用Core,波特率达不到115200) **将以下程序下载到Core+中即可 <source lang="cpp"> void setup() { Serial.begin(115200); Serial1.begin(115200); } void loop() { if (Serial.available()) { char c = Serial.read(); Serial1.write(c); } if (Serial1.available()) { char c = Serial1.read(); Serial.write(c); } } </source> 代码附件: softToHard.ino [[File:esp8266MqttCorePlusCode1.png|600px|center|thumb]] ====加入json库函数==== 把提供给你的ArduinoJson库 [[File:esp8266MqttYourDeviceCode3.png|600px|center|thumb]] 解压后放到你的IDE地址里的libraries里 [[File:esp8266MqttYourDeviceCode4.png|600px|center|thumb]] ====正式烧写固件==== 考好程序后把3个模块堆叠在一起,确保WiFi(ESP)模块的按钮露在外边因为一会烧写的时候要按住它不松手 好了,要开始上传了: 固件有两中可根据实际需要选择: 一种是不支持smartConfiger的固件IOTFirmwareV6_7_13.ino [[File:esp8266MqttBureFirmware1.png|600px|center|thumb]] 另一种是支持smartConfiger的固件smartMqttESPFirmware.ino [[File:esp8266MqttBureFirmware2.png|600px|center|thumb]] 根据你的需要选择一个打开 插上USB以后选择Serial [[File:esp8266MqttBureFirmware3.png|600px|center|thumb]] 串口选择分配的串口(我的串口是COM18,你的可能不一样) [[File:esp8266MqttBureFirmware4.png|600px|center|thumb]] USBTTL +core+ +ESP8266堆叠好以后,上传固件的时候要按住那个按钮(mCookie的ESP8266的串口引脚是0,1,为了好调试可以改成2,3,micorduino的ESP8266引脚是2,3所以不用改) [[File:esp8266MqttBureFirmware5.png|600px|center|thumb]] 上传就点这个上传就可以了,记住给ESP8266上传代码固件的时候要按住那个按钮 [[File:esp8266MqttBureFirmware6.png|600px|center|thumb]] 烧写完以后,之前的Core+就可以用来做其它事情了,比如获取温湿度数据传给WiFi(ESP),然后刚才你考入的固件就可以把温湿度数据上传云端了 然而,如果你有很多设备需要通过mqtt上传云端的话,这个Core+就可以不烧写其它程序做好标记,只用来给WiFi(ESP)烧写固件 ===4.编写你自己的设备程序:=== 在写你自己设备程序的时候可以参照提供给你的示例代码: [[File:esp8266MqttYourDeviceCode1.png|600px|center|thumb]] [[File:esp8266MqttYourDeviceCode2.png|600px|center|thumb]] 如果在上传你自己写的设备程序时候报 无法找到 ArduinoJson库的错误的话,那就是之前没有加入Json库到IDE里 请把提供给你的ArduinoJson库 [[File:esp8266MqttYourDeviceCode3.png|600px|center|thumb]] 解压后放到你的IDE地址里的libraries里即可 [[File:esp8266MqttYourDeviceCode4.png|600px|center|thumb]] |}
返回至
Microduino WiFi(ESP) mqtt通讯固件烧写教程/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息