<p><br />
<strong>简介 <strong></strong></strong></p>
<p>这款访问控制系统应用是一系列英特尔物联网代码示例入门实践(使用英特尔® 物联网开发人员套件、英特尔® Edison 开发平台、API 和其他技术)的一部分。</p>
<p>从该实践中,开发人员可以学习到如何:</p>
<ul>
<li>连接英特尔® Edison 开发平台;该平台是一个旨在创建原型,生产物联网和可穿戴计算产品的计算平台。</li>
<li>使用英特尔® 物联网开发人员套件中的 MRAA 和 UPM 与英特尔® Edison 平台 IO 和传感器库交互;该套件是一款完整的软硬件解决方案,可帮助开发人员探索物联网和实施创新项目。</li>
<li>在英特尔® XDK 物联网版中运行该代码示例;该工具是一个 IDE,可创建与传感器和制动器交互的应用,支持立即开发面向英特尔® Edison 或英特尔® Galileo 开发板的软件。</li>
<li>使用 Microsoft* 的 Azure* Redis Cache 、IBM Bluemix* 的 Redis Store 或使用 Amazon* Web Services* (AWS) 的 Redis* 的 ElastiCache*,连接物联网解决方案(包括数据分析、机器学习和各种生产力工具)的不同云服务以简化将传感器连接到云,支持物联网项目快速正常运行的效率提高工具,设置 Web 应用服务器以支持用户输入访问代码来禁用报警系统并保存该报警数据。</li>
</ul>
<p><br />
<strong>它是什么 <strong></strong></strong></p>
<p>使用英特尔® Edison 开发板,该项目为您介绍如何创建具备以下功能的智能访问控制系统:</p>
<ul>
<li>监控运动传感器,以检测有人已进入要求授权的的区域;</li>
<li>支持使用手机通过内置 Web 界面访问以禁用报警系统;</li>
<li>使用基于云的数据存储跟踪访问。</li>
</ul>
<p><br />
<strong>工作原理 <strong></strong></strong></p>
<p>该控制访问系统提供以下用户工作流:</p>
<p>1、被动红外 (PIR) 运动传感器查看运动。</p>
<p>2、用户引发动作检测器,然后有 30 秒的时间在浏览器中输入正确的代码。</p>
<p>3、如果用户没有按时输入代码,将发出警告。</p>
<p>4、如果用户输入了正确的代码,系统将等待 30 秒以允许用户通过。</p>
<p>另外,各种不同的事件(looking-for-motion、motion-detected、invalid-code等)也将会记录下来。</p>
<p>此外,它还可使用在 Microsoft* Azure* 账户中运行的英特尔物联网示例数据存储 (Intel IoT Example Datastore) 保存所有数据。</p>
<p><strong>硬件要求 <strong></strong></strong></p>
<p>Grove* 交通安全工具包,包括:</p>
<p>1、带有 Arduino* breakout 开发板的英特尔® Edison</p>
<p>2、<a href="http://iotdk.intel.com/docs/master/upm/node/classes/biss0001.html">Grove* PIR 运动传感器</a></p>
<p>3、<a href="http://iotdk.intel.com/docs/master/upm/node/classes/jhd1313m1.html">Gro…* RGB LCD</a></p>
<p><strong>软件要求 <strong></strong></strong></p>
<p>1、英特尔® XDK 物联网版</p>
<p>2、Microsoft* Azure* 账户</p>
<p><strong>如何设置 <strong></strong></strong></p>
<p>首先,使用电脑上的 Git*(如下)复制英特尔物联网代码示例入门库:</p>
<p>$ git clone <a href="https://github.com/intel-iot-devkit/how-to-code-samples.git">https://gi…;
<p>想要下载 .zip 文件? 在您的 Web 浏览器中,访问 <a href="https://github.com/intel-iot-devkit/how-to-code-samples">https://github…;,并点击右下方的 Download ZIP 按钮。 下载 .zip 文件后,对其进行解压,然后使用目录中的文件(对本例而言)。</p>
<p><strong>将该程序添加至英特尔® XDK 物联网版 <strong></strong></strong></p>
<p>在英特尔® XDK 物联网版中,选择 Import Your Node.js Project:</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5126-1.png&…; />
</center>
<p><br />
然后,导航至该示例项目所在的目录,并选择它:</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5127-2.png&…; />
</center>
<p><br />
您需要将电脑连接至您的英特尔® Edison 开发板以向其发送代码。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5128-3.png&…; />
</center>
<p><br />
点击左下角的 IoT Device 菜单。 如果您的英特尔® Edison 被自动识别,选择它。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5129-4.png&…; />
</center>
<p><br />
否则,选择 Add Manual Connection。 在 Address 字段,键入 192.168.2.15。 在 Port 字段,键入 58888。 点击 Connect 以保存连接。</p>
<p><strong>在英特尔® Edison 上手动安装该程序 <strong></strong></strong></p>
<p>或者,您可以在英特尔® Edison 开发板上手动设置代码。</p>
<p>与您的英特尔® Edison 开发板建立 SSH 连接,然后将英特尔物联网代码示例入门库复制到该开发板中,如下:</p>
<p>$ git clone <a href="https://github.com/intel-iot-devkit/how-to-code-samples.git">https://gi…;
<p>然后,导航至该目录(对本例而言)。</p>
<p>如欲在英特尔® Edison 上安装 Git*(若没有),请与该开发板建立 SSH 连接,并运行下列命令:</p>
<p>$ opkg install git</p>
<p><strong>连接 Grove* 传感器 <strong></strong></strong></p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5130-5.jpg&…; />
</center>
<p><br />
您需要具有连接至兼容 Arduino* 的 breakout 开发板的 Grove* Shield,以便将所有 Grove* 设备插入 Grove* Shield。 确保 Grove* Shield 上的微型 VCC 开关设置为 5V。</p>
<p>1、将 Grove* 线缆的一端插入 Grove* PIR 运动传感器,并将其另一端连接至 Grove* Shield 的 D4 端口上。</p>
<p>2、将 Grove* 线缆的一端插入 Grove* RGB LCD,并将其另一端连接至 Grove* Shield 的任意 I2C 端口上。</p>
<p><strong>英特尔® Edison 手动设置 <strong></strong></strong></p>
<p>如果您在英特尔® Edison 上手动运行该代码,您需要安装一些关联组件。</p>
<p>如欲获得在英特尔® Edison 上执行该示例所需的 Node.js* 模块,请运行下列命令:</p>
<p>npm install</p>
<p><strong>Microsoft* Azure* 服务器设置 <strong></strong></strong></p>
<p>您还可选择将该示例程序生成的数据存储在使用 Microsoft* Azure*、Node.js* 和 Redis* 数据存储部署的后端数据库中。</p>
<p>有关如何设置云数据服务器的信息,请访问:</p>
<p><a href="https://github.com/intel-iot-devkit/intel-iot-examples-datastore">https…;
<p><strong>配置该示例 <strong></strong></strong></p>
<p>如欲配置该示例以使用可选的 Microsoft* Azure* 数据存储,请修改 SERVER 和 AUTH_TOKEN 密钥(在 config.json 文件中,如下:</p>
<p>{ "SERVER": "<a href="http://intel-examples.azurewebsites.net/logger/access-control">http://i…;, "AUTH_TOKEN": "s3cr3t" }</p>
<p><strong>使用英特尔® XDK 物联网版运行该程序 <strong></strong></strong></p>
<p>准备好运行该示例时,确保保存了所有文件。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5131-6.png&…; />
</center>
<p><br />
点击 Upload 图标,将文件上传至英特尔® Edison 开发板。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5132-7.png&…; />
</center>
<p><br />
点击英特尔® XDK 物联网版底部的 Run 图标, 在英特尔® Edison 上运行该代码。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5133-8.png&…; />
</center>
<p><br />
如果您修改了该代码,请点击 Upload and Run, 在英特尔® Edison 上运行包含您所做修改的最新代码。</p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5134-9.png&…; />
</center>
<p><br />
当该程序在运行时,您会看到与上述内容类似的输出信息。</p>
<p><strong>手动运行该程序 <strong></strong></strong></p>
<p>如欲在英特尔® Edison 上手动运行该程序,请与该开发板建立 SSH 连接,并执行下列命令:</p>
<p>node index.js</p>
<p><strong>禁用报警系统 <strong></strong></strong></p>
<center>
<img alt="" src="http://intel.eetrend.com/files/2016-06/wen_zhang_/100001810-5135-10.png…; />
</center>
<p><br />
使用该示例程序运行时英特尔® Edison 开发板显示的单页 Web 界面禁用报警系统。</p>
<p>该 Web 服务器运行在端口 3000 上,因此,如果英特尔® Edison 连接至 192.168.1.13 上的Wi-Fi*,您在同一网络上时浏览的地址是 <a href="http://192.168.1.13:3000/">http://192.168.1.13:3000</a>。</p>
<p><strong>确定英特尔® Edison 的 IP 地址 <strong></strong></strong></p>
<p>您可以通过运行下列命令确定英特尔® Edison 所连接的 IP 地址:</p>
<p>ip addr show | grep wlan</p>
<p>您会看到与下列内容相似的输出信息:</p>
<p>3: wlan0: mtu 1500 qdisc pfifo_fast qlen 1000 inet 192.168.1.13/24 brd 192.168.1.255 scope global wlan0</p>
<p>IP 地址显示在 inet 旁边。 在上述示例中,IP 地址为 192.168.1.13。</p>
<p>如欲查看英特尔物联网代码示例入门的完整列表,请访问<a href="https://software.intel.com/zh-cn/blogs/2015/11/04/announcing-18-new-how…;。</p>
<p>有关该代码示例的更多详情,请访问 <a href="https://github.com/intel-iot-devkit/how-to-code-samples/tree/master/acc…; rel="nofollow">GitHub</a>*。</p>