Python3接口到sds011细粉尘传感器
sds011的Python项目详细描述
sds011型
此模块是基于Python3的sds011细粉尘(烟雾)传感器的客户端。 sds011是一种廉价的传感器,可以测量空气中的pm2.5和pm10粒子密度。 有关详细信息,请参阅Spec Sheet。在
关于传感器的一些事情
- 为主动式风机,风机运行约100mA。在
- 关键部件是内部的激光二极管,它的寿命只有1000小时,因此如果使用该传感器进行永久性测量,则不会持续一年。 将工作周期设置为5分钟左右是粒度和生存期的一个不错的选择。在
- 传感器通常带有一个中国的ch341usb2.0串行适配器,对于linux系统来说这不是问题,但对于windows和mac来说,驱动程序有时很难获得。 如果您打算在windows上使用传感器,请使用FTDI-USB到5V-TTL转换器电缆。在
基本图形用户界面
PyQt5应用程序提供基本的传感器信息和绘图功能。在
python3 sds011_pyqt5app.pyw
或者将脚本作为可执行文件运行
如何使用模块
定义一个串行端口,通常是“ttyUSB”或“com”端口
^{pr2}$创建SDS011类的实例
sds = SDS011(port=port)
获取传感器的一些信息来检查它是否工作正常
print(sds)
设置传感器的工作周期
sds.set_working_period(rate=5)
从测量队列中获取一个带有“timestamp”、“pm2.5”、“pm10”、“devid”键的字典
meas = sds.read_measurement()
这是一个阻塞功能,因此它会等待,直到从传感器接收到测量值,这可能需要一些时间,这取决于工作周期。在
通过套接字获取值
如果使用套接字选项调用模块
sds = SDS011(port=port,use_socket=True,socket_portnum=9999)
它将在本地主机和给定端口上打开一个套接字,默认为9999。 您可以通过netcat检查输出
nc localhost 9999
输出时间戳,pm2.5,pm10,设备id
2018-06-02 10:36:04.980272,33.5,53.6,43897
2018-06-02 10:41:04.981235,39.5,145.3,43897
2018-06-02 10:54:14.573174,29.5,61.4,43897
数据库选项
如果使用database选项调用模块
sds = SDS011(port=port,use_database=True)
它将向sqlite数据库写入值。在
- 项目
标签: