首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为您的下一个 IoT 项目选择最佳硬件(2)

为您的下一个 IoT 项目选择最佳硬件(2)

用于为 IoT 项目设计原型的现有硬件类型开发 IoT 应用程序比以往更容易,这得益于现在有越来越多低成本、商业性的硬件开发板、平台和原型设计工具包。模块化的硬件设计使得开发 IoT                应用程序更加灵活。您可以替换备用组件,试用规格略有不同的传感器,或者可以独立地升级设备的网络、数据处理或存储模块,以满足不断变化的需求。
包括微控制器和单板计算机在内的许多现有的商业性硬件设备,都是围绕单芯片系统 (SoC) IC 而设计。SoC                    将包括数据处理、存储和网络在内的大量功能集成到一个芯片上。这种配置意味着,您会牺牲一些灵活性来换取便捷性,但幸运的是,有大量具有一系列配置的商业性设备可供选择。例如,表 1列出选择用于 IoT 项目原型设计的微控制器的技术规格,表 2对 3 种常见的单板计算机 (SBC) 进行了比较。
微控制器开发板微控制器 是一种提供数据处理和存储功能的 SoC。微控制器包含一个(或多个)处理器内核、内存                (RAM,随机存取存储器),以及用于存储在微控制器上运行的自定义程序的可擦除可编程只读寄存器 (EPROM)。微控制器开发板 属于                PCB(印制电路板),但增加了额外的电路来支持微控制器,使对芯片进行原型设计和编程变得更方便。
传感器和执行器通过数字或模拟通用输入/输出 (GPIO) 引脚或硬件总线来连接到微控制器。 和                 等标准通信协议用于与总线上连接的组件进行设备内通信。通过采用各种标准,可以更容易地添加或替换与总线连接的组件。
Arduino ()                是一个开源设备平台,其制造兼容开发板和工具的社区十分活跃。不同官方 Arduino 型号 ()的设备功能不同,数十种第三方兼容电路板的设备功能也有差异。表 1 中的所有设备都是兼容 Arduino 的微控制器,包括无处不在的 Arduino                Uno,Particle 的 Electron(其中集成了一个蜂窝式调试解调器),以及 Espressif Systems 集成了 WiFi 的低成本、低功耗微控制器                    ()                ESP8266-01。
图 1. Arduino 微控制器开发板
像 Arduino 一样,ESP8266 拥有一个活跃的采用者社区。基于 ESP8266 的著名的开发板包括 NodeMCU ()、WeMos D1 () 和 AdaFruit 的 Feather Huzzah ()。开源和制造者社区已为基于                ESP8266 的开发板开发了许多备选固件,使 IoT 开发人员能使用 Lua、Python 和 JavaScript 为这些开发板编程,并支持无线 (OTA)                更新。
表 1. Uno、Electron 和 ESP82566-01                    微控制器的技术规格 特征  功能  Arduino Uno  Particle Electron  Espressif Systems ESP8266-01 数据获取和控制
GPIO 引脚 6 个模拟输入引脚
14 个数字引脚 - 6 PWM  12 个模拟输入引脚
2 个模拟输出引脚
30 个数字引脚 - 15 PWM
2 个数字引脚
1 个模拟引脚
逻辑电平电压 5V  3.3V  3.3V 数据处理和存储
处理器 ATMega328PU  32 位 STM32F205  32 位 Tensilica L106
处理器速度 16 KHz  120 MHz  80 MHz
内存 32 kB 闪存,
1 kB EEPROM  1 Mb 闪存,
128 kB RAM  1 Mb 连接性
网络接口 默认情况下没有连接。可通过孔壁添加。  集成蜂窝调制解调器 (2G / 3G)  集成 WiFi 电源
推荐电源 9-12V DC 0.5 - 2A 孔壁或 5V 500mA USB 或通过 VIN 引脚提供 9 - 12 V 电压  5V micro USB 或通过 VIP 引脚提供 3.9V-12VDC 电压  通过 VCC 引脚提供稳定的 3.3V 300mA 电源 其他
尺寸 2.7 英寸 X 2.1 英寸  2.0 英寸 x 0.8 英寸  1.4 英寸 x 1 英寸
典型成本 25 美元  39 - 59 美元  10 美元 要开发在兼容 Arduino 的微控制器上运行的软件,标准方法是使用 C 或 C++ 和 Arduino                IDE,但是也有一些社区开发的语言绑定和可视编程工具。具有相同引脚布局且兼容 Arduino 的开发板能使用可选的第三方孔壁进行扩展,例如为了向 Arduino Uno                添加以太网端口或蓝牙。Arduino 是采用最广泛的业余爱好者微控制器开发环境,但是其他的像 Tessel () 和 Particle.io () 这样的环境原生支持,而 MicroPython 的 PyBoard () 和 WeIO () 等开发板支持                Python。
选择兼容 Arduino 的微控制器,更容易将使用跨平台 Arduino 库和 Arduino IDE 开发的程序移植到其他兼容 Arduino                的设备上运行。您仍然需要应对一些差异,例如,Arduino Uno 使用数字 I/O 引脚上的 5V 逻辑电压(其中 0V 等于 LOW 或 OFF,5V 等于                HIGH 或 ON),但 ESP8266 和 Particle 开发板使用 3.3V 逻辑电压(3.3V 表示                HIGH)。这可能影响您对传感器或执行器组件的选择,因为一些组件仅适用于某一种开发板。将针对 5V 逻辑电压设计的传感器替换为 3.3V                逻辑电压的传感器可能会导致意外结果,也可能损坏经受不住更高电压的引脚,所以您需要添加一个逻辑电平转换器才能使移植奏效。在实现低水平硬件功能时,比如启用深度睡眠模式或使用特定协议从连接的传感器读取数据,可能需要依靠特定于设备或组件的库,这些库会导致代码更不容易移植。
返回列表