藍牙低能耗開發的三種方法

2022.12.08

藍牙低能耗開發的三種方法

藍牙低能耗是將物聯網產品與移動設備和/或云連接的絕佳選擇。它靈活、可靠、支持廣泛,並且易於使用電池。

詢問任何一家物聯網廠商,是什麼讓他們的產品令人興奮?它們都指向應用程序,即設備向用戶傳遞價值的獨特方式。因此,將您的開發資源集中在您的應用程序上是有意義的:首先,最後,永遠。然而,要讓您的應用程序工作,您需要可靠的連接。這來自於像藍牙低能耗(BLE)這樣的技術。

藍牙低能耗是將物聯網產品與移動設備和/或云連接的絕佳選擇。它靈活、可靠、支持廣泛,並且易於使用電池。只有一個問題:打開BLE SDK並查看API,即使是最有經驗的開發人員也會遇到一堵複雜的牆。

學會處理這種複雜性需要大量的資源,更好地將資源用於使您的產品與眾不同的功能。從用戶的角度來看,連接只需要發揮作用。但是,雖然BLE堆棧對用戶來說基本上是不可見的,但它需要大量的專業知識來優化。坦率地說,這是因為BLE代碼有點奇怪。

直面藍牙低能耗的複雜性

BLE堆棧中的典型API充滿了不熟悉的術語,如GAP、GATT、CCCD和“blob請求”。代碼遵循自己的一組規則,並且沒有很好的文檔記錄。這在任何物聯網產品的開發週期中都會增加成本和復雜性。

此外,BLE系統還需要三個開發領域,每個領域必須與下一個領域無縫協作:

固件開發:這是在芯片組上運行的嵌入式軟件。固件必須進行配置和優化,以便在需要時在需要的位置獲取數據,而不會損壞電池。很有可能,您團隊中的固件開發人員不會有很多預先存在的藍牙知識。

移動應用程序開發:移動開發者通常是iOS、Android或兩者的專家,而不是藍牙。移動設備上的許多藍牙功能都是令人困惑的,而且沒有文檔記錄,因此從頭開始開發BLE專業知識需要花費大量時間。

系統級架構:固件和移動端的藍牙開發挑戰相似。但也存在系統層面的困難。固件和移動開發人員必須就通用參數、行為和通信細節達成一致。這種合作必須貫穿整個生產時間表;否則,您將遇到互操作性缺陷。

那麼,如何解決BLE堆棧的複雜性?您基本上有三種選擇,對於大多數物聯網項目,只有其中一種是正確的選擇。

藍牙低能耗發展的三種途徑

如果您正在構建物聯網設備,您將擁有一個開發團隊:固件開發人員、移動開發人員,或者可能只有一名專家處理系統的兩側。訣竅是為您的開發人員提供他們所需的工具,以創建健壯、可靠的藍牙連接,沒有錯誤或互操作性缺陷,並且不會超出時間或成本。

以下是實現藍牙低能耗開發的三種方法。它們按降序排列,在簡單性、成本節約和更快的上市時間方面從最差到最佳。

3、花時間學習藍牙的所有知識

藍牙開發的第一個選擇是開發自己的內部專業知識。說起來容易做起來難。如果固件和移動開發者沒有藍牙的經驗,那麼iOS、Android和芯片製造商提供的庫就沒什麼意義了。例如,GAP和GATT是什麼?應如何設置PDU和MTU大小?應使用哪些連接參數,以及如何配置這些參數?

開發BLE系統幾乎就像在沒有課本的情況下學習多種新語言。很多專業知識基本上都是部落知識:你必須花很多時間在晦澀難懂的論壇上。這種形式的自我教育非常耗時。這也增加了出錯的風險。通常,這些錯誤直到產品發貨後才變得明顯。

那麼下一個選擇是什麼?

2、聘請藍牙低能耗顧問

如果你沒有時間進行自我訓練,你可以隨時尋求外界的幫助。不幸的是,專門從事BLE的軟件顧問很少。它們也相當昂貴。因此,諮詢路線的第一個缺點是成本。

事實上,許多諮詢公司實際上並不是藍牙專家。大多數人都是多面手,在涉及微控制器和協議組合時知識淵博,但在BLE獨特的生態系統中卻不那麼豐富。

考慮到與藍牙顧問合作的成本和復雜性,您可能希望探索另一條路線。這讓我們找到了最有效的方法,通過現有的開發團隊將BLE功能帶到您的物聯網產品中,並且沒有陡峭的學習曲線。

1、使用藍牙低能耗中間件平台

藍牙低能耗中間件平台是位於藍牙堆棧和應用程序之間的軟件層:固件和移動兩者。該中間件使用簡化的API將芯片供應商令人困惑的代碼重新格式化為熟悉的英語可讀語言。它去除了芯片生態系統中內置的許多不必要的功能集,同時預先優化應用程序以滿足您的獨特目標,無論是高吞吐量、低能耗、安全性,還是這三個目標。

該中間件支持固件開發人員和移動開發人員,同時簡化了包含這兩個世界的整體系統架構。簡而言之,中間件允許任何開發人員創建可靠、優化的BLE系統,而無需成為(或僱傭)專家。在某種意義上,中間件是您的專家。通過中間件揭開藍牙低能耗開發的神秘面紗,您的團隊可以專注於使您的產品與眾不同的功能。