bme280pi:覆盆子Pi的BME280传感器读卡器

bme280pi的Python项目详细描述


Build StatusTest CoverageCodacy BadgeMaintainabilitypypi

bme280pi:覆盆子Pi的BME280传感器读卡器

如何安装

启用I2C接口

  1. sudo raspi-config
  2. 选择“接口选项”
  3. 突出显示“I2C”选项,并激活“选择”(使用选项卡)
  4. 如果您想用“是”启用ARMI2C接口,请回答这个问题
  5. 选择“确定”
  6. 重新启动

有关屏幕截图的详细说明,请参阅下面的参考资料。在

安装实用程序

安装python-smbusi2ctoolssudo apt-get update && sudo apt-get install -y python-smbus i2c-tools

然后,关闭你的树莓派:sudo halt。断开你的树莓皮电源。 现在可以连接BME280传感器了。在

连接BME280传感器

ModuleSetup

安装此模块

使用pip安装(推荐)

然后可以通过运行pip install bme280pi来安装此模块

从源安装

如果需要最新版本,可以查看源代码并安装 包装自己:

git clone https://github.com/MarcoAndreaBuchmann/bme280pi.git
cd bme280pi
python setup.py install

在脚本中使用它

可以按如下方式初始化传感器类:

^{pr2}$

然后可以使用sensor对象来获取数据,sensor.get_data(),它将返回一个字典 温度、湿度和压力读数。在

你也可以得到温度(sensor.get_temperature()), 只是压力(sensor.get_pressure()),或者 只有湿度(sensor.get_humidity())。在

注意,所有命令都支持用户指定的单位,例如sensor.get_temperature(unit='F'), 或sensor.get_pressure(unit='mmHg')。在

例如,您可以每隔10秒查询一次传感器,并将结果添加到字典中,然后 将其转换为pandas数据帧并绘制(需要matplotlib和pandas):

importtimeimportdatetimeimportpandasimportmatplotlib.pyplotaspltfrombme280piimportSensormeasurements={}foriinrange(20):measurements[datetime.datetime.now()]=sensor.get_data()time.sleep(10)measurements=pd.DataFrame(measurements).transpose()plt.figure()plt.subplot(2,2,1)measurements['temperature'].plot()plt.title("Temperature (C)")plt.subplot(2,2,2)measurements['pressure'].plot()plt.title("Pressure (hPa)")plt.subplot(2,2,3)measurements['humidity'].plot()plt.title("Relative Humidity (%)")plt.savefig("Measurements.png")

报告问题

如果您在 issue tracker。在

参考文献

Bosch BME280 Data Sheet

Raspberry-Spy: Using BME280 sensor in python

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

推荐PyPI第三方库


热门话题
通过GWT JSNI传递Java对象时发生javascript错误   java Spring启动项目wildfly服务器失败   java如何进行会话来存储Id?   javajpa/hibernate如何通过带注释的外键映射元素集合   Java将字节[]转换为双[],反之亦然   eclipse显示Java双值   java如何正确读取socket数据包   是否存在用于集合处理的Java库?   javacom。太阳jna。无法将指针强制转换为com。太阳jna。站台win32。温迪夫。LPARAM   java Eclipse插件开发。我可以在插件中使用已经存在的jar文件吗?   分析Java错误:找不到符号变量   java如何使按钮摆动以进行大的处理   如何通过传递bucket name和file name从java中的minio服务器下载多个文件   JavaScrollPane JavaFX使其滚动更多?   java无法加载C:\Users\username\AppData\Local\Android\Sdk\buildtools\28.0.3\lib\dx。罐子   JavaSwing中是否有一个“组框”等价物?   java使用slf4j和log4j与单独使用log4j相比,是否存在性能开销?   java模式和匹配:格式化文本文件   JTable行增长的java问题