本发明涉及物联网的,尤其是涉及一种利用mqtt协议远程唤醒同一局域网主机的方法和系统。
背景技术:
1、目前,由于使用需求的增加,经常需要远距离控制电器件的开启和关闭,以提高效率,而wol(wake-on-lan)是一种用于远程唤醒局域网内主机的其中一种解决方案。
2、但现有的远程唤醒功能由于网络中路由器的限制,这种解决方案只能在主控机和被控机位于同一局域网的情况下使用。
3、上述中的现有技术方案存在以下缺陷:
4、由于路由器只能在主控机和被控机位于同一局域网中的情况下使用,因此位于同一局域网中的各被控机难以被跨网络的主控机远程唤醒,因此需要改进。
技术实现思路
1、为了使位于同一局域网中各被控机被跨网络的主控机远程唤醒,本技术提供一种利用mqtt协议远程唤醒同一局域网主机的方法和系统。
2、第一方面,本技术提供一种利用mqtt协议远程唤醒同一局域网主机的方法,包括步骤:
3、实时接收由mqtt服务器发送的主控机的远程唤醒信号;
4、将远程唤醒信号转换为magic packet格式的唤醒数据包;
5、向局域网中的所有被控机发送唤醒数据包以唤醒所有所述被控机。
6、通过采用上述技术方案,主控机通过mqtt服务器向局域网的路由器发出的远程唤醒信号,将主控机发出的远程唤醒信号转换为局域网中路由器能解析的magic packet格式的唤醒数据包,将唤醒数据包发送至局域网中的被控机,被控机接收唤醒数据包后启动,从而实现同一局域网中各被控机被跨网络的主控机远程唤醒的功能,区别于现有的通过路由器广播远程唤醒信号,该方案的局限性更小,可供控制的被控机范围更广。
7、本技术在一较佳示例中可以进一步配置为:在实时接收由mqtt服务器发送的主控机的远程唤醒信号的这一步骤前,具体包括:
8、局域网中的所有被控机通过mqtt协议订阅主控机;
9、向局域网中的已订阅主控机的所述被控机自动发送wake on lan for asp安装包。
10、通过采用上述技术方案,各被控机均与主控机形成订阅关系,各被控机以在局域网中接收主控机发出的远程唤醒信号,当与被控机连接后向被控机自动发送安装包,使被控机具备接收远程唤醒信号的功能。
11、本技术在一较佳示例中可以进一步配置为:在向局域网中的所有被控机发送唤醒数据包以唤醒所有被控机的这一步骤中,具体包括:
12、所述远程唤醒信号包括网络唤醒数据包,所述网络唤醒数据包包括识别字符和识别码字符;
13、当所述被控机接收唤醒数据包时,实时识别唤醒数据包中的识别字符;
14、所述被控机识别到唤醒数据包的识别字符后,读取识别码字符;
15、所述被控机判断识别码字符与被控机的唯一识别码是否匹配;
16、若是,则所述被控机启动。
17、通过采用上述技术方案,主控机发出的远程唤醒信号中具备与被控机对应的识别码,使主控机和被控机的连接更加精准,不易出现误判,使主控机控制另一被控机,提高使用时的准确性。
18、本技术在一较佳示例中可以进一步配置为:在将远程唤醒信号转换为magicpacket格式的唤醒数据包的这一步骤之后,具体包括:
19、通过udp协议向局域网路由器发送唤醒数据包;
20、局域网路由器接收唤醒数据包;
21、局域网路由器向局域网所有被控机广播唤醒数据包。
22、通过采用上述技术方案,唤醒数据包的数据信息有特定格式,根据特定格式作为识别字符和识别码字符,使主控机和被控机更高效的匹配。
23、第二方面,本技术提供一种利用mqtt协议远程唤醒同一局域网主机的系统,采用如下的技术方案:
24、一种利用mqtt协议远程唤醒同一局域网主机的系统,包括电源模块、主控模块、接口模块和串口下载模块,所述电源模块的输出端与所述主控模块耦接,所述主控模块的第一信号端与所述串口下载模块的第一信号端耦接,所述主控模块的第二信号端用于外接计算机,所述串口下载模块的第二信号端与所述接口模块的第一信号端耦接,所述接口模块用于外接计算机。
25、通过采用上述技术方案,接口模块外接计算机使系统程序易于修改和更新,主控模块接收主控机的远程唤醒信号并向被控机发出该远程唤醒信号。
26、优选的,还包括呼吸灯模块,所述呼吸灯模块与所述主控模块的第二信号端耦接,所述呼吸灯模块用于提示主控模块的工作状态。
27、通过采用上述技术方案,呼吸灯的工作状态即主控模块的工作状态,呼吸灯使系统的工作状态可视化,便于工作人员检查,当系统故障时便于排除,提高系统纠错效率。
28、优选的,所述串口下载模块包括用于将uart设备转换为usb接口的串口下载芯片单元、自动下载单元和串口稳压单元,所述串口下载芯片单元的第一信号端为所述串口下载模块的第一信号端,所述串口下载芯片单元的第第二信号端与所述自动下载单元的第一信号端耦接,所述自动下载单元的第二信号端为所述串口下载单元的第二信号端,所述串口下载芯片单元的第三信号端与所述串口稳压单元的信号端耦接。
29、通过采用上述技术方案,串口下载芯片单元使uart设备转换为usb接口,串口下载芯片单元提供虚拟串口,用于升级现有的串口设备或添加串口到pc,串口稳压单元使串口下载芯片单元的供电稳点,保护串口下载模块。
30、优选的,所述串口下载模块还包括串口指示灯单元,所述串口指示灯单元的一端用于接电,所述串口指示灯的另一端与所述串口下载芯片单元的第四信号端耦接。
31、通过采用上述技术方案,串口指示灯提示串口下载芯片单元的工作状态,当串口下载芯片单元工作时,串口指示灯亮起;当串口下载芯片单元未工作时,串口指示灯熄灭。
32、优选的,还包括用于控制启闭的按键模块,所述按键模块的信号端与所述主控模块的第三信号端c耦接。
33、通过采用上述技术方案,系统具备外部控制启闭的功能,即具备待机功能,当需要启动时,通过按键模块启动系统。
34、优选的,所述串口下载芯片单元包括用于将现有的uart设备转换为usb接口的芯片u2;所述自动下载单元包括电阻r1、电阻r4、三极管q1和三极管q2;所述串口指示灯单元包括电阻r5、电阻r6、发光二极管led3和发光二极管led4,所述串口稳压单元包括晶体稳压器x2;所述芯片u2的13引脚与所述电阻r4的一端耦接,所述电阻r4的另一端与所述三极管q2的基极耦接,所述芯片u2的14引脚与所述电阻r1的一端耦接,且所述芯片u2的14引脚还与所述三极管q2的发射极耦接,所述电阻r1的另一端与所述三极管q1的基极耦接,所述三极管q1的发射极与所述芯片u2的13引脚耦接,所述芯片u2的1引脚接地,所述芯片u2的2引脚与所述电阻r6的一端耦接,所述电阻r6的另一端用于接通电源,所述芯片u2与所述电阻r6之间耦接所述发光二极管led4,所述芯片u2的3引脚与所述电阻r5的一端耦接,所述电阻r5的另一端用于接通电源,所述电阻r5与所述芯片u2的3引脚之间耦接所述发光二极管led3,所述芯片u2的7引脚所述耦接晶体振荡器x2的3引脚,所述芯片u2的8引脚耦接所述晶体振荡器x2的1引脚,所述晶体振荡器x2的2引脚接地,所述芯片u2的5引脚和6引脚为所述串口下载模块的第二信号端b,所述芯片u2的5引脚和6引脚与所述串口下载模块的第一信号端a耦接。
35、通过采用上述技术方案,芯片u2作为串口下载芯片将现有的uart设备转换为usb接口,晶体振荡器x2与芯片u2耦接,对芯片u2起保护作用,而三极管q1和三极管q2共同作用,使信号放大,且实现信号传递。
36、综上所述,本技术包括以下至少一种有益技术效果:
37、1、mqtt协议使同一局域网的跨网络被控机联网,接收主控机发出的远程唤醒信号,将远程唤醒信号中携带的识别码与被控机匹配,确认被控机后调用mqtt协议对目标被控机进行远程唤醒操作,从而实现跨网络唤醒功能,区别于现有的通过路由器广播远程唤醒信号,该方案的局限性更小,可供控制的被控机范围更广;
38、2、主控机发出的远程唤醒信号中具备与被控机对应的识别码,使主控机和被控机的连接更加精准,不易出现误判,使主控机控制另一被控机,提高使用时的准确性;
39、3、呼吸灯的工作状态即主控模块的工作状态,呼吸灯使系统的工作状态可视化,便于工作人员检查,当系统故障时便于排除,提高系统纠错效率;
40、4、串口下载芯片单元使uart设备转换为usb接口,串口下载芯片单元提供虚拟串口,用于升级现有的串口设备或添加串口到pc,串口稳压单元使串口下载芯片单元的供电稳点,保护串口下载模块。