65.9K
CodeProject 正在变化。 阅读更多。
Home

C++ 中的测距仪扫描器

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (4投票s)

2017年6月23日

CPOL

6分钟阅读

viewsIcon

7537

这个测距仪扫描仪应用程序是使用英特尔® 物联网开发者套件、英特尔® Edison 板、英特尔® IoT 网关、云平台、API 和其他技术编写的一系列物联网(IoT)代码示例练习的一部分。

获取新的英特尔® 物联网开发者套件,这是一套完整的硬件和软件解决方案,可让开发人员使用英特尔® Galileo 和英特尔® Edison 板创建激动人心的新解决方案。请访问 英特尔® 物联网开发者中心

这个测距仪扫描仪应用程序是使用英特尔® 物联网开发者套件、英特尔® Edison 板、英特尔® IoT 网关、云平台、API 和其他技术编写的一系列物联网(IoT)代码示例练习的一部分。

通过此练习,开发人员将学习如何:

  • 连接 Intel® Edison 板或 Intel® IoT 网关,这些计算平台专为原型设计和生产物联网和可穿戴计算产品而设计。
  • 使用英特尔® 物联网开发者套件中的 MRAA 和 UPM 与英特尔® Edison 板或 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板的 IO 和传感器存储库进行交互,这是一套完整的硬件和软件解决方案,可帮助开发人员探索物联网并实现创新项目。
  • 在英特尔® System Studio IoT Edition(用于 C/C++ 和 Java* 开发的 Eclipse* IDE)中运行这些代码示例,以创建与传感器和执行器交互的应用程序,从而快速开始为英特尔® Edison 板或英特尔® Galileo 板开发软件。
  • 设置 Web 应用程序服务器,以通过直接从英特尔® Edison 板或英特尔® IoT 网关提供的网页查看测距仪数据。

它是关于什么的

使用英特尔® Edison 板或英特尔® IoT 网关,此项目可让您创建一个测距扫描仪,该扫描仪可以:

  • 持续检查 Grove* IR 距离中断器。
  • 使步进电机以 360 度圆形旋转。
  • 可以通过内置的 Web 界面访问,以查看测距仪数据。

工作原理

随着步进电机旋转,它会暂停以从 Grove* IR 距离中断器获取读数。

这些读数可以在直接从英特尔® Edison 板或英特尔® IoT 网关提供的网页上查看。

硬件要求

Grove* Robotics Kit 包含

  1. 带有 Arduino* 分线板的英特尔® Edison 板或带有 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板的英特尔® IoT 网关。
  2. Grove Base Shield V2
  3. Grove IR 距离中断器
  4. 步进电机控制器和步进电机

软件要求

  1. Intel® System Studio(用于 C/C++ 和 Java* 开发的 Eclipse IDE)

如何设置

此示例已是 Intel® System Studio 中包含的物联网示例之一。要开始使用它,请按照以下步骤操作

  1. 从主菜单中,选择 Intel® IoT > 导入 IoT 示例
  2. 展开“C++ > 如何编码示例 > 测距仪扫描仪”的树视图,然后单击“导入示例”。
  3. 从选择窗口中选择您的开发板,然后选择 下一步
  4. 从选择项目类型窗口中选择 Intel® IoT C/C++ 项目,然后单击 下一步
  5. 从选择目标操作系统下拉菜单中选择 Yocto,然后单击 下一步
  6. 下一个选项卡将要求输入连接名称和目标名称。如果您不知道这些,请单击 搜索目标
  7. 从下拉列表中选择您的 Edison。选择 确定
  8. 您的连接名称和目标名称应该已填写。选择 完成
  9. 将打开一个新窗口,您需要为项目选择一个名称并单击 下一步
  10. 您的项目源文件现在默认在 IDE 的左上方可用。

连接 Grove* 传感器

您需要将 Grove* Base Shield V2 连接到兼容的 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板分线板,以便将所有 Grove 设备插入 Grove Base Shield V2。确保 Grove Base Shield V2 上的小型 VCC 开关设置为“5V”。

您需要使用入门套件随附的外部电源适配器为英特尔® Edison 板或 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板供电,或者使用外部“12V 1.5A”电源。您还可以使用外部电池,例如“5V”USB 电池。

此外,您还需要一个面包板和一个额外的“5V”电源为步进电机供电。

注意:您需要为电机单独的电池或电源。您不能为英特尔® Edison 板和电机使用同一个电源,因此您总共需要 2 个电池或 2 个电源。

  1. 将步进电机控制器插入 Arduino* 分线板上的四个引脚(9、10、11 和 12)。它还必须连接到接地(GND)、来自 Arduino* 分线板的 5V 电源(VCC)以及用于电机的单独 5V 电源(VM)。
  2. 将 Grove* 电缆的一端插入 Grove* IR 距离中断器,并将另一端连接到 Grove* Base Shield V2 上的 D2 端口。

将 Intel® Edison 板或 Intel® IoT 网关连接到 Intel® System Studio

  1. 目标 SSH 连接选项卡上,右键点击您的设备,然后选择连接

如果提示输入用户名和密码,则用户名为 root,密码是您在配置英特尔® Edison 开发板时指定的密码。

Intel® IoT 网关设置

您可以使用连接到 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板的英特尔® IoT 网关来运行此示例。

请按照此处的网站上的说明,确保您的英特尔® IoT 网关已设置好。

https://software.intel.com/en-us/getting-started-with-intel-iot-gateways-and-iotdk

Arduino 101*(在美国以外地区品牌为 Genuino 101*)板需要安装 Firmata* 固件。如果您在网关上安装了 IMRAA,则会自动完成此操作。否则,请手动将 StandardFirmata 或 ConfigurableFirmata 草图安装到您的 Arduino 101*(在美国以外地区品牌为 Genuino 101*)板上。

在 Intel® Edison 板或 Intel® IoT 网关上运行代码

当您准备好运行示例时,单击 Intel® System Studio 顶部菜单栏中的 运行

这将使用 Cross G++ Compiler 编译程序,使用 Cross G++ Linker 链接程序,将二进制文件传输到英特尔® Edison 开发板,然后在开发板本身上执行它。

运行程序后,您应该会看到与下图类似的输出。

重新生成 HTML 和 CSS

如果您对 index.htmlstyles.css 文件进行了任何更改,则需要重新生成用于通过内置 Crow* Web 服务器提供资源的 .hex 文件。有关使用 shell 脚本的帮助,请访问此链接。

how-to-run-the-shellscript.md

查看测距仪数据

测距数据通过一个单页 Web 界面查看,该界面在样本程序运行时直接从英特尔® Edison 板提供。

Web 服务器运行在端口 3000 上,因此如果英特尔® Edison 板或英特尔® IoT 网关连接到 IP 地址为 192.168.1.13 的 Wi-Fi,则在同一网络上的浏览器地址将是 http://192.168.1.13:3000

重要提示:本软件为示例软件。它并非设计或 intended 用于任何医疗、生命支持或生命维持系统、交通运输系统、核系统或任何其他关键任务应用,在这些应用中系统的故障可能导致严重伤害或死亡。该软件可能未经充分测试,可能包含错误或缺陷;它可能并非 intended 或适合商业发布。尚未获得该软件的任何监管批准,因此该软件可能未获批准在某些国家或地区使用。

© . All rights reserved.