1-关于ESP8266配网,单片机程序远程升级(我的配网和升级程序方式)

这一系列文章会把自己所有知道的关于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一样的道理,绑定的时候想用什么升级就发什么样的程序。。。。自己自定义去吧

其实综上所诉感觉自己的这种方式挺好的,毕竟先规划了一个多星期。。。。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

开发者误读芯片厂商调试文档,导致主要操作系统均出现新内核漏洞

美国计算机安全应急响应中心(以下简称“CERT”)日前发布公告称,Windows、macOS、Red Hat、Ubuntu、SUSE Linux、FreeBSD...

1195
来自专栏逸鹏说道

亿级Web系统搭建:单机到分布式集群

当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能...

4727
来自专栏Spark学习技巧

Apache Kafka:优化部署的 10 种最佳实践

Apache Kafka 肯定会像它的同名小说家一样不负众望,因为它能激奋新来者、挑战深度,若能更全面的理解它还会产生丰厚的回报。抛开文学,书归正传。遵循 ka...

1832
来自专栏梧雨北辰的开发录

iOS提交审核失败:通知“has changed to Invalid Binary.”错误

2016-11-09 今天在App提交审核的时候遇到了一个问题,打包上传到itunes Connect的过程都没有问题,但是之后在itunes Connect的...

3727
来自专栏IT大咖说

聊聊容器调度框架,看又拍云如何基于mesos实现

摘要 为了更好地完成云处理服务的负载均衡, 零停机升级, 自定义策略调度等功能, 又拍云用 Go 实现了自己的容器调度框架, 管理长期服务和定时任务。 嘉宾演讲...

43611
来自专栏开源项目

揭秘互联网防火墙核心技术 | 码云周刊第 55 期

在日益复杂的互联网活动中,一个网络防火墙扮演着防备潜在的恶意的活动的屏障,并可通过一个”门”来允许人们在你的安全网络和开放的不安全的网络之间通信。今天,小编推荐...

3273
来自专栏前端布道

MEAN-全堆栈javascript开发框架

引言 使用JavaScript能够完整迅速做出Web应用程序,目前一套工具包括MongoDB、ExpressJS,AngularJS和Node.js越来越受到欢...

3446
来自专栏北京马哥教育

MySQL/MariaDB基于MMM实现读写分离及高可用

前言 MMM(Master-Master replication managerfor Mysql,Mysql主主复制管理器)是一套灵活的脚本程序,基于perl...

40810
来自专栏Java学习网

常用开发工具Eclipse的实现机制和原理是什么?

我们学习和开发过程中用到Java的地方,就有Eclipse的影子,Eclipse平台是目前流行的Java开发工具之一,很重要的一个原因是它开源免费;有人会说我用...

3545
来自专栏IT大咖说

VMware vSphere 6.7 新功能介绍

内容来源:2018 年 06 月 19 日,VMware大中华区原厂高级技术讲师姚泉在“VMware在线技术专题分享·第二期”进行《VMware vSphere...

5933

扫码关注云+社区

领取腾讯云代金券