Intel® Edison智能门铃开发指南

随着物联网(IoT)技术的发展,越来越多的智能设备进入了日常生活。本文将指导开发者如何使用Intel® Edison开发板和相关硬件组件,创建一个能够与云服务交互的智能门铃系统。通过本教程,开发者将学会如何连接Intel® Edison开发板,使用MRAA和UPM接口与开发板的I/O和传感器库进行交互,并在Intel® System Studio IoT Edition中运行代码样本,以实现与传感器和执行器的交互。

简介

智能门铃应用程序是一系列使用Intel® IoT开发者工具包、Intel® Edison开发板、云平台、APIs和其他技术的IoT技术代码示例练习的一部分。通过这个练习,开发者将学习如何:

  • 连接Intel® Edison开发板,这是一个为原型设计和生产IoT和可穿戴计算产品而设计的计算平台。
  • 使用Intel® IoT开发者工具包中的MRAA和UPM,与Intel® Edison开发板的I/O和传感器库进行接口。
  • 在Intel® System Studio IoT Edition中运行这些代码样本,这是一个为C/C++和Java开发而设计的Eclipse* IDE,用于创建与传感器和执行器交互的应用程序。
  • 使用Microsoft* Azure*的Azure Redis Cache*、IBM* Bluemix*的Redis Store*或Amazon Web Services*的ElastiCache*使用Redis*等不同的云服务存储门铃响铃数据,这些服务为连接IoT解决方案提供了数据分析、机器学习和多种生产力工具,以简化将传感器连接到云并快速启动IoT项目的过程。

项目概述

使用Intel® Edison开发板,本项目允许创建一个智能门铃,它能够在门铃被按响时发出声音通知,显示视觉通知,并使用基于云的数据存储跟踪访客。

工作原理

智能门铃在I2C触摸传感器被按下时会发出声音。此外,它还会在LCD上显示一条消息。可选地,门铃响铃数据也可以使用在自己的Microsoft* Azure*、IBM* Bluemix*或AWS*账户中运行的Intel IoT Examples Datastore进行存储。

硬件需求

Grove*入门套件,包含:

  • 带有Arduino*扩展板的Intel® Edison开发板
  • Grove*基础盾V2
  • Grove*触摸传感器
  • Grove*蜂鸣器
  • Grove* RGB LCD

软件需求

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文件夹中。

连接Grove*传感器

需要有一个连接到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端口。

Intel® Edison开发板设置

本示例还使用了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

将Intel® Edison开发板连接到Eclipse*

在左下角,右键单击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开发板保存数据。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485