本发明涉及物联网,尤其涉及一种设备搜索方法、系统、装置、计算机设备及存储介质。
背景技术:
1、在物联网领域,一般的通信方式包括4g通信(例如手机流量)和局域网通信,4g通信是通过出厂测试时pc在互联网环境中搜索指定的设备,判断设备是否在线,目的是察觉设备是否在线,在线后才可以进行p2p通信,实现设备与pc通信。
2、现有技术中,串口数据线是一直插在pc上,串口数据线带通电已经通信功能。设备端基本逻辑是设备开机并联网后,会开启两个线程:线程1、设备主动将本机的mac发请求给服务器,服务器将设备发过来的mac记录在数据库当中标识为在线;线程2、设备监听有没有新的串口连接,如果有,则通过此串口向pc端发送本机的mac。pc端基本逻辑是一直监听串口有没有数据发送过来,如果有pc则将其获取的设备mac通过http协议向服务器发送查询请求,服务器根据此请求查询数据库中是否存在此设备mac,如果有pc端则记录为设备在线。产品测试完毕之后,pc则将其获取的设备mac通过http协议向服务器发送删除请求,把之前测试完的设备mac在数据库中删除。
3、而现有技术存在一些客观缺点,即不是所有设备都有对外连接的串口(例如:microusb、type-c),导致兼容性低,不能广泛性使用。另外,设备需要在兼顾连接外网将本地mac发送给服务器的同时,又要兼顾监听串口连接,利用串口发送本地mac至pc,浪费硬件资源,且mac是可以人为更改的,所以mac的唯一性不强。产品测试完毕之后,如果出现网络问题或者软件崩溃等问题,会导致服务器数据库永久存储已测试完的设备mac,浪费服务器内存空间。
技术实现思路
1、有鉴于此,本发明的目的是为了克服现有技术中的不足,提供一种设备搜索方法、系统、装置、计算机设备及存储介质。
2、本发明提供如下技术方案:
3、第一方面,本公开实施例中提供了一种设备搜索方法,应用于设备端,所述方法包括:
4、验证所述设备端是否开机并成功上网,读取所述设备端上sim卡的唯一标识;
5、通过4g通信向mqtt服务器发布标识主题,设置预设发布周期,每隔所述预设发布周期发布一次所述标识主题;
6、判断所述设备端是否正常与pc端进行p2p通信;
7、若正常,则停止发布所述标识主题;
8、若不正常,则重新发布所述标识主题。
9、进一步地,所述通过4g通信向mqtt服务器发布标识主题,包括:
10、将所述唯一标识写入所述标识主题,利用mqtt协议向所述mqtt服务器发布retain标志位为0的标识主题,所述标识主题包括所述设备端与所述pc端进行p2p通信的信息。
11、第二方面,本公开实施例中提供了一种设备搜索方法,应用于pc端,所述方法包括:
12、搜索设备端,并查找所述pc端的本地数据库中是否包含唯一标识;
13、若包含所述唯一标识,则清空所述本地数据库中用于存放所述唯一标识的内存;
14、订阅mqtt服务器中存储的所有唯一标识对应的标识主题,并在搜索到所述设备端时判断对应的唯一标识是否包含在所述本地数据库中;
15、若不包含在所述本地数据库中,则将对应的唯一标识与标识主题存储至所述本地数据库,并选择一个所述设备端与所述pc端进行p2p通信。
16、进一步地,所述查找所述pc端的本地数据库中是否包含所述设备端的唯一标识之后,还包括:
17、若不包含所述唯一标识,则获取用户填写的需要搜索的目标设备端的目标唯一标识,并重新查找所述本地数据库中是否包含所述目标唯一标识。
18、进一步地,所述订阅所述本地数据库中存储的所有唯一标识对应的标识主题之后,还包括:
19、设置预设搜索周期,每隔所述预设搜索周期搜索一次所述设备端,并在未搜索到所述设备端时重新设置所述预设搜索周期。
20、第三方面,本公开实施例中提供了一种设备搜索系统,所述系统包括设备端和pc端;
21、所述设备端,用于验证所述设备端是否开机并成功上网,读取所述设备端上sim卡的唯一标识,通过4g通信向mqtt服务器发布标识主题,设置预设发布周期,每隔所述预设发布周期发布一次所述标识主题,判断所述设备端是否正常与pc端进行p2p通信,若正常,则停止发布所述标识主题,若不正常,则重新发布所述标识主题;
22、所述pc端,用于搜索设备端,并查找所述pc端的本地数据库中是否包含唯一标识,若包含所述唯一标识,则清空所述本地数据库中用于存放所述唯一标识的内存,订阅mqtt服务器中存储的所有唯一标识对应的标识主题,并在搜索到所述设备端时判断对应的唯一标识是否包含在所述本地数据库中,若不包含在所述本地数据库中,则将对应的唯一标识与标识主题存储至所述本地数据库,并选择一个所述设备端与所述pc端进行p2p通信。
23、第四方面,本公开实施例中提供了一种设备搜索装置,应用于设备端,所述装置包括:
24、读取模块,用于验证所述设备端是否开机并成功上网,读取所述设备端上sim卡的唯一标识;
25、发布模块,用于通过4g通信向mqtt服务器发布标识主题,设置预设发布周期,每隔所述预设发布周期发布一次所述标识主题;
26、判断模块,用于判断所述设备端是否正常与pc端进行p2p通信;
27、第一判断子模块,用于若正常,则停止发布所述标识主题;
28、第二判断子模块,用于若不正常,则重新发布所述标识主题。
29、第五方面,本公开实施例中提供了一种设备搜索装置,应用于pc端,所述装置包括:
30、查找模块,用于搜索设备端,并查找所述pc端的本地数据库中是否包含唯一标识;
31、清空模块,用于若包含所述唯一标识,则清空所述本地数据库中用于存放所述唯一标识的内存;
32、订阅模块,用于订阅mqtt服务器中存储的所有唯一标识对应的标识主题,并在搜索到所述设备端时判断对应的唯一标识是否包含在所述本地数据库中;
33、通信模块,用于若不包含在所述本地数据库中,则将对应的唯一标识与标识主题存储至所述本地数据库,并选择一个所述设备端与所述pc端进行p2p通信。
34、第六方面,本公开实施例中提供了一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面和第二方面中所述的设备搜索方法的步骤。
35、第七方面,本公开实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面和第二方面中所述的设备搜索方法的步骤。
36、本技术的实施例具有如下优点:
37、本技术实施例提供的设备搜索方法,应用于设备端,方法包括:验证所述设备端是否开机并成功上网,读取所述设备端上sim卡的唯一标识;通过4g通信向mqtt服务器发布标识主题,设置预设发布周期,每隔所述预设发布周期发布一次所述标识主题;判断所述设备端是否正常与pc端进行p2p通信,若正常,则停止发布所述标识主题,若不正常,则重新发布所述标识主题。本发明无需使用串口通信,兼容性更强,通过发布标识主题即可让pc端立即进行搜索,实时性更强,且节省了硬件资源,另外设备端上sim卡的唯一标识是不可人为更改的,唯一性更强。
38、为使本发明的上述目的、特征和优点能更明显和易懂,下文特举较佳实施例,并配合所附附图,做详细说明如下。