CN109040303A - 一种基于物联网通信及控制装置、系统及方法 - Google Patents
一种基于物联网通信及控制装置、系统及方法 Download PDFInfo
- Publication number
- CN109040303A CN109040303A CN201811043405.8A CN201811043405A CN109040303A CN 109040303 A CN109040303 A CN 109040303A CN 201811043405 A CN201811043405 A CN 201811043405A CN 109040303 A CN109040303 A CN 109040303A
- Authority
- CN
- China
- Prior art keywords
- information
- module
- communication
- instruction
- internet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种基于物联网通信及控制装置、系统及方法,Web服务器通过信扩展卡与微控制器通信连接;移动终端通过QQ机器人客户端与WEB服务器的通信模块通信连接;该系统以Arduino为控制基础,以社交软件QQ为控制信息载体,当QQ机器人收到用户发送的信息后,会经过网络传送至通信模块。服务端在收到通信模块的信息后,指令判断程序对信息有效性进行判断,然后发送到DSL解析程序,转换为中间语言,经服务器传递给通讯扩展卡,最后微控制器根据转换后的指令控制相关的电子元件动作。本发明通过QQ客户端就能智能控制相应的物联网,无需下载相应的客户端,操作简单,简化了相应物联网的操作方式。
Description
技术领域
本发明涉及物联网领域,尤其涉及一种基于物联网通信及控制装置、系统及方法。
背景技术
当今社会网络技术飞速发展,随着网速的快速提升和即将到来的5G通信,物联网给人们的生活带来的便捷越来越明显,但是很显然,国内当前的物联网服务企业并不能全方位满足人民群众日益增长的需求,用户使用简单的方式控制设备的方案具有良好的发展前景。多数物联网控制方式都是通过安装相关APP来实现。安装相关APP需要注册账户、熟悉APP应用,过程繁琐,私人信息可能会泄露,导致人们对此有一定的抵触心理;而且现在用户手机APP留存率很低,安装APP的方式不能简化物联网的操作。
目前,亟需一种通过通用APP智能控制物联网的系统。
发明内容
为了克服上述现有技术中的不足,本发明提供一种基于物联网通信及控制装置,包括:移动终端、WEB服务器、通信扩展卡和微控制器;Web服务器通过信扩展卡与微控制器通信连接;
移动终端设有QQ机器人客户端,WEB服务器设有通信模块、信息接收模块、指令判断模块、指令解析模块、指令传递模块;
移动终端通过QQ机器人客户端与WEB服务器的通信模块通信连接;WEB服务器通过信息接收模块循环监听通信模块与QQ机器人客户端的通信端口,当QQ机器人客户端与通信模块有信息传输时,信息接收模块启动信息接收线程接收所述信息;WEB服务器通过指令判断模块根据预设指令信息判定所述信息是否为有效指令信息,当指令判断模块判定所述信息为有效指令信息时,将所述信息传输至指令解析模块;WEB服务器通过指令解析模块根据预设指令信息、通信扩展卡IP地址信息将有效指令信息解析为指令映射请求;WEB服务器通过指令传递模块向通讯扩展卡发送所述指令映射请求;
微控制器通过通信扩展卡接收所述指令映射请求,根据请求内容查找匹配的预定义动作映射、被控动作元件,并向所述的被控动作元件发送所述的映射动作指令。
优选的,微控制器设有GSM模块;
微控制器通过GSM模块监测被控动作元件的运行状态,并将运行状态信息发送至移动终端。
优选的,微控制器还设有容错模块;
微控制器通过容错模块获取GSM模块监测的被控动作元件的运行状态,对比所述运行状态信息和预定义动作;若所述运行状态信息与预定义动作信息不一致,容错模块再次向所述的被控动作元件发送所述的映射动作指令。
优选的,预设指令信息包括:被控动作元件、指令动作以及指令运行时间。
优选的,微控制器采用Arduino型微控制器,通信扩展卡采用W5100型扩展卡。
优选的,通信模块的通信方式包括:HTTP通信、HTTPS通信。
一种基于物联网通信及控制系统,包括:如上所述的基于物联网通信及控制装置以及被控物联网终端;
所述的通信及控制装置通过微控制器与被控物联网终端通信连接。
优选的,被控物联网终端包括:被控家居终端、被控办公室终端;
被控家居终端包括:智能电视、智能电冰箱、智能洗衣机、智能空调、智能窗帘、智能开窗器、智能灯泡和智能门锁;
被控办公室终端包括:照明灯、音响、办公室空调、打印机、传真机、投影仪、碎纸机扫描仪。
一种基于物联网通信及控制方法,包括以下步骤:
步骤一:QQ机器人客户端与WEB服务器的通信模块建立连接;
步骤二:WEB服务器通过信息接收模块循环监听通信模块与QQ机器人客户端的通信端口,当QQ机器人客户端与通信模块有信息传输时,信息接收模块启动信息接收线程接收所述信息;并以HTTP POST的方式将QQ机器人客户端接收的指令信息传输至WEB服务器;
步骤三:WEB服务器通过指令判断模块根据预设指令信息判定所述信息是否为有效指令信息,当指令判断模块判定所述信息为有效指令信息时,将所述信息传输至指令解析模块;
步骤四:WEB服务器通过指令解析模块根据预设指令信息、通信扩展卡IP地址信息将有效指令信息解析为映射请求;
步骤五:WEB服务器通过指令传递模块向通讯扩展卡发送所述请求;
步骤六:微控制器通过通信扩展卡接收所述请求,根据请求内容查找匹配的预定义动作映射、被控动作元件,并向所述的被控动作元件发送所述的映射动作指令。
优选的,步骤一包括:
S1:QQ机器人客户端向通信模块发送建立连接请求;
S2:通信模块校验建立连接请求,当校验成功时,向QQ机器人客户端请求发送Token;
S3:QQ机器人客户端接收发送Token请求,并向通信模块发送Token;
S4:通信模块校验QQ机器人客户端发送的Token,当校验成功时,建立信息通道。
从以上技术方案可以看出,本发明具有以下优点:
本发明研究了基于社交软件的Arduino控制装置、系统及方法,该系统以Arduino为控制基础,以社交软件QQ为控制信息载体,并实现了利用GSM短信运营商通知及控制的功能,该种通知及控制方式是目前物联网领域使用最广泛的功能,它免去了价格不菲的GSM模块及通信天线等物理设施,而且拥有高送达、高可靠、低价格等一系列优点。当QQ机器人收到用户发送的信息后,会经过网络传送至通信模块CQHTTP。
服务端在收到通信模块CQHTTP的信息后,指令判断程序对信息是否属于指令进行判断,然后发送到DSL解析程序,转换为中间语言,最后经服务器传递给通讯扩展卡W5100,然后Arduino根据转换后的指令控制相关的电子元件动作,随后GSM通知模块会把动作后的信息发送到用户手机,如果动作失败会有重试机制再一次发送控制指令,而GSM控制模块允许用户直接通过发送GSM短信控制Arduino。本发明通过QQ客户端就能智能控制相应的物联网,无需下载相应的客户端,操作简单,简化了相应物联网的操作方式。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明装置框图。
图2为本发明整体设计框图。
图3为本发明流程图。
图4为本发明通信网络图。
图5为本发明TCP连接过程图。
图6为本发明通信模块与QQ机器人建立连接过程图。
图7为本发明GSM通信传输流程图。
图8为本发明LED连接实物图。
图9为本发明继电器原理图。
图10为本发明继电器实物接线图。
图11为本发明蜂鸣器实物接线图。
图12为本发明仿真软件运行界面。
图13为本发明程序运行展示图。
图14为本发明用户控制消息展示。
图15为本发明GSM通知控制消息展示。
其中,1、移动终端, 2、WEB服务器, 3、通讯扩展卡, 4、微控制器。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
下面提供一种基于物联网通信及控制系统的具体的实施例。该系统以Arduino为控制基础,以社交软件QQ为控制信息载体,并实现了利用GSM短信运营商通知及控制的功能,该种通知及控制方式是目前物联网领域使用最广泛的功能,它免去了价格不菲的GSM模块及通信天线等物理设施,而且拥有高送达、高可靠、低价格等一系列优点。当QQ机器人收到用户发送的信息后,会经过网络传送至通信模块CQHTTP。
服务端在收到通信模块CQHTTP的信息后,指令判断程序对信息是否属于指令进行判断,然后发送到DSL解析程序,转换为中间语言,最后经服务器传递给通讯扩展卡W5100,然后Arduino根据转换后的指令控制相关的电子元件动作,随后GSM通知模块会把动作后的信息发送到用户手机,如果动作失败会有重试机制再一次发送控制指令,而GSM控制模块允许用户直接通过发送GSM短信控制Arduino。系统整体设计主要分为两大部分:软件和硬件,硬件部分组成为:Arduino UNO,W5100扩展板,继电器,LED发光二极管,蜂鸣器,其中继电器,LED发光二极管,蜂鸣器为系统运行状态展示使用,不作为系统的必须硬件。软件部分主要使用Arduino编程语言,QQ,CQHTTP。Arduino UNO;W5100扩展板用来进行网络通信;继电器和LED发光二极管用作拓展功能示例,验证系统的工作状态;我们要自己编写一个Web通信应用,让指令通过QQ给CQHTTP,然后传递给W5100,从而实现继电器或者LED发光二极管等电子原件动作。系统整体设计框图如图2所示,工作流程图如图3所示。
其中,Arduino是一个开放源代码的微处理器芯片,核心为一块Atmel AVR单片机。Arduino是一个开源硬件,所以有很多衍生品,但是绝大多数的Arduino都有如下共同特点:
供电电源:每块Arduino板都需要一种连接电源的方式。Arduino UNO可以使用来自计算机的USB电缆或墙式电源供电,并以桶形插口连接。现在广泛使用的连接方式为USB,因为USB连接可以将代码加载到Arduino上面,这样使用一根USB线就可以达到通电和通信的效果。注意:不要使用大于20V的电源,这样会损害Arduino。大多数Arduino型号的推荐电压在6V到12V之间;
引脚:Arduino上的引脚用来通过电线连接设备,它们通常带有黑色塑料”插头“,可以直接将电线插入电路板。Arduino有几种不同类型的引脚,每种引脚都在电路板上标记并用于不同的功能。GND:用来接地;Arduino上有多个GND引脚,其中任何一个都可以用做接地电路;5V和3.3V:5V引脚提供5V电源,3.3V引脚提供3.3V电源。模拟量输入:引脚A0-A5为模拟输入引脚,可以读取来自模拟传感器的信号并将模拟量转换为数字量;数字量输入:数字量输入引脚和模拟量输入引脚在Arduino上的位置相对;PWM:某些数字引脚旁边的波浪号表示这些引脚可以用作普通数字引脚,但也可用于脉宽调制PWM功能;AREF:代表模拟参考。
复位按钮:Arduino有一个复位按钮。按下它会暂时将复位引脚接地,并重新启动加载到Arduino上的程序代码;
电源LED指示灯:将Arduino插入电源,该指示灯就会亮起。通常,该灯用作Arduino的状态判断。如果这灯不亮,很有可能Arduino出现问题;
TX RX LED:TX发送流量,RX接收流量。这些标记在电子设备中出现很多,表明负责串行通信的引脚。只要Arduino正在接收或传输数据,这些LED就会给我们一些很好的视觉指示;
IC:具有所有金属腿的黑色长方形物体是IC,IC是Arduino的大脑。Arduino上的IC并不完全相同;
电压调节器:电压调节器控制进入Arduino电路板的电压。但是如果接入电压大于20V,Arduino就会损坏。
其中,W5100 是一款多功能的单片网络接口芯片,内部集成有 10/100Mbps 以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。使用 W5100 可以实现没有操作系统的 Internet 连接。W5100与 IEEE802.3 10BASE-T和 802.3u 100BASE-TX兼容,主要用于网络通信。W5100 内部集成了全硬件的、且经过多年市场验证的 TCP/IP协议栈、以太网介质传输层(MAC)和物理层(PHY)。全硬件TCP/IP协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 和 PPPoE,这些协议已经在很多领域经过了多年的验证。W5100 内部还集成有 16KB 存储器用于数据传输。使用W5100不需要考虑以太网的控制,只需要进行简单的端口编程。在本系统设计中,W5100为一个集成了W5100芯片并且能与Arduino兼容的网络通信扩展板,用来收发HTTP/HTTPS网络数据。
其中,CQHTTP为本系统的通信模块,酷Q Air 是一个轻巧、免费、高效的机器人核心,CQHTTP通过 HTTP 对酷Q Air 的QQ事件进行上报以及接收 HTTP 请求来调用酷 Q 的DLL 接口,从而可以使用其它编程语言控制QQ。简单来说,就是可以通过CQHTTP轻松的控制QQ,达到建立一个强大的QQ机器人的目的。
通信网络设计图如图4所示。通信线路是整个系统最重要的依赖,在系统设计中,理想的情况是W5100可以获得ISP互联网服务提供商分配的公网IPV4地址,这样CQHTTP可以直接和W5100进行通信。为了提高系统的容错性,增加了冗余设计,即假设W5100的通信不受IPV4地址类型的影响。目前此问题解决方案通常有二种:一是通过给没有公网IPV4地址的设备增加NAT穿透使通信流量中转,二是改变通信方式由正向连接转为反向连接。本系统没有采用主流解决方法,而是借助了路由器设备,构建局域网,使CQHTTP和W5100处于一个能直接通信的网络中。
系统通信方式以HTTP/HTTPS通信为主,GSM通信为辅。
超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。HTTP是一种协议,只要通信的双方都遵守这个协议,HTTP就能完成通信功能。HTTP是基于传输层的TCP协议,而TCP是一个端到端的面向连接的协议。所以HTTP在开始传输之前,首先需要建立TCP连接,而TCP连接的过程需要“三次握手”。 如图5所示,发送端首先发送一个带有SYN标识的数据包给接收端,接收端收到后回传一个带有SYN/ACK标识的数据包以示传达确认信息,最后发送端再回传一个带有ACK标识的数据包,代表握手结束,如果握手过程中某个阶段发生异常中断,TCP协议会再次以相同的顺序发送相同的数据包,所以TCP协议能够确认数据最终是否送达到对方。
HTTP协议的请求方法有很多种,HTTP/1.1协议中共定义了八种方法来表明Request-URI指定的资源的不同操作方式,本系统主要使用GET和POST进行数据包的接收与发送。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS主要解决信息传输过程中的安全问题。在本系统设计中,QQ机器人和CQHTTP之间使用的是基于token的HTTP协议,防止信息在传输过程中被窃听,数据传输过程如图6所示。
GSM是Global System For Mobile Communications的缩写,由欧洲电信标准组织ETSI制订的一个数字移动通信标准,GSM是全球移动通信系统(Global System for Mobilecommunications) 的简称。GSM的主要优点是信号覆盖范围广,通信速度快,信号传输质量高,使用GSM协议可以对系统进行及时,准确,高效的控制。系统GSM通信传输如图7所示。
本实施例选用LED发光二极管、蜂鸣器、继电器模块作为验证系统工作性能的演示动作原件。通过分别给机器人QQ发送控制指令控制LED发光二极管亮和暗、蜂鸣器蜂鸣及蜂鸣时间、继电器通断作为本系统工作状态是否良好的测试。
LED发光二极管简称为LED。由含镓(Ga)、砷(As)、磷(P)、氮(N)等的化合物制成。当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光,氮化镓二极管发蓝光。因化学性质又分有机发光二极管OLED和无机发光二极管LED。Arduino使用的是AVR单片机,可以提供的电流足以点亮LED,但是电流有最大输出限制,一般不会超过20mA,而LED的极限电流一般为30mA,所以即便去掉限流电阻,也可以正常电亮LED,不会烧毁。但是出于安全和功耗考虑,还是要给二极管线路添加一个限流电阻。发光二极管连线方式如图8所示。
5V单路继电器模块(Single Relay)是一个小电流信号控制大功率设备的常用电子模块,可实现单片机控制大功率器件,广泛用于单片机系统做的智能家居项目。继电器模块工作原理如图9所示。
ab之间是线圈,只要在ab两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应。S端上的衔铁开关也会在电磁力吸引的作用下克服弹簧的拉力,吸向D端所连接的铁芯,从而导通S端和D端。当线圈断电后,电磁的吸力也随之消失,衔铁开关就会在弹簧的反作用力作用下返回原来的位置,将S端与C端导通。如此吸合、释放衔铁开关,便达到了闭合、断开电路的目的。本系统使用的是两个LED发光二极管作为状态判断,实际使用过程中继电器模块的常开常闭端会存在较高的电压,为了安全考虑,应该对此进行相应的处理。继电器模块接线实物如图10所示。
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件,其工作原理是电流通过电磁线圈产生磁场,从而驱动振动膜发出声音。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器按其是否带有信号源又分为有源和无源两种类型。有源蜂鸣器只需要在其供电端加上额定直流电压,其内部的震荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。无源蜂鸣器需要在其供电端上加上高低不断变化的电信号才可以驱动。蜂鸣器工作电压为5V,和Arduino控制板数字端口输出电压一致,所以不需要接限流电阻。可直接使用。系统使用有源蜂鸣器作为工作状态测试,接线图如图11所示:
在本系统中因为电子元件对电源电压和电流没有过高的要求,为了快捷和部署方便,使用两块相同规格的18650型号锂电池串联做为控制系统提供直流工作电源。电源在系统中用于向W5100扩展板和Arduino及其动作电子原件提供工作电源。
本实施例中,各模块程序设计如下:
程序配置:当QQ机器人收到用户发送的信息后,CQHTTP需要完成接收信息,转发信息的任务,修改CQHTTP的配置文件,CQHTTP会自动完成消息接收和转发,本系统只需要消息的转发功能即可,所以只需要修改几个配置项即可,主要配置项内容如下:
[general]
host=0.0.0.0
port=5700
use_http=yes
ws_host=0.0.0.0
ws_port=6700
use_ws=no
post_url=http://127.0.0.1:8080
access_token=EncryptedStringToken
post_message_format=string
serve_data_files=no
update_channel=stable
auto_check_update=no
auto_perform_update=no
thread_pool_size=4
server_thread_pool_size=1
信息的处理:CQHTTP把信息通过HTTP POST的方式发出后,其它子程序要完成信息的接收,指令判断,指令的解析,这是系统软件部分的核心。
信息接收模块程序:使用Bottle Web框架,建立一个WEB服务器2,服务器循环监听相关端口,如果收到消息则启动一个线程接收信息。其程序如下:
from cqhttp import CQHttp
bot=CQHttp(api_root='http://127.0.0.1:5700/',access_token='EncryptedStringToken')
@bot.on_message()
def handle_msg(context):
message = context.get('message', None)
if message is not None:
return False
return True
bot.run(host = '127.0.0.1', port = 8080)
指令判断模块程序:该部分程序对接收到的信息进行指令判断,如果为指令,则进入下一流程,否则不做任何处理。其程序如下:
instruction_list = ('open', 'close') # 动作列表
hardware_list = ('led0', 'buzzer0', 'relay0') #动作电子元件列表
time_list = ('now', 'every', 'timing', 'loop', 'sleep') #动作时间
all = instruction_list + hardware_list + time_list
def is_instruction(message):
''' 函数根据是否为指令返回True或False
''' # 消息长度检测
message_len = message.__len__()
if message_len <= 2 or message_len >= 20:
return False
if len(set([m for m in message])) & set(all) not in [2,3,4]:
return False
# 消息状态检测
sign = [0,0,0]
for m in message:
if m in instruction_list:
sign[0] = sign[0] + 1
if m in hardware_list:
sign[1] = sign[1] + 1
if m in time_list:
sign[2] = sign[2] + 1
if 0 in sign:
return False
if sign[0] > 1:
return False
if sign[2] > 2:
return False
if sign[1] > hardware_list.__len__():
return False
# 指令顺序检测
result = [m for m in message if m in all]
if result[0] not in instruction_list or result[1] not in hardware_list:
return False
# 如果所有检测都通过,则返回True
return True
指令解析模块程序:该部分程序将确定的指令消息转换为Arduino Web Server映射的请求,以便Arduino控制电子元件。其程序如下:
fob = open("config.ini", "r", encoding="utf-8")
w5100_ip = fob.read() # 获取w5100 IP
fob.close()
def dsl(message):
# 分解指令消息
try:
action = message.split()[0]
hardware = message.split()[1]
time = message.split()[2]
except:
return "message format error!"
# 合并uri参数
get_parameter = "action={action}&hardware={hardware}&time={time}".format(action=action,hardware=hardware,time=time)
#组合uri
uri = 'http://' + w5100_ip + '/' + get_parameter
return uri
指令传递模块:该部分程序负责将转化后的指令通过网络传递给W5100,以便Arduino控制执行原件动作,主要的传递方式是通过requests Library建立一个 HTTP Client,然后HTTP Client发送HTTP GET请求到W5100。其程序如下:
import urllib.request
def send_instructions(uri):
req = urllib.request.Request(uri)
response = urllib.request.urlopen(req)
the_page = response.read()
if 'success' in the_page:
return True
return False
指令的执行:Arduino在接收到HTTP请求后,根据请求的内容,查找和内容匹配的预定义动作映射,然后控制相应的动作机构执行动作。
#include <SPI.h> //串行通信
#include <Ethernet.h> //引入网络库
byte MAC[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress IP(192,168,1,100);
EthernetServer server(80);
EthernetClient client;
String readString="";
int LED=2; //LED数字引脚
int Buzzer=6; //蜂鸣器引脚
int Relay=8; //继电器模块引脚
void setup(){
Serial.begin(9600); //设置波特率,如果服务器无法收到数据,可以适当修改
Ethernet.begin(MAC, IP);
server.begin();
pinMode(LED,OUTPUT);
pinMode(Buzzer,OUTPUT);
pinMode(Relay,OUTPUT);
Serial.print("Server is at ");
Serial.println(Ethernet.localIP());
}
void loop(){
// 监听连入的客户端
client = server.available();
if (client){
Serial.println("new client");
boolean currentLineIsBlank = false;
while (client.connected()){
if (client.available()){
char c = client.read();
readString += c;
if (c == '\n'){
Serial.println(readString);
// 处理流程
if(readString.indexOf("open")>0){
// 寻找时间
int int_time = readString.indexOf("time=");
int_time += 5;
int time = readString.substring(time).toInt();
// 寻找电子元件
if(readString.indexOf("led") >0){
String action = "led";
}else if(readString.indexOf("buzzer")>0){
String action = "buzzer";
}else{
String action = "relay";
}
digitalWrite(action, HIGH);
if(time==0){
break;
}else{
delay(time);
digitalWrite(action,LOW);
break;
}
}
if(readString.indexOf("close") >0){
if(readString.indexOf("led") >0){
String action = "led";
}else if(readString.indexOf("buzzer")>0){
String action = "buzzer";
}else{
String action = "relay";
}
digitalWrite(action, LOW);
break;
}
break;
}
}
}
delay(1);
client.stop();
Serial.println("client disonnected");
readString="";
}
}
GSM模块:在执行电子元件动作之后,该模块中的子程序之一获取相关硬件的状态信息,然后W5100发送HTTP GET请求,把硬件状态信息发送到通知模块子程序二,子程序二把信息包装过滤后,通过GSM短信通知平台把信息发送给用户,完成GSM信息的通知功能。其程序如下:
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0xF6, 0xFF};
byte ip[] = {192,168,0,100};
char server[] = "192.168.1.100";
EthernetClient client;
// 获取引脚状态
int ledValue = digitalRead(2);
int buzzerValue = digitalRead(6);
int relayValue = digitalRead(8);
// 本来打算直接让w5100和GSM运营商交互,但是Arduino的类C语法太弱了,要写很多东西,所以以下实现是将数据POST到中转服务器.然后中转服务器和GSM运营商交互.
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
Serial.println(Ethernet.localIP());
delay(1000);
if (client.connect(server,80))
{
client.println("POST /data HTTP/1.1");
client.println("Host: 192.168.1.100");
client.println("Content-Type: application/x-www-form-urlencoded");
client.println("Connection: close");
client.println("User-Agent: Arduino/1.0");
client.print("Content-Length: ");
client.println();
client.print("Led value:");
client.print(ledValue);
client.println();
client.print("buzzer value:");
client.print(buzzerValue);
client.println();
client.print("relay value:");
client.print(buzzerValue);
client.println();
} else
{
Serial.println("Cannot connect to Server");
}
}
void loop()
{
if (client.available())
{
char c = client.read();
Serial.print(c);
}
if (!client.connected())
{
Serial.println();
Serial.println("disconnecting.");
client.stop();
while(1){}
}
}
message/xsend是 SUBMAIL的短信API的升级版本。
与message/send API一样,message/xsend提供完整且强大的短信发送功能,区别于message/sendAPI,message/xsend无需提交短信内容和短信签名,仅需提交你在SUBMAIL MESSAGE 应用程序中创建的短信项目的标记,并可以使用文本变量动态的控制每封短信的内容。
使用message/xsendAPI你将可以使用 SUBMAIL 编辑器高效、可视化地创建/管理你的短信模板。当用户请求使用此项目进行触发时,SUBMAIL 会立即执行发送动作,无需担心发送延迟问题。其程序如下:
from bottle import request,run,route
submail_post_uri = 'https://api.mysubmail.com/message/xsend.json'
import requests
@route("/")
def index():
led_data = request.forms.get("ledvalue") #led数据
buzzer_data = request.forms.get("buzzervalue") #蜂鸣器数据
relay_data = request.forms.get("relayvalue") #继电器数据
send_info = led_data + buzzer_data + relay_data
# 构建payload,修改要发送的手机号
payload= {'appid':'xxxxxxxxxxxxxxxxx','to':138xxxxxxxx,'project':send_info,'signature':'appkeystringxxxxxxxxxx'}
result = requests.post(submail_post_uri, data = payload, timeout =10).json()
if result.get("status", None) == "success":
return "send success"
return "send error"
容错模块:该部分程序相当于一个看门狗进程,在GSM通知模块的子程序一获得硬件运行信息之后,该部分程序分别转化硬件信息、传入的控制指令为二进制数值,0为断开,1为闭合,然后比较这两个二进制数值,如果某个电子元件没有按照指令动作,则该程序重新发出启动指令,重试的次数硬编码在Arduino程序中,默认为重试1次,其程序如下:
import requests
uri="http://192.168.0.100//action={action}&hardware={hardware}&time={time}".format(action=action,hardware=hardware,time=time)
def send_agent(num):
for i in range(0,num):
try:
result = requests.get(uri,timeout=10)
except:
pass
if result.status_code == 200:
break
else:
Continue
本事实例中,软件组成分为多个模块,包括QQ机器人、CQHTTP、信息接收模块模块、指令判断模块程序、DSL解析模块程序、指令传递模块程序、指令执行模块程序、GSM模块、容错模块等,其中QQ机器人和CQHTTP之间是紧密联结的,对于这两部分,可以把它们组合打包为一个绿色软件,用户在使用时直接下载解压运行即可,不再需要修改任何配置文件,经测试、打包后的文件体积仅有2M,在多台服务器系统上均表现良好。
同样,信息接收模块、指令判断程序、DSL解析程序、指令传递程序也可以打包为单个文件,因为Arduino的IP地址不是固定的,所以需要增加运行时获取Arduino在网络中的IP地址程序,该部分程序通过扫描局域网中存在的设备,然后尝试和每一个设备的81端口通信,如果能和某设备正常通信,则判定该IP为Arduino W5100 IP,相关程序如下:
void connect_alarm(int sig)
{
return;
}
int connect_timeout(int sockfd, const sockaddr* paddr, socklen_t salen,int nsec)
{
int retval = 0;
signal(SIGALRM, connect_alarm);
if (alarm(nsec) != 0)
{
perror("Alarm was already set");
}
if ((retval = connect(sockfd, paddr, salen)) < 0)
{
close(sockfd);
if (errno == EINTR) {
errno = ETIMEDOUT;
}
}
alarm(0);
signal(SIGALRM, connect_alarm);
return retval;
}
int scan_port(char *host, int port)
{
int status;
sockaddr_in addr;
memset(&addr, 0, sizeof(addr));
int sfd = socket(AF_INET, SOCK_STREAM, 0);
if (sfd < 0) {
perror("Create socket error");
return 1;
}
addr.sin_family = AF_INET;
inet_pton(AF_INET, host, &addr.sin_addr);
addr.sin_port = htons(port);
status = connect_timeout(sfd, (struct sockaddr*)&addr, sizeof(addr), 1);
close(sfd);
return status;
}
指令执行程序需要用户手动修改,这一部分程序的优化方法是给用户一个使用文档,这个文档由用户通过共同协作的方式维护,如果有用户使用了相关的电子元件,就由该用户编辑完善相关电子元件所属文档,通过共同协作的方式来实现相关功能。
GSM通知模块、GSM控制模块用户可以选择使用系统默认的GSM短信服务商,如果有定制需求,也可以由用户修改编码,使用其它的GSM短信通知服务商,或者不使用GSM短信通知功能,决定权完全在用户手中,这样系统更开放。常见的GSM短信通知服务商在第三章第五节已经提及。
容错模块是系统默认启用的模块,默认重试次数为1,重试次数参数可以修改为0或者其它正整数数值,这一个模块也可以很容易修改。
本事实例中,硬件部分组成为:通信部分、供电部分、动作元件,其中每部分又分为多个小模块,拥有高内聚低耦合的特点,其中W5100和Arduino、供电电源之间紧密联结,所以,在部署系统时,可以把Arduino、W5100、供电电源做成一个整体,这个整体只需要利用RJ45端口接入网络即可。对于受控电子元件,系统第三章硬件设计部分的动作机构选取的是LED发光二极管、继电器模块、蜂鸣器,但是实际上每个用户想要控制的电子原件各不相同,有各种传感器、电机舵机、无线传输模块、显示器……因为种类繁多,本实施例没有给每个电子元件都做出示例,所以动作执行原件则按照使用者的需求自己选择,这样系统拥有了灵活且简洁的特点。
本事实例中还提供了通过Proteus软件对本系统的仿真结果。
Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,它不仅具有其它EDA工具软件的仿真功能,还能仿真Arduino、单片机等多种电子元件及外围器件。它是目前比较好的仿真Arduino及外围器件的工具。从原理图布图、代码调试到Arduino与外围电路协同仿真,切换PCB设计,实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。最新版本的Proteus提供了Arduino的开发板和编程界面,只需加载设置好编译器后,就能直接仿真。Proteus的运行界面如图12所示。
系统的软件设计及调试需要借助Proteus仿真软件完成,用户按需要仿真的CPU型号选择自己喜欢的C/C++编译器(如Winavr,CodeSourcery,Keil,IAR,WinARM,Watcom等等),一般的编译器都可以生成标准的.hex和.elf格式的可执行目标文件。 Arduino IDE实际使用的是Winavr中的gcc。用此把第一步写的源程序编译成.hex和.elf文件。其基本流程是:程序在Arduino IDE编程软件里编写,硬件在Proteus 软件模块里通过绘制电气原理图建立。程序编写完成后,编译生成Hex文件。在Proteus电气原理图中选择对应的CPU芯片型号,然后把编译后的Hex文件加载到Proteus中,并修改芯片工作状态参数,最后点击Proteus 软件界面左下方的Play按钮,就可以看到Arduino在Proteus仿真环境中的运行效果。本系统对LED发光二极管、继电器模块、蜂鸣器三个电子元件仿真。
LED发光二极管仿真:在Proteus中新建Arduino UNO最小系统,然后选择在电子元器件列表中搜索LED,选择LED-GREEN元器件,放置LED的限流电阻,并修改电阻值为150Ω,然后选择电压表和电流表,并修改电流表的参数为ma,选择端口IO12,完成电路的连接。
在认为QQ机器人收到 “open led0 now”的控制信息后,发光二极管会在一个很短的网络延时(约200ms)后由暗变亮,并且可以观察发光二极管在点亮时的电流和电压值。
蜂鸣器仿真:蜂鸣器按照驱动方式可分为有源蜂鸣器和无源蜂鸣器,在Proteus中分别对应为:buzzer active DC Operated Buzzer-output Via Sound Card 、buzzerdevice Generic buzzer symbol ,系统仿真选择有源蜂鸣器,调整驱动电压,将默认的12V改为2V,添加限流电阻并修改默认的阻值10K为1K,在认为QQ机器人收到“open buzzer0now”消息后,Buzzer0发出声音。
继电器模块仿真:在Proteus中没有Arduino继电器模块,只有继电器电子元器件,系统使用的继电器模块和继电器的最大区别为继电器需要12V电压驱动,而继电器模块只需要5V即可动作,所以在Proteus中我们需要进行相应的修改。首先在电子元器件中搜索Relay,放置继电器之后,修改继电器的属性,把驱动电压改为5V,添加限流电阻和PNP三极管,通过LED1输出高低电平控制继电器通断,从而达到控制继电器工作的目的,由于断电时会产生反电动势,需要在PNP三极管基极与引脚之间接上一个电阻,防止反电动势的干扰。在认为QQ机器人收到“open relay0 now”消息后,继电器衔铁吸合。
QQ机器人运行如下:下载系统优化后的绿色文件后,运行程序,输入QQ机器人账号及密码登陆服务器,在应用选项栏中可以看到CQHTTP API插件已经启用,如果是手动启用,需要在CQHTTP API发布网站上手动下载并进行相关配置,运行程序后尝试对QQ机器人发送控制消息,可以看到整个过程耗时只有187ms,运行结果如图13所示;
实际的用户控制界面如图14所示;GSM通知及控制消息如图15所示。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于物联网通信及控制装置,其特征在于,包括:移动终端(1)、WEB服务器(2)、通信扩展卡(3)和微控制器(4);WEB服务器(2)通过信扩展卡与微控制器(4)通信连接;
移动终端(1)设有QQ机器人客户端,WEB服务器(2)设有通信模块、信息接收模块、指令判断模块、指令解析模块、指令传递模块;
移动终端(1)通过QQ机器人客户端与WEB服务器(2)的通信模块通信连接;WEB服务器(2)通过信息接收模块循环监听通信模块与QQ机器人客户端的通信端口,当QQ机器人客户端与通信模块有信息传输时,信息接收模块启动信息接收线程接收所述信息;WEB服务器(2)通过指令判断模块根据预设指令信息判定所述信息是否为有效指令信息,当指令判断模块判定所述信息为有效指令信息时,将所述信息传输至指令解析模块;WEB服务器(2)通过指令解析模块根据预设指令信息、通信扩展卡(3)IP地址信息将有效指令信息解析为指令映射请求;WEB服务器(2)通过指令传递模块向通讯扩展卡发送所述指令映射请求;
微控制器(4)通过通信扩展卡(3)接收所述指令映射请求,根据请求内容查找匹配的预定义动作映射、被控动作元件,并向所述的被控动作元件发送所述的映射动作指令。
2.根据权利要求1所述的基于物联网通信及控制装置,其特征在于,
微控制器(4)设有GSM模块;
微控制器(4)通过GSM模块监测被控动作元件的运行状态,并将运行状态信息发送至移动终端(1)。
3.根据权利要求2所述的基于物联网通信及控制装置,其特征在于,
微控制器(4)还设有容错模块;
微控制器(4)通过容错模块获取GSM模块监测的被控动作元件的运行状态,对比所述运行状态信息和预定义动作;若所述运行状态信息与预定义动作信息不一致,容错模块再次向所述的被控动作元件发送所述的映射动作指令。
4.根据权利要求1所述的基于物联网通信及控制装置,其特征在于,
预设指令信息包括:被控动作元件、指令动作以及指令运行时间。
5.根据权利要求1-4任意所述的基于物联网通信及控制装置,其特征在于,
微控制器(4)采用Arduino型微控制器(4),通信扩展卡(3)采用W5100型扩展卡。
6.根据权利要求1所述的基于物联网通信及控制装置,其特征在于,
通信模块的通信方式包括:HTTP通信、HTTPS通信。
7.一种基于物联网通信及控制系统,其特征在于,包括:权利要求1-6任一所述的基于物联网通信及控制装置以及被控物联网终端;
所述的通信及控制装置通过微控制器(4)与被控物联网终端通信连接。
8.根据权利要求7所述的基于物联网通信及控制系统,其特征在于,
被控物联网终端包括:被控家居终端、被控办公室终端;
被控家居终端包括:智能电视、智能电冰箱、智能洗衣机、智能空调、智能窗帘、智能开窗器、智能灯泡和智能门锁;
被控办公室终端包括:照明灯、音响、办公室空调、打印机、传真机、投影仪、碎纸机扫描仪。
9.一种基于物联网通信及控制方法,其特征在于,包括以下步骤:
步骤一:QQ机器人客户端与WEB服务器(2)的通信模块建立连接;
步骤二:WEB服务器(2)通过信息接收模块循环监听通信模块与QQ机器人客户端的通信端口,当QQ机器人客户端与通信模块有信息传输时,信息接收模块启动信息接收线程接收所述信息;并以HTTP POST的方式将QQ机器人客户端接收的指令信息传输至WEB服务器(2);
步骤三:WEB服务器(2)通过指令判断模块根据预设指令信息判定所述信息是否为有效指令信息,当指令判断模块判定所述信息为有效指令信息时,将所述信息传输至指令解析模块;
步骤四:WEB服务器(2)通过指令解析模块根据预设指令信息、通信扩展卡(3)IP地址信息将有效指令信息解析为映射请求;
步骤五:WEB服务器(2)通过指令传递模块向通讯扩展卡发送所述请求;
步骤六:微控制器(4)通过通信扩展卡(3)接收所述请求,根据请求内容查找匹配的预定义动作映射、被控动作元件,并向所述的被控动作元件发送所述的映射动作指令。
10.根据权利要求7所述的基于物联网通信及控制方法,其特征在于,步骤一包括:
S1:QQ机器人客户端向通信模块发送建立连接请求;
S2:通信模块校验建立连接请求,当校验成功时,向QQ机器人客户端请求发送Token;
S3:QQ机器人客户端接收发送Token请求,并向通信模块发送Token;
S4:通信模块校验QQ机器人客户端发送的Token,当校验成功时,建立信息通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811043405.8A CN109040303A (zh) | 2018-09-07 | 2018-09-07 | 一种基于物联网通信及控制装置、系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811043405.8A CN109040303A (zh) | 2018-09-07 | 2018-09-07 | 一种基于物联网通信及控制装置、系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109040303A true CN109040303A (zh) | 2018-12-18 |
Family
ID=64624500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811043405.8A Pending CN109040303A (zh) | 2018-09-07 | 2018-09-07 | 一种基于物联网通信及控制装置、系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109040303A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661789A (zh) * | 2019-09-09 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 地址重置方法、装置、设备及计算机可读存储介质 |
CN112579631A (zh) * | 2020-12-28 | 2021-03-30 | 云南电网有限责任公司电力科学研究院 | 一种物联网智能感知终端的定制化开发方法 |
CN116760749A (zh) * | 2023-08-15 | 2023-09-15 | 湖南博匠信息科技有限公司 | 一种通过bmc定位服务器物理位置的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN205067991U (zh) * | 2015-09-07 | 2016-03-02 | 大连大学 | 一种智能控制系统 |
US20170046946A1 (en) * | 2005-06-29 | 2017-02-16 | Core Wireless Licensing S.A.R.L. | Remote control framework |
CN107577188A (zh) * | 2017-09-30 | 2018-01-12 | 广东美的制冷设备有限公司 | 空调器控制方法、装置、空调器及计算机可读存储介质 |
-
2018
- 2018-09-07 CN CN201811043405.8A patent/CN109040303A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046946A1 (en) * | 2005-06-29 | 2017-02-16 | Core Wireless Licensing S.A.R.L. | Remote control framework |
CN205067991U (zh) * | 2015-09-07 | 2016-03-02 | 大连大学 | 一种智能控制系统 |
CN107577188A (zh) * | 2017-09-30 | 2018-01-12 | 广东美的制冷设备有限公司 | 空调器控制方法、装置、空调器及计算机可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110661789A (zh) * | 2019-09-09 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 地址重置方法、装置、设备及计算机可读存储介质 |
CN110661789B (zh) * | 2019-09-09 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 地址重置方法、装置、设备及计算机可读存储介质 |
CN112579631A (zh) * | 2020-12-28 | 2021-03-30 | 云南电网有限责任公司电力科学研究院 | 一种物联网智能感知终端的定制化开发方法 |
CN112579631B (zh) * | 2020-12-28 | 2023-11-17 | 云南电网有限责任公司电力科学研究院 | 一种物联网智能感知终端的定制化开发方法 |
CN116760749A (zh) * | 2023-08-15 | 2023-09-15 | 湖南博匠信息科技有限公司 | 一种通过bmc定位服务器物理位置的方法 |
CN116760749B (zh) * | 2023-08-15 | 2023-10-17 | 湖南博匠信息科技有限公司 | 一种通过bmc定位服务器物理位置的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040303A (zh) | 一种基于物联网通信及控制装置、系统及方法 | |
CN108377207A (zh) | 一种物联网平台设备接入和配置方法 | |
US20200053595A1 (en) | System and method for flow control in an internet of things (iot) system | |
CN109547306A (zh) | 一种智能家居设备管理方法、系统、智能网关及服务器 | |
Schramm et al. | A service gateway for networked sensor systems | |
Silva et al. | M4DN. IoT-A networks and devices management platform for internet of things | |
JP2004534441A (ja) | 携帯コンピュータ装置に情報を送る装置および方法 | |
US7606890B1 (en) | System and methodology providing namespace and protocol management in an industrial controller environment | |
Li et al. | The design and implementation of home network system using OSGi compliant middleware | |
US10805165B2 (en) | System and method for managing and configuring attributes of internet of things (IOT) devices | |
CN105357277A (zh) | 基于无线路由器的智能设备场景控制方法及系统 | |
CN111556500A (zh) | 一种通过微信小程序给设备WiFi配网并认证的技术 | |
CN109976176A (zh) | 分体式家电设备的控制方法、智能操控设备和系统 | |
CN105717802A (zh) | 一种基于嵌入式web服务器的智能家居远程监控系统 | |
CN108810061A (zh) | 一种智能家居系统 | |
CN113824783A (zh) | 一种基于h5js本地编程的物联网字节透传方法 | |
CN206640595U (zh) | 一种家庭网关 | |
Li et al. | Research on Device Management Mechanism for Smart Home Edge Gateway | |
CN104639607A (zh) | 远程控制方法和路由器 | |
Yadav et al. | Controlling of relay using Raspberry Pi via Internet for home automation | |
CN104063227B (zh) | 一种基于物联网的指令学习方法 | |
Belli et al. | Connectivity Standards Alliance Matter: State of the art and opportunities | |
CN106406279B (zh) | 设备测试方法及装置、电子设备 | |
CN112424759A (zh) | 用于数据共享的安全网状网络系统与相关的耦合和接口设备 | |
Singh et al. | IoT Communication protocols |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |