PM2.5传感器通过树莓派推送到ThingsPanel
本文主要讲述通过树莓派4B开发板采集PM2.5传感器数据并推送到ThingsPanel进行查看(插件已经开发并安装,插件开发参照 https://github.com/ThingsPanel/docker/wiki/4.-Development
也可以直接复制extensions目录下的 WeatherStations 插件按上面教程修改进行更改)。
一、硬件准备
树莓派4B开发板
攀藤PM2.5传感器PMSA003
攀藤PM2.5传感器PMSA003转接板
4根杜邦线
二、硬件连接
1、将4根杜邦线一端连接到攀藤PM2.5传感器PMSA003转接板,线序如下图所示。
2、将攀藤PM2.5传感器PMSA003转接板接到攀藤PM2.5传感器PMSA003上,如下图所示。
3、将4根杜邦线另一端连接到树莓派4B开发板线序如下图所示。
这样就完成了PM2.5传感器和树莓派开发板的连接,接下来上电即可正常运行。
三、数据采集代码
pm2.5.py代码如下:
import serial
import time
import sys
import json
import datetime
import binascii
class pmsA003():
def init(self, dev):
self.serial = serial.Serial(dev, baudrate=9600, timeout=3)
def exit(self, exc_type, exc_value, traceback):
self.serial.close()
def setIdel(self):
idelcmd = b’\x42\x4d\xe4\x00\x00\x01\x73’
ary = bytearray(idelcmd)
self.serial.write(ary)
def setNormal(self):
normalcmd = b’\x42\x4d\xe4\x00\x01\x01\x74’
ary = bytearray(normalcmd)
self.serial.write(ary)
def vertify_data(self):
if not self.data:
return False
return True
def read_data(self):
while True:
b = self.serial.read(1)
if b == b’\x42’:
data = self.serial.read(31)
if data[0] == b’\x4d’:
self.data = bytearray(b’\x42’ + data)
if self.vertify_data():
return self._PMdata()
def _PMdata(self):
d = {}
d[‘time’] = datetime.datetime.now()
d[‘apm25’] = self.data[6] * 256 + self.data[7]
d[‘apm10’] = self.data[4] * 256 + self.data[5]
d[‘apm100’] = self.data[8] * 256 + self.data[9]
return d
if name == ‘main’:
//# print “starting…”
con = pmsA003(’/dev/ttyAMA0’)
d = con.read_data()
//# print(d)
print “Time :”,(d[“time”])
print “PM 2.5:”,(d[“apm25”])
print “PM 10 :”,(d[“apm10”])
print “PM 100:”,(d[“apm100”])
//#print d
完整代码自取。
链接:https://pan.baidu.com/s/1Y0TzMkBrEaTgyk6pSeaLJQ
提取码:u31k
四、平台创建业务展示数据
1、新建业务
登录平台后依次点击业务-新增,编辑业务名称并保存。
点击编辑业务进行业务编辑
输入资产名称及资产别称选择传感器。
点击代码修改选择MQTT协议,并输入TOKEN值并保存
点击代码进行数据映射,输入设备端字段名和插件预设值并保存,这样就完成了业务的创建。
2、新建可视化
点击可视化-新增,新建可视化
输入名称,选择业务并保存。
点击可视化图表新增可视化图表和配置
点击右上角+新增可视化图表。
选择资产-设备-可视化单元后点击保存就完成了可视化图表的新建,可以查看PM2.5数据。
这样就完成了通过树莓派4B开发板采集PM2.5传感器数据并推送到ThingsPanel进行查看。
PM2.5传感器通过树莓派推送到ThingsPanel相关推荐
- 推送通知/传感器/UIDynamic仿真(推送通知已适配iOS10)
推送通知/传感器/UIDynamic 一.推送通知 1.推送通知简介 什么是推送通知 此处的推送通知与NSNotification没有任何关系 可以理解为,向用户推送一条信息来通知用户某件事情 作用: ...
- 4Gwifi无线远程非接触红外测温传感器mqtt/http推送数据
1产品概述 DAQ-GP-IRT4G无线红外测温传感器终端是上海数采物联网科技有限公司推出的一款无线非接触红外测温产品.本产品红外探测器(热敏探测器和光电探测器)将红外辐射能量测出并转变成电信号,再根 ...
- 树梅派应用47:用树莓派给智能手机发送推送通知
本项目说明了如何从树莓派发送推送通知给iOS和Android设备,只需要用到一个免费的推送app即可.这里的主要思想就是利用一个电磁感应门来触发推送信息的事件.当电磁门打开时,树莓派就发送消息.在这个 ...
- Yeelink平台推送传感器结果——套接字编程 Windows平台
1.前言 本文使用windows平台的socket套接字实现向yeelink平台推送传感器结果. [相关博文] [ MinGW安装和使用总结 ] [Yeelink Ht ...
- 【逗老师带你学IT】PRTG监控系统通过企业微信推送图文混排告警消息
往期回顾: [逗老师带你学IT]PRTG监控系统通过企业微信推送告警消息 [逗老师带你学IT]PRTG HTTP API获取指定传感器流量图表图片 在往期的文章里,我们讲了 1.如何在PRTG产生告警 ...
- 基于mqtt协议的消息推送服务器,基于 MQTT 协议的推送服务
一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级& ...
- SpringBoot整合MQTT服务器实现消息的发送与订阅(推送消息与接收推送)
场景 Windows上Mqtt服务器搭建与使用客户端工具MqttBox进行测试: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- 基于 WebSocket 的 MQTT 移动推送方案
WebSphere MQ Telemetry Transport 简介 WebSphere MQ Telemetry Transport (MQTT) 是一项异步消息传输协议,是 IBM 在分析了他们 ...
- MQTT--物联网(IoT)消息推送协议
简介 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种构建于TCP/IP协议的"轻量级"消息传输协议,它基于发布/订阅 ...
最新文章
- SQL连接,Oracle关联加号(+)等相关知识
- 初步了解超图桌面版导入CityGML数据
- Kali Linux渗透基础知识整理(三):漏洞利用
- Android之Lollipop DevicePolicyManager学习(上)
- 201521123014 《Java程序设计》第11周学习总结
- 什么是闭包?闭包的优缺点?
- 可视化分析:洞见数据的秘诀
- sqlserver 中怎样查看一个数据库中表的关系
- Redis学习笔记 - 数据类型与API(2)String
- ubuntu14.04LTS 安装后几个基本设置
- VIM空格和TAB转换
- 网课学习:PDF阅读器,Blumind思维导图
- NiFi 学习 —自己实现处理器
- 时域采样定理和频域采样定理
- linux百度资源网盘,百度网盘 linux版
- 傅盛:认知升级三部曲(深度好文)
- 【NOIP 2015】斗地主
- 计算机领域区块链是什么是意思,为什么区块链瑞普顿RXP是不可篡改的
- C#中向Chart中添加数据
- Java中扫雷游戏的递归算法_扫雷之递归