美文网首页Air2028266工作
3-STM32物联网开发WIFI(ESP8266)+GPRS(A

3-STM32物联网开发WIFI(ESP8266)+GPRS(A

作者: 杨奉武 | 来源:发表于2019-03-07 17:02 被阅读0次

    2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(视频总揽)

    为了节省时间,基础篇的基础内容不再叙述 ,固件还是基础篇的固件

    这一节演示一下远程升级WIFI模块程序,今天我又把上位机和底层程序优化了下,主要是根据做项目的时候别人提的问题优化的.

    咱先看用上位机升级,用APP告诉模块升级还没来得及搞......

    一,打开远程更新的上位机( 咱先升级某一个型号的设备)

    一,修改和下载8266程序(init和mqttconfig是一直存在模块内部的,这两个文件就是不变的底层,内涵SmartConfig,MQTT,还有升级部分)

    把程序下载到自己的WIFI模块里面

    按照基础篇的让WIFI模块连接上路由器

    2-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案基础篇(项目功能演示--Wi-Fi )

     现在咱升级一下(还是升级Aupdata1里面的内容)

    实质上是内部建了一个Bupdata1~7的文件,因为上位机选择的第一个,所以Bupdata1里面的内容就是刚才Aupdata1文件里面的内容,Bupdata6~7都是空的

    咱现在新建一个文件,把原来的Aupdata1文件内容copy到这个文件并修改一下修,让它每隔一段时间打印"yang",就是显得明显一点,确确实实更新了

     当然也可以手动返回到上次的程序

     View Code

     现在咱升级某一个设备

    如果大家不想走我的MQTT服务器,大家修改为自己的就可以

    我这个升级程序,最根本的就是WIFI向上位机发送

    request1_1,request1_2,request1_3,request1_4,request1_5,request1_6,request1_7,request1_8

    request2_1,....request2_8

    request3_1,....request3_8

    request4_1,....request4_8

    request5_1,....request5_8

    request6_1,....request6_8

    request7_1,....request7_8

    请求了56次数据,因为总共7个文件,我把每个文件都分成了8份

    每一个文件的大小不能超过 8*800 = 6400个字节,因为我发现切割成800字节左右发送最稳定

    7个文件就是 6400*7 =   44800个字节,对于网络模块应该足够用了,其实再多没有很大意义了

    因为8266会报内存不足......

     下面主要的程序

    elseif topic == SubscribeUP then

            file.write(data)

            ifOpenUpdataCnt ==8 then

              OpenUpdataCnt =0          OpenUpdataValue = OpenUpdataValue +1;

              ifOpenUpdataValue ==8 then

                  file.close()

                  client:publish(PublishUP,"UpdataOK",0,0,

                  function(client)

                    dofile(ABUpdataFileCopy.."updata1.lua")

                    dofile(ABUpdataFileCopy.."updata2.lua")

                    dofile(ABUpdataFileCopy.."updata3.lua")

                    dofile(ABUpdataFileCopy.."updata4.lua")

                    dofile(ABUpdataFileCopy.."updata5.lua")

                    dofile(ABUpdataFileCopy.."updata6.lua")

                    dofile(ABUpdataFileCopy.."updata7.lua")

                    UpdataTime:stop()

                    iffile.open("ABUpdataFile.lua","w+") then

                        file.write(ABUpdataFileCopy)

                        file.close()

                    end

                    iffile.open("version.lua","w+") then

                        file.write(versionCopy)

                        file.close()

                    end

                    client:publish(PublishUP,"UpdataOKOK",0,0, function(client) node.restart(); end)

                    UpdataTime:interval(3000)

                    UpdataTime:start();

                  end)

              else              file.close()

                  file.open(ABUpdataFileCopy.."updata"..OpenUpdataValue..".lua","w+") 

              end

            end

            ifOpenUpdataValue ~=8 then

              OpenUpdataCnt = OpenUpdataCnt +1;

              client:publish(PublishUP,"request"..OpenUpdataValue.."_"..OpenUpdataCnt,0,0, function(client)end) 

            end

            print("updata...."..OpenUpdataCnt)

    停两天接着写上用APP升级WIFI模块的说明,还有升级GPRS,还有后期的升级STM32等等,让大家感觉感觉我做的这个升级功能怎么样

    做这个升级的目的主要还是方便大家,我不喜欢循规蹈矩的,我喜欢灵活的运用知识,我也从来不嫌麻烦,只是有点累,累了就睡,然后醒了接着弄......然后就这样循环

    这个升级规划了一个星期,然后又用了一个星期写代码,不知道累死了多少脑细胞......

    4-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(项目功能演示--使用APP,远程升级WIFI模块程序)

    相关文章

      网友评论

        本文标题:3-STM32物联网开发WIFI(ESP8266)+GPRS(A

        本文链接:https://www.haomeiwen.com/subject/zohhpqtx.html