蜂窝物联网 (IoT) 是一种低功耗广域网 (LPWAN) 技术,为从智能城市到农业以及远程基础设施监测等应用提供了一种清晰而成熟的方案来建立安全强大的物联网。但蜂窝物联网是一项复杂技术,对于缺乏经验的设计者而言,着手开展项目会令人望而生畏。
但是,在使用熟悉的通用微控制器 (MCU) 和集成设计环境 (IDE) 的蜂窝开发板上建立项目,可以让蜂窝物联网设计变得轻松。在开源软件库和简单传感器连接的支持下,从硬件布局一直到发送数据至云端,这些开发板使设计人员更容易开始蜂窝物联网项目。
本文先简要概述蜂窝物联网的优势,再介绍该技术可能带来的设计复杂性,然后说明如何使用蜂窝物联网开发板来消除这种复杂性。最后,本文将介绍如何设置 Microchip Technology 开发板,将简单的颜色和温度数据发送到云端。
什么是蜂窝物联网?
蜂窝物联网使用低功耗蜂窝技术将物联网终端设备(如传感器和执行器)连接至云端。这是一种 LPWAN 技术,特点是千米以上的覆盖范围、高密度终端设备支持和低吞吐量。
尽管存在其他 LPWAN 技术,尤其是 LoRaWAN(见“用端到端入门套件加速 LoRaWAN 物联网项目”)和 Sigfox,但蜂窝物联网提供一些关键优势,包括:
· 面向未来:作为一项标准,蜂窝物联网规范一直处于审查和发展中。
· 可扩展性:蜂窝物联网可以通过成熟的蜂窝架构支持物联网的快速部署。
· 服务质量 (QoS):蜂窝物联网具有高可靠性,因为它基于已在大量商业应用中经过证明的成熟基础设施。
· IP 互操作性:终端设备可以直接连接到云端,而不需要昂贵且复杂的网关。
设计人员需要考虑到,采用蜂窝物联网会持续产生与数据传输相关的费用。而 LoRaWAN 等使用非许可频谱的竞争技术则不会。然而,由于竞争压力和越来越多地使用边缘计算,在网络上发送的非重要数据量大幅减少,蜂窝物联网数据成本呈下降趋势。
蜂窝物联网受第三代合作伙伴项目 (3GPP) 监管和更新的电信标准约束。第 13 版 3GPP 标准扩展了其机器对机器 (M2M) 调制解调器的类别,以支持适用于物联网连接的低成本、低功耗和低吞吐量调制解调器。该标准的后续版本进一步增强了这些物联网调制解调器。
配备蜂窝物联网调制解调器的无线传感器,无需昂贵复杂的网关,即可在数公里范围内向云端发送数据,同时具备蜂窝物联网所特有的安全性和 QoS。
LTE-M 与 NB-IoT 的区别
蜂窝物联网有两种形式,LTE M1 类 (LTE-M) 和窄带物联网 (NB-IoT)。这两种类型都设计用于资源受限、通常由电池供电的设备,其中的典型就是物联网和工业物联网 (IIoT) 设备。由于物联网调制解调器连接至现有蜂窝基础设施,因此每个都需要自己的用户标识模块 (SIM)。
LTE-M 基于精简的 LTE (“4G”) 技术,支持安全通信、无处不在的网络覆盖和高系统容量。与 NB-IoT 相比,它能在较宽的带宽 (1.4 MHz) 上作为全双工系统运行,因此改善了延时和吞吐量。原始数据吞吐量为下行 300 千比特/秒 (Kbps),上行 375 Kbps。该技术适用于安全的端到端 IP 连接,由 LTE 小区切换技术提供移动支持。LTE-M 适用于移动应用,如资产跟踪或医疗保健。
NB-IoT 主要设计用于提高能效,能更好地穿透到建筑物和其他射频信号不良的区域。与 LTE-M 不同,它不是基于 LTE 物理层 (PHY)。NB-IoT 使用 200 千赫兹 (kHz) 的带宽,因此调制解调器复杂性比 LTE-M 设备更低。虽然原始数据吞吐量只有区区 60/30 Kbps,但覆盖范围却比 LTE-M 更广。NB-IoT 适合静态应用,如可能被墙壁遮挡的智能电表。
商用蜂窝物联网调制解调器
各种商用 LTE-M/NB-IoT 调制解调器现已上市,如 Sequans 的 Monarch 2 GM02S 模块。该设备支持单个库存单位 (SKU) 的射频前端,适用于 20 个全球 LTE 频段。设备为紧凑型 LGA 模块,尺寸 16.3 x 17 x 1.85 毫米 (mm)。该模块符合第 14/15 版 3GPP 的要求。调制解调器由 2.2 至 5.5 伏的单电源供电,最大发射功率为 +23 分贝,基准 1 毫瓦 (dBm)。
GM02S 支持外部 SIM 和 eSIM 以及集成 SIM,包括一个 50 欧姆 (Ω) 的天线接口。该设备提供了 LTE-M/NB-IoT 软件堆栈和 Sequan Cloud Connector 软件,以方便连接到商业云平台(图 1)。
图 1:Sequans 的 GM02S LTE-M/NB-IoT 调制解调器采用紧凑封装,配有成熟的软件堆栈。(图片来源:Sequans)
蜂窝物联网设计挑战
虽然 GM02S 调制解调器是高度集成的设备,带有软件堆栈和云连接,但与所有商业调制解调器一样,仍需进行大量的开发工作,物联网应用才能向数公里外的云端无缝发送数据。
调制解调器的设计完全是为了处理终端设备与基站之间的通信。为了控制调制解调器并运行传感器应用软件,还需要单独的监督和应用处理器。此外,设计人员还需要考虑天线电路、电源以及为终端设备配备 SIM 卡,以确保与蜂窝网络的无缝连接(参见“如何在物联网设计中使用多频段嵌入式天线以节省空间、降低复杂性和成本”)。
除了硬件设计之外,还需要一些编码技能,才能使蜂窝模块连接到网络并收发数据。如果设计采用外部应用 MCU,则通常使用 UART 串行链路与蜂窝模块通信(虽然也使用其他 I/O 接口)。AT(“注意”)命令是控制蜂窝调制解调器的标准方法。该命令包含一系列短文本字符串,可以将这些字符串进行组合,以生成拨号、挂断和更改连接参数等操作。
有两种类型的 AT 命令:非“+”开头的基本命令,例如,“D”(拨号)、“A”(应答)、“H”(勾控制)和“O”(恢复在线数据状态)。“+”开头的扩展命令,例如,“+CMGS”(发送短信)、“+CMGL”(列出短信)和 “+CMGR”(读取短信)(参见“使用蜂窝模块将创客项目连接到 IoT”)。
这些硬件和软件考虑因素给蜂窝物联网带来了复杂性,可能会使经验不足的设计者进展缓慢。幸运的是,应用 MCU 和蜂窝物联网调制解调器制造商现在已开始携手提供硬件和软件设计工具,使得利用这一重要的 LPWAN 技术更加容易。
使用物联网开发板消除复杂性
在专门设计的开发板上建立原型使应对蜂窝物联网设计的挑战变得容易得多。开发板硬件通常包括天线、电源、有一定免费数据流量的 SIM 卡、应用处理器和确保良好射频性能的调谐网络。这为设计人员的项目提供了坚实的硬件基础,使他们能够专注于应用开发。如果选择了正确的开发板,甚至可以在熟悉的 IDE 中进行应用开发。
流行的蜂窝物联网开发板的一个示例是 Microchip 的 EV70N78A AVR-IoT Cellular Mini 开发板。这是一个硬件平台,基于流行的 Microchip AVR128DB48 MCU,以及前文详述的 Sequans Monarch 2 GM02S 蜂窝模块。该 MCU 是一款 8 位、24 MHz 设备,有 128 千字节 (KB) 闪存,16 KB SRAM,512 字节 EEPROM,采用 48 引脚封装。
该开发板还集成了 ATECC608B 安全元件;连接至 LTE-M 或 NB-IoT 网络后,ATECC608B 可用于云端验证硬件,以唯一地识别每块开发板。
为了让设计人员更轻松,Microchip 开发板还包括一张可激活的 Truphone SIM 卡,具有 150 兆字节 (MB) 的数据流量。
该开发板具有五个用户 LED、两个机械按钮、一个 32.768 kHz 晶体、颜色和温度传感器、一个 Adafruit Feather 兼容的边缘连接器、一个 Qwiic I2C 连接器、一个板载调试器、一个 USB 端口、电池和外部输入电源选件,以及一个带有充电状态 LED 的 MCP73830 锂离子/锂聚合物电池充电器(图 2)。
图 2:AVR-IoT Cellular Mini 开发板基于 AVR128DB48 MCU,配有 SIM 卡和 150 MB 数据流量。(图片来源:Microchip Technology)
启动蜂窝物联网项目
蜂窝物联网的目的是无线连接物联网终端设备,如传感器和致动器,以便发送数据到数公里外的云端。在 Microchip 开发板上,MCU 预装了固件映像,这是一个演示应用程序,用户可通过它快速连接到基于云的沙盒(由 AWS 托管)并发送板载温度和颜色传感器的数据。
要使硬件做好开发准备,只需激活并插入 SIM 卡,将外部天线连接到板上,将板上的调试 USB-C 端口连接至 PC,扫描板底部的二维码或打开大容量存储设备,并按照 CLICK-ME.HTM 进入套件网页。
来自 Github 的 Microchip 物联网配置工具提供了一个易于使用的解决方案,可将 AVR-IoT Cellular Mini 配置到选定的云提供商、设置网络提供商和选择蜂窝频段。(为了让沙盒演示固件工作,必须针对 AWS Microchip 沙盒配置开发板)。
开发人员对演示应用程序有了一定的信心后,他们就可以开始使用开发板的完整 Arduino IDE 支持来构建自己的应用程序。这种支持基于 Github 上托管的 AVR 物联网蜂窝 Arduino 库。该库建立在开源 DxCore 之上(图 3)。
图 3:AVR IoT 手机物联网库(橙色)包括用于编程和控制开发板的软件模块(绿色为简化形式)。(图片来源:Microchip Technology)
板载调试器 (PKOB nano) 为 Arduino IDE 提供全面编程支持。不需要任何外部工具,还可接入串行端口接口(串口转 USB 桥)和两个逻辑分析器通道(调试 GPIO)。AVR IoT Cellular Mini 板上的板载调试器在主机的 USB 子系统上显示为人机界面设备 (HID)。对于更大型的项目,此开发板的 Qwiic 和 Feather 兼容边缘连接器允许使用 Sparkfun 和 Adafruit 的各种扩展板轻松扩展(图 4)。
图 4:此 AVR 物联网开发板方框图显示,与主机的连接是通过调试器的 USB 链接,而应用 MCU 编程是通过调试器 UART 链接。请注意,应用 MCU 与蜂窝式调制解调器之间也是通过 UART 连接。(图片来源:Microchip Technology)
开始应用编程需要下载并安装 Arduino IDE 和 DxCore。接下来,需要配置 Arduino IDE,以允许 AVR 物联网蜂窝 Arduino 库运行(清单 1)。
清单 1:允许 AVR 物联网蜂窝 Arduino 库运行的 Arduino IDE 配置。(代码来源:Microchip Technology)
IDE 配置完成即可安装库。完成后,可以访问开发板的几个库示例。熟悉 Visual Studio Code 集成开发环境的设计人员可以用它进行 AVR 物联网开发,只要安装 Arduino 插件即可。在任何 IDE 中开发的 Arduino 应用程序代码都可以通过板载调试器移植到开发板的 MCU 上。
进行功耗测量
蜂窝物联网设计为低功耗运行,以延长电池供电的物联网终端设备的寿命。因此,优化应用程序代码以实现最小功耗非常重要。
在 Microchip 开发板上,所有开发板元器件的电源都通过五条分割带连接。这些分割带也可用于测量电流。为了测量所需电路的功耗,只需割开分割带并穿孔连接电流表(图 5)。
图 5:AVR 物联网开发板上的分割带可以用来测量关键电路的功耗。(图片来源:Microchip Technology)
该开发板还具有系统电压测量电路,通过 MIC94163 开关和连接至 MCU 上 ADC 引脚的分压器,实现了按需测量并防止通过分压器漏电。要测量系统电压,请遵循以下步骤:
1 配置 ADC 的电压基准。
2 将 MCU 的 GPIO 系统电压测量使能引脚 (PB3) 设为高电平,以启用分压器。
3 将 MCU 的 ADCO 系统电压测量引脚 (PE0) 设置为 ADC 输入。
4 运行单端模数转换 (ADC)。
5 用公式计算电压:V = ADC 结果 x VREF x 4/ADC 分辨率。
最后,通过以下步骤测量电源电压也很简单:
1 配置 ADC 的电压基准。
2 选择 VDD 或 VDDIO2 作为 ADC 的正输入。(VDD 和 VDDIO2 是 MCU 的 ADC 可用内部输入通道)。
3 运行单端 ADC 转换。
4 用公式计算电压:V = ADC 结果 x VREF x 10/ADC 分辨率。
总结
蜂窝物联网是一种流行的 LPWAN,其商业潜力越来越大。然而,设计由蜂窝物联网驱动的终端设备需要兼具硬件和软件专业知识。为了帮助设计人员,新型蜂窝物联网开发板,如 Microchip 的 EV70N78A AVR-IoT Cellular Mini 开发板,提供了一个快速原型设计途径。
这种开发板使用高端 LTE-M/NB-IoT 调制解调器和流行的 Microchip MCU。使用 Arduino 或 Visual Studio Code IDE 可以简化应用程序代码的开发。