如何快速连接到云端并向其直接发送物联网数据然后进行远程访问
投稿人:DigiKey 北美编辑
2019-03-13
许多开发人员都在开发需要连接到云端的物联网 (IoT) 项目,以便进行数据存储和远程访问,以及使用即时的数据分析服务。然而,开发人员很难找到最有效、安全的连接方法。
本文将介绍如何使用 Microchip Technology 的 Google Cloud 评估板作为物联网传感器端点,来连接到 Google Cloud IoT 平台。这样一来,该评估板便能够存储数据,随后即可通过基于浏览器的简单界面从任意位置进行读取。
云存储使用入门
对于嵌入式物联网端点,若要着手部署云托管,则需要具备所需安全连接和软件的云服务器。Google Cloud Platform (GCP) 恰恰可以满足此项要求。此外,嵌入式物联网端点必须具有可以远程控制端点的固件。Microchip Technology 通过 AC164160 AVR-IoT 云评估板提供所有必要的软件,简化了开发过程。
图 1:Microchip 的 AVR-IoT 云评估板是一个完整的物联网端点,可供开发人员用来将项目快速连接到 Google Cloud IoT 服务器。(图片来源:Microchip Technology)
虽然 AVR-IoT 评估板适用于物联网端点,但仔细观察其运行情况,还可得知物联网端点和云计算的工作原理。
AVR-IoT 评估板的操作
该评估板配置后可通过 Wi-Fi 连接到 Google Cloud 服务器。建立服务器连接后,可以实时存储和显示数据。
该评估板的元器件经过精心挑选并针对低功耗进行优化,因此成为电池供电型物联网端点的理想选择。微控制器是 Microchip 的 ATMEGA4808-MFR 8 位 AVR® 处理器,工作频率为 20 兆赫 (MHz),功耗为 8.5 毫安 (mA)。在待机模式下,只有实时时钟 (RTC) 在运行,仅消耗 690 纳安 (nA) 电流。
微控制器可控制评估板,并与所有传感器和 LED 连接。内核由 48 KB 闪存、6 KB SRAM 和 256 字节的 EEPROM 提供支持。EEPROM 用于存储 Wi-Fi 连接数据。双周期硬件倍频器则通过减少 CPU 周期来节省电力。
ATMEGA4808 配有全套外设,包括 4 个 16 位定时器、3 个 USART、1 个 SPI 接口和 1 个模拟比较器,非常适合低功耗物联网传感器端点应用。
对于 Wi-Fi 连接,ATMEGA4808 通过 SPI 串行端口连接到 Microchip Technology 的 ATWINC1510-MR210UB1961 2.4 千兆赫 (GHz) 802.11 b/g/n 物联网 Wi-Fi 模块(图 2)。这是一款完全自足式产品,支持 WEP、WPA 和 WPA2 安全等级,并且配有集成天线,可帮助可能不是射频天线布局专家的开发人员快速上手。如果需要额外的范围,此产品也支持外置天线。加密连接则通过 TLS 获得支持。
图 2:Microchip Technology 的 WINC1510 Wi-Fi 模块的尺寸为 21.7 mm x 14.7 mm,支持 2.4 GHz 802.11 b/g/n 无线接入点。该模块通过 SPI 串行端口连接到主机微控制器。(图片来源:Microchip Technology)
WINC1510 采用 2.7 至 3.6 伏电源供电,工作时消耗 290 mA 电流。打盹模式可在保存所有设置的同时关闭此器件。在此模式下,该模块仅消耗 380 微安 (µA) 电流,这对于打开和关闭无线电的较低功耗应用(如信标监控)非常有用。WINC1510 具有在 150 毫秒 (ms) 内连接到 Wi-Fi 接入点的能力。连接主机微控制器的完整接口使用 8 个引脚:1 个四线 SPI 从接口和 4 个用于控制信号的 GPIO。由于此模块拥有在美洲、欧洲和亚洲使用的所有认证,因此极大简化了最终设计获得 FCC 批准的过程。
AVR-IoT 评估板的尺寸为 63.5 mm x 25.4 mm,可通过 USB 电缆连接到 PC,同时实现电源和数据传输,并且支持 Windows、Linux 和 MacOS。接通电源后,评估板上的四个 LED(蓝色、绿色、黄色和红色)将从左到右依次闪烁两次,表示评估板正常运行。
该评估板看起来像 PC 的一个 U 盘,且会显示五个文件。要连接至互联网,开发人员可单击名为 CLICK-ME.HTM 的文件,这样会在默认浏览器中打开一个页面,开发人员可通过该页面连接到本地 Wi-Fi(图 3)。
图 3:通过在该 CLICK-ME.HTM 文件的左下角输入 Wi-Fi 接入点信息,可将 Microchip 的 AVR-IoT 评估板连接到本地 Wi-Fi 网络。(图片来源:Microchip Technology)
在输入网络名称、选择网络类型并输入密码后,蓝色 LED 将亮起,表示评估板已连接到本地 Wi-Fi 网络。不久后,绿色 LED 将亮起,表示评估板已连接到 Google Cloud 服务器。每当评估板将数据发送到 Google Cloud 服务器时,黄色 LED 都会闪烁。AVR-IoT 与 Google Cloud 服务器之间发送的所有信息均会经过加密。
物联网、加密连接和数据加密
接入点之间的互联网通信通过安全连接进行,该连接通常使用传输层安全 (TLS) 协议进行加密。然而,黑客仍然有可能在加密连接中找到缺陷,并通过发起“中间人攻击”来捕获数据。为了防止设计成为此类攻击的牺牲品,还需要对数据进行加密,通常使用 AES 或 SHA 加密标准。
为了对传输到 Google Cloud 的数据进行加密,AVR-IoT 配备了 Microchip Technology 的 ATECC608A-MAHCZ-T CryptoAuthentication™ 安全芯片,该芯片通过 I2C 接口与 AVR 微控制器相连。ATECC608A 是一种加密存储器芯片,支持多种加密标准,包括 AES-128 和 SHA-256。该芯片用于存储与 Google Cloud 服务器通信所使用的公钥和私钥。
每块 AVR-IoT 中的所有 ATECC608A 均由 Microchip Technology 进行预先编程,使其具有自己唯一的公钥和私钥。ATECC608A 中的私钥处于安全存储状态,即使使用逻辑分析仪监视和记录 I2C 接口,也无法显示私钥。公钥则会显示在发送到 Google Cloud 的 URL 以及 PUBKEY.TXT 文件中,后者可以通过连接到 AVR-IoT 的主机 PC 的 USB 接口进行读取。只有根据保密协议,才能从 Microchip Technology 获得 ATECC608A 的详细运行信息。
不过,AVR-IoT 中 ATMEGA4808 微控制器内的固件已经预先经过配置,可以在安全的 Google Cloud 项目中有效使用 ATECC608A。这样一来,ATECC608A 加密函数的详细信息对开发人员而言几乎清楚易懂,从而极大地简化并加快开发。
对于高安全性的物联网端点,ATECC608A 可以同时保护应用和自身。此芯片对物理黑客攻击具有很强的抵抗力,可以检测并防止许多旁路攻击,例如应用极冷来保持存储器内容,或者应用极快或极慢的 I2C 时钟。ATECC608A 还可以检测到是否有人试图打开器件的盖子,以检查其内部架构。器件的内部存储器内容也会经过加密。ATECC608A 还可能包含只有 Microchip Technology 工程师才知道的机密安全机制。
使用 Google Cloud IoT 服务器
在 AVR-IoT 连接到 Google Cloud IoT 服务器后,便开始交换数据。AVR-IoT 包含光传感器和温度传感器。来自这两个传感器的数据将会发送到 Google Cloud 服务器,并可实时显示(图 4)。如需查看数据,开发人员只需在任一浏览器中输入以下 URL:
avr-iot.com/device/{publickey}
其中 {publickey} 是分配给 AVR-IoT 评估板的公钥。
由于使用的 Google Cloud 服务器是演示版沙盒帐号,因此从 AVR-IoT 发送到 Google Cloud 的数据不会永久存储,并且会在与服务器的连接断开时删除。
图 4:Google Cloud IoT 服务器提供的网页可以显示从 AVR-IoT 收集的温度传感器和光传感器数据。(图片来源:Microchip Technology)
如需了解功能更全面的云服务器,AVR-IoT 套件含有升级到私有 Google Cloud 帐户的说明。使用私有 Google Cloud 帐户,开发人员可将信息永久存储在 Google Cloud 上,以供日后使用。开发人员还可在私有 Google Cloud 上构建可与 AVR-IoT 通信的 Web 接口,允许 Web 接口在线托管应用,从而可将命令发送到评估板上的定制固件。例如,开发人员可以在世界上的任何地方,控制 ATmega4808 上任何一个可连至电子设备的 GPIO 引脚。
总结
虽然有许多书籍和网站阐述了云存储、访问及使用方面的知识,但通过示例来学习通常是最容易的方式。Microchip 的 AVR-IoT 评估板可轻松连接到云端,同时展示了云存储、加密及物联网端点控制的基础知识。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。