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

2019-06-21  本文已影响0人  杨奉武

https://www.cnblogs.com/yangfengwu/p/10896650.html

其实GPRS整体和Wi-Fi是一样的原理,就是用http把程序下载到对应的文件里面,然后运行

大家看我的程序的时候会发现他比WIFI多了个这个文件

module(...,package.seeall)

--方便其他文件之间互相访问

updata0 = nil

updata1 = nil

updata2 = nil

updata3 = nil

updata4 = nil

updata5 = nil

updata6 = nil

updata7 = nil

updata8 = nil

updata9 = nil

local USER_DIR_PATH = "/user_data"    --数据保存的位置

local filehandle;                    --所有的文件读取使用

local ABUpdataFile = "A"

updataFlage = false

--[[获取执行哪一份程序]]

filehandle=io.open(USER_DIR_PATH.."/ABUpdataFile.lua","r")--执行哪一份程序

if  filehandle then

    ABUpdataFile = filehandle:read("*all")--读出文件内容

    filehandle:close()--关闭文件

end

filehandle=io.open(USER_DIR_PATH.."/version1.lua","r")--读出云端版本

if  filehandle then

    if  filehandle:read("*all") ~= "0.0.0"  then

        updataFlage = true

    end

    filehandle:close()--关闭文件

end

if  updataFlage == false  then

    if  ABUpdataFile == "A"  then

        print("run:A");

        updata0 = require "Aupdata0"

        updata1 = require "Aupdata1"

        updata2 = require "Aupdata2"

        updata3 = require "Aupdata3"

        updata4 = require "Aupdata4"

        updata5 = require "Aupdata5"

        updata6 = require "Aupdata6"

        updata7 = require "Aupdata7"

        updata8 = require "Aupdata8"

        updata9 = require "Aupdata9"

    else

        print("run:B");

        updata0 = require "Bupdata0"

        updata1 = require "Bupdata1"

        updata2 = require "Bupdata2"

        updata3 = require "Bupdata3"

        updata4 = require "Bupdata4"

        updata5 = require "Bupdata5"

        updata6 = require "Bupdata6"

        updata7 = require "Bupdata7"

        updata8 = require "Bupdata8"

        updata9 = require "Bupdata9"

    end

end

大家发没发现一个问题,WIFI使用的时候不需要 

只要是其它函数里面的全局变量,直接用就可以,但是GPRS不可以

 我为了可以文件之间互相访问,所以才这样弄的

 有没有疑问我为什么没有放到main.lua里面

其实一开始我就放到了mian.lua里面,但是发现main里面的变量只能使用...在别的文件里面不能对其赋值

大家如果不信自己可以测试下.....

另外,我的程序里面使用的复位是

 原因是我发现原先的sys.XXX 忘了具体函数了...复位以后呢!还会有残留的程序在里面运行

还有个要说的,其实和咱升级无关

那天有人问,设置了引脚为输出了,现在想读取引脚的状态怎么读,难道再设置为输入???搞笑...

其实直接可以读

https://www.cnblogs.com/yangfengwu/p/10991909.html

上一篇下一篇

猜你喜欢

热点阅读