随着物联网(IoT)技术的发展,越来越多的智能设备进入了日常生活。本文将指导开发者如何使用Intel® Edison开发板和相关硬件组件,创建一个能够与云服务交互的智能门铃系统。通过本教程,开发者将学会如何连接Intel® Edison开发板,使用MRAA和UPM接口与开发板的I/O和传感器库进行交互,并在Intel® System Studio IoT Edition中运行代码样本,以实现与传感器和执行器的交互。
智能门铃应用程序是一系列使用Intel® IoT开发者工具包、Intel® Edison开发板、云平台、APIs和其他技术的IoT技术代码示例练习的一部分。通过这个练习,开发者将学习如何:
使用Intel® Edison开发板,本项目允许创建一个智能门铃,它能够在门铃被按响时发出声音通知,显示视觉通知,并使用基于云的数据存储跟踪访客。
智能门铃在I2C触摸传感器被按下时会发出声音。此外,它还会在LCD上显示一条消息。可选地,门铃响铃数据也可以使用在自己的Microsoft* Azure*、IBM* Bluemix*或AWS*账户中运行的Intel IoT Examples Datastore进行存储。
Grove*入门套件,包含:
Intel® System Studio IoT Edition (Eclipse* IDE用于C/C++和Java*开发)以及Microsoft* Azure*、IBM* Bluemix*或AWS*账户。
要开始,使用Git*在计算机上克隆How-To Intel® IoT Technology代码样本仓库,如下所示:
$ git clone https://github.com/intel-iot-devkit/how-to-code-samples.git
如果想下载.zip文件,请在网络浏览器中访问https://github.com/intel-iot-devkit/how-to-code-samples并点击右下角的“Download ZIP”按钮。下载.zip文件后,解压缩它,然后使用该示例目录中的文件。
在Eclipse*中,选择Import Wizard将现有项目导入工作区,如下所示: 从主菜单中选择File > Import。 Import Wizard对话框打开。选择General > Existing Project into Workspace并点击Next。 点击Select root directory,然后点击关联的Browse按钮定位包含项目文件的目录。 在Projects下,选择包含想要导入的项目文件的目录,点击OK,然后点击Finish将文件导入Eclipse*。
现在,主要.cpp程序文件将显示在工作区下的src文件夹中。
需要有一个连接到Arduino*兼容扩展板的Grove*基础盾V2,以便将所有Grove*设备插入Grove*基础盾V2。确保Grove*基础盾V2上的微小VCC开关设置为5V。 将Grove*电缆的一端插入Grove*触摸传感器,另一端连接到Grove*基础盾V2上的D4端口。 将Grove*电缆的一端插入Grove*蜂鸣器,另一端连接到Grove*基础盾V2上的D5端口。 将Grove*电缆的一端插入Grove* RGB LCD,另一端连接到Grove*基础盾V2上的任何一个I2C端口。
本示例还使用了restclient-cpp库来执行对远程数据服务器的REST调用。代码可以在lib目录中找到。restclient-cpp库需要libcurl包,该包默认已安装在Intel® Edison开发板上。
可选地,可以将此示例程序生成的数据存储在后端数据库中,该数据库使用Microsoft* Azure*、IBM* Bluemix*或AWS*以及Node.js*和Redis*数据存储进行部署。 有关如何设置自己的云数据服务器的信息,请访问:https://github.com/intel-iot-devkit/intel-iot-examples-datastore
在左下角,右键单击Target SSH Connections标签并选择New > Connection。 Intel® IoT Target Connection窗口出现。在Filter字段中,输入开发板名称。 在Select one of the found connections列表中,选择设备名称并点击OK。 在Target SSH Connections标签上,右键单击设备并选择Connect。 如果提示输入用户名和密码,用户名是root,密码是在配置Intel® Edison开发板时指定的密码。
要使用可选的后端数据存储运行示例,需要设置SERVER和AUTH_TOKEN环境变量。可以在Eclipse*中按照以下步骤进行:
从Run菜单中选择Run Configurations。
Run Configurations对话框显示。
在C/C++ Remote Application下,点击doorbell。
这将显示应用程序的信息。
在Commands to execute before application字段中,添加环境变量,使其看起来像这样,但使用与自己的设置相对应的服务器和认证令牌:
chmod 755 /tmp/doorbell;export SERVER="http://intel-examples.azurewebsites.net/counter/doorbell/inc"; export AUTH_TOKEN="YOURTOKEN"
点击Apply以保存新环境变量。
现在,当使用Run按钮运行程序时,它应该能够调用服务器,直接从Intel® Edison开发板保存数据。