zoukankan      html  css  js  c++  java
  • ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于Wi-Fi模块(ESP8266)AT指令TCP透传方式,MQTT通信控制升级(V1.0)

    前言

      这节演示下,上两节写的利用MQTT来控制STM32控制的程序

     

    测试准备工作(默认访问我的服务器,改为自己的服务器,请看后面说明)

      

    一,下载BootLoader程序(请自行下载)

      

     

    首先BootLoader默认是先尝试加载第一份用户程序

    后面咱分为两种情况:

    人为下载进去第一份APP用户程序和不下载进去第一份APP用户程序

    第一种:人为下载进去第一份APP用户程序

      一,注:咱的目的是把相应的程序文件烧录到相应的位置

      为避免清除BootLoader程序,下载的时候按照下面的选择

      这样在不清除BootLoader程序的情况下,就把第一份用户程序烧录进了相应的位置

      

      二,调整波动开关位置,STM32和Wi-Fi 串口 通信

        

        2.4版本别忘了短接PB2和Wi-Fi的复位引脚

      四,安装这节使用的APP

        注:这节APP其实就是前面的

        

            

        

      五,绑定配网

        5.1 打开手机APP,点击右上角菜单 "添加设备" ,手动输入自家路由器密码.(路由器名称为自动获取,不需要用户填写)

                           

     

        5.2,长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态

          

        5.3,点击APP的搜索设备按钮,开始搜索设备,搜索成功,将自动跳转到主页面,并显示设备

                  

     

     

        5.4,单片机控制Wi-Fi连接上MQTT服务器以后,指示灯1S闪耀

          

        5.5, 点击设备进入,设备控制页面,点击最下面的检查更新

          点击检测更新的时候,其实就是APP首先通过MQTT询问设备的型号和版本号

          然后根据型号,用http访问Web服务器里面的 updatainfo.txt 文件

          如果判断版本不一致,就提示更新

          

        5.6  点击确认

          

     

     

        5.7  模块返回他要更新了

     

          

     

     

        5.8  更新完成

     

          

     

     

        5.9  如果再点击更新

     

          

        后面大家有了新程序以后,替换掉Web里面的文件,然后改一下  updatainfo.txt 里面的信息就可以

    第二种:只下载BootLoader

      一,大家还记得咱在BootLoader里面也是按钮按下3S左右配网

      不过配网以后是写入更新标志,重启

        

     

     

      二,有了更新标志,再次启动 BootLoader的时候就去下载程序文件了

     

      下载完以后执行程序文件

      其实就和上面的一样了

     

    应用到自己的服务器

      一,BootLoader里面

        1.1 TCP连接的Web服务器的地址

        

        1.2 请求的 updatainfo.txt 文件的路径

        

        1.3 请求的程序文件的路径

        

       二,APP用户程序里面

        2.1 设备型号要和BootLoader里面的保持一致

        

      三, 修改APP

        3.1 访问的MQTT信息

          

     

        3.2,修改APP访问的http信息

          

     

      四, Web服务器文件访问路径根据自己的修改

      

     

  • 相关阅读:
    iOS9 News 应用
    swift中,Optional、?与!之间的关系
    [翻译] CotEditor
    [book] iOS 8 Swift Programming Cookbook
    便利的操作plist文件
    消除 Xcode7 中 directory not found for option 'xxxx' 警告
    点击单个cell高度变化的动画效果
    [翻译] LiquidFloatingActionButton
    一脸懵逼学习Zookeeper(动物园管理员)---》高度可靠的分布式协调服务
    一脸懵逼学习基于CentOs的Hadoop集群安装与配置(三台机器跑集群)
  • 原文地址:https://www.cnblogs.com/yangfengwu/p/12779753.html
Copyright © 2011-2022 走看看