20元搞定IoT 物联网毕业答辩 – 自制 Arduino 环境监测仪

IoT 3年前 (2021) admin
950 0 0

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


   硬件准备   


今天我们在只有20元预算前提下,带领大家完成一次IoT物联网开发之旅!


感谢万能的淘宝,让我们能采购到esp8266开发板,dht11温湿度传感器:


20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


  架构方案  


我们通过DHT11采集温度,湿度数据,通过 MQTT 协议上报到阿里云 IoT 物联网平台,并通过规则引擎转发到表格存储OTS数据库中,整体技术方案如下:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


  创建产品和注册设备  


我们登录阿里云IoT物联网平台控制台,创建产品温湿度计。

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


接下来,我基于温湿度计产品注册一个设备hz9527,并获取到设备身份三元组。

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


  物模型开发  


物模型指将物理空间中的实体数字化,并在云端构建该实体的数据模型。物模型描述产品是什么、能做什么、可以对外提供哪些服务

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


我们在物联网平台控制台,产品详情页面的功能定义,添加温度和湿度两个属性,如下图:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


物模型属性上报的通信Topic,如下图

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


物模型通信Topic和Payload如下:

Topic:
/sys/a1k823sJ0v/hz9527/thing/event/property/post

Payload:
{
    "id":1596087445906,
    "params":{
        "temperature":23,
        "humidity":65
    },
    "method":"thing.event.property.post"
}


  规则引擎流转  


我们在表格存储控制台,预先创建数据库实例iotMsgiot_thermometer_data,如下图:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


然后,我们回到IoT物联网平台控制台,配置数据流转规则,把设备上报数据存储到已有的表格存储数据库实例iotMsg中的iot_thermometer_data表中,规则引擎配置如下:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪

数据转发配置如下:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪



  硬件开发  


Arduino开发依赖C库,如下:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


设备和云端通过 PubSubClient 建立 MQTT 连接代码:

/* 连接WiFi之后,连接MQTT服务器 */
client.setServer(MQTT_SERVER, MQTT_PORT);
client.setCallback(callback);
client.connect(CLIENT_ID, MQTT_USRNAME, MQTT_PASSWD)


设备读取传感器数据,并通过 MQTT 通道发送到云端:

void loop() {
  // 从传感器获取温度,湿度数据 
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();
  char jsonBuf[128];
  sprintf(jsonBuf, BODY_FORMAT, temperature, humidity);

  // 通过 MQTT 发送数据上云
  if (client.connected()) {
    boolean d = client.publish(PROP_POST_TOPIC, jsonBuf);
  }

  client.loop();
  // delay
  delay(DELAY_TIME);
}


使用 Arduino IDE 烧录程序到 esp8266 开发板:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


  联机运行  


烧录完成后,程序启动,设备详情页面,物模型数据Tab也可以实时看到设备运行状态,如下图:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


观察日志服务中的记录,可以看到消息上报和数据流转的过程,如下图:

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪


表格存储控制台,可以看到存储在 iot_thermometer_data 里的数据

20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪




往期推荐



1、HarmonyOS 到底是不是Android套壳?

2、2021国内四大IoT物联网平台性能对比

3、ThingsBoard 开源物联网平台入门

4、IoT物联网开发入门优秀课程

5、艾瑞 2021中国 IoT物联网平台研究


20元搞定IoT 物联网毕业答辩 - 自制 Arduino 环境监测仪

原文始发于微信公众号(IoT物联网技术):20元搞定IoT 物联网毕业答辩 – 自制 Arduino 环境监测仪

版权声明:admin 发表于 2021年11月10日 下午1:17。
转载请注明:20元搞定IoT 物联网毕业答辩 – 自制 Arduino 环境监测仪 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...