这一系列文章会把自己所有知道的关于ESP8266配网,单片机程序远程升级等都介绍和说明一下,具体实现要看我的开发板的教程,不过还没写到。。。。
资料 链接:https://pan.baidu.com/s/1az-cNXXdXi6JD1eGtNPrKg 密码:v4qx
先说自己现在做的APP是如何实现的配网和升级程序,这篇文章也作为自己所有WIFI开发板的参考文章,自己的所有的WIFI的开发板配网和升级程序现在都是一个套路。。如果后期自己改变了做法,会再说,,,
先说升级过程,别的文章也说过自己的程序是WIFI模块一开始烧进去一部分,然后另一部分是手机发给的,先说怎么烧第一部分程序,抱歉哈,因为这篇文章会作为所有板子的通用文章,所以会写的详细点。。
自己的源码是公开的,亲们可以直接烧进去自己的源码,然后就能用自己的APP实现远程控制。。
因为自己的开发板型号不一样所以就用自己的这块开发板
先刷固件,因为自己是用LUA写的,所以先把板子烧进LUA的固件
无论哪一个型号的8266都是先把GPIO0接到低电平,然后复位一下
先烧小板的,
拔掉GPIO0拉低的跳线帽
现在往里面写程序
没有JAVA运行环境的安装这个
也可以自己去下载别的版本
http://www.oracle.com/technetwork/java/javase/downloads/index.html
安装教程()
https://jingyan.baidu.com/article/3c343ff70bc6ea0d377963df.html
https://blog.csdn.net/u012934325/article/details/73441617
只要测试安装了就行
复位一下板子
因为我这个测试版没有任何灯。。。所以就看打印的信息吧
说一下,如果亲们用
建议控制的引脚是GPIO0
GPIO2有的模块作为了通信指示灯,,,
还有就是千万小心,不要让GPIO0一上电的时候是低电平
或者中间接一个电阻,大一点。。。以至于不会拉低GPIO0
那个大的模块就不说了,一样的方式。。只不过
升级程序和配置连接的路由器实际上是模块连接了手机的TCP服务器,然后通信发给的模块
是这样的,,
1,手机开启无线热点(自己设置了隐藏,固定为qqqqqq密码11223344)
2,手机建了TCP服务器监听一个端口
3,模块默认连接手机的无线,
4,然后连接手机的TCP服务器,
这里大家可能会问,手机的TCP服务器IP地址怎么知道的
因为是手机自己开的热点然后建立的TCP服务器,所以手机服务器的IP当然是网关啦。。。
这不就通信上了,只要通信上了,就好说了。。。发给模块路由器信息什么的不是问题了,,,,
现在看升级
升级其实就是往文件系统里面写程序
看这篇
http://www.cnblogs.com/yangfengwu/p/7534521.html
很多人以为只能保存个数据什么的。。。。其实可以直接往里面写程序然后让它执行这个文件,,知识要学会活学活用
其实写进去直接执行就可以 dofile("XXX.lua")
第二部分程序就是通过TCP通信发给的模块,模块往updata里面写,不过程序分成了四小份,因为一次性太多,芯片的全局变量存不了。。。。
其实自己在做这个的时候,考虑了好几天实现方式,最终定为这样的方式是因为
1,因为手机是服务器所以一次性可以绑定好多设备(现在不可以,原则上可以,懒,需要再加一个指令,查询下自己有没有程序,程序的版本是不是和手机的一样,然后一样就不管了,不一样就接收)。后期再说,现在还没有感觉到有很大用处
2,程序存在手机里面,我自己认为最好不要自己主动的去更新程序,对于用户感觉是不好的,假设工作着呢,一更新。。。麻烦。更新程序的选择权在用户手里,只有用户重新绑定一下就能够重新更新下程序,(用户绑定的时候设备一定是不用的)
3,我做这个软件面向的是开发者和直接使用者,程序是手机发给的,只要修改手机里面的程序就可以更新,自己的软件后期只要多加个编辑框就可以了,开发者可以写自己的程序,然后下进去
4,因为后期还有上位机软件,上位机软件还要有更新的功能,其实和手机一样,建立TCP服务器(WIFI共享),然后也是做一个编辑框,然后写自己的程序发给模块,主要是面向开发者
5,用TCP是因为TCP都很熟悉,后期讲远程升级,我也会先说TCP如何实现,在云端建一个TCP服务器,然后让模块连接,和现在差不多的意思就实现了远程升级,远程升级的程序可以绑定手机的时候手机发给模块
6,然后再用MQTT实现远程升级,其实一样的道理,手机和上位机以后都可以轻轻松松的让模块升级程序。。。
7,有些是用WEB实现的,和TCP一样的道理,绑定的时候想用什么升级就发什么样的程序。。。。自己自定义去吧
其实综上所诉感觉自己的这种方式挺好的,毕竟先规划了一个多星期。。。。
网友评论