简介
这款智能炉灶应用是一系列英特尔物联网代码示例入门实践(使用英特尔® 物联网开发人员套件、英特尔® Edison 开发平台、API 和其他技术)的一部分。
从该实践中,开发人员可以学习到如何:
- 连接英特尔® Edison 开发平台;该平台是一个旨在创建原型,生产物联网和可穿戴计算产品的计算平台。
- 使用英特尔® 物联网开发人员套件中的 MRAA 和 UPM 与英特尔® Edison 平台 IO 和传感器库交互;该套件是一款完整的软硬件解决方案,可帮助开发人员探索物联网和实施创新项目。
- 在英特尔® XDK 物联网版中运行该代码示例;该工具是一个 IDE,可创建与传感器和制动器交互的应用,支持立即开发面向英特尔® Edison 或英特尔® Galileo 开发板的软件。
- 使用 Microsoft* Azure* 的 Azure Redis Cache*、连接物联网解决方案(包括数据分析和机器学习)的云服务以及多种简化将传感器连接到云,支持物联网项目快速正常运行的效率提高工具,设置 web 应用服务器以设置目标温度并保存该数据。
它是什么
使用英特尔® Edison 开发板,该项目支持您创建具备下列功能的智能炉灶:
- 支持您设置目标温度;
- 监控炉灶,并在达到设定温度时发出通知;
- 使用基于云的数据存储保存历史温度数据。
工作原理
该智能炉灶传感器拥有多项精心设计的实用特性,可帮助您监控在传统炉灶上烹制的食物的温度。 您可以使用手机,直接通过英特尔® Edison 显示的网页为炉灶上的锅设置目标温度。 达到目标温度时,扬声器将发出声音告警。 如果检测到沸溢的锅中出现明火,将发出警报。 此外,它还可使用在 Microsoft* Azure* 账户中运行的英特尔物联网示例数据存储 (Intel IoT Example Datastore) 保存所有数据。
硬件要求
Grove* 家庭自动化套件,包括:
- 带有 Arduino* breakout 开发板的英特尔® Edison
- Grove* IR 温度传感器
- Grove* 火焰传感器
- Grove* 扬声器
软件要求
- 英特尔® XDK 物联网版
- Microsoft* Azure* 账户
如何设置
首先,使用电脑上的 Git*(如下) 复制英特尔物联网代码示例入门库:
$ 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 文件后,对其进行解压,然后使用目录中的文件(对本例而言)。
将该程序添加至英特尔® XDK 物联网版
在英特尔® XDK 物联网版中,选择 Import Your Node.js Project:
然后,导航至该示例项目所在的目录,并选择它:
您需要将电脑连接至您的英特尔® Edison 开发板以向其发送代码。
点击左下角的 IoT Device菜单。 如果您的英特尔® Edison 被自动识别,选择它。
否则,选择 Add Manual Connection。 在 Address字段,键入 192.168.2.15
。 在 Port字段,键入 58888
。 点击 Connect以保存连接。
在英特尔® Edison 上手动安装该程序
或者,您可以在英特尔® Edison 开发板上手动设置代码。
与您的英特尔® Edison 开发板建立 SSH 连接,然后将英特尔物联网代码示例入门库复制到该开发板中,如下:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
然后,导航至该目录(对本例而言)。
如欲在英特尔® Edison 上安装 Git*(若没有),请与该开发板建立 SSH 连接,并运行下列命令:
$ opkg install git
连接 Grove* 传感器
您需要具有连接至兼容 Arduino* 的 breakout 开发板的 Grove* Shield,以便将所有 Grove* 设备插入 Grove* Shield。 确保 Grove* Shield 上的微型 VCC 开关设置为 5V。
将 Grove* 线缆的一端插入 Grove* IR 温度传感器,并将其另一端连接至 Grove* Shield 的 A0 端口上。
将 Grove* 线缆的一端插入 Grove* 火焰传感器,并将其另一端连接至 Grove* Shield 的 D4 端口上。
将 Grove* 线缆的一端插入 Grove* 扬声器,并将其另一端连接至 Grove* Shield 的 D5 端口上。
英特尔® Edison 手动设置
如果您在英特尔® Edison 上手动运行该代码,您需要安装一些关联组件。
如欲获得在英特尔® Edison 上执行该示例所需的 Node.js* 模块,请运行下列命令:
npm install
Microsoft* Azure* 服务器设置
您还可选择将该示例程序生成的数据存储在使用 Microsoft* Azure*、Node.js* 和 Redis* 数据存储部署的后端数据库中。
有关如何设置云数据服务器的信息,请访问:
https://github.com/intel-iot-devkit/intel-iot-examples-datastore
配置该示例
如欲配置该示例以使用可选的 Microsoft* Azure* 数据存储,请修改 SERVER
和 AUTH_TOKEN
密钥(在 config.json
文件中,如下:
{ "SERVER": "http://intel-examples.azurewebsites.net/logger/stove-top", "AUTH_TOKEN": "s3cr3t" }
使用英特尔® XDK 物联网版运行该程序
准备好运行该示例时,确保保存了所有文件。
点击 Upload图标,将文件上传至英特尔® Edison 开发板。
点击英特尔® XDK 物联网版底部的 Run图标, 在英特尔® Edison 上运行该代码。
如果您修改了该代码,请点击 Upload and Run, 在英特尔® Edison 上运行包含您所做修改的最新代码。
当该程序在运行时,您会看到与上述内容类似的输出信息。
手动运行该程序
如欲在英特尔® Edison 上手动运行该程序,请与该开发板建立 SSH 连接,并执行下列命令:
node index.js
设置温度
使用该示例程序运行时英特尔® Edison 显示的单页 web 界面设置目标温度。
该 Web 服务器运行在端口 3000
上,因此,如果英特尔® Edison 连接至 192.168.1.13
上的Wi-Fi*,您在同一网络上时浏览的地址是 http://192.168.1.13:3000
。
确定英特尔® Edison 的 IP 地址
您可以通过运行下列命令确定英特尔® 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
。
如欲查看英特尔物联网代码示例入门的完整列表,请访问 英特尔® 开发人员专区。
有关该代码示例的更多详情,请访问 GitHub*。