11-开发板接入小五物联实现远程控制(Wi-Fi模块,远程升级自己的程序)

Posted yangfengwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11-开发板接入小五物联实现远程控制(Wi-Fi模块,远程升级自己的程序)相关的知识,希望对你有一定的参考价值。

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

 

基础教程源码链接请在淘宝介绍中下载,由于链接很容易失效,如果失效请联系卖家,谢谢

 

https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18540610442.6.36a74814ZSaRsu&id=569295486025

 

这一节为教程最终版功能演示,现在不必深究,早晚自己全部都会实现的(静静的跟着我学哈)

这一节学习远程升级自己的程序

如果要远程升级自己的程序,需要自己下载底层的升级程序,因为需要修改一些参数,让模块远程访问自己

的升级软件

如果前面下载了,可以用下面的方式清除程序

技术分享图片

 

技术分享图片

 

 

技术分享图片

 

 如果这种方式清除不了,可以

技术分享图片

 

技术分享图片

 

 技术分享图片

 

 技术分享图片

技术分享图片

 

 技术分享图片

现在打开远程升级软件

技术分享图片

 

 修改些东西,因为自己这个软件既可以升级WIFI也可以升级GPRS,所以需要做对应的修改

技术分享图片  技术分享图片

技术分享图片

 

 好现在下进去程序

技术分享图片

 

 技术分享图片

技术分享图片

 

 技术分享图片

 

 我给大家准备了一个测试的程序(其实就是自己云端默认的程序,上上姐默认远程下载的程序)

技术分享图片

技术分享图片

 

 

技术分享图片
local RelayNowState=0
local RelayNowStateCopy=0
globalSendData ="nil";

local UsartReceiveData="";
local UsartReceiveDataCnt=0;
local UsartReceiveDataCntCopy=0;

RelayPin = 2;

if  file.open("switch.lua", "r") then
    if  file.read() == "relay=1" then
        gpio.write(RelayPin,1)
        gpio.mode(RelayPin,gpio.OUTPUT)
        print("relay=1")
    else
        gpio.write(RelayPin,0)
        gpio.mode(RelayPin,gpio.OUTPUT)
        print("relay=0")
    end
    file.close();
end

local DataDisposeTimerCnt = 0;
local DataDisposeTimer = tmr.create()
DataDisposeTimer:register(10, 1, function() 
    RelayNowState = gpio.read(RelayPin)
    if  RelayNowState ~= RelayNowStateCopy then
        RelayNowStateCopy = RelayNowState
        globalSendData = "switch;relay="..RelayNowState
    end

    if  UsartReceiveDataCnt ~= 0 then
        DataDisposeTimerCnt=DataDisposeTimerCnt + 1;
    if  DataDisposeTimerCnt>=10 then
            UsartReceiveDataCnt = 0;
        DataDisposeTimerCnt=0;
            globalSendData = UsartReceiveData;
            UsartReceiveData="";
    end
    end
    if  Mymqtt ~= nil and MqttConnectedFlage == true then
        if  globalSendData ~= "nil" then
            Mymqtt:publish(PublishTopic,globalSendData, 0, 0, function(client)
            end)
            globalSendData = "nil"
        end
    end
end)
DataDisposeTimer:start()

function MqttDisposeMethod(client, topic, data)
    uart.write(0,data)
    list = split(data, ;)
    if  string.find(list[1],"switch") ~= nil then
        if  list[2] ~= nil then
            if  file.open(list[1]..".lua", "w+") then
                file.write(list[2])
                file.close()
            end
            if  list[2] == "relay=0"  then
                 gpio.write(RelayPin,0)
                 gpio.mode(RelayPin,gpio.OUTPUT)
            elseif  list[2] == "relay=1"  then
                 gpio.write(RelayPin,1)
                 gpio.mode(RelayPin,gpio.OUTPUT)
            end
            globalSendData = data;
        end
    elseif  string.find(list[1],"query")  then
        if  list[2] ~= nil then
            if  list[2] == "switch" then
                RelayNowState = gpio.read(RelayPin)
                globalSendData = "switch;relay="..RelayNowState
            end
        end
    end
end

--[[
uart.setup(0, 115200, 8, uart.PARITY_NONE, uart.STOPBITS_1)
uart.on("data",0,function(data)
    UsartReceiveData = UsartReceiveData..data;
    UsartReceiveDataCnt = UsartReceiveDataCnt + 1;
    DataDisposeTimerCnt = 0;
end, 0)]]
View Code

为了测试明显,咱修改个地方,用手机APP直接远程控制

这个灯

技术分享图片

技术分享图片

技术分享图片

 

 好了现在远程下载

技术分享图片

 

 可以用手机也可以直接用软件

技术分享图片

 

技术分享图片

 更新完成后

 技术分享图片

现在用手机再控制试一试

技术分享图片  技术分享图片

 

 

技术分享图片  技术分享图片

 

 

现在用手机再试一试更新程序(需要更改个地方,因为是为了方便所有人,为了避免更新冲突)

技术分享图片

 

 技术分享图片   

 

根据自己的修改哈

技术分享图片

 

 技术分享图片

好现在用手机去更新程序

技术分享图片

 

 技术分享图片

 

 技术分享图片

 

 更新完

技术分享图片

 

 可以自己再试一试切换,或者试一试清除所有文件

技术分享图片

 

以后几节就要开始真正的学习啦!!!勤快点哈

以上是关于11-开发板接入小五物联实现远程控制(Wi-Fi模块,远程升级自己的程序)的主要内容,如果未能解决你的问题,请参考以下文章

1-关于"小五物联"的功能介绍(使用介绍)

酷易物联-microPython教程系列通过文件模板将ESP32连入服务器实现远程点灯:创建设备和命令配置

酷易物联-microPython教程系列通过文件模板将ESP32连入服务器实现远程点灯:创建设备和命令配置

酷易物联-microPython教程系列通过文件模板将ESP32连入服务器实现远程点灯:创建设备和命令配置

微信小程序控制硬件16 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)

微信小程序控制硬件16 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)