MXChip IoT DevKit 包含内置的磁传感器。 在此项目中,请检测附近是否存在强磁场 - 在此示例中,该磁场来自一块小的、永久性磁铁。
此项目介绍:
- 如何使用 MXChip IoT DevKit 的磁传感器检测附近磁铁的移动。
- 如何使用 SendGrid 服务向电子邮件地址发送通知。
备注
要具体应用此项目,请执行以下任务:
- 将一块磁铁装载到门的边缘。
- 将 DevKit 装载到靠近磁铁的门框上。 打开或关闭此门会触发传感器,然后你就会收到有关此事件的电子邮件通知。
完成入门指南来实现以下目的:
- 将 DevKit 连接到 Wi-Fi
- 准备开发环境
一个有效的 Azure 订阅。 如果没有订阅,可以通过以下方法之一进行注册:
- 激活 Azure 试用帐户。
- 声明你的 Azure 信用额度(如果你是 MSDN 或 Visual Studio 订阅者)。
SendGrid 是基于云的电子邮件传递平台。 此服务将用于发送电子邮件通知。
备注
如果已部署 SendGrid 服务,可以直接转到在 Azure 中部署 IoT 中心。
若要预配 Azure 服务,请使用“部署到 Azure”按钮。 可以通过此按钮将开源项目轻松快捷地部署到 Azure。
单击下面的“部署到 Azure” 按钮。
如果尚未登录到 Azure 帐户,请立即登录。
现在,你将看到 SendGrid 注册表单。
完成注册表单:
资源组:创建用于托管 SendGrid 服务的资源组,或使用现有资源组。 请参阅使用资源组管理 Azure 资源。
名称:SendGrid 服务的名称。 选择一个不同于你的其他服务的唯一名称。
密码:此服务需要一个密码,该密码将不用于此项目中的任何项。
电子邮件:SendGrid 服务将向此电子邮件地址发送验证。
选中“固定到仪表板”选项,以便以后能够轻松查找此应用程序,然后单击“购买”以提交注册表单 。
完成部署后,请单击此部署,然后单击“管理”按钮 。 此时将显示 SendGrid 帐户页,需要在其中验证电子邮件地址。
在 SendGrid 页上,单击“设置” > “API 密钥”> “创建 API 密钥”。
在“创建 API 密钥”页上,输入 API 密钥名称,然后单击“创建和查看”。
API 密钥仅显示一次。 请确保将其安全地复制和存储,因为下一步要用到它。
以下步骤将预配其他 Azure IoT 相关服务并为此项目部署 Azure Functions。
单击下面的“部署到 Azure” 按钮。
此时会显示注册表单。
填充注册表单上的字段。
资源组:创建用于托管 SendGrid 服务的资源组,或使用现有资源组。 请参阅使用资源组管理 Azure 资源。
IoT 中心名称:IoT 中心的名称。 选择一个不同于你的其他服务的唯一名称。
IoT 中心 SKU:F1(一个订阅仅限一个)是免费的。 可在定价页上查看定价详细信息。
发件人电子邮件:此字段的值应与设置 SendGrid 服务时使用的电子邮件地址相同。
选中“固定到仪表板”选项,以便以后能够轻松查找此应用程序,然后准备好继续下一步时单击“购买” 。
接下来,加载 VS Code 中的示例代码并预配必要的 Azure 服务。
- 确保 DevKit 未连接到计算机。
- 启动 VS Code。
- 将 DevKit 连接到计算机。
备注
启动 VS Code 时,可能会收到一条错误消息,指出找不到 Arduino IDE 或相关板包。 如果收到此错误,请关闭 VS Code,再次启动 Arduino IDE,然后 VS Code 就会正确地找到 Arduino IDE 路径。
展开左侧的“ARDUINO 示例”部分,浏览到“MXCHIP AZ3166 的示例”>“AzureIoT”,然后选择“DoorMonitor”。 此操作会打开一个新的 VS Code 窗口,其中包含一个项目文件夹。
还可以从命令面板打开示例应用。 使用 Ctrl+Shift+P
(macOS: Cmd+Shift+P
)打开命令面板,键入“Arduino”,然后找到并选择“Arduino: Examples”。
在解决方案窗口中,运行云预配任务:
- 键入
Ctrl+P
(macOS:Cmd+P
)。 - 在提供的文本框中输入
task cloud-provision
。
在 VS Code 终端中,交互式命令行指导你预配所需的 Azure 服务。 从提示的列表中选择此前在在 Azure 中部署 IoT 中心中预配的所有项目。
备注
如果在尝试登录 Azure 时,页面停滞在“正在加载”状态,请参阅 IoT DevKit 常见问题解答的“登录时页面停滞”部分来解决此问题。
接下来,上传设备代码。
- 使用
Ctrl+P
运行task device-upload
。 - 终端会提示进入配置模式。 为此,请长按按钮 A,然后按下重置按钮并松开。 屏幕会显示 DevKit 标识号和 Configuration(配置)一词。
将 DevKit 置于配置模式:按住按钮 A,然后按下重置按钮并松开。 屏幕将显示“配置”。
单击
Cmd+P
以运行task device-upload
。
现已设置从预配 Azure 服务步骤检索的连接字符串。
然后,VS Code 开始验证 Arduino 草图并将其上传到 DevKit。
DevKit 重新启动并开始运行代码。
备注
偶尔可能会收到“错误:AZ3166:未知程序包”错误消息。 如果未正确刷新板包索引,则会出现此错误。 若要解决此错误,请参阅 IoT DevKit 常见问题解答的开发部分。
当 DevKit 所处环境中存在稳定的磁场时,此程序会首先初始化。
初始化以后,屏幕上会显示 Door closed
。 磁场变化时,状态更改为 Door opened
。 门状态一变化,你就会收到电子邮件通知。 (收到这些电子邮件可能需要长达五分钟的时间。)
如果遇到问题,请参阅 IoT DevKit 常见问题解答或通过以下渠道进行联系: