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

基于AWS IoT的智能植物监测系统:土壤湿度/光照/温度远程监控与邮件报警

硬件清单

组件型号/规格接口
主控Arduino Yun (Linino OS)WiFi+Linux桥接
传感器扩展板Grove Starter Kit for Intel Edison含温度、光照传感器
土壤湿度传感器Grove Moisture SensorA1
指示LED红色5mm + 330Ω电阻D2
3D打印外壳PLA, 0.3mm层高, 25%填充容纳Yun+扩展板+传感器

系统功能

接线表

温度传感器 → A0
土壤湿度传感器 → A1
光照传感器 → A2
红色LED(含330Ω) → D2

实施步骤详解

阶段一:原型验证 (dweet.io)

  1. 烧录SoilMoistureValue.ino,串口观察干/湿土读数,确定tooDryValue阈值(示例250)
  2. 烧录ArduinoYunDweetio.ino,修改设备名PlantMonitorTorontoON为唯一名称,数据自动推送至dweet.io/follow/你的设备名

阶段二:AWS IoT 生产部署

  1. 创建AWS账号,开通免费套餐
  2. 安装AWS CLI (Mac示例):
    curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
    unzip awscli-bundle.zip
    sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
    
  3. 创建Thing:aws iot create-thing --thing-name "PlantSystem"
  4. 生成证书:aws iot create-keys-and-certificate --set-as-active --certificate-pem-outfile cert.pem --public-key-outfile publicKey.pem --private-key-outfile privateKey.pem
  5. 策略授权:创建允许iot:*的策略PubSub,关联证书并绑定Thing
  6. 配置Yun连接AWS:
    • 下载AWS IoT SDK for Arduino Yun至Libraries
    • 将rootCA.pem、cert.pem、privateKey.pem放入Yun/certs目录(通过codebase_upload.sh脚本)
    • 运行environment_setup.sh安装python-openssl、paho-mqtt等依赖
  7. 创建DynamoDB表:plantSensor,主键key(String)、排序键timestamp(Number),读写容量单位各1
  8. 配置IoT Rule写入DynamoDB:
    
    {
      "sql": "SELECT * FROM 'topic/plantdata'",
      "ruleDisabled": false,
      "actions": [{
        "dynamoDB": {
          "tableName": "plantSensor",
          "hashKeyField": "key",
          "hashKeyValue": "${topic(2)}",
          "rangeKeyField": "timestamp",
          "rangeKeyValue": "${timestamp()}",
          "roleArn": "arn:aws:iam::XXXXXXXXXXXX:role/iot-actions-role"
        }
      }]
    }
    
    执行aws iot create-topic-rule --rule-name PlantDataToDynamoDB --topic-rule-payload file://plantdatarule.json
  9. 烧录生产固件:ArduinoYunAWSIoTDynamodb.ino + aws_iot_config.h(填入Endpoint/Thing名/证书路径)
  10. 验证:串口监视器观察Publish成功,DynamoDB控制台查看数据落库

阶段三:SNS邮件报警

  1. IAM角色iot-actions-role附加AmazonSNSFullAccess
  2. SNS控制台创建TopicsendMail,添加邮箱订阅并确认
  3. AWS IoT控制台创建RuleEmailSend:
    • 属性:moistval (对应JSON载荷字段)
    • Topic filter:topic/plantdata
    • Condition:moistval < 250 (即tooDryValue)
    • Action:SNS发布至sendMail,角色iot-actions-role
  4. 测试:拔出湿度传感器触发报警,收到邮件含完整JSON载荷

3D打印外壳安装

成本与运维建议

代码仓库

项目包含4个草图:SoilMoistureValue、ArduinoYunDweetio、ArduinoYunAWSIoTDynamodb、aws_iot_config.h,详见项目代码区。

制造工艺

  1. 树莓派 3 配合 PubNub 实现远程气象监测
  2. 树莓派 + PIR 传感器 + MQTT 打造 AWS IoT 运动触发按钮
  3. 智能音箱无接触心跳监测:革命性系统
  4. 使用AWS Jobs升级配置物联网设备:实战指南
  5. 升级运营:利用物联网储罐监测实现更安全、智能、盈利的石油管理
  6. 基于AI的先进物联网系统实现森林火灾超早期检测与树木健康监测
  7. 油柴油罐物联网远程监控系统
  8. 物联网车队重量监测八大核心优势深度解析
  9. 物联网资产监测驱动油气安全与效能双提升
  10. 利用物联网牛奶液位监测革新奶业管理
  11. 智能物联网河流监测系统强化水务管理与防洪
  12. 掌握 C# using 指令:命名空间导入、别名与静态导入全解析