ESP8266开发板升级固件
你需要知道的开发ESP8266的MQTT版固件

你需要知道的开发ESP8266的MQTT版固件乐鑫的IoT芯片出货量已经超过1亿片,ESP8266是一款WiFi芯片,主要用于IoT数据的I/O。
MQTT (Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。
MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。
作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。
MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。
可以使用EMQ搭建自己的MQTT服务器。
一、ESP8266简介1、ESP8266的各引脚定义如下图。
其中GPIO0、GPIO2、GPIO4、GPIO5、GPIO12、GPIO13、GPIO14可以当做GPIO使用,其他口被内部占用,不能用作普通GPIO口使用。
同时,GPIO0是固件烧录的选择引脚,在上电时需要保持高电平,否则进入烧写模式。
2、下图的连接方式就可以正常开发或者使用ESP8266了。
CH_PD是使能引脚,需要保持高电平。
官方手册上说明GPIO15应上拉。
通过UART串口就可以进行通信和固件下载了。
3、FLASH布局不支持在线更新和支持在线更新的模式下FLASH布局不同二、ESP8266开发环境搭建由于ESP8266官方没有提供开发工具,这里使用了安信可开发的ESP8266开发工具,可以在安信可官网下载一体化开发SDK,其它需要的工具有:固件烧录下载工具,串口调试工具(XCOM)。
可以根据官方SDK来修改工程。
1、下载好一体化开发SDK后解压,如下。
2、先解压cygwin到要安装的目录如D:\目录下,路径不能出现中文。
esp8266wifi组网技术的实现流程

esp8266wifi组网技术的实现流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor.I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!ESP8266 WiFi 组网技术实现流程ESP8266 WiFi 模块以其小巧的体积、强大的功能和低廉的价格,成为了物联网(IoT)项目中的热门选择。
ESP8266 固件下载协议 V1.2 应用指南说明书

Byte 0 1 2~3
4~7 8~n 8 9
Data type
Table 2-1. Packet Header Format Request
Response
Type
Always 0x00.
Always 0x01.
2.2. Packet Body...............................................................................................................................4
3. Firmware Image Format ........................................................................................................5 A. Appendix - Programming Examples .....................................................................................6
1.2. Download Procedure .................................................................................................................2
2. Transmission Protocol ...........................................................................................................3 2.1. Packet Header ...........................................................................................................................3
MicroPython入坑记(二)刷固件(ESP8266ESP32)

MicroPython⼊坑记(⼆)刷固件(ESP8266ESP32)先来个刷写过程:其实各种刷ESP8266/ESP32的软件都可以搞(⽐如刷NodeMCU的软件),不过我这还是出问题了:刷完后⽆限输出乱码。
然后参照Micropython官⽅的教程,⽤esptool先清除所有的FLASH,然后重新刷⼊,正常运⾏:pip install esptool 安装esptool(当然,电脑上要先装好python)esptool.py --port /dev/ttyUSB0 erase_flash 擦除所有的flash,如果是windows系统,则改为具体的COM⼝,⽐如我的电脑是COM4:esptool.py --port COM4 erase_flash刷⼊固件这个命令⽐较长,可以不熟悉命令⾏的可以⽤其他GUI软件代替:esptool.py --port COM4 --baud 460800 write_flash --flash_size=detect 0 esp8266.bin(这个改为具体固件⽂件名)刷完后,⽤putty连接板⼦会出现以下界⾯(如果没有显⽰就先按⼀下RST键):现在就可以执⾏Python代码了,⽀持命令补全哦列出所有的模块:继续探索:在ESP8266上,跟板⼦相关的代码主要在esp machine两个模块上:>>> import esp>>> import machine>>> dir(esp)['__class__', '__name__', 'SLEEP_LIGHT', 'SLEEP_MODEM', 'SLEEP_NONE', 'apa102_write', 'check_fw', 'deepsleep', 'dht_readinto', 'esf_free_bufs', 'flash_erase', 'flash_id', 'flash_read', 'flash_size', 'flash_user_start', 'flash_write', 'free', 'freemem', 'info', 'malloc', 'meminfo', 'neopixel_write', 'osdebug', 'set_native_code_location', 'sleep_type']>>> dir(machine)['__class__', '__name__', 'ADC', 'DEEPSLEEP', 'DEEPSLEEP_RESET', 'HARD_RESET', 'I2C', 'PWM', 'PWRON_RESET', 'Pin', 'RTC', 'SOFT_RESET', 'SPI', 'Signal', 'Timer', 'UART', 'WDT', 'WDT_RESET', 'deepsleep', 'disable_irq', 'enable_irq', 'freq', 'idle', 'mem16','mem32', 'mem8', 'reset', 'reset_cause', 'sleep', 'time_pulse_us', 'unique_id']从上边的输出可以看到,esp主要是显⽰⼀些基础的指令,⽐如深度休眠,申请内存之类,machine主要是操作IO之类先试着点⼀下LED灯(我这个板⼦⾃带了⼀个LED在GPIO2)>>> from machine import Pin>>> led=Pin(2,Pin.OUT)>>> led.on()>>> led.off()是不是很神奇?哈哈然后连接⽹络:>>> import network # 导⼊network包>>> wlan=network.WLAN() #⽣成wlan对象>>> wlan.active(1) #开启wlanmode : sta(5c:cf:7f:0e:25:19) + softAP(5e:cf:7f:0e:25:19)#5 ets_task(4020ed90, 28, 3fff9fa0, 10)add if0>>> wlan.scan() #扫描wlan信号>>> wlan.connect('OpenWrt','xde12345') #连接wlanlascandonestate: 0 -> 2 (b0) state: 2 -> 3 (0)state: 3 -> 5 (10)add 0aid 2cntconnected with OpenWrt, channel 11dhcp client start...ip:192.168.43.203,mask:255.255.255.0,gw:192.168.43.1可以看到,已经连接成功了,这⾥有个很酷的功能,就是esp8266的MicroPython固件是可以⾃动保存⽹络配置(esp32的暂时还不⾏)的,重新上电就能连接上次连接的⽆线⽹络(酷)能联⽹了,⼲点啥事呢^^,发现内置个ntptime模块,玩玩先:>>> import time>>> time.localtime()(2000, 1, 1, 0, 0, 18, 5, 1)现在时间是2000年1⽉1号>>> import ntptime>>> ntptime.time()575780696获取了个时间戳>>> ntptime.settime()(2018, 3, 31, 3, 5, 7, 5, 90)设置时间>>> time.localtime()(2018, 3, 31, 3, 5, 12, 5, 90)>>>等等,这世间不对吧,估计是UTC时间,暂时还没设置时区的地……先这样吧。
1.WIFI模块固件更新

1、ESP8266固件升级1.实验目的1)、使用WIFI无线数据传输2)、掌握WIFI TCPIP 使用方法做这个实验前,先把《5.终极篇-zigbee的wifi网关\1.WIFI的AT命令调试\1.WIFI命令使用例程.pdf》做完2.实验设备z硬件:PC 机一台 手机一台 ZB2530网关(底板、ESP8266模块) 一套z软件:2000/XP/win7 系统,串口调试助手3.实验相关电路图如上图J5这样接,表明PC通过USB线[板子自带USB转串口芯片CH341]直接接入WIFI 模块,进行对WIFI的调试使用。
如果3-5 4-6 则表明ZIGBEE通过串口控制模块。
如果5-7 6-8 则表明zigbee模块接入到PC拨码开关 FL是CH341切换【USB转串口】或者】【USB 转SPI】我们用ESP8266所以是串口的WIFI模块,所以是FL 是OFF。
GPIO4是WIFI运行的控制开关,如果是OFF表明是WIFI模块不运行,如果是ON表明是WIFI模块运行,并且WIFI模块上面的WIFI_RUN灯会点亮,所以这个切记GPIO4是ON。
GPIO2是模块固件更新,如果要通过串口更新模块内部固件的时候,需要开ON,所以我们现在是更新固件,直接ON。
GPIO1 为从flash启动,所以OFF如下图就是我们板子实际的拨码情况:图1硬件我们准备好了。
我们将板子和电脑连接。
这个时候需要安装驱动。
具体安装方法很简单,下载驱动精灵自动安装。
不要自己安装,自己安装容易把驱动搞乱。
驱动精灵网址:/s/14fUyU注意:我们主要用到两个版本,1.00170901更新固件后的版本。
2.0019000902云升级后的版本,云升级就是WIFI模块连接到路由器然后,通过路由器到WIFI芯片固件厂商下载固件升级,当然云升级的固件版本一直再被升级。
1.、波特率默认是115200,如图1 插好短路帽和拨好拨码开关,重新插拔USB重新上电[务必要做]。
安信可-NodeMCU-8266 规格书-中文说明书

NodeMCU-8266规格书版本V1.2版权©2020免责申明和版权公告本文中的信息,包括供参考的URL地址,如有变更,恕不另行通知。
文档“按现状”提供,不负任何担保责任,包括对适销性、适用于特定用途或非侵权性的任何担保,和任何提案、规格或样品在他处提到的任何担保。
本文档不负任何责任,包括使用本文档内信息产生的侵犯任何专利权行为的责任。
本文档在此未以禁止反言或其他方式授予任何知识产权使用许可,不管是明示许可还是暗示许可。
文中所得测试数据均为安信可实验室测试所得,实际结果可能略有差异。
Wi-Fi联盟成员标志归Wi-Fi联盟所有。
文中提到的所有商标名称、商标和注册商标均属其各自所有者的财产,特此声明。
最终解释权归深圳市安信可科技有限公司所有。
注意由于产品版本升级或其他原因,本手册内容有可能变更。
深圳市安信可科技有限公司保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。
本手册仅作为使用指导,深圳市安信可科技有限公司尽全力在本手册中提供准确的信息,但是深圳市安信可科技有限公司并不确保手册内容完全没有错误,本手册中的所有陈述、信息和建议也不构成任何明示或暗示的担保。
文件制定/修订/废止履历表版本日期制定/修订内容制定核准V1.02016.10.04首次制定杨小飞V1.12019.03.04资料更改谢一骥V1.22020.04.23资料更改谢一骥目录一、产品概述 (5)二、电气参数 (7)三、外观尺寸 (8)四、管脚定义 (9)五、原理图 (11)六、设计指导 (11)七、回流焊曲线图 (12)八、包装信息 (13)九、联系我们 (13)一、产品概述NodeMCU-8266开发板是安信可针对ESP8266模组而设计的一款核心开发板,该开发板延续了NodeMCU1.0经典设计,引出全部I/O至两侧的排针,开发者可以根据自己的需求连接外设。
使用面包板进行开发和调试时,两侧的标准排针可以使操作更加简单方便。
一,ESP8266下载和刷固件(基于Lua脚本语言)

⼀,ESP8266下载和刷固件(基于Lua脚本语⾔)⽤⾃⼰的⼩板测试......安排上呢⼀, ESP8266下载和刷固件(Lua开发----体验⼀下lua开发的魅⼒所在)⼆, 控制⼀个灯亮灭三, TCP服务器四, TCP客户端五, UDP六, ⽂件操作(保存数据到8266内部)七, 外设操作(SPI,ADC)⼋, 再说......先看下载⾃⼰的固件填写好⾃⼰的的邮箱地址,然后选择好⾃⼰需要的功能,⼀会编译好的固件就会发到您的邮箱地址我下载的我⼀开始⽤的QQ邮箱,不过后来不知道怎么的我的qq邮箱不可以了,,,,所以就⽤的⾃⼰的新浪邮箱然后就会出现下⾯的界⾯,,等着哈对了还有Lua开发的API⽂档邮件发过来啦烧写固件的软件⽆论哪⼀个软件,模块的接线都⼀样现在烧写固件参考⽂章..对了亲们可能⽤的这种的GPIO0 默认是⼯作模式(不接线)。
如果接了低电平就是下载模式(给模块刷固件!!)所以接低电平。
CH_PD接⾼电平,其余除了TX,RX外可以不接线..其实在模块上电的时候如果GPIO0是低电平那么模块就⼯作在等待刷固件模式,,,在模块上电的时候如果GPIO0是⾼电平那么模块就⼯作在正常⼯作模式,由于没有按键什么的,所以可以先接好线再上电再看这⼀款后来补充-----关于选择内存⼤⼩问题,不同的型号内存⼤⼩不⼀样可以看也可以从我的百度云⾥⾯下按下key2然后断电上电,或者按key3复位⼀下,,,然后松开key2就可以了好了现在看⽤第⼆个软件刷固件选择固件给⼤家各种模块的Flash⼤⼩的表让模块处于更新固件模式,,就是Gpio0接低电平,,然后复位⼀下好了对了可能出现这呢是串⼝模块和WIFI模块通信不稳定导致的,,,⾃⼰⽤ch340就出现过这种情况,,,,但是⽤pl2303就没有出现过,,,,对于这种情况,我感觉第⼀有条件可以换⼀个串⼝模块,⽐如pl2303,或者CP2102等等...再者呢可以选择好的杜邦线,,尽量短......不过呢,,⽤pl2303下载好以后,,⽤ch340也可以了...............对了也可以尝试把这⾥改⼩⼀点感觉只要不通信那么多数据,,也能减少出错的机会说⼀下这个软件还有⼀个⽤途就是把bin⽂件合成⼀个bin⽂件现在可以打开串⼝调试助⼿看⼀下也可能显⽰正在格式化⽂件系统,,,那么就等⼀会等它格式完⽂件系统我们写lua⽤这个软件不要害怕新语⾔哈,,,使⽤使⽤就知道了....很好⽤,和c语⾔很接近,功能却很强哈,,其实咱们哈也⽤不到多少,,,,咱们是使⽤的8266的API。
Mega2560 ESP8266 开发板使用说明书

ManualIt is a customized version of the classic ARDUINO MEGA R3board.Full integration of Atmel ATmega2560microcontroller and ESP8266Wi-Fi IC,with32Mb(megabits)of flash memory,and CH340G USB-TTL converter on a single board!All components can be set up to work together orindependently.on-board:Operating mode is selected by means of DIP switchesSwitch status and mode selection: ArrayAlso,have switch for change of connecting port between ATmega2560andESP8266After choosing the mode of the board can proceed to set up the IDEIt is important that when the ESP8266module is programming,it is necessary to press the button “Mode”To begin open the Arduino IDE programming environment and go to settingsThen in the window that appears in the row,Additional Boards Manager URLs(marked in red) insert /stable/package_esp8266com_index.json link for installation in Arduino IDE additional scripts that would work with the modules ESP8266and click OKThen go to the Tools>Board>Boards ManagerIn the window that appears,scroll through the list down to the script esp8266by ESP8266 Community and click.In the lower right corner will be able to select the version of the software,select the version2.1.0 (the newest)and click the Install buttonAfter installation,close the window and go to Tools>Board and see the list of available devices on the chip programming ESP8266Next,you need to select the card as shown in the picture(Generic ESP8266module)Select the upload speed-115200==========test sketch for ATmega2560=========== void setup(){Serial3.begin(115200);pinMode(13,OUTPUT);delay(500);Serial3.println("AT+CIPMUX=1");delay(2000);Serial3.println("AT+CIPSERVER=1,5000");delay(2000);Serial3.println("AT+CIPSTO=3600");delay(2000);}void loop(){while(Serial3.available()){char Rdata;Rdata=Serial3.read();if(Rdata=='A'|Rdata=='a'){digitalWrite(13,HIGH);delay(50);}else if(Rdata=='B'|Rdata=='b') {digitalWrite(13,LOW);delay(10);digitalWrite(13,HIGH);delay(10);digitalWrite(13,LOW);}else{digitalWrite(13,LOW);}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.下载Flash_download_tools:
Flash_download_tools
2.PC机上安装ESP8266开发板的usb驱动,将开发板通过Micro USB接到PC机。
驱动下载
3.打开软件,按下图方法设置。
串口选择esp8266开发板对应的串口
4.下载固件:
Doit_Nodemcu_Car_20160115.bin(292.39 KB, 下载次数: 24)
5.按住“Flash”按键不放,然后按“REST”按键,使开发板进入到下载模式,进入后可松开所有按键。
然后点
6.如果此时启动出现乱码,请用下面的blank1024.bin重新刷下,然后再刷固件。
blank1024.bin(1 MB, 下载次数: 171)
如何
本主题由 ycf 于相关帖子
•WiFiMCU如何删除init.lua文件
ycf
98主题131
帖子
576
积分
管理员
积分
576
发消息沙发
楼主|发表于 2016-1-16 21:45:32 |只看该作者
如果出现:
chip sync error?
请重复第5步,进入烧写模式。