物聯網應用的高速增長催生了越來越多的開發套件,為從事物聯網產品和系統設計的工程師提供了豐富多樣的新工具。但在選擇開發套件時,五花八門的產品也會讓設計師感到眼花繚亂。
物聯網開發套件概覽
設計工程師可以通過物聯網開發套件中的新工具快速開發新的物聯網 (IoT) 產品和系統。物聯網開發套件通常包含一套硬件、軟件和固件組件,使工程師能夠為物聯網應用快速設計產品原型并進行測試。這些套件類似于典型的微控制器開發和評估板,但它們更關注物聯網應用中常見的傳感器、執行器和通信接口。
開發人員使用物聯網開發套件來創建應用,讓這些應用可以訪問負責傳感器數據處理和存儲的云計算服務。他們還可以使用物聯網開發套件來創建獨立的物聯網應用。部分套件具有擴展連接器,允許開發人員以混搭的方式添加新模塊。雖然物聯網開發套件通常支持使用C/C++編程語言進行軟件和固件開發,但也可以搭配其他語言 (如Python或JavaScript) 一起使用。
關鍵事實
● Gartner預測,到2020年,物聯網服務的支出將達到近3萬億美元。
● 物聯網開發套件通常分為三類:云連接、本地網絡或網關 (將傳統應用連接到互聯網的系統)。
● 物聯網開發套件通常包含面包板、跳線、擴展板、電源、電池、傳感器和執行器等組件。
什么是物聯網開發套件?
物聯網開發套件是一套硬件和軟件或固件組件,可幫助設計工程師使用微控制器、傳感器、執行器和通信接口的組合來創建、測試和評估新的物聯網設計。這些套件由開發/評估板概念演變而來,長期以來一直用于測試和評估微控制器及外設。
物聯網開發套件的主要特點在于,它更加關注傳感器 (如溫度和運動傳感器)、執行器 (如發光二極管 [LED] 和顯示器)、通信 (如Wi-Fi、藍牙和長期演進[LTE])、專用處理器 (例如,安全元件和人工智能 [AI] 引擎) 以及用于安全連接到云計算環境的固件。部分物聯網開發套件有一套固定的組件。其他的物聯網開發套件則采用模塊化設計,使用戶能夠使用Arduino擴展板、特定于供應商的擴展總線或排針來添加組件。通過這些排針可訪問內部集成電路 (I2C)、串行外圍接口 (SPI)、通用異步收發器 (UART)、模數轉換器 (ADC)、數模轉換器 (DAC)、通用輸入/輸出 (GPIO) 和其他信號。
除了硬件組件外,許多物聯網開發套件還包括軟件/固件庫,用于控制外圍設備并提供不同的通信協議,包括傳輸控制協議/互聯網協議 (TCP/IP) 網絡和無線通信協議。在創新到生產這個周期的原型設計和概念驗證階段,通常使用物聯網開發套件作為學習物聯網的教學工具。
當在產品開發過程中使用時,這些套件通常是定制和優化電子設計以進行大規模生產的重要工具。它們通常是現成的套件,根據每個套件中包含的功能和組件的不同,其成本也有所不同。
技術領域
物聯網應用通常涉及多個領域,包括硬件、傳感、信號處理、通信、安全和數據分析,因此需要多種工程技能。物聯網開發套件通過提供端到端的示例應用以及文檔和教程,努力加快您的上手速度。固件編程通常是在C/C++集成開發環境 (IDE) 中完成,但有些套件還支持其他語言,如Python和JavaScript。一些供應商為他們的開發套件提供免費的IDE,有些供應商的開發工具則需要您單獨購買許可。
挑選物聯網開發套件
物聯網開發套件隨供應商而異,主要差異在于微控制器、傳感器、執行器和專用處理器、通信接口、可用軟件/固件庫以及支持的編程語言。選擇物聯網開發套件時可參考套件特性與功能的評估結果,這些特性與功能將最有效地支持您想要開發的物聯網應用。例如,如果您要開發帶有Wi-Fi和智能手機 (通過藍牙) 連接的智能家居設備,則優先考慮支持Wi-Fi和BLE通信的物聯網開發套件。
其他選擇標準可能還包括可用于支持您的應用開發的軟件/固件庫的數量和種類:
比如,實時操作系統 (RTOS) 庫、安全通信庫 (例如,用于安全超文本傳輸協議 [HTTPS]或消息隊列遙測傳輸 [MQTT])、設備控制庫 (例如,用于傳感器輸入/輸出 [I/O])、無線通信庫(例如,用于Wi-Fi、BLE和Zigbee),以及用于連接到不同云計算系統的庫。這些庫可能以源代碼或二進制包的形式提供,可能是開源代碼、閉源代碼或供應商授權使用。
物聯網設計的一個新興趨勢是在傳感器附近包含人工智能處理,無論是直接放在傳感器上還是放在附近的物聯網網關中。這種結構可以更快地處理更復雜的本地數據,而不必通過互聯網將大量原始傳感器數據發送到云計算后端。有些物聯網開發套件包含專門的AI處理芯片,直接支持AI應用。
云連接
許多物聯網開發套件提供云連接,可以連接到Microsoft、Google、Amazon或IBM通用云平臺,也可以連接到IoT特定的云平臺,如Medium One或Particle。許多云平臺對于少量設備提供低成本或免費的連接。
物聯網開發套件示例
市場上有許多物聯網開發套件,在接下來的兩頁內容中,我們將介紹目前市場上提供的六款開發套件及其包含的功能。
● Microchip Technology CEC1x02開發板
CEC1x02開發板是一個使用CEC1702加密嵌入式控制器的開發、演示和測試平臺。CEC1702控制器是基于32位Arm?Cortex?M4的微控制器,集成了密碼加速器。CEC1x02 開發板提供多種硬件選項 (包括一個LCD圖形顯示器、ADC、I2C、GPIO排針以及兩個mikroBUSTM接口),支持快速設計產品原型和開發安全的嵌入式物聯網應用。該平臺還可以使用C/C++編程,并具有Microsoft Azure和Amazon Web服務的SDK。
● NXP Semiconductor LPC54018 IoT模塊
NXP LPC54018 IoT模塊包含一個Arm?Cortex?-M4微控制器單元 (MCU)、一個Wi-Fi通信模塊、一個高速USB端口和一個擴展連接器,能夠連接到NXP OM40006基板。該基板包含附加的外設,包括具有觸摸屏功能的LCD、LED和按鈕、音頻編解碼器、麥克風、加速計、以太網、microSD卡插槽、Arduino UNO擴展接口以及附加的隨機存取存儲器 (RAM)。該基板可使用C/C++編程,并支持Amazon FreeRTOS操作系統。
● Intel?二代神經計算棒
Intel二代神經計算棒套件是一款通用串行總線 (USB) 棒,它包含一個中央處理器 (CPU) 集群和一個神經計算引擎。該引擎是專用于深度神經網絡應用的硬件加速器,通常用于計算機視覺應用。用戶可以使用任何帶有USB端口的平臺來創建原型和操作人工智能應用,而不必依賴云計算。此套件可使用C/C++或Python可編程,并附帶軟件開發工具包 (SDK) 和AI框架來開發應用。
● Cypress Semiconductor PSoC? 6 WiFi-BT Pioneer套件
Cypress PSoC WiFi-BT Pioneer套件包含一個Arm? Cortex?;-M4 MCU、一個Arm Cortex-M0+ MCU、閃存和RAM存儲器、USB接口、圖形液晶顯示器 (LCD)、六軸運動傳感器、光傳感器、數字麥克風、音頻編解碼器、CapSense?按鈕和滑塊、LED和按鈕、Wi-Fi和BLE無線模塊,以及Arduino兼容的擴展接口。此套件可在Cypress WICED? (嵌入式設備互聯網無線連接的縮寫) IDE環境中使用C/C++編程,此環境支持Wi-Fi和BLE通信,并可連接包括Microsoft Azure和Amazon Web服務在內的云平臺。
● Renesas Electronics Synergy? AE-CLOUD2 LTE IoT連接套件
Renesas Electronics Synergy? AE-CLOUD2 LTE IoT連接套件包含一個Arm? Cortex?-M4 MCU;閃存和RAM存儲器;一個USB接口;外設模塊 (PMODTM) 和Grove連接器;LED和按鈕;一個以太網接口;一個Wi-Fi模塊;LTE Cat- M1、Cat-NB1和帶GPS的增強型通用分組無線業務 (EGPRS) 調制解調器模塊;一個六軸運動傳感器;一個地磁傳感器;一個氣體、壓力、溫度和濕度傳感器;一個光傳感器;一個麥克風和Arduino兼容的擴展連接器。它可以使用C/C++編程,并有軟件庫連接到多個云環境,包括Microsoft Azure、Google云平臺、Amazon Web服務和Medium One IoT原型設計沙箱。
● Silicon Labs Mighty Gecko網狀網絡開發套件
Silicon Labs Mighty Gecko網狀網絡開發套件包含一個Arm? Cortex?-M4 MCU、閃存和RAM存儲器、一個USB接口、一個以太網接口、LED和按鈕、溫度和濕度傳感器、一個LCD圖形顯示器、一個電容式觸摸滑塊、一個紐扣電池座,可運行多個網狀網絡協議的2.4GHz無線模塊,和一個用于連接其他外設的擴展排針。該套件配有多個板,用于開發無線網狀網絡應用。Mighty Gecko可使用C/C++編程,并有軟件庫用于支持多種無線通信協議,包括ZigBee、Thread和藍牙。
作者簡介:Greg Toth是一名架構師、工程師和顧問,在傳感器、嵌入式系統、物聯網、電信、企業系統、云計算、數據分析以及硬件、軟件和固件開發方面擁有30多年的經驗。他擁有圣母大學 (University of Notre Dame) 電氣工程學士學位和南加州大學 (University of Southern California) 計算機工程碩士學位。
評論
查看更多