Intel IoT 代码示例:智能炉灶
这款智能炉灶应用程序是使用 Intel® IoT Developer Kit、Intel® Edison 开发平台、云平台、API 和其他技术进行一系列 Intel 物联网代码示例练习的一部分。
获取全新的 Intel® IoT Developer Kit,这是一个完整的硬件和软件解决方案,让开发人员能够使用 Intel® Galileo 和 Intel® Edison 板创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者中心。
引言
这款智能炉灶应用程序是使用 Intel® IoT Developer Kit、Intel® Edison 开发平台、云平台、API 和其他技术进行一系列 Intel 物联网代码示例练习的一部分。
通过此练习,开发人员将学习如何:
- 连接英特尔® Edison 开发平台,这是一种专为原型设计和生产物联网和可穿戴计算产品而设计的计算平台。
- 使用 Intel® IoT Developer Kit 中的 MRAA 和 UPM 与 Intel® Edison 平台 IO 和传感器存储库进行交互,Intel® IoT Developer Kit 是一个完整的硬件和软件解决方案,可帮助开发者探索物联网并实施创新项目。
- 在 Intel® XDK IoT Edition 中运行此代码示例,这是一个用于创建与传感器和执行器交互的应用程序的 IDE,可以快速开始为 Intel® Edison 或 Intel® Galileo 主板开发软件。
- 设置一个 Web 应用程序服务器,用于设置目标温度,并使用 Microsoft* Azure* 的 Azure Redis Cache* 存储此数据,Azure* 是用于连接物联网解决方案的云服务,包括数据分析、机器学习以及各种提高生产力的工具,以简化将传感器连接到云并快速启动物联网项目的过程。
它是什么
使用 Intel® Edison 板,该项目可让您创建一个智能炉灶,能够
- 允许您设置目标温度;
- 监控您的炉灶并在达到设定的温度时通知您;
- 使用基于云的数据存储来存储历史温度数据。
工作原理
这款智能炉灶传感器具有许多有用功能,旨在帮助您监控正在烹饪的食物在你传统炉灶上的温度。通过直接从 Intel® Edison 提供的网页,使用您的手机设置炉灶上锅的目标温度。当达到目标温度时,扬声器会发出声音提示。如果检测到锅溢出导致明火,警报将响起。可选地,所有数据也可以使用在您自己的 Microsoft* Azure* 帐户中运行的 Intel IoT 示例数据存储进行存储。
硬件要求
Grove* 家庭自动化套件包含
- Intel® Edison 及 Arduino* 分线板
- Grove* 红外测温传感器
- Grove* 火焰传感器
- Grove* 扬声器
软件要求
- 英特尔® XDK 物联网版
- Microsoft* Azure* 帐户
如何设置
首先,请按照以下步骤使用 Git* 在您的计算机上克隆 Intel 物联网代码示例教程存储库
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
想下载 .zip 文件?在您的 Web 浏览器中,转至 https://github.com/intel-iot-devkit/how-to-code-samples,然后单击右下角的 **Download ZIP** 按钮。下载 .zip 文件后,解压缩它,然后使用此示例目录中的文件。
将程序添加到 Intel® XDK IoT Edition
在 Intel® XDK IoT Edition 中,选择 导入您的 Node.js 项目
然后,导航到示例项目所在的目录,并选择它
您需要从计算机连接到您的 Intel® Edison 板才能将其代码发送到板上。
单击左下角的 IoT Device 菜单。如果您的 Intel® Edison 被自动识别,请选择它。
否则,请选择 手动添加连接。在 地址 字段中,键入 192.168.2.15
。在 端口 字段中,键入 58888
。单击 连接 以保存您的连接。
在 Intel® Edison 上手动安装程序
或者,您可以手动设置 Intel® Edison 板上的代码。
在建立到该板的 SSH 连接后,克隆 Intel 物联网代码示例教程存储库到您的 Intel® Edison 板,如下所示
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
然后,导航到包含此示例的目录。
如果您还没有 Git*,请在 Intel® Edison 上安装 Git*,请建立到该板的 SSH 连接并运行以下命令
$ opkg install git
连接 Grove* 传感器
您需要将 Grove* 扩展板连接到 Arduino*-兼容的分线板,以便将所有 Grove* 设备插入 Grove* 扩展板。请确保将 Grove* 扩展板上的微小 VCC 开关设置为 5V。
-
将 Grove* 电缆的一端插入 Grove* 红外测温传感器,另一端连接到 Grove* Shield 上的 A0 端口。
-
将 Grove* 电缆的一端插入 Grove* 火焰传感器,另一端连接到 Grove* Shield 上的 D4 端口。
-
将 Grove* 电缆的一端插入 Grove* 扬声器,另一端连接到 Grove* Shield 上的 D5 端口。
手动设置 Intel® Edison
如果您要手动在 Intel® Edison 上运行此代码,则需要安装一些依赖项。
要获取此示例在 Intel® Edison 上执行所需的 Node.js* 模块,请运行以下命令
npm install
Microsoft* Azure* 服务器设置
另外,您还可以将此示例程序生成的数据存储在通过 Microsoft* Azure*、Node.js* 和 Redis* 数据存储部署的后端数据库中。
有关如何设置自己的云数据服务器的信息,请访问:
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
配置示例
要配置该示例以用于可选的 Microsoft* Azure* 数据存储,请更改 config.json
文件中的 SERVER
和 AUTH_TOKEN
键,如下所示
{ "SERVER": "http://intel-examples.azurewebsites.net/logger/stove-top", "AUTH_TOKEN": "s3cr3t" }
使用 Intel® XDK IoT Edition 运行程序
当您准备好运行示例时,请确保已保存所有文件。
单击 上传 图标将文件上传到 Intel® Edison 板。
单击 Intel® XDK IoT Edition 底部的 Run 图标。这将会在 Intel® Edison 上运行代码。
如果您更改了代码,请单击 Upload and Run。这将会在 Intel® Edison 上运行您更改后的最新代码。
程序运行时,您将看到与上面类似的输出。
手动运行程序
要在 Intel® Edison 上手动运行该示例,请建立到该板的 SSH 连接并执行以下命令
node index.js
设置温度
目标温度是在样本程序运行时通过 Intel® Edison 提供的单页 Web 界面设置的。
Web 服务器运行在端口 3000
上,因此如果 Intel® Edison 连接到 Wi-Fi* 地址 192.168.1.13
,如果您在同一网络上,则需要浏览的地址是 http://192.168.1.13:3000
。
确定 Intel® Edison 的 IP 地址
您可以通过运行以下命令来确定 Intel® Edison 连接到的 IP 地址
ip addr show | grep wlan
您将看到类似以下的输出:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0
IP 地址显示在 inet
旁边。在上例中,IP 地址为 192.168.1.13
。
如需查看所有 Intel 物联网代码示例教程的完整列表,请访问 Intel® Developer Zone。
有关此代码示例的更多详细信息,请转至 GitHub*。