利用 AWS IoT Greengrass 在边缘 DIY 自动浇花 | 手把手玩转物联网(二)

阅读数:1 2020 年 1 月 9 日 15:56

利用 AWS IoT Greengrass 在边缘 DIY 自动浇花 | 手把手玩转物联网(二)

自动浇花思路

  • 通过树莓派和 AWS IoT Core 建立连接
  • 利用光传感器、温度传感器和土壤湿度传感器检测环境亮度、温度及花盆中湿度,通过树莓派汇总后上传
  • 利用 LCD 屏在本地显示传感器数据信息,并以不同颜色醒目提示土壤湿度状况
  • 利用继电器控制小水泵进行浇水
  • 在树莓派上运行自动控制逻辑,根据亮度、温度和湿度确定继电器状态
  • 通过 topic 来设置湿度阈值,这样可以很方便地实现通过手机 App 或 Web 应用进行参数设置
  • 将传感器数据和继电器状态通过 AWS IoT 的规则引擎发送到 Amazon Elasticsearch,建立监控仪表板,这样可以很方便地通过手机或浏览器进行可视化监控

方案架构如下图所示:

材料准备

  • 树莓派 Raspberry Pi 3B/3B+ 一个,MicroSD 卡一张
  • GrovePi+ 树莓派扩展板一个
  • 三个 Grove 传感器配件:温度传感器,土壤湿度传感器,亮度传感器
  • Grove 1602 LCD RGB 背光显示屏一个
  • 一个继电器配件(Grove Ralay)
  • 微型水泵一个(3V/5V/6V),水泵水管一条

设备连接

    • 首先将 GrovePi+ 安装在 Raspberry Pi 上。堆叠 GrovePi+ 时,注意引脚对齐,如下图所示。

  • 按照以下对应端口连接设备配件:
  • 温度传感器:A0
  • 土壤湿度传感器:A1
  • 亮度传感器:A2
  • 继电器:D6
  • LCD 显示屏:I2C-2
  • 水泵的地线与水泵电源线(可使用 USB 电源线)的地线分别接入继电器的端子

安装和配置树莓派设备

树莓派运行系统建议使用原生 Raspbian,目前最新版本为 buster。请从 Raspberry Pi 官方网站下载并使用 Etcher 工具制作启动镜像。

为方便后续使用和调试,建议启用 SSH:

Python

复制代码
$sudo systemctl enable ssh

一键安装全部驱动:

Python

复制代码
$sudo curl -kL dexterindustries.com/update_grovepi | bash

安装 AWS IoT SDK:

Python

复制代码
$ pip3 install AWSIoTPythonSDK

记得安装好所有依赖后 reboot 一下,以刷新系统驱动。

AWS IoT Greengrass 环境配置

首先设置 AWS IoT Greengrass 运行环境,增加以下用户和组:

Python

复制代码
$sudo adduser --system ggc_user
$sudo addgroup --system ggc_group

为树莓派设置 hardlink 和 softlink 保护,在 /etc/sysctl.d/98-rpi.conf 中增加以下两行:

Python

复制代码
fs.protected_hardlinks = 1
fs.protected_symlinks = 1

编辑 /boot/cmdline.txt,在行末尾,增加如下参数,激活 memory cgroups:

Python

cgroup_enable=memory cgroup_memory=1

配置完成后,重启树莓派。

运行 Greengrass dependency checker,确保树莓派环境满足所有依赖条件:

Python

$cd /home/pi/Downloads
$wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.10.x.zip
$unzip greengrass-dependency-checker-GGCv1.10.x.zip
$cd greengrass-dependency-checker-GGCv1.10.x
$sudo modprobe configs
$sudo ./check_ggc_dependencies

本文转载自 AWS 技术博客。

原文链接: https://amazonaws-china.com/cn/blogs/china/diy-auto-watering-at-the-edge-with-aws-iot-greengrass-hand-to-hand-internet-of-things/

评论

发布