本發明實施例涉及設備檢測,尤其涉及一種外接設備異常檢測的方法、裝置、電子設備及存儲介質。
背景技術:
1、在當前的嵌入式設備領域,隨著技術的不斷發展和應用場景的日益豐富,為了使得嵌入式設備具有更多功能,通常嵌入式設備需要與外接設備進行連接,利用外接設備來實現某種特定功能,以滿足用戶實際需求。
2、目前市面上就包括但不限于傳感器、執行器、通信模塊等外接設備,各種各樣的外接設備由于其生產廠商不同,使得生產出的外接設備與嵌入式設備之間所支持的通信協議有所不同。
3、現有嵌入式設備只能對與之通信協議一致的外接設備進行異常檢測,對于通信協議與嵌入式設備所支持的通信協議不一致的外接設備則無法進行異常檢測,這就容易造成由于嵌入式設備不能及時發現外接設備的異常,為用戶帶來使用嵌入式設備不便的問題,大大降低了用戶使用體驗感。
技術實現思路
1、鑒于此,為了解決現有嵌入式設備不能對與之通信協議不一致的外接設備進行異常檢測,為用戶帶來使用嵌入式設備不便的問題,本發明實施例提供一種外接設備異常檢測的方法、裝置、電子設備及存儲介質。
2、第一方面,本發明實施例提供一種外接設備異常檢測的方法,該方法包括:
3、獲取配置文件,其中,配置文件中包括多個外接設備類型和多個通信協議;
4、基于多個外接設備類型和多個通信協議創建多個外設驅動模塊;其中,每個外設驅動模塊中包括一個通信協議和一個外接設備類型;
5、在檢測到外接設備連接的情況下,獲取外接設備的設備類型,并,從多個外設驅動模塊中確定與設備類型匹配的多個第一目標外設驅動模塊;
6、定時將心跳包發送至多個第一目標外設驅動模塊中,以使各個第一目標外設驅動模塊基于通信協議將心跳包轉化成協議心跳包,并從線程池中調取線程將協議心跳包發送至外接設備,外接設備對多個協議心跳包進行解析識別到目標協議心跳包,并將目標協議心跳包對應的協議響應心跳包發送至目標協議心跳包對應的第二目標外設驅動模塊;
7、接收第二目標外設驅動模塊對協議響應心跳包轉化成的響應心跳包,基于響應心跳包檢測外接設備是否異常。
8、在一個可能的實施方式中,從多個外設驅動模塊中確定與設備類型匹配的多個第一目標外設驅動模塊,包括:
9、從多個外設驅動模塊中將與設備類型匹配的外接設備類型對應的外設驅動模塊確定為第一目標外設驅動模塊。
10、在一個可能的實施方式中,響應心跳包中包括外接設備的外設異常位;
11、基于響應心跳包檢測外接設備是否異常,包括:
12、對響應心跳包進行解析獲取外設異常位;
13、判定外設異常位是否為預設異常位;
14、在判定到外設異常位為預設異常位的情況下,檢測外接設備異常;
15、在判定到外設異常位不為預設異常位的情況下,檢測外接設備無異常。
16、在一個可能的實施方式中,各個外設驅動模塊中還包括外設異常處理機制,外設異常處理機制為外設自帶異常處理機制、通信方式異常處理機制或強制重啟異常處理機制;方法還包括:
17、在檢測外接設備異常的情況下,基于第二目標外設驅動模塊中包括的外設異常處理機制對外接設備進行異常處理。
18、在一個可能的實施方式中,該方法還包括:
19、定時啟動定時器,以使定時器輪詢獲取線程池中處于執行狀態的線程的執行時長,在執行時長超過預設時長時,將線程從執行狀態恢復至空閑狀態。
20、在一個可能的實施方式中,該方法還包括:
21、廣播網絡數據包,網絡數據包中包括外接設備的第一信息;其中,第一信息至少包括:設備類型、外設名稱、通信方式和歷史發生異常事件次數;
22、通過網絡數據包與操作界面設備建立通信連接,以在操作界面設備的操作界面上顯示第一信息;
23、接收操作界面設備發送的外接設備的查看信息;
24、通過第二目標外設驅動模塊向外接設備發送查看信息,并通過第二目標外設驅動模塊接收外接設備發送的針對查看信息的第二信息;其中,第二信息至少包括:外設狀態、通信協議和歷史發生異常事件;
25、將第二信息發送至操作界面設備,以在操作界面顯示第二信息。
26、在一個可能的實施方式中,歷史發生異常事件為第二目標外設驅動模塊按照預設格式轉化成的異常碼數據;該方法還包括:
27、將歷史發生異常事件保存至目標地址。
28、第二方面,本發明實施例提供一種外接設備異常檢測的裝置,該裝置包括:
29、獲取模塊,用于獲取配置文件,其中,配置文件中包括多個外接設備類型和多個通信協議;
30、創建模塊,用于基于多個外接設備類型和多個通信協議創建多個外設驅動模塊;其中,每個外設驅動模塊中包括一個通信協議和一個外接設備類型;
31、獲取確定模塊,用于在檢測到外接設備連接的情況下,獲取外接設備的設備類型,并,從多個外設驅動模塊中確定與設備類型匹配的多個第一目標外設驅動模塊;
32、定時發送模塊,用于定時將心跳包發送至多個第一目標外設驅動模塊中,以使各個第一目標外設驅動模塊基于通信協議將心跳包轉化成協議心跳包,并從線程池中調取線程將協議心跳包發送至外接設備,外接設備對多個協議心跳包進行解析識別到目標協議心跳包,并將目標協議心跳包對應的協議響應心跳包發送至目標協議心跳包對應的第二目標外設驅動模塊;
33、檢測模塊,用于接收第二目標外設驅動模塊對協議響應心跳包轉化成的響應心跳包,基于響應心跳包檢測外接設備是否異常。
34、第三方面,本發明實施例提供一種電子設備,其中,包括:處理器和存儲器,處理器用于執行存儲器中存儲的外接設備異常檢測的程序,以實現上述的外接設備異常檢測的方法。
35、第四方面,本發明實施例提供一種存儲介質,其中,存儲介質存儲有一個或者多個程序,一個或者多個程序可被一個或者多個處理器執行,以實現上述的外接設備異常檢測的方法。
36、本發明實施例提供的外接設備異常檢測的方法、裝置、電子設備及存儲介質,方法包括:獲取配置文件,其中,配置文件中包括多個外接設備類型和多個通信協議;基于多個外接設備類型和多個通信協議創建多個外設驅動模塊;其中,每個外設驅動模塊中包括一個通信協議和一個外接設備類型;在檢測到外接設備連接的情況下,獲取外接設備的設備類型,并,從多個外設驅動模塊中確定與設備類型匹配的多個第一目標外設驅動模塊;定時將心跳包發送至多個第一目標外設驅動模塊中,以使各個第一目標外設驅動模塊基于通信協議將心跳包轉化成協議心跳包,并從線程池中調取線程將協議心跳包發送至外接設備,外接設備對多個協議心跳包進行解析識別到目標協議心跳包,并將目標協議心跳包對應的協議響應心跳包發送至目標協議心跳包對應的第二目標外設驅動模塊;接收第二目標外設驅動模塊對協議響應心跳包轉化成的響應心跳包,基于響應心跳包檢測外接設備是否異常。上述技術方案中創建好的各個外設驅動模塊能夠支持將檢測外接設備異常的心跳包轉化成所包括的通信協議對應的協議心跳包發送至外接設備,實現對不同通信協議的外接設備的異常檢測,有效緩解了因現有嵌入式設備不能對與之通信協議不一致的外接設備進行異常檢測,為用戶帶來使用嵌入式設備不便的問題,從而大大提高了用戶使用體驗感。