物联网应用的高速增长催生了越来越多的开发套件,为从事物联网产品和系统设计的工程师提供了丰富多样的新工具。但在选择开发套件时,五花八门的产品也会让设计师感到眼花缭乱。
物联网开发套件概览
设计工程师可以通过物联网开发套件中的新工具快速开发新的物联网 (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) 计算机工程硕士学位。
评论
查看更多