快速部署以電池供電的藍牙 5 認證多感測器物聯網裝置

作者:Stephen Evanczuk

資料提供者:DigiKey 北美編輯群

對開發人員來說,許多市場對於具有藍牙功能的可攜式多感測器設計需求越來越高,但要找到有效的解決方案一向不容易。除了對超低功率效能的基本要求之外,也必須能在裝置對雲端的物聯網 (IoT) 應用中,對這些設計快速進行原型開發、評估和客製化,以便掌握瞬息萬變的商機。

本文將介紹 ON Semiconductor 的超低功耗藍牙處理器系統單晶片 (SoC),並展示此 SoC 或相關的系統級封裝 (SiP) 版本,如何達到電池供電式設計的基本要求。相關的評估板和物聯網開發環境,可進一步大幅簡化多感測器裝置對雲端應用的建構作業。

低功耗藍牙應用

藍牙功能的電池供電式裝置,可在智慧型產品應用中提供連線與處理能力,包括健身穿戴式裝置、醫療監測器、照明、鎖、家電、汽車和其他眾多應用。使用者的期望和競爭壓力,持續推升人們對更全面化應用的需求,而這些應用需要由大量感測器提供的更精準資料來推動。多感測器能力是某些領域 (如工業應用) 的必備元素,以便偵測動作、振動或衝擊、溫度、濕度或其他資料,進而確保工作人員的安全、設備的狀態或基本資產管理。

在使用者的日常活動中,這些裝置不只必須可靠地從多個感測器提供資料,還必須降低頻繁更換電池或充電的需求。這對提供令人滿意的使用體驗非常重要。同時,基底的解決方案必須在電池供電式藍牙產品的設計中降低相關的成本與複雜度。

ON Semiconductor 的 NCH-RSL10-101WC51-ABG RSL10 SoC 就是這樣的解決方案,能符合超低功率操作的需求,並為 SiP 和評估板提供硬體基礎,有助於加速最終產品的開發作業。無論是搭配 ON Semiconductor 軟體進行客製化開發,或是搭配 DigiKey 的 DK IoT Studio 快速開發,RSL10 型整合式解決方案都能讓開發人員快速部署和評估超低功率的多感測器應用。

深入探索 RSL10 藍牙無線 SoC

RSL10 是通過藍牙 5 認證的無線 SoC,其設計專門用來滿足穿戴式裝置、行動產品和其他連線產品對超低功率設計日漸增加的需求。RSL10 具有全套整合式子系統與功能區塊,能以單晶片解決方案滿足典型藍牙物聯網裝置與穿戴式裝置的需求 (圖 1)。

ON Semiconductor 的 RSL10 SoC 示意圖 (按此放大)圖 1:ON Semiconductor 的 RSL10 SoC 整合了處理器與無線電子系統,能為藍牙 5 認證裝置提供完整的超低功率解決方案。(圖片來源:ON Semiconductor)

RSL10 的主要處理區塊包含 Arm® Cortex®-M3 核心、自行研發的 LPDSP32 32 位元雙哈佛架構數位訊號處理 (DSP) 核心,以及完整的藍牙 5 認證無線電子系統,而且這一切都有專屬及共用的記憶體區域提供支援。為了保護程式碼與資料,有個 IP 區塊提供保護機制,能避免裝置的晶片上快閃、隨機存取記憶體 (RAM) 或核心遭到外部存取。除了全套標準序列周邊裝置之外,此裝置還提供四通道類比數位轉換器 (ADC)、一般用途 IO (GPIO) 與音訊介面。有一組穩壓器會個別向內部電源域供應電力,讓裝置以 1.1 V 至 3.3 V 的單一電壓源來運行。

雖然 RSL10 能支援多種 802.15.4 低數據傳輸率無線個人區域網路 (WPAN) 協定,但也能藉著內建的軟硬體組合提供完善的藍牙支援。硬體支援的基礎來自於實作藍牙實體層 (PHY) 的整合式無線射頻 (RF) 前端。搭配 RF 前端,基頻控制器能為藍牙協定堆疊的封包與框架處理層提供硬體支援。其中,內建的小型軟體核心,會提供事件與訊息處理服務,以進行 RF 流量管理、訊息交換和計時器功能。最後,藍牙函式庫和相關的設定檔函式庫會在 Arm Cortex-M3 處理器上運行,構成完整的應用軟體藍牙堆疊 (圖 2)。

ON Semiconductor 的 RSL10 SoC 完整藍牙堆疊示意圖圖 2:ON Semiconductor 的 RSL10 SoC 在 Arm Cortex-M3 核心中內建執行軟體,並搭配專屬硬體 (包含基頻處理器和基底 RF 前端),藉此提供完整的藍牙堆疊。(圖片來源:ON Semiconductor)

軟體堆疊建構在 RF 前端與基頻處理器的硬體支援之上,結合了較低層級的低功耗藍牙 (BLE) 協定服務層,包括邏輯鏈路控制與調適協定 (L2CAP)、屬性協定 (ATT) 和安全性管理器協定 (SMP)、通用存取設定檔 (GAP,可定義連線),以及泛型屬性設定檔 (GATT,可根據服務與特性指定資料的交換)。

除了這個藍牙協定堆疊,RSL10 設定檔函式庫還支援幾個常用於穿戴式裝置應用的標準藍牙設定檔,包括心率、血糖監測、血壓;並且支援 Rezence 無線充電設定檔、人性化介面裝置 (HID),以及有關定位、跑步和單車騎行等功能的設定檔。

高效率效能

對設計人員來說,最重要的一點或許是,RSL10 耗用相對較少的電流,並提供 62.5 至 2000 kbps 數據傳輸率的藍牙連線。在 1.25 V 供電 (VBAT) 下的峰值接收 (Rx) 電流為 5.6 mA,在 3 V VBAT 時只有 3.0 mA。在 1.25 V VBAT 時的峰值傳送 (Tx) 電流是 8.9 mA,此時傳送功率為 0 dBm (使用分貝單位,以 1 mW 為基準);在 3 V VBAT 時只有 4.6 mA,傳送功率為 0 dBm。

RSL10 的 EEMBC ULPMark Core Profile 認證分數為 1090 (3 V) 及 1260 (2.1 V),在全業界處於領先地位,而這證明 RSL10 的能效貫穿其整個架構。

開發人員可在 RSL10 處於全運行模式時選擇性地停用硬體區塊,或讓裝置在閒置期間進入低功耗待機或深度睡眠模式,即可進一步增進效率。值得注意的是,RSL10 會自動使用這些功率模式機制,在收發器事件之間維持 BLE 連線。因此,此裝置能在所有三個藍牙廣告通道上,每隔 5 秒執行一次藍牙廣告作業,而耗電量只有 1.1 mA。

待機模式能讓開發人員在持續數百毫秒到僅幾毫秒的低活動量期間,自行選擇進行節能。

在待機模式期間,RSL10 會對邏輯和記憶體進行時脈閘控,並降低電源電壓以減少漏電流,因此能達到僅有 30 mA 的典型功耗。由於晶片上的電源電路維持在作用狀態,因此 RSL10 能非常快速地返回運作狀態。

深度睡眠模式能讓裝置透過許多方式,在大幅降低功耗位準的同時,保持對外部事件做出回應的能力。RSL10 在此模式下工作並搭配 8 KB 的 RAM 保留量下,在 1.25 V VBAT 時只消耗 300 nA,或是 3 V VBAT 時只消耗 100 nA。在最深度的睡眠模式下,RSL10 在 1.25 V 時只消耗 50 nA (3 V VBAT 時 25 nA),並能維持喚醒能力,以回應從專用 WAKEUP 引腳收到的訊號。

整合式設計

RSL10 廣泛的功能可協助開發人員打造功率最佳化的設計,且無需在效能或藍牙連線能力上折衷。RSL10 經過高度整合,可協助簡化硬體設計。RSL10 具有整合式電容等特點,因此可免除一些強制需求,包括具有 32 kHz 晶體的外部電容 (用於即時時脈),或是具有 48 MHz 晶體振盪器的外部電容 (用於 RF 前端與主系統時脈)。因此,RSL10 只需使用最少的外部元件便能完成設計 (圖 3)。

ON Semiconductor 的 RSL10 降壓模式運作配置示意圖圖 3:ON Semiconductor 的 RSL10 SoC 具有高度整合性,只需使用非常少的外部元件就能提供完整的設計,如圖中這個降壓模式運作配置所示。(圖片來源:ON Semiconductor)

RSL10 整合多個可編程穩壓器,可供電給數位、記憶體及 RF 前端區塊。充電幫浦提供類比區塊和快閃記憶體所需的更高電壓位準。憑藉這些整合式電源系統,此裝置能以介於 1.1 V 至 3.3 V 的單一供電來源運作。

在低於 1.4 V 的電壓位準下,設計人員可使用內部的低壓降 (LDO) 穩壓器供電給裝置。超過此值時,可額外使用一個電感,RSL10 的整合式降壓轉換器就能協助提高效率。這兩個電源配置的電路設計只有一個差異,也就是在低壓降模式下運作時,不必在 VCC 和 VDC 引腳之間額外使用電感,如圖 3 所示。ON Semiconductor 會針對 RSL10 提供印刷電路板元件放置和實體設計的準則。

採用 RSL10 的系統設計

對於沒有時間或資源打造這些硬體介面的開發人員來說,ON Semiconductor 的 NCH-RSL10-101S51-ACG RSL10 SiP 是有效的替代方案,可取代系統設計的客製化硬體實作。RSL10 SiP 的尺寸為 6 mm x 8 mm x 1.5 mm,在單一封裝內整合了 RSL10 SoC、無線電天線以及一套完整的必要元件。有了 RSL10 SiP,設計人員即可在其設計中納入完整、超低功率且通過認證的藍牙硬體解決方案,然後將心力專注在客製化硬體需求上。

ON Semiconductor 的 RSL10 軟體套裝,同樣能讓設計人員將軟體開發心力專注在自訂需求上。ON Semiconductor 的 RSL10 軟體開發套件 (SDK) 建構在 Arm Cortex 微控制器軟體介面標準 (CMSIS) 硬體抽象層 (HAL) 上,提供驅動程式、公用程式和範例程式碼,並以 RSL10 CMSIS-Pack 發佈 (圖 4)。

ON Semiconductor 的 RSL10 軟體環境示意圖圖 4:ON Semiconductor 的 RSL10 軟體環境在基礎套裝中提供一套豐富的服務與公用程式,並有其他套裝可支援藍牙網狀網路與藍牙物聯網開發。(圖片來源:ON Semiconductor)

此套裝含有許多專門服務,包括藍牙支援、FreeRTOS 即時作業系統 (RTOS),以及韌體空中 (FOTA) 更新公用程式。此外,ON Semiconductor 也提供額外的套裝,可支援藍牙網狀網路以及藍牙物聯網開發 (B-IDK),藉此支援更專門的功能。舉例來說,B-IDK CMSIS-Pack 提供物聯網相關服務,包括感測器驅動程式、雲端連線支援,以及相關的應用層級軟體範例。

在客製化開發方面,軟體工程師只需將基礎套裝和選配的套裝,載入到整合開發環境 (IDE) 內即可。RSL10 軟體發行版支援 ON Semiconductor 自家的 IDE,以及 Arm Keil µVision 和 IAR Embedded Workbench 環境。載入套裝後,開發人員可探索應用程式範例,並研究主要特點的實作。

可立即部署的 BLE 多感測器板

RSL10 SiP 搭配 RSL10 SDK 時,能讓開發人員快速開始開發客製化藍牙功能裝置,而且能符合超低功率操作的嚴格要求。但對某些應用來說,可能沒有時間和資源能建構客製化解決方案,或甚至不需動用這些時間和資源。

舉例來說,工業用的多感測器監測器或智慧鎖和照明開關,可能需要一個支援藍牙的小型裝置,不僅能延長電池續航力,還能傳遞來自於許多種感測器的資料。ON Semiconductor 的 RSL10-SENSE-GEVK 多感測器評估套件能針對這些應用提供立即可用的硬體解決方案。這款評估套件的板件已獲得國際認證,可立即部署於超低功率的應用中。

RSL10-SENSE-GEVK 板中包含 RSL10 SiP、多個感測器、ON Semiconductor 的 N24RF64DWPT3G 64 KB 近場通訊 (NFC) EEPROM、RGB LED,以及可編程按鈕。此板件為圓形,覆蓋區直徑小於 30 mm,尺寸只比套件隨附的 CR2032 鈕扣型電池和撓性 NFC 天線大一點 (圖 5)。

ON Semiconductor 的 RSL10-SENSE-GEVK 評估板圖片圖 5:ON Semiconductor 的 RSL10-SENSE-GEVK 評估板結合了 RSL10 SiP,以及穿戴式裝置和物聯網裝置通常所需的多種感測器。(圖片來源:ON Semiconductor)

此板件預載韌體,可展示此板件眾多感測器的運作狀況,包括:

  • 環境光感測器 (ON Semiconductor NOA1305)
  • 慣性量測單元 (Bosch Sensortec BHI160) - 含有三軸加速計和三軸陀螺儀
  • 三軸數位地磁感測器 (Bosch Sensortec BMM150)
  • 環境感測器 (Bosch Sensortec BME680) - 包括氣體、壓力、濕度和溫度感測器
  • 數位麥克風

為了協助開人員利用 RSL10-SENSE-GEVK 板快速評估感測器組合與 RSL10 的效能,ON Semiconductor 提供行動應用程式 RSL10 Sense and Control,可透過 Android 和 iOS 的應用程式商店來取得。

此應用程式在支援藍牙的行動裝置上執行,能讓開發人員以不同的感測器、取樣間隔和週期配置來監測功耗,並監測 RSL10 功率模式及其他的參數。在應用程式中設定所需的感測器配置後,應用程式會在一系列的窗格裡顯示結果 (圖 6)。

ON Semiconductor 行動應用程式 RSL10 Sense and Control 的圖片圖 6:ON Semiconductor 的 RSL10 Sense and Control 行動應用程式是立即可用的解決方案,能評估 RSL10-SENSE-GEVK 評估板的多重感測器效能。(圖片來源:ON Semiconductor)

開發人員可利用先前提過的 CMSIS-Pack 發行版與 IDE 選項,來檢視和修改示範程式碼。產生新的韌體後,開發人員必須使用 10 引腳排針和配接器 (例如 Tag-ConnectTC2050-IDC-NL) 來載入映像檔。雖然 RSL10-SENSE-GEVK 多感測器評估套件並未隨附此配接器,但該套件的除錯版 RSL10-SENSE-DB-GEVK 提供已焊接的 10 引腳除錯插頭,以及 Segger Microcontroller Systems 的 J-Link LITE Cortex 除錯器,可用來連接此插頭。

利用 DK IoT Studio 快速進行開發

RSL10-SENSE-GEVK 多感測器評估板能針對多種需要長久電池續航力的多感測器應用,省去硬體開發的功夫。DigiKey 針對其中許多應用提供單獨的線上開發工具,不必進行軟體編碼,即可快速開發出原型,甚至是生產系統。搭配 RSL10-SENSE-GEVK 評估板使用,DK IoT Studio 提供無需程式碼的開發方法,能讓開發人員迅速部署完整的感測器對雲端應用。

使用 DK IoT Studio 圖形介面時,開發人員能以元件拖放的方式配置多種物聯網應用的軟硬體項目。硬體項目涵蓋從個別的 GPIO 引腳到完整的感測器裝置,包括 RSL10-SENSE-GEVK 評估板內隨附的裝置。軟體元件涵蓋典型的低層級特點 (例如任何程式中都會使用的迴圈和條件),一直到雲端服務介面。

開發人員可在 DK IoT Studio 圖形介面的個別分頁內透過這些元件的組合搭配,定義出在 RSL10、輔助性 DK IoT Studio 應用程式以及雲端中執行的作業,完全不需編寫任何軟體程式碼。

此做法的基礎建構在,任何元件都會有其相關的一組「能力」和「事件」。舉例來說,BME680 整合式環境感測器具有一組可讀取溫度、壓力和濕度的能力。有些功能性元件,如間隔元件則可定期觸發事件,以執行某個元件的能力。此外還有一些元件,代表與藍牙行動裝置 (如智慧型手機) 之間的藍牙通訊。

透過這個方法來打造應用非常直覺,而且 DigiKey 更為 RSL10-SENSE-GEVK 評估板提供一系列的示範專案。舉例來說,在 BME680 示範專案裡,有個間隔元件會觸發 BME680 感測器的能力,每隔 1000 ms 就讀取一次溫度、壓力和濕度。接著,各個感測器輸出的相關藍牙元件,就會將這些感測器讀數傳送到藍牙裝置 (圖 7)。

DigiKey 的 DK IoT Studio 裝置分頁圖片 (按此放大)圖 7:在 DigiKey 的 DK IoT Studio 裝置分頁裡,開發人員可結合不同的元件,以定期從 RSL10-SENSE-GEVK 評估板上的環境感測器讀取資料,並透過藍牙連線,將感測器資料傳送到輔助的行動應用程式。(圖片來源:DigiKey)

透過應用程式分頁,讓開發人員建構 DigiKey 行動應用程式中的使用者介面,以顯示由藍牙接收的資料。在 BME680 示範專案裡,此應用程式不只顯示溫度、壓力和濕度,還能將各感測器的讀數傳送至雲端元件 (圖 8)。

DigiKey 的 DK IoT Studio 應用程式分頁圖片 (按此放大)圖 8:DigiKey 的 DK IoT Studio 應用程式分頁提供一塊畫布,以在相關的行動應用程式中顯示感測器資料,並有一個窗格,可產生顯示的資料,以及在行動應用程式執行其他作業,例如將資料傳送至雲端。(圖片來源:DigiKey)

這種利用中介應用程式將感測器資料轉送至雲端應用程式的作法,通常用來省去從物聯網裝置直接連線至雲端的需求。對於內建 Wi-Fi 通訊能力的裝置來說,感測器資料當然能直接傳送到雲端,而 DK IoT Studio 可提供 Wi-Fi 元件和其他支援該方法的元件。無論什麼情況下,雲端分頁中都會指明雲端作業。在本例中,溫度、壓力和濕度結果會儲存在 DK IoT Studio 提供的雲端資料儲存服務中 (圖 9)。

DK IoT Studio 雲端分頁的圖片 (按此放大)圖 9:在 DK IoT Studio 雲端分頁裡,開發人員可定義雲端作業,例如將感測器資料儲存在雲端儲存空間中。(圖片來源:DigiKey)

完成裝置、應用程式和雲端角色的定義後,使用者可以按一下編譯圖示,在 DK IoT Studio 中編譯專案。產生程式碼之後,使用者能將產生的韌體載入到 RSL10-SENSE-GEVK。在此例中,會用使用者系統上的一個小型公用程式來完成傳輸作業,從 DK IoT Studio 傳輸到系統所連接的評估板。應用程式和雲端程式碼集,會自動儲存在 DK IoT Studio 雲端環境裡。

雖然這個方法無需開發應用程式碼,但每個元件的相關事件和能力,都會用一組軟體常式進行定義,此稱為嵌入式元件庫 (EEL),且會在 DK IoT Studio 開發環境中執行。

舉例來說,BME680 的「讀取溫度」能力會調用 BME680 C 語言模組中定義的抽象 bme680_get_sensor_() (清單 1)。

BME680_Status_t BME680_GetTempData( float *tempC )

複製 {        _BME680_StartMeasurement();          struct bme680_field_data data;        int8_t retval = bme680_get_sensor_data( &data, &_BME680_DriverConfig );          if ( retval != 0 )        {               ATMO_PLATFORM_DebugPrint( "Error getting sensor data!%d\r\n", retval );               *tempC = 0;        }        else        {               *tempC = data.temperature / 100.0;        }          _BME680_Sleep();        return BME680_Status_Success; } 

清單 1:在 DK IoT Studio 圖形介面下,每個元件的相關程式碼都有其實作的特定功能,例如上面這個函數就會在每次觸發「讀取溫度」能力時進行調用。(程式碼出處:DigiKey)

同一個模組內的低層級常式,會實作位元操作作業,以從較低層級常式 bme680_get_regs() 所讀取的感測器暫存器中,擷取出想要的資料 (清單 2)。

複製 static int8_t read_field_data( struct bme680_field_data *data, struct bme680_dev *dev ) {        int8_t rslt;        uint8_t buff[BME680_FIELD_LENGTH] = { 0 };        uint8_t gas_range;        uint32_t adc_temp;        uint32_t adc_pres;        uint16_t adc_hum;        uint16_t adc_gas_res;        uint8_t tries = 10;          rslt = null_ptr_check( dev );          do        {               if ( rslt == BME680_OK )               {                      rslt = bme680_get_regs( ( ( uint8_t ) ( BME680_FIELD0_ADDR ) ), buff, ( uint16_t ) BME680_FIELD_LENGTH,                                              dev );                        data->status = buff[0] & BME680_NEW_DATA_MSK;                      data->gas_index = buff[0] & BME680_GAS_INDEX_MSK;                      data->meas_index = buff[1];                        adc_pres = ( uint32_t ) ( ( ( uint32_t ) buff[2] * 4096 ) | ( ( uint32_t ) buff[3] * 16 )                                                | ( ( uint32_t ) buff[4] / 16 ) );                      adc_temp = ( uint32_t ) ( ( ( uint32_t ) buff[5] * 4096 ) | ( ( uint32_t ) buff[6] * 16 )                                                | ( ( uint32_t ) buff[7] / 16 ) );                      adc_hum = ( uint16_t ) ( ( ( uint32_t ) buff[8] * 256 ) | ( uint32_t ) buff[9] );                      adc_gas_res = ( uint16_t ) ( ( uint32_t ) buff[13] * 4 | ( ( ( uint32_t ) buff[14] ) / 64 ) );                      gas_range = buff[14] & BME680_GAS_RANGE_MSK;                        data->status |= buff[14] & BME680_GASM_VALID_MSK;                      data->status |= buff[14] & BME680_HEAT_STAB_MSK;                        if ( data->status & BME680_NEW_DATA_MSK )                      {                            data->temperature = calc_temperature( adc_temp, dev );                            data->pressure = calc_pressure( adc_pres, dev );                            data->humidity = calc_humidity( adc_hum, dev );                            data->gas_resistance = calc_gas_resistance( adc_gas_res, gas_range, dev );                             break;                      }                        dev->delay_ms( BME680_POLL_PERIOD_MS );               }                 tries--;        }        while ( tries );          if ( !tries )        {               rslt = BME680_W_NO_NEW_DATA;        }          return rslt; } 

清單 2:DK IoT Studio 中各個元件的相關程式碼,會將更高層級服務的更抽象函數調用轉譯成特定的作業,例如從環境感測器暫存器擷取資料。(程式碼出處:DigiKey)

如先前所述,元件可提供軟體開發人員固定使用的方法 (例如條件),以及硬體開發人員固定使用的方法 (例如 GPIO 控制)。在 DK IoT Studio 環境裡,能用簡易的拖放方法配置對應的元件,以測試條件並執行適當的動作。舉例來說,另一個示範專案,能針對 RSL10-SENSE-GEVK 板的 LED 燈,顯示其如何在板件的環境光感測器超出指定值時亮起 (圖 10)。

DigiKey 的 DK IoT Studio 圖片圖 10:DK IoT Studio 提供所需的元件,可執行更抽象的邏輯,例如數值檢查,以及執行低層級的作業,例如設定 GPIO 以連接 ON Semiconductor RSL10-SENSE-GEVK 評估板上的 LED。(圖片來源:DigiKey)

在雲端方面,可用類似的測試來產生行動應用程式的中繼資料。在此情況下,可在應用程式內使用此中繼資料來設定警示圖示,以指出感測器偵測到的問題 (圖 11)。

DK IoT Studio 用於設定狀態中繼資料的條件檢查圖片圖 11:DK IoT Studio 能支援雲端及行動應用程式上一些更複雜的作業,例如圖中的這個條件檢查,可設定應用程式的狀態中繼資料,並將資料保存於雲端儲存空間。(圖片來源:DigiKey)

執行完負責切換 LED 燈的基底程式碼後,會開始進行一連串的調用,首先會調用基底環境中與該事件有關的更高階函數。此函數稱為 SetPinState,是一種在初始化期間設定的函數指標,可指向較低階的函數 ATMO_ONSEMI_GPIO_SetPinState(),以實作所需的功能,最後則會調用 ON Semiconductor 的 RSL10 SDK 函式庫的函數 Sys_DIO_Config(),以設定指定的引腳 (清單 3)。

複製 ATMO_GPIO_Status_t ATMO_GPIO_SetPinState( ATMO_DriverInstanceHandle_t instance, ATMO_GPIO_Device_Pin_t pin,         ATMO_GPIO_PinState_t state ) {        if ( !( instance < numberOfGPIODriverInstance ) )        {               return ATMO_GPIO_Status_Invalid;        }          return gpioInstances[instance]->SetPinState( gpioInstancesData[instance], pin, state ); } 

清單 3:DK IoT Studio 提供一組可在較低層級服務層中實現的通用抽象,可實作硬體特有的作業,例如設定 GPIO 位元。(程式碼出處:DigiKey)

為了達到簡便性,DK IoT Studio 提供十分彈性的開發環境。開發人員能運用元件現成的 EEL 程式碼,也能按照應用的需求進行修改。在開發期間,DK IoT Studio 裝置分頁提供一個面板,其中含有與分頁畫布上元件相關的基底高級程式碼 (如圖 7 所示)。若應用程式需要一些特殊處理,開發人員能立即在該面板中修改程式碼。如果需要其他如「函數」元件等功能,就在程式碼中添加空白函數定義。如此一來,開發人員就能利用開發環境裡的特點和函數來補強執行效果。

實際上,DK IoT Studio 的做法不僅具有無需程式碼拖放開發作業帶來的簡便性,在靈活性和效能上,唯一的限制就是基底硬體裝置的記憶體數量和處理器能力。運用此做法和 RSL10-SENSE-GEVK 板,開發人員就能快速部署全功能的原型,並具有裝置對雲端連線及行動應用程式的支援。

結論

多感測器裝置的新式應用持續延伸到眾多領域,包括消費性市場、汽車市場與工業領域。對當中許多應用來說,藍牙連線和持久的電池續航力相當重要,但設計人員同時也需要有支援的生態系統,以便用靈活的設計方法因應持續存在的上市時間壓力。為了應付這些難題,ON Semiconductor 的 RSL10 SoC、RSL10 SiP 和 RSL10-SENSE-GEVK 評估板,提供一系列的解決方案,能符合客製化設計、整合式模組以及完整多感測器解決方案的需求。透過這些硬體平台,開發人員就能用 RSL10 軟體開發套件和相關的軟體發行套裝,來實作客製化應用。

若要快速開發多感測器的裝置對雲端應用,則可搭配 ON Semiconductor 的 RSL10-SENSE-GEVK 評估板與 DK IoT Studio IDE,以此強大的快速開發平台,在完整的裝置對雲端應用中實作超低功耗的多感測器解決方案。在 RSL10 硬體和可用的軟體選項互相搭配下,就可構成高度靈活的平台,即可開發和部署通過藍牙認證且符合長效電池續航力需求的裝置。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk 撰寫電子產業的相關資訊已有超過二十年的經驗,涉及的主題多元,涵蓋硬體、軟體、系統以及包含 IoT 在內的應用。他以神經元網路為研究主題,取得神經科學博士學位,並且在航太產業,針對廣泛運用的安全系統和演算法加速方法進行研究。目前,在撰寫科技和工程文章之餘,他投入辨識和推薦系統的深度學習應用。

關於出版者

DigiKey 北美編輯群