如今,物联网 (IoT) 中的设备具有各种不同的形状和尺寸。它们可以是智能手表、智能电视、制造中的智能机器人以及用于天气监测的智能传感器。这些设备中的每一个都有不同的要求。例如,出于安全原因,制造中的许多设备需要实时响应。如果一个人距离活动机器太近,该机器应该配备物联网传感器来检测接近程度并能够立即关闭。
另一方面,对于许多其他智能设备来说,立即响应并不重要。您的应用程序和智能恒温器告诉恒温器加热房间之间的两秒延迟可能不是一个大问题,因为加热设备需要一些时间才能将房间加热到正确的温度。
由于物联网如此多样化,因此在物联网设备开发方面不存在“一刀切”的情况。您需要针对不同的物联网用例使用不同的物联网开发套件。以下指南介绍了如何准确找到实现物联网开发目标所需的内容。
只需几分钟即可在您的 PC 上设置模拟物联网视频监控设备。
我们的全栈演示让您可以访问 Nabto 平台,因此您现在就可以尝试。我们专注于安全、低延迟的 P2P 连接。获取演示应用程序来尝试一下。
使用您的物联网开发套件
开发新的物联网实施并对其进行原型设计是一个微妙的过程。设备可能需要极其复杂或相对简单,具体取决于多种因素,包括设备需要收集或处理多少数据、是否需要实时响应、是否优先考虑低功耗等。
IoT 开发套件提供硬件和固件,可让您创建原型甚至最小可行产品 (MVP)。最小可行产品本质上是产品的基本原型版本,开发人员可以将其商业推广到小型客户群以进行测试。
当您推出 MVP 并尝试根据测试用户反馈更改产品时,新迭代的事情可能会变得复杂且昂贵,除非您有一种简单的方法来访问和更改固件。固件本质上是内置基本软件的硬件。无需下载额外的软件即可执行基本功能,因为这些功能已经是设备的一部分。
固件的问题在于它并不总是那么容易改变。例如,您的计算机具有某些功能,您作为用户无法通过典型的操作系统界面进行更改,例如计算机开机和关机的方式。这些功能是内置的。为了更改这些功能,您必须更改固件本身。
这就是物联网开发人员使用开发板的原因。开发板公开了固件和基本硬件,可以轻松访问输入/输出 (I/O) 引脚以进行定制。I/O 引脚是小硬件,是许多电路板和微控制器单元 (MCU) 的一部分。这些引脚还允许硬件发送和接收信号并实现用户交互。您可以使用它们构建自定义电路,并根据您所考虑的产品规格开发或更改固件。
在物联网开发板上寻找什么
虽然您可能会发现为您的项目找到合适的物联网开发板是一项艰巨的任务,但在开源硬件(OSHW)领域有一些不错的选择。您可能已经非常熟悉开源软件的概念,开源软件是公开源代码的软件,以便任何人都可以在个人项目中使用或修改该代码。同样,开源硬件是指任何人都可以使用和修改的公共硬件设计。Arduino 平台就是一个例子,它提供开源电路板设计。
无论物联网开发板是否开源,它都需要具备一定的能力来对不同的功能或产品进行原型设计。首先,任何此类板都需要支持不同类型连接的硬件。例如,某些开发板仅支持 Wi-Fi 或蓝牙连接,需要辅助硬件来支持蜂窝连接,而其他开发板则内置蜂窝连接。
不同的板卡还可能支持不同的通信协议,就像允许物联网设备在物联网系统中相互通信的不同语言一样。IoT 的一种常见通信协议是集成电路间 (I2C) 协议,该协议以数据包的形式短距离发送数据。另一种是串行外设接口(SPI)协议,它也用于短距离通信,但连续发送数据流而不是发送数据包。其他需要考虑的功能是特定设备可能有多少个 USB 或 HDMI 端口用于视频流。
不同的主板也可能有不同的功率规格。有些板允许脉宽调制 (PWM),而另一些则不允许。PWM 意味着快速打开和关闭电源,而不是提供连续的电源流。可调光 LED 灯使用 PWM,因为 LED 灯实际上会以很高的速度闪烁,在打开位置花费更多时间以保持强照明,并在关闭位置花费更多时间以保持较暗的照明。因此,使用 PWM 的物联网设备的一个例子是智能可调光灯,您可以通过智能手机或智能手表进行控制。
最后,您需要知道是否需要微控制器 (MCU) 还是微处理器 (MPU),因为两者具有不同的功能和用例。
微控制器 (MCU) 与微处理器 (MPU)
值得花一些时间来了解物联网开发新手可能经常混淆的概念,即微控制器单元 (MCU) 与微处理器(也称为微处理单元 (MPU))之间的区别。
微处理器板将包括一个完整的操作系统,通常是Linux,在到达时嵌入。MPU 比 MCU 需要更多的功率。另外,大多数人使用 MPU 来执行多个同时执行的任务,或者更确切地说,任务切换发生得如此之快,以至于看起来像是多个任务同时运行。MPU 有很多功能,因此它们并不总是适合实时任务,因为有太多变量无法确保每次的准确性和可靠性。它们的成本也比 MCU 更高。
MCU 通常运行实时操作系统 (RTOS),这是一种非常轻量级、简化的操作系统版本,一次只能执行一项任务或进程。优点是专注于一项任务可以让 MCU 实现实时响应。这在制造业中可能是必要的,例如,如果机器发生火灾并且机器需要故障保护装置在检测到火灾后几毫秒内关闭。用户可以为 RTOS 任务分配不同的优先级,以便最重要的故障保护始终优先于更普通的通信。MCU 内的调度程序将立即切换到该任务并放弃 MCU 当前正在执行的任何任务,以实现更快的响应。
一些带有 MCU 的最小开发板(尤其是 Arduino 的开发板)根本没有操作系统。相反,他们运行一个简单的滴答调度程序,可以重复执行简单的任务。
由于 MCU 成本较低,因此通常用于资源有限的物联网环境和应用程序。换句话说,如果您需要在一个大型工厂内使用 1000 个物联网设备来进行监控和安全,那么您不需要昂贵、耗能的设备。您需要相对便宜、节能的 MCU。
抛开这种区别,让我们来看看今年流通的优秀物联网板。
2024 年排名前 10 的 IoT 主板有哪些?
在选择最适合物联网的微控制器或最好的微处理器板时,有很多选择。我们将了解一些最重要的规格,包括处理器类型、内存、多媒体和连接功能、电源规格、输入和低级 I/O,即可用于输入和输出的通信系统和协议传入和传出设备的信息。
1.Giant 板
Giant 板是一款单板计算机 (SBC),这意味着它拥有计算机在单个类似电路板的布置上运行所需的一切,包括 MPU。另外,该设计是开源的,这意味着您可以进行任何所需的修改。详细信息如下:
2.Arduino MKR GSM
Arduino MKR GSM 1 非常适合原型设计设备,因为 Arduino 具有开箱即用的 2G 和 3G 蜂窝连接。
3.树莓派Raspberry Pi 4 Model B
Raspberry Pi 4 Model B 是爱好者、程序员甚至游戏玩家熟知的 SBC。该模型还拥有物联网设计原型可能需要的一切。
4.Arduino Uno REV3
Arduino Uno REV3 是一款带有 MCU 的轻量级开发板。还有一个更小、更基本的版本,称为 Arduino Uno Mini Limited,尽管两者的大多数功能保持相同。
5.BeagleBoneGreen网关
BeagleBone 是另一个相对知名的 IoT 开发板资源。Green Gateway 拥有稳定的 RAM、闪存和 1GHz 处理器,因此就能耗和处理而言,该主板更偏重。
6.ESP32-网关
Olimex 的 ESP32 网关开发板具有一系列不同的 IoT 连接选项。它也非常适合工业环境和可穿戴设备,因为该板具有较宽的安全工作温度范围和非常低的功耗要求。
7.Jetson Nano
Jetson Nano 的能耗和处理能力较高。该板可以同时运行多个应用程序。开发人员经常将其用于机器学习和人工智能项目。
8.UdooBolt V8
Bolt V8是Udoo开发的SBC,但其处理能力约为典型PC的水平。该开发板具有足够的通用性,几乎可以满足您可能想到的任何物联网项目,除了那些资源特别有限的物联网设备。
9.Particle Boron
即使按照典型物联网开发板的标准,硼颗粒也很小。尽管如此,它仍然具有许多使其非常适合原型设计的功能。
10.BeagleBone Black
BeagleBone Black 有点不寻常,因为它包含触摸屏。除此之外,Black board 是标准的开源开发板设计。
Nabto 的物联网开发板演示解决方案
物联网开发并不容易,但有了这些开发板,从业余爱好者到专业物联网开发人员的任何人都可以开始测试不同的物联网应用程序并制作原型。无论您选择哪种开发板,您都需要一种方法来测试不同用例的原型的连接性。Nabto Edge Embedded SDK提供远程连接并且是开源的。该 SDK 与基于 Linux 的设备兼容,因此它非常适合上述许多选项。
此外,使用 Nabto Cloud Console,您可以开始使用计算机和智能手机测试物联网应用程序和概念。Nabto 为此提供了演示应用程序,包括物联网视频和恒温器应用程序。
总而言之,Nabto 非常适合与任何物联网设备或原型建立直接且安全的远程连接。