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

或者将脚本作为可执行文件运行

SDS011Plot

如何使用模块

定义一个串行端口,通常是“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数据库写入值。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在保存信息时切换类的“标准”方式是什么?   java JConsole,用于在JBoss AS7独立模式下远程访问JMX   Maven中未识别java CMD   java做。。虽然带开关菜单   java Javax内容不可访问   从cmd验证日期的java方法   安卓应用程序正在缓存java JSON   java正在尝试使用用户输入的参数创建随机数生成器   java Prompt=在keydove和Spring安全Oauth2之间登录   http没有在java中接收的字节数   在命令行上运行java应用程序(JAR文件)的命令行有我不理解的错误   我需要重命名我在java中生成的json对象的键   java Eclipse重命名/重构会影响javadoc上的变量引用吗?   Java:寻找一个库来读取LDAP数据   包含子实体的参数和数据表的java详细信息