英特尔物联网入门代码案例:供水系统
本帖最后由 intel程序猿笔记 于 2016-5-19 18:06 编辑这款自动供水系统应用是一系列英特尔物联网代码示例入门实践(使用英特尔® 物联网开发人员套件、英特尔® Edison 开发平台、API 和其他技术)的一部分。
以下为部分内容,项目使用的硬件列表 和 项目代码请至原文链接查看点此查看全文
从该实践中,开发人员可以学习到如何:
[*]连接英特尔® Edison 开发平台;该平台是一个旨在创建原型,生产物联网和可穿戴计算产品的计算平台。
[*]使用英特尔® 物联网开发人员套件中的 MRAA 和 UPM 与英特尔® Edison 平台 IO 和传感器库交互;该套件是一款完整的软硬件解决方案,可帮助开发人员探索物联网和实施创新项目。
[*]在英特尔® XDK 物联网版中运行该代码示例;该工具是一个 IDE,可创建与传感器和制动器交互的应用,支持立即开发面向英特尔® Edison 或英特尔® Galileo 开发板的软件。
[*]使用 Microsoft* Azure* 的 Azure Redis Cache*、连接物联网解决方案(包括数据分析和机器学习)的云服务以及多种简化将传感器连接到云,支持物联网项目快速正常运行的效率提高工具,设置 Web 应用服务器以存储供水系统数据。
[*]调用 Twilio* API 服务以发送文本讯息。
它是什么使用英特尔® Edison 开发板,该项目支持您创建具备下列功能的自动供水系统:
[*]根据可配置的时间表开启或关闭水泵;
[*]使用水流传感器检测抽水是否如期开始;
[*]支持使用手机通过内置 Web 界面访问以设置供水时间;
[*]使用基于云的数据存储记录供水事件;
[*]如果系统未如预期一样工作,向警报接收者发送文本讯息。
工作原理该供水系统支持您使用手机,通过直接由英特尔® Edison 显示的网页设置供水时间表。它会定期检查湿度传感器数据,并在网页上显示这些数据。如果水泵应该开启,但水流传感器并未检测到抽水如期开始,它会通过 Twilio* 向指定号码发送一条文本讯息,要求维修供水系统。此外,它还可使用在 Microsoft* Azure* 账户中运行的英特尔物联网示例数据存储 (Intel IoT Examples Datastore) 记录供水系统的事件。
硬件要求Grove* 环境和农业工具包,包括:
[*]带有 Arduino* breakout 开发板的英特尔® Edison
[*]Grove* 温度传感器
[*]水泵
[*]水流传感器
[*]Grove* 干簧继电器
软件要求
[*]英特尔® XDK 物联网版
[*]Microsoft* Azure* 账户
[*]Twilio* 账户
如何设置首先,使用电脑上的 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 开发板以向其发送代码。
https://github.com/intel-iot-devkit/how-to-code-samples/raw/master/images/js/xdk-select-device.png点击左下角的 IoT Device 菜单。 如果您的英特尔® Edison 被自动识别,选择它。
https://github.com/intel-iot-devkit/how-to-code-samples/raw/master/images/js/xdk-manual-connect.png否则,选择 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* 传感器
https://github.com/intel-iot-devkit/how-to-code-samples/raw/master/images/js/watering.jpg您需要具有连接至兼容 Arduino* 的 breakout 开发板的 Grove* Shield,以便将所有 Grove* 设备插入 Grove* Shield。 确保 Grove* Shield 上的微型 VCC 开关设置为 5V。您需要使用入门套件附带的外部电源适配器为英特尔® Edison 供电,或使用外部的 12V 1.5A 电源替代该适配器。 您还可使用外部电池,如 5V USB 电池。此外,您需要电路试验板 (breadboard) 和额外的 5V 电源为泵供电。 注:您需要使用单独的电池或电源为泵供电。 您不可将同一电源用于英特尔® Edison 开发板和泵,因此您总共需要 2 个电池或电源。
您需要使用 Grove* 干簧继电器开发板连接水泵。
[*]将 Grove* 线缆的一端插入 Grove* 干簧继电器,并将其另一端连接至 Grove* Shield 的 D4 端口上。
[*]将一根电线从泵连接至为泵预留的 5V 电源。
[*]将另一根电线从泵连接至 Grove* 干簧继电器开发板上的一个电源接口。
[*]将 Grove* 干簧继电器开发板上的另一个电源接口连接至为泵预留的 5V 电源的地线。
[*]通过将红线插入 5V 针脚、将黑线插入 GND 针脚以及将黄线插入 Grove* Shield 的数字针脚 2,连接水流传感器。
[*]将 Grove* 线缆的一端插入 Grove* 湿度传感器,并将其另一端连接至 Grove* Shield 的 A0 端口上。
英特尔® Edison 手动设置
如果您在英特尔® Edison 上手动运行该代码,您需要安装一些关联组件。如欲获得在英特尔® Edison 上执行该示例所需的 Node.js* 模块,请运行下列命令:npm installTwilio* API 密钥如欲选择发送文本讯息,您需要注册一个账户,并从 Twilio* 网站中获取 API 密钥:https://www.twilio.com若未事先获取 Twilio* API 密钥,您无法发送文本讯息, 不过仍然可以运行该示例。将您的 Twilio* API 密钥和身份验证令牌传送至示例程序,具体方式是修改 TWILIO_ACCT_SID 和TWILIO_AUTH_TOKEN 密钥(在 config.json 文件中),如下:{ "TWILIO_ACCT_SID": "YOURAPIKEY", "TWILIO_AUTH_TOKEN": "YOURTOKEN" }Microsoft* Azure* 服务器设置您还可选择将该示例程序生成的数据存储在使用 Microsoft* Azure*、Node.js* 和 Redis* 数据存储部署的后端数据库中。有关如何设置云数据服务器的信息,请访问:https://github.com/intel-iot-devkit/intel-iot-examples-datastore
配置该示例
如欲配置示例以选择发送文本讯息,请按照上述说明从 Twilio* 网站中获取 API 密钥,然后修改TWILIO_ACCT_SID 和 TWILIO_AUTH_TOKEN 密钥(在 config.json 文件中),如下:{ "TWILIO_ACCT_SID": "YOURAPIKEY", "TWILIO_AUTH_TOKEN": "YOURTOKEN" }如欲配置该示例以使用可选的 Microsoft* Azure* 数据存储,请修改 SERVER 和 AUTH_TOKEN 密钥(在config.json 文件中,如下:{ "SERVER": "http://intel-examples.azurewebsites.net/logger/watering-system", "AUTH_TOKEN": "s3cr3t" }如欲配置该示例以同时使用文本讯息和 Microsoft* Azure* 数据存储,请修改TWILIO_ACCT_SID、TWILIO_AUTH_TOKEN、SERVER 和 AUTH_TOKEN 密钥(在 config.json 文件中),如下:{ "TWILIO_ACCT_SID": "YOURAPIKEY", "TWILIO_AUTH_TOKEN": "YOURTOKEN", "SERVER": "http://intel-examples.azurewebsites.net/logger/watering-system", "AUTH_TOKEN": "s3cr3t" }
扩展阅读: 英特尔® EDISON 开发板:物联网温度监控 英特尔® EDISON —— 添加内核模块到 YOCTO* —— "BATMAN" 案例
https://mc.dfrobot.com.cn/data/attachment/forum/201506/30/113403a12r7fr01uusirhh.png.thumb.jpg
更多Edison信息请点击右边链接直接登录 >>>> 英特尔开发人员专区
感谢分享
页:
[1]