Skip to main content
shopping_basket 购物车 0
登录

亲身体验 Microchip SAM-IoT WG

main debugging device

 

物联网开发板将低功耗的 32 位 ARM Cortex M0+ 与灵敏的传感器相结合,实现了开箱即用的云体验。

Microchip SAMD21 是一款流行的 32 位微控制器,具有优异的性能和低功耗。它非常适合物联网应用,也常被集成到众多的制造商平台中,例如 Arduino Zero。SAM-IoT WG 板将它与 ATWINC1510 低功耗 802.11 b/g/n 无线模块结合在一起,还集成了许多其他功能,包括板载编程器和调试器以及功能齐全的 IDE 支持等。

硬件

Atmel Chip

SAM-IoT WG 的主要硬件功能如下:

  • ATSAMD21G18A 微控制器
  • ATWINC1510 模块
  • ATECC608A 安全元件
  • MCP9808 温度传感器
  • 嵌入式调试器(nEDBG)
  • MCP73871 LiPo 充电器
  • TEMT6000 光传感器
  • mikroBUS 连接器,用于通过 Click 板进行扩展
  • 状态指示灯

其中一个特别好的功能是 Nano 嵌入式调试器(nEDBG),它提供了对串行端口接口、USB 大容量存储设备的访问,便于进行拖放编程,它还有微控制器 SWD 接口,可以在附带的 IDE 中直接对 SAMD21 进行编程和调试。

开箱演示

curiosity software

当把主板插入 USB 端口时,一个存储驱动器将被安装,其中有一个名为 CLICK-ME.HTM 的文件。

microchip website

单击该文件后,将启动一个新的网页浏览器会话,同时打开一个 Microchip 网站页面,其中建议我们更新到最新的固件。下载 HEX 文件后,我们可以将其拖放到 USB 存储驱动器上,以便更新主板。

网页上还有一个表格,我们可以在其中输入 WiFi 网络的详细信息。

wifi config

随后,一个名为 WIFI.CFG 的文件将被下载,我们需要再次将其保存到 USB 存储驱动器上,以供主板使用。

此时,SAM-IoT 板的 WiFi 应该被配置,它应该连接到我们的本地网络。不幸的是,在我们的演示中,故障 LED 一直亮起。为了确保万无一失,我们重复了几次这个过程,但问题仍然存在。

Terminal Serial setup

不用担心,因为接下来我们要做的就是连接到主板附带的 USB 串行端口,该端口在 Linux 下显示为  /dev/ttyACM0

wifi logon

在上面的截图中,SSID 和密码被遮挡住了,但输入的命令是:

wifi SSID, PASSWORD, 2

 

末尾的数字 2 指示主板应使用 WPA/WPA2 安全。对于开放网络,我们会使用 1,对于 WEP,我们会使用 3。关于具体的命令行界面细节,请参见 SAM-IoT WG 开发板用户指南


trace plots

这时,主板已连接到 WiFi 网络,再次查看网页时,我们现在可以看到光和温度传感器图。

尽管最初出现了一点小麻烦,但它根本没有浪费我们很多时间来启动和运行,传感器数据现在通过 WiFi 从主板流式传输,并显示在浏览器窗口中。

接下来让我们来看看如何设置固件开发工具。

MPLAB X IDE

setting up the IDE

我们之前加载的页面有一个名为“下一步”的部分,其下是一个名为“构建您的传感器代码”的子部分。在这里,我们被指示安装:

  1. MPLAB X IDE 40 或更高版本(下载)
  2. MPLAB XC32 编译器41 或更高版本(下载)
  3. MPLAB Harmony v3 配置器41 或更高版本(从 IDE 中安装)

下载 IDE 和 C 编译器后,使用以下命令安装:

$ tar xvf MPLABX-v5.40-linux-installer.tar

$ sudo ./MPLABX-v5.40-linux-installer.sh

$ chmod +x xc32-v2.50-full-install-linux-installer.run

$ sudo ./xc32-v2.50-full-install-linux-installer.run

出现提示时默认选项已被选中。

如起始页所述,具体细节请参见 安装指南

kit window view

如果我们通过 USB 连接主板,在启动 MPLAB X IDE 时,会出现工具包欢迎屏幕,我们可以看到 SAM-IoT WG 已经被检测到。一个气球对话框也会弹出,提示我们有两个更新,于是我们选择安装这两个更新。

select harmony

为了安装 MPLAB Harmony 配置器,我们导航到工具 > 插件,然后在可用插件列表中选中它,接着选择安装。现在我们的开发工具设置就完成了。

load and open project

当我们之前被要求下载最新的固件时,这个 ZIP 文件不仅包含编译后的二进制 HEX 文件,还包含源代码。我们可以通过选择文件 > 打开项目然后查找并选择 sam_d21_iot_wg.X 将项目加载到 IDE 中。

example project

这时,我们可以检查源代码并浏览包含的库等。如果需要,我们还可以进行修改,选择建立项目并对主板进行编程等。顾名思义,这是在利用 谷歌云物联网核心 平台来流式传输传感器的数据。

我们可以以这个例子为出发点,对其进行修改,使用通过排针连接的不同传感器,或者使用不同的云物联网服务。

GCP 和 Firebase

Google cloud platform configuration

我们之所以能够在开箱演示中如此快速地启动和运行并流式传输传感器数据,这要归功于应用固件与谷歌云物联网核心(一种安全的设备连接和管理服务)和 Firebase 集成在一起,后者提供了一个与用户界面托管平台相结合的实时数据库。

提供的示例利用了沙盒环境进行开箱演示,如果我们想自定义用户界面,以不同的方式呈现数据,添加新的设备和传感器等,我们需要在 GCP 上创建一个账户。示例项目托管在 GitHub 上,它随附的文件将指导我们完成设置、注册设备密钥和更新固件等过程。

总结

SAM-IoT WG 是一个简洁的主板,提供了您所需的一切功能,包括硬件、软件和云服务等,可以非常快速地启动和运行,通过与强大的低功耗 ARM Cortex M0+ MCU 相结合,它还可以对物联网应用进行原型设计。

Andrew Back

 

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.
DesignSpark Electrical Logolinkedin