亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Hologram Nova 入门套件

Nova 新手?树莓派新手?刚接触 Python?本教程与我们的工具包一起使用,引导您完成每一步。

故事

本教程是 Hologram 提供的套件的一部分:https://hologram.io/store/nova-starter-kit-for-raspberry-pi-3

设置树莓派 - Headless

注意:如果您已经在 SD 卡上安装了 Raspbian,并且可以通过 SSH 连接或访问其终端,则可以跳到下一部分。

设置无头 Raspberry Pi 意味着我们将设置计算机而无需将显示器、键盘或鼠标连接到设备。我们将在主计算机上远程完成所有工作。

1.下载Raspbian OS并烧录到SD

入门注意事项:

下载 Raspbian:https://www.raspberrypi.org/downloads/raspbian/

下载/安装 Etcher:https://etcher.io/

将 Raspbian 烧录到 SD 卡:

2.配置 Raspbian

在 Etcher 完成后,我们希望在仍安装在您的计算机上的情况下访问 SD 卡。如果在 Etcher 完成后 SD 卡被弹出,则拔出/重新插入 SD 卡并确保其已安装。

打开本地终端应用。我喜欢使用超级终端。

将目录更改为引导驱动器,在 Mac 上为:

cd /Volumes/boot

通过创建一个空文件来启用 SSH。

触摸 ssh

创建和编辑 wpa_supplicant.conf 以预配置 WiFi。配置此项将允许 Pi 在启动时自动加入网络(如果可用)。 树莓派只有 2.4Ghz 天线,不兼容 5Ghz 路由器 .运行以下命令来配置 WiFi:

sudo nano wpa_supplicant.conf

注意 1:添加 sudo 命令的开头会给你root(超级用户)权限。这个话题有点毛茸茸的,如果你逐字按照这些说明你会没事的。

注意 2:什么是 纳米 ? Nano 是一个轻量级的文本编辑器,可在终端内运行。调用 nano 后跟一个文件将打开该文件进行编辑。

nano 打开一个空白文件,粘贴以下代码片段 - 使用您自己的网络凭据修改它。

country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="**your-wifi**" psk="**your-password **" key_mgmt=WPA-PSK}

对于不安全的网络:

country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="**your-wifi**" key_mgmt=NONE}

CRTL+X 退出,Y 要保存,ENTER 确认并退出 Nano 编辑器。从计算机中弹出 SD 卡并将其插入 Raspberry Pi。

3. 通过 WiFi SSH 连接到 Pi

通过其微型 USB 电源端口为 Raspberry Pi 供电,并等待一分钟让设备启动并连接。您还不需要插入 Nova。请确保您使用随附的电源适配器,重要的是您的 Pi 获得推荐的 5V 2.4A。

在你的主计算机(不是树莓派)上打开一个终端,你甚至可以从最后几步打开终端。我们将使用 SSH(安全外壳)从您的主计算机远程访问 Pi 的终端。把它想象成远程桌面,但它不是桌面,而是终端。

在终端运行:

ssh [email protected]

密码是树莓派。

疑难解答:

  • 如果找不到设备怎么办? Pi 可能不在网络上。将 SD 卡放回主计算机并重做最后一步,确保 wifi 凭据正确并且您正在连接到 2.4Ghz 网络。
  • 如果我的网络上有多个 Raspberry Pi 共享相同的主机名怎么办? 您需要通过本地 IP 地址而不是 hostname.local 访问 Pi。通过登录路由器的管理后端或使用 Bonjour 浏览器等应用来识别设备的 IP。找到通过 SSH 访问设备的 IP 地址> ssh [email protected]

进一步的 Pi 配置。

现在您应该远程进入 Pi 的终端。我们将完成对 Pi 的配置。从 SSH 命令行运行:

sudo raspi-config

应该会出现这样的屏幕:

让我们在这里介绍我们需要您做的所有事情。

  • 扩展 SD 存储:7 个高级选项 → A1 扩展文件系统
  • 启用 I2C 以读取模拟传感器:5 个接口选项 → SPI
  • 更改密码:1 更改用户密码 → 输入新密码(记住这一点!)
  • 更改主机名:2 主机名 → 输入新的主机名(记住这一点!)
  • 选择完成并批准 Pi 重启

在 Pi 重新启动后,我们将通过 SSH 重新连接到设备。确保使用新的主机名并将 .local 放在主机名之后。示例:ssh [电子邮件保护]

4. 安装依赖

我知道这有点长但我发誓我们快完成了!从 SSH 会话内部运行以下命令。

更新你的树莓派代码库:

sudo apt-get 更新

安装一些我最喜欢的必需库:

sudo apt-get install git git-core build-essential python-dev python-openssl python-smbus python3-pip python-pip screen

安装 Hologram 的 Python SDK 以与 Nova 交互:

curl -L hologram.io/python-install | bash

验证 Hologram 的 CLI(命令行界面)是否已安装。它应该返回一个大于 0.6.0 的版本。

全息版

恭喜!您已完成 Raspberry Pi 的设置,但从未连接过显示器!你现在是专业人士了!

我们将与通用输入/输出引脚(GPIO 简称)。如需快速了解 Pi GPIO 引脚的主要细微差别,请查看此 StackOverflow。对于这个项目,我们将使用 BCM 编号。

发布引脚 此处供快速参考:

对于那些不熟悉面包板的人 ,观看 ScienceBuddiesTv 的这段视频,了解电流如何穿过面包板。

在第 1 课中,我们会将我们的一个 Pi 引脚设置为输出,控制电力以按需点亮 LED。

接线图

以下是您应该如何连接所有内容。使用 220 欧姆电阻。电线的颜色无关紧要,但一般红色代表电源,黑色代表接地。

注意:在接线之前,请务必确保断开 Pi 的电源。

重新连接电源,稍等片刻,然后重新建立 SSH 连接。

运行代码🏃💨

我已经创建了闪烁灯所需的代码并将其存储在 GitHub 上供任何人访问。我们将通过运行以下命令将代码从我的 GitHub 存储库克隆(复制的奇特词)到您的 Pi。

git 克隆 https://github.com/benstr/nova-starter-kit.git

现在你应该在我们的树莓派上有一个装满好东西的新文件夹!

ls nova-starter-kit/

通过发出以下命令运行代码。

sudo python nova-starter-kit/01_blink/main.py

终端会询问您希望 LED 闪烁多少次。输入一个数字,然后观察灯的开关。是的,我们正在控制电动!

有两个文件控制 LED。通过发送这些命令中的每一个来查看每个文件的代码。

cat nova-starter-kit/01_blink/main.py

Main.py 为其 LED 命令引用了另一个文件 myLED.py。我们也看看这个文件。

cat nova-starter-kit/01_blink/myLED.py

雄心勃勃!

我在 myLED.py 中添加了一些您可以在 main.py 中访问的附加功能。继续,编辑 main.py 并从 myLED.py 调用更多函数。运行修改后的代码,看看会发生什么:

sudo nano pi-starter-kit/01_blink/main.py

第 2 课 – 读取数字传感器

在本课中,我们将添加一个数字传感器并读取它的值。 DHT11 感应湿度和温度,并通过数字信号发送结果。 Pi 的引脚可以立即读取数字传感器。

在本课程代码文件夹中,我们添加了一个名为 myDHT.py 的新文件。在此文件中,我们将引脚设置为输入并创建一些常用功能。 Adafruit 的 DHT python 库是真正的明星,让读取 DHT 传感器变得超级简单。

您可以从 Adafruit 阅读有关 DHT 传感器的更多信息:https://learn.adafruit.com/dht

接线图

以下是您应该如何连接所有内容。使用10k电阻。

注意:请记住在接线前将 Pi 断电。

重新连接电源,稍等片刻,然后重新建立 SSH 连接。

运行代码🏃💨

本课所需的代码已经在您的 Pi 上,可以在您在上一步从 GitHub 克隆的文件夹中找到。

ls nova-starter-kit/02_digital_sensor/

在我们运行我创建的代码之前,您需要安装 Adafruit 的 DHT 库。克隆新库。

git 克隆 https://github.com/adafruit/Adafruit_Python_DHT.git

运行 Adafruit 提供的安装脚本。

sudo python Adafruit_Python_DHT/setup.py 安装

通过运行以下命令测试库。这也将验证您是否正确连接了传感器。

注意: 请注意,我们将 11 和 21 传递给脚本。 11 代表我们使用的传感器 (DHT11),21 代表我们将传感器连接到的引脚。

sudo Adafruit_Python_DHT/examples/AdafruitDHT.py 11 21

在验证 DHT 库已安装后,我们准备运行我的课程脚本。通过发出以下命令运行代码。

sudo python nova-starter-kit/02_digital_sensor/main.py

终端不会问你任何问题,而是 LED 会闪烁 3 次并显示终端中当前的温度和湿度。查看我对 main.py 所做的更改

cat nova-starter-kit/02_digital_sensor/main.py

main.py 导入了一个新文件 myDHT.py。我们也来看看这个文件。和上一课的myLED一样,我添加了一些额外的功能。

cat nova-starter-kit/02_digital_sensor/myDHT.py
你的技能正在升温!

第 3 课 – 读取模拟传感器

在上一课中,我们从数字传感器中读取数据,传感器发送 1 和 0。某些传感器还有另一种通信方式,称为模拟。模拟传感器可以发送任何值。

有些开发板,例如 Arduino UNO,可以读取两种类型的传感器。不幸的是,Raspberry Pi 只能读取数字传感器。为了读取模拟传感器,我们需要模拟传感器和 Pi 之间的模数转换器。该芯片会将模拟信号转换为数字输出并发送给树莓派。

在本课中,我们将设置 MCP-3008,它将转换我们从光传感器(称为光敏电阻)获得的值并将其发送到 Pi。我们正在添加另一个 Adafruit python 库,这次是用于 MCP 芯片。

关于 MCP-3008 的更多说明。它提供 8 个端口,这意味着它最多可以读取 8 个模拟传感器。我们将数据发送到端口 0。在 main.py 中,您会注意到我们将光敏电阻使用的端口设置为全局变量。

接线图

以下是您应该如何连接所有内容。 MCP3008 朝向正确的方向很重要。 确保缺口端在左侧 . MCP3008 需要很多电线,所以请花点时间仔细检查一切。

注意:请记住在接线前将 Pi 断电。

重新连接电源,稍等片刻,然后重新建立 SSH 连接。

运行代码🏃💨

本课所需的代码已在您的 Pi 上,可在您从 GitHub 克隆的文件夹中找到。

ls nova-starter-kit/03_analog_sensor/

在我们运行我创建的代码之前,您需要安装 Adafruit 的 MCP 库。克隆新库。

git 克隆 https://github.com/adafruit/Adafruit_Python_MCP3008.git

运行 Adafruit 提供的安装脚本。

sudo python Adafruit_Python_MCP3008/setup.py install

在 MCP 安装完成后,是时候运行课程脚本了。通过发出以下命令运行代码。

sudo python nova-starter-kit/03_analog_sensor/main.py

终端不会问您任何问题,而是 LED 会闪烁 4 次并显示终端中的当前温度、湿度和现在的亮度。

查看我对 main.py 所做的更改

cat nova-starter-kit/03_analog_sensor/main.py

main.py 导入了一个新文件 myMCP.py。我们也来看看这个文件。和上一课的myDHT一样,我添加了一些额外的功能。

cat nova-starter-kit/03_analog_sensor/myMCP.py
未来比以往任何时候都更加光明!

第 4 课 – 使用按钮触发

好的,我们有一套功能齐全的传感器!但是,在 SSH 会话中通过终端触发脚本并不理想。在本课中,我们设置了一个按钮来触发读取并将脚本设置为在 pi 启动后连续循环。

接线图

现在连接这个按钮应该很容易:

重新连接电源,稍等片刻,然后重新建立 SSH 连接。

运行代码 🏃 💨

本课所需的代码已在您的 Pi 上,可在您从 GitHub 克隆的文件夹中找到。

ls nova-starter-kit/04_button/

通过发出以下命令运行代码。

sudo python nova-starter-kit/04_button/main.py

终端在等待你按下按钮时不会做任何事情。每次按下按钮都会得到读数。

正在发生的事情称为无限循环。脚本不会停止,直到您手动停止它。脚本在做什么?监听按钮按下。按 CTRL + C 退出循环。查看我对 main.py 所做的更改

cat nova-starter-kit/04_button/main.py

运行代码……在启动时! 🔌🏃 💨

我们有一个按钮和传感器,耶!但是我们仍然需要终端来启动 Python 脚本。让我们将 Pi 设置为在启动时自动运行此脚本。

为此,我们需要再次使用 NANO 终端编辑器编辑系统文件。

sudo nano /etc/rc.local

这将打开一个包含重要内容的文件。使用箭头滚动到文档底部。将光标移动之前 exit0 并添加以下行:

sudo python /home/pi/nova-starter-kit/04_button/main.py &

CRTL+X 退出,Y 要保存,ENTER 确认并退出 Nano 编辑器。回到普通终端,我们将重新启动 Pi。

sudo reboot

几分钟后按下按钮,如果指示灯闪烁 4 次,则它起作用了!现在,每次为 Pi 供电时,此脚本都会在后台运行。

第 5 课 – 通过 WiFi 发送数据

我们的脚本在启动时运行,很棒!但是我们仍然需要SSH进入终端才能看到数据。相反,让我们通过 WiFi 将数据发送到 Hologram 的数据引擎。

如果您尚未激活 Hologram SIM,请立即激活:https://dashboard.hologram.io/activate。

激活后,在全息设备仪表板上,点击代表您的 Nova 的设备以转到其详细信息页面。

从详细信息页面侧导航转到配置子页面。点击显示路由器凭据 , 生成一个新的 8 位代码并将其保存在某处以备下一步使用。

通过 SSH 连接到您的 Pi 并在 NANO 编辑器中打开 credentials.json 文件。

sudo nano nova-starter-kit/credentials.json 

用您从 Hologram 仪表板获得的 8 个字符的键替换...。

CRTL+X 退出,Y 要保存,ENTER 确认并退出 Nano 编辑器。现在编辑启动规则以使用第 5 课中的 main.py 文件。

sudo nano /etc/rc.local

将第二行改为最后一行:

sudo python /home/pi/nova-starter-kit/04_button/main.py &

sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

记住这需要在 exit0 之前进行。按 CRTL+X 退出,Y 要保存,ENTER 确认并退出 Nano 编辑器。回到普通终端,我们将重新启动 Pi。

sudo reboot

几分钟后按下按钮,如果指示灯闪烁 4 次,则它起作用了!

现在要体验真正的魔法,请访问 https://dashboard.hologram.io/?drawer=full,如果一切顺利,您将在云端看到传感器结果!

查看我在本课中对 main.py 所做的更改。

cat nova-starter-kit/05_cloud/main.py
我们在云端 bruh

第 6 课 – 通过蜂窝网络发送数据

想象一下,您想将此环境传感器阵列粘贴在没有 WiFi 的地方,例如储藏室或度假屋。

在本课中,我们将向脚本添加蜂窝。本课中的步骤与上一课非常相似。

首先,按照包装中包含的 Nova 组装说明进行操作。确保 SIM 卡已正确插入并将 Nova 插入 Pi。等待 Nova 上显示稳定的 LED,然后第二个 LED 闪烁。这意味着您可以连接到可用的蜂窝网络。

通过 SSH 连接到您的 Pi 并编辑启动规则以使用第 6 课中的 main.py 文件。

sudo nano /etc/rc.local

将第二行改为最后一行:

sudo python /home/pi/nova-starter-kit/05_cloud/main.py &

sudo python /home/pi/nova-starter-kit/06_cellular/main.py &

记住这需要在 exit0 之前进行。

CRTL+X 退出,Y 要保存,ENTER 确认并退出 Nano 编辑器。

回到正常终端,我们将重新启动 Pi。

sudo reboot

几分钟后按下按钮,如果指示灯闪烁 4 次,则它起作用了!

现在要体验真正的魔法,请访问 https://dashboard.hologram.io/?drawer=full,如果一切顺利,您将在云端看到传感器结果!

查看我在本课中对 main.py 所做的更改。

cat nova-starter-kit/06_cellular/main.py

恭喜!你做到了!!

现在您可以将您的创作插入世界任何地方并收集有关当地环境的数据。

您现在是气象机器人制造商……向气象员说再见吧。

来源: Hologram Nova 入门套件


制造工艺

  1. 云上的 Web 应用程序开发;入门指南
  2. 血糖仪测试套件
  3. 玩具模型套件
  4. Kit 提供毫米波开发平台
  5. Raspberry Pi 3 入门套件连接指南
  6. Raspberry Pi / Hologram SMS 控制的交流电源开关
  7. 在 RPi3 上使用 Raspbian 托管您自己的免费 .onion 网站
  8. 构建 MonkMakes Raspberry Pi 机器人套件
  9. Intellisaurus – 恐龙机器人套件
  10. HARTING MICA® 入门套件概述
  11. HARTING MICA® 入门套件概述
  12. 了解发动机起动电机