功能模塊。這些通信功能模塊例如WiFi模組、聲波處理電路、藍牙通信組件、NFC通信組件等,分別對應不同的多種通信方式。具體而言,其中的WiFi模組可以基于WiFi Direct協議的規范,而將智能硬件置于接入模式之下,以便智能硬件可供其他終端設備接入,與其建立通信。所述的聲波處理電路,至少包括聲波接收電路和相應的解碼電路(芯片),可以使智能硬件通過聲波接收電路接收加載有數據的聲波信號。所述藍牙通信組件、NFC通信組件同理可以依照相關協議接收加載有數據的無線信號。
[0112]上述的多種不同的通信方式,同理可以適配多種不同的管理方式,不同的管理方式由不同的驗證信息進行表達。例如,對于WiFi模組而言,智能硬件可以向企圖與其建立通信連接的終端設備要求提供驗證信息,如接入智能硬件的登錄密碼,來由智能硬件判定是否允許該終端設備接入。所述的聲波處理電路可以通過接收聲波信號后,識別聲波信號中是否包含約定的密鑰或者令牌之類的驗證信息,來決定智能硬件是否允許外部設備接入。此外,如藍牙、NFC等技術,同理也可要求外部終端設備提供對碼之類的驗證信息進行驗證。當然,在某些實施例中,特別是對安全要求不高的場景中,也可不考慮提供所述的驗證信息。
[0113]由于利用基于802.11協議所實現的WiFi通信技術廣泛應用于現實生活中,一般的智能終端設備均配備了 WiFi模組,因而,如下以WiFi技術通信為例,說明手機終端與智能硬件建立通信的過程示例。
[0114]每個智能硬件的WiFi模組,由于支持WiFi Direct標準,故而可以在接入點模式(AP)與工作站模式(STA)之間實現按需切換。為了便于接入,智能硬件初始啟用或者重置時,通常默認處于接入點模式,等候外部設備通過802.11協議所規范的工作在數據鏈路層的網絡幀來與之建立點對點的連接,從而便于進一步接收外部設備提供的數據。而外部設備(手機終端)欲接入智能硬件,需要獲知該智能硬件的服務集標識(SSID),當然該服務集標識也可以由手機終端基于協議約定,通過掃描智能硬件的Beacon控制幀,或者通過發送Probe Request幀并接收Probe Response幀等方式,自行掃描并由用戶選定而獲得。當然,非自動化獲得SSID會增加人為干預環節,手機終端能通過其唯一性特征信息來直接獲知該SSID這一手段雖非必須,但在某些情況下能夠簡化用戶操作流程。因此,是否將SSID作為WiFi通信方式的驗證信息的一個元素,可以根據產品的設計需要靈活確定。
[0115]某些情況下,智能硬件為了更加安全起見,可以將其SSID設置為隱藏,在這種情況下,在驗證信息中提供SSID便顯得更為必要。如果智能硬件還設置了用于接入自身的登錄密碼,則適宜將這一登錄密碼一并包含在驗證信息中。如果希望手機終端以靜態地址的方式而非默認DHCP的方式來接入,還可以在前述提供的信息的基礎上,進一步為驗證信息提供自身的本機IP地址和子網掩碼,以便獲取這些信息的手機終端能夠利用本機IP地址和子網掩碼進行二進制運算,確定相應智能硬件自身所在網段,并在網段中隨機選定一個IP地址設置自身最終以靜態IP地址的方式接入。當然,如果為了簡化手機終端的計算步驟,還可以直接將一個與智能硬件的本機IP地址處于相同網段的IP地址作為另一信息一并提供。所有這些信息,根據程序設計需要而選用,均與智能硬件的唯一性特征信息之間存在一一對應的映射關系。當然,作為一種特例,同一廠家出廠的同一型號的產品,雖然各個產品的特征信息不同,但理論上也可以均允許使用同一所述的驗證信息驗證自身之后接入本產品。
[0116]根據上述的揭示可知,智能硬件可以提供不只一種通信方式,不同的通信方式便具有不同的驗證信息,企圖接入智能硬件的外部終端設備,如手機終端,可以依據自身所具備的與智能硬件相適配的通信功能組件,來確定選用相應的一種或多種通信方式,逐一嘗試與智能硬件建立通信,直至建立成功達成接入的目的為止。
[0117]由此可知,使外部終端設備可以通過選定某種有效的通信方式與智能硬件之間建立通信而提供的相關信息,便構成了管理智能硬件的接入的方案信息。方案信息中,至少包括用于指定與智能硬件進行通信的通信方式信息,必要時,還可以進一步包括提供給智能硬件進行鑒權的驗證信息,使得企圖以該通信方式建立與智能硬件的通信的請求能被智能硬件所允許。所述驗證信息,包含一個或多個與相應通信方式相適配的要素,例如SSID、登錄密碼、訪問令牌、以非對稱加密技術所形成的公鑰等。需要指出的是,雖然本發明在形式上將方案信息劃分為通信方式信息和驗證信息兩類,但是,表面在數據存儲上,這兩類細分信息是各個構成項可以是平行組織的,典型的,將智能硬件的UUID、WiFi通信方式標識符、SSID、登錄密碼等項作為同一條記錄進行存儲,其中,UUID便是特征信息,而WiFi通信方式標識符則是方案信息中的通信方式信息,后者SSID及登錄密碼則是方案信息中的驗證信息的兩個構成項,這若干個項均可以并列地出現在同一條數據庫記錄中。
[0118]為了對所述的方案信息實施有效管理,一個或多個生產廠商可以通過云服務器來存儲廣義的數據庫,該數據庫建立起智能硬件的唯一性特征信息與方案信息之間的映射關系,記錄各廠商所生產的某臺智能硬件的唯一性特征信息及與其存在所述映射關系的通信方式信息,甚至也記錄與該通信方式信息相對應的驗證信息。由此,云服務器從一個遠程請求中獲得一個特征信息以之為關鍵詞,便可檢索到與之存在映射關系的方案信息,然后將該方案信息作為響應,反饋給遠程請求方。
[0119]本發明的手機終端,接入了互聯網,因此,可以基于TCP/IP協議與云服務器建立基于TCP/IP機制的通信。手機終端在獲取了所述的特征信息之后,例如獲得一個UUID或者MAC地址,將其封裝成TCP/IP協議的數據包,作為一個遠程請求通過相應的遠程接口發送給所述的云服務器。云服務器接收該請求后,響應于該請求而提取出其中的UUID或者MAC地址之類的特征信息,利用該特征信息作為關鍵詞,在所述的數據庫中進行檢索,最終確定與該特征信息相關聯的方案信息。然后將所述方案信息封裝在TCP/IP數據包中,返回給發起該請求的本發明的手機終端,本發明的手機終端便可獲得與其掃描得到的特征信息相對應的方案信息。
[0120]本發明的另一實施例中,所述方案信息,特別是一些普遍適應于同類型智能硬件的方案,可以被預存于手機終端本機中。這種情況下,手機終端需要直接從本機中獲取相應的方案信息即可,當且僅當未能從本機中獲得適于與目標智能硬件建立有效通信的方案信息時,才按照前一實施例所述,通過遠程接口從云端服務器獲取合適的方案信息。該實施例中,所述方案信息在本機中的存儲,可以是隨附于安裝包而提供的,也可以是將前述的實施例中從云端服務器獲得的方案信息緩存到本地而獲得。為了便于管理,同理可以參照云端服務器的實現,在本地將方案信息與相應的智能硬件唯一性特征之間進行關聯性存儲,確保它們彼此之間的映射關系,以便有利于后續的快速查找。
[0121]步驟S13:依據所獲得的所述方案信息,啟動對智能硬件的聯網配置。
[0122]手機終端從遠程端口獲得所述的方案信息后,便依照預設的程序流程,確定其中的通信方式信息以及相應的驗證信息通過調用相應的驅動接口而啟用相應的通信方式,必要時提供所述的驗證信息,對自身進行配置,然后接入所述智能硬件,啟動對智能硬件的聯網配置。
[0123]例如,如果方案信息中的通信方式信息指定為WiFi傳輸方式,并且提供了相應的登錄密碼作為驗證信息,則手機終端便可以依據802.11相關協議,通過掃描發現處于接入點發送的Beacon幀,或者通過發送Probe Request幀來獲取接入點的響應幀ProbeResponse等方式,從附近的接入點發送的這些網絡幀中獲得SSID列表,彈出一用戶界面供用戶選定屬于智能硬件的SSID,在用戶選定其中一個SSID之后,手機終端斷開與其他網絡的連接,用登錄密碼和SSID配置自身的網絡設置,接入所述的智能硬件。
[0124]又如,通信方式信息前臺,而驗證信息中給出了智能硬件預設的SSID,則默認智能硬件為開放式網絡并且提供了 DHCP服務,因此直接配置自身待接入網絡的SSID為該智能硬件的SSID,不必自行掃描發現,也不必要求提供密碼,且以DHCP獲取IP地址的方式接入所述智能硬件。如果智能硬件將自身的SSID設置為隱藏,則在驗證信息中提供所述的SSID是必要的。
[0125]又如,通信方式信息同前,如果驗證信息中包含了 SSID及其登錄密碼,并無其他信息,則手機終端可以通過該SSID自行匹配智能硬件的加密方式,并且配置所述的登錄密碼,然后默認以DHCP獲取IP地址的方式完成配置,接入所述的智能硬件。
[0126]再如,通信方式信息同前,如果驗證信息包含了 SSID、登錄密碼、智能硬件IP地址以及其對應的子網掩碼,則手機終端除按前例配置SSID和登錄密碼外,還將所述智能硬件IP地址和子網掩碼進行二進制運算。具體而言,將獲取的智能硬件IP地址與其子網掩碼以二進制進行按位與得到智能硬件所在網段的起始IP地址,將智能硬件的子網掩碼以二進制按位取反后與其IP地址進行按位或得到該網段的終止IP地址,通過起始IP地址與終止IP地址確定了智能硬件所在的網段。手機終端繼而隨機產生選定一個屬于該網段的IP地址作為自身的IP地址進行配置,同時采用該子網掩碼配置自身,而將智能硬件的IP地址配置為自身的網關地址,配置完成后,接入所述的智能硬件。當然,如果所述驗證信息中包含智能硬件所允許的供接入用的IP地址,則手機終端可以直接使用該IP地址作為自身IP地址,省去前述的二進制運算過程。
[0127]以上通過多個示例說明了手機終端利用其所獲取的方案信息激活自身的WiFi通信功能模塊完成自身配置后接入智能硬件的過程。實際上,基于WiFi Direct標準的規范而實現的接入過程,為本領域技術人員所知曉。手機終端接入智能硬件的過程,依照WiFiDirect標準的規范,利用控制幀、管理幀以及數據幀等網絡幀來實現。利用控制幀完成握手階段的準備,利用管理幀完成兩者的關聯接入,利用數據幀來實現彼此的數據傳輸。當手機終端成功接入所述智能硬件后,即完成了手機終端與智能硬件之間的基于WiFi技術的點對點的直接連接,手機終端與智能硬件之間即可互傳數據。
[0128]同理,如果方案信息包含的通信方式信息指定為代表聲波傳輸的標識符,并且所提供的驗證信息是一個訪問令牌(或密鑰),而智能硬件出廠時便被配置為可以通過判定一個令牌(密鑰)來識別發起通信方是否符合授權條件,這種情況下,手機終端可以依據該通信方式信息激活其聲波編碼電路,將待傳輸數據,即提供給所述智能硬件配置自身以接入網絡的聯網配置信息,編碼到聲波信號中,然后通過手機終端的播放接口進行揚聲播放,以便被近距離的所述智能硬件所接收并依據所述訪問令牌(或密鑰)做出判定。其中,驗證信息包含的密鑰可以是對稱密鑰,也可以是由智能硬件公開的基于非對稱加密而實現的公鑰,當為公鑰加密時,智能硬件可以利用其預設的私鑰進行解密。
[0129]類似的實施例,可以被本領域技術人員擴展應用到包括藍牙通信、NFC通信等常用方式中,為簡化篇幅,恕不贅述。
[0130]需要強調的是,手機終端可以在其成功接入智能硬件后,即將相應的方案信息進行本機緩存,以便后續先直接在本地檢索該方案信息,進行二次利用。
[0131]以上詳細揭示了手機終端作為主控端,如何基于智能硬件的唯一性特征信息使自身接入智能硬件以建立點對點直接連接的原理。當兩者完成連接之后,便可開始傳輸數據,該數據即是提供給智能硬件配置自身的網絡設置以便接入目標網絡的聯網配置信息。至此,手機終端即啟動了對智能硬件的聯網配置。需要指出的是,智能硬件的聯網配置工作,部分按照自身固有的程序流程執行。具體而言,手機終端依照方案信息的指向與智能硬件建立通信之后,開始向智能硬件傳輸目標網絡的聯網配置信息。例如,欲令智能硬件接入附近區域的一個局域網絡提供的接入點(AP)實現聯網,需要將該接入點的SSID及登錄密碼作為聯網配置信息發送給智能硬件。而這一聯網配置信息可以由手機終端先通過掃描發現、獲取用戶選定特定SSID、獲取與該SSID相應的用戶輸入的登錄密碼來確定,然后,再由手機終端將基封裝成能被智能硬件識別的聯網配置信息。由于智能硬件可以利用其WiFi模組接入網絡,手機終端便可以將這一已知目標網絡的聯網配置信息,以802.11協議所規范的數據幀進行封裝之后傳輸給該智能硬件,而該智能硬件的預設程序則可在獲得數據幀之后,解析出其中的聯網配置信息,將自身從接入點模式切換為工作站模式,斷開與手機終端的連接,然后,利用該聯網配置信息配置自身,確定目標SSID、匹配相應的登錄密碼,最終以該聯網配置信息接入所述的目標局域網絡,實現在手機終端的控制下,通過掃描智能硬件的唯一性特征信息即可使智能硬件接入手機終端先前所在或給出的所述目標網絡。
[0132]可以看出,本步驟中,手機終端只是啟動了對智能硬件的聯網配置運作,并不實際實施對智能硬件的網絡設置的配置,而是通過智能硬件自身,利用手機終端傳輸來的聯網配置信息去實現,對此,本領域技術人員應加以知照。
[0133]改進的實施例中,手機終端向所述智能硬件傳輸所述配置信息之后,可以進一步等候并接收一個來自智能硬件的確認信息,依據該確認信息來向用戶輸出聲音信息或者圖文用戶界面,以便完善人機交互,使用戶確知智能硬件已經正確接入所述的目標網絡。由于這種情況下已經實現了智能硬件對所述目標網絡的成功接入,因而,智能硬件可以基于UDP協議發送數據包進行廣播,由于基于UDP廣播的可靠性存在弱點