一种基于H5JS本地编程的物联网字节透传方法技术

技术编号:31506995 阅读:13 留言:0更新日期:2021-12-22 23:39
本发明专利技术公开了一种基于H5JS本地编程的物联网字节透传方法,充分发掘云物联网MQTT结合Nodemcu潜在的应用特点,建立以全范围字节透传为网络通讯基础的移动端(指手机或电脑)Html

【技术实现步骤摘要】
一种基于H5JS本地编程的物联网字节透传方法


[0001]本专利技术属于电脑网络通讯控制领域,尤其是涉及一种基于H5JS本地编程的物联网字节透传方法。

技术介绍

[0002]单片机编程人员有许多对网络编程不熟悉,希望有简单便捷的方式结合物联网,这不是说网络编程更难或更复杂,而是指要新学网络编程并非易事。即使按本文的思路尽量避免后端编程、认定一种语言,仍然陷进重重,甚至很基础的问题都会实际找不到答案,例如JS脚本语言、或Nodemcu LUA脚本语言,都找不到程序执行的(中断)优先级设置(JS中大量异步处理程序的执行顺序设置,包括ES6的Promise,其实仅指启动程序的执行顺序设置,而不是指低优先级程序在执行的过程中可被高优先级程序中断执行。Nodemcu LUA也同样,它的node.task.post()优先级设置模块,也找不到任何关于中断优先级设置的信息)。并且这种中断优先级设置在高速采样,分批集中传数据系统中非常关键。更令人会感觉不便的是常用脚本语言(包括JS、Nodemcu LUA)中的定时异步执行程序的优先级总是最低的,这给高速定时采样出了难题。为此本项目就探索字节透传通讯方式通过本地执行Html

JS程序结合单片机找到一个解决方案。

技术实现思路

[0003]基于上述
技术介绍
,本专利技术提供了一种基于H5JS本地编程的物联网字节透传方法。
[0004]根据本专利技术实施例提供过的一种基于H5JS本地编程的物联网字节透传方法,该方法在物联网结构上实现,在手机或电脑上Html

JS本地运行程序,所述物联网字节透传方法包括如下步骤:
[0005](1)对互联网广域网,构建物联网结构,所述物联网结构包括:腾讯云物联网MQTT服务器、结点模块、手机端和/或电脑端,所述结点模块和手机和/或电脑端均与所述MQTT服务器相连,实现手机或电脑到结点模块的双向通讯;
[0006](2)选用ESP

12系列的结点模块,选装Nodemcu固件,通过Nodemcu固件中的MQTT模块与所述MQTT服务器连接;
[0007](3)作为网络后端的MQTT服务,无需用户编程,用户工作流程调整也不需改变其程序;在腾讯云物联网MQTT新建产品时,由默认JSON数据格式改为自定义数据格式,通过结点模块的LUA语言编程及手机或电脑端的JS语言编程选择二进字节流数据传送模式,实现数据传送包中的每字节byte是0

255全范围、并且手机或电脑端与结点模块端经MQTT的网络通讯是双向不加编码/解码的直接字节传输,简称全范围字节透传;
[0008](3.1)以全范围字节透传为基础定义控制命令,包括从手机或电脑端到结点模块端的全范围字节文件传送;
[0009](3.2)根据所述的全范围字节透传,将结点模块中除直接IO器件驱动以外的数据
处理都通过双向全范围字节透传到手机或电脑中处理;
[0010](4)通过设置腾讯云物联网MQTT的规则引擎控制手机或电脑端的n个用户操控m个结点模块的操作权限;
[0011](5)所述电脑端有浏览器,浏览器本地运行HTML

JS脚本语言;所述手机端的本地运行HTML

JS脚本语言通过HBuilderX将HTML

JS程序转为手机App运行;手机或电脑与所述MQTT服务器连接通过JS加插件mqtt.js实现;
[0012](5.1)将除呈现用户个性化需求外的程序,由专业公司统一编程,并设计成下列若干可单独执行的通用程序,兼作编程示范:
[0013]mqtt连接.htm:根据ProductID、设备名、及Hmac签名算法,生成UserName、Password,腾讯云物联网MQTT设备在电脑端登录参数生成及连接检测;
[0014]mqtt通讯.htm:多台电脑同时运行,测试各MQTT登录设备间的数据或汉字互发;
[0015]enduser.lua:结点模块连接WIFI;
[0016]get_mqtt.htm、get_mqtt.lua:电脑端通过HTTP设置结点模块的MQTT设备登录参数,测试结点模块MQTT连接成功与否;
[0017]init.lua:结点模块复位后自启动程序;
[0018]腾讯mqtt.lua:结点模块工作程序,与用户示范程序mqtt_wx.htm、mqtt_wx.apk配套;
[0019]简推http.htm:电脑端自动发微信通知测试;
[0020]简推http.lua:结点模块自动发微信通知测试;
[0021]为让用户实现个性化操控显示界面或管理流程提供示范程序:
[0022]mqtt_wx.htm:电脑端腾讯云MQTT物联网操作控制测试、示范程序。
[0023]mqtt_wx.apk:手机端腾讯云MQTT物联网操作控制测试、示范程序。
[0024]usrprg.lua:结点模块中的用户自定义程序,主要写用户自定义全局函数usrdfn();
[0025](6)对结点模块正常工作前进行初始化设置,包括以下步骤:
[0026](6.1)上电或复位,结点模块的LED指示灯慢闪,慢闪时在搜索WIFI,慢闪会长达一段时间,此时用户用电脑连接结点模块AP的WIFI:NodeMCU_6位随机数,并用浏览器访问192.168.4.1,其中会将搜索到的WIFI列出,用户选自己能上的WIFI,并输入密码,然后复位重启;
[0027](6.2)结点模块重启后结点模块的LED指示灯先慢闪几秒会出现一阵快闪,LED指示灯变亮,表示WIFI连接成功,MQTT未连,此时结点模块自动进入get_mqtt.lua设备登录参数设置程序,用户电脑设回自己能上的WIFI,双击启动电脑中的get_mqtt.htm程序,进入腾讯云物联网MQTT登录的设备参数及用户名/密码设置,根据腾讯云物联网MQTT中所设置的设备参数ProductID、设备名、DeviceSceret,逐项填入,get_mqtt.htm程序会自动产生UserName、Password,并测试结点模块的MQTT连接登录成功与否;若成功,点击留用,则将MQTT连接成功的设备登录参数ProductID、设备名、UserName、Password自动写入结点模块中的mqtt.txt文件,以后上电或复位重启,结点模块就自动进入到MQTT连接登录成功状态;若总是不成功,用户可双击启动电脑中的mqtt连接.htm程序,该程序与get_mqtt.htm程序有相同的腾讯云物联网MQTT设备登录参数设置界面,以电脑浏览器直接连接腾讯云物联网
MQTT,检验各MQTT设备登录参数的可连接性;
[0028](6.3)一旦结点模块MQTT连接登录成功,生成mqtt.txt文件,以后凡上电或复位重启,结点模块就自动进入腾讯mqtt.lua MQTT响应程序,实现物联网该结点模块的测控工本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于H5JS本地编程的物联网字节透传方法,该方法在物联网结构上实现,在手机或电脑上Html

JS本地运行程序,所述物联网字节透传方法包括如下步骤:(1)对互联网广域网,构建物联网结构,所述物联网结构包括:腾讯云物联网MQTT服务器、结点模块、手机端和/或电脑端,所述结点模块和手机和/或电脑端均与所述MQTT服务器相连,实现手机或电脑到结点模块的双向通讯;(2)选用ESP

12系列的结点模块,选装Nodemcu固件,通过Nodemcu固件中的MQTT模块与所述MQTT服务器连接;(3)作为网络后端的MQTT服务,无需用户编程,用户工作流程调整也不需改变其程序;在腾讯云物联网MQTT新建产品时,由默认JSON数据格式改为自定义数据格式,通过结点模块的LUA语言编程及手机或电脑端的JS语言编程选择二进字节流数据传送模式,实现数据传送包中的每字节byte是0

255全范围、并且手机或电脑端与结点模块端经MQTT的网络通讯是双向不加编码/解码的直接字节传输,简称全范围字节透传;(3.1)以全范围字节透传为基础定义控制命令,包括从手机或电脑端到结点模块端的全范围字节文件传送;(3.2)根据所述的全范围字节透传,将结点模块中除直接IO器件驱动以外的数据处理都通过双向全范围字节透传到手机或电脑中处理;(4)通过设置腾讯云物联网MQTT的规则引擎控制手机或电脑端的n个用户操控m个结点模块的操作权限;(5)所述电脑端有浏览器,浏览器本地运行HTML

JS脚本语言;所述手机端的本地运行HTML

JS脚本语言通过HBuilderX将HTML

JS程序转为手机App运行;手机或电脑与所述MQTT服务器连接通过JS加插件mqtt.js实现;(5.1)将除呈现用户个性化需求外的程序,由专业公司统一编程,并设计成下列若干可单独执行的通用程序,兼作编程示范:mqtt连接.htm:根据ProductID、设备名、及Hmac签名算法,生成UserName、Password,腾讯云物联网MQTT设备在电脑端登录参数生成及连接检测;mqtt通讯.htm:多台电脑同时运行,测试各MQTT登录设备间的数据或汉字互发;enduser.lua:结点模块连接WIFI;get_mqtt.htm、get_mqtt.lua:电脑端通过HTTP设置结点模块的MQTT设备登录参数,测试结点模块MQTT连接成功与否;init.lua:结点模块复位后自启动程序;腾讯mqtt.lua:结点模块工作程序,与用户示范程序mqtt_wx.htm、mqtt_wx.apk配套;简推http.htm:电脑端自动发微信通知测试;简推http.lua:结点模块自动发微信通知测试;为让用户实现个性化操控显示界面或管理流程提供示范程序:mqtt_wx.htm:电脑端腾讯云MQTT物联网操作控制测试、示范程序。mqtt_wx.apk:手机端腾讯云MQTT物联网操作控制测试、示范程序。usrprg.lua:结点模块中的用户自定义程序,主要写用户自定义全局函数usrdfn();(6)对结点模块正常工作前进行初始化设置,包括以下步骤:(6.1)上电或复位,结点模块的LED指示灯慢闪,慢闪时在搜索WIFI,慢闪会长达一段时
间,此时用户用电脑连接结点模块AP的WIFI:NodeMCU_6位随机数,并用浏览器访问192.168.4.1,其中会将搜索到的WIFI列出,用户选自己能上的WIFI,并输入密码,然后复位重启;(6.2)结点模块重启后结点模块的LED指示灯先慢闪几秒会出现一阵快闪,LED指示灯变亮,表示WIFI连接成功,MQTT未连,此时结点模块自动进入get_mqtt.lua设备登录参数设置程序,用户电脑设回自己能上的WIFI,双击启动电脑中的get_mqtt.htm程序,进入腾讯云物联网MQTT登录的设备参数及用户名/密码设置,根据腾讯云物联网MQTT中所设置的设备参数ProductID、设备名、DeviceSceret,逐项填入,get_mqtt.htm程序会自动产生UserName、Password,并测试结点模块的MQTT连接登录成功与否;若成功,点击留用,则将MQTT连接成功的设备登录参数ProductID、设备名、UserName、Password自动写入结点模块中的mqtt.txt文件,以后上电或复位重启,结点模块就自动进入到MQTT连接登录成功状态;若总是不成功,用户可双击启动电脑中的mqtt连接.htm程序,该程序与get_mqtt.htm程序有相同的腾讯云物联网MQTT设备登录参数设置界面,以电脑浏览器直接连接腾讯云物联网MQTT,检验各MQTT设备登录参数的可连接性;(6.3)一旦结点模块MQTT连接登录成功,生成mqtt.txt文件,以后凡上电或复位重启,结点模块就自动进入腾讯mqtt.lua MQTT响应程序,实现物联网该结点模块的测控工作,LED指示灯先慢闪后快闪,最后不亮,表示MQTT连接成功;(7)腾讯云物联网MQTT协议中,补充MQTT发微信及报警功能,补充MQTT发微信功能具体操作如下:通过增加指定Topic,对该Topic发布信息publish(topic,msg),就是将该信息msg发微信,微信发送的接收人群由以下3种中的任意一种设置操作确定:(7.1)腾讯云服务管理登录账号本人的手机微信APP必须能扫码登录腾讯云服务,并能发微信,则该云服务管理登录账号本人的微信号就是微信发送的接收人,Topic=产品ID/设备名/WX1;(7.2)腾讯云服务管理账号登录后进入MQTT的工作设置页面,输入微信发送接收人的微信ID号或群名,所输入的个人或群名必须是该云服务管理登录账号本人微信通讯录中所有微信可发到的个人或群,Topic=产品ID/设备名/WX2;(7.3)云服务管理账号登录后进入MQTT的工作设置页面,该云服务管理登录账号本人微信通讯录中所有微信可发到的个人,可用手机微信APP扫MQTT的工作设置页面中的二维码,验证通过者即为微信可发到的个人,Topic=产品ID/设备名/WX2;MQTT发微信接收人群Topic=产品ID/设备名/WX2时表示多人群,可由Topic再细分为Topic=产品ID/设备名/WX2/用户一;Topic=产品ID/设备名/WX2/用户二;(7.4)当MQTT发微信的Topic=产品ID/设备名/WXA1、WXA2时,不仅发微信,同时还闹铃,类似微信【语音通话】接通前的闹铃呼叫。2.根据权利要求1所述的方法,其特征在于,还包括:局域网内,基于手机或电脑Html

JS本地运行的双向透传通讯:(8)在局域网内,手机或电脑与结点模块的双向透传通讯采用无后端服务的UDP网络协议,鉴于电脑浏览器不支持UDP,在电脑本地增加WS服务转UDP,并限定就一个无需安装的exe程序完成,电脑浏览器通过WebSocket协议访问WS服务转UDP;(8.1)手机端通过HBuil...

【专利技术属性】
技术研发人员:金琦明金隐华
申请(专利权)人:杭州合学教育科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1