i2c-tools工具安装

apt-get install i2c-tools

i2c-tools包含如下命令:

i2cdetect  i2cdump    i2cget     i2cset

通过raspi-config打开树莓派I2C,执行i2cdetect -l查看:

root@raspberrypi:/opt# i2cdetect -l
i2c-1   i2c             3f804000.i2c                            I2C adapter

查看I2C-1上所挂的设备信息:

root@raspberrypi:/opt# i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

地址40为温湿度传感器SHT20。

查看传感器信息:

root@raspberrypi:/opt# i2cdump -f -y 1 0x40
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: XX XX XX 69 XX 67 3a 3a XX 06 XX XX XX XX XX 02    XXXiXg::X?XXXXX?
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX    XXXXXXXXXXXXXXXX

其中寄存器0x03为温度值,寄存器0x05为湿度,可以使用i2cget命令单独获取:

root@raspberrypi:/opt# i2cget -f -y 1 0x40 0x03
0x69
root@raspberrypi:/opt# i2cget -f -y 1 0x40 0x05
0x67

写个python脚本调用i2c-tools获取温湿度:

#!/usr/bin/python
import commands
status_temp,temp_reg=commands.getstatusoutput('i2cget -f -y 1 0x40 0x03')
status_humd,humd_reg=commands.getstatusoutput('i2cget -f -y 1 0x40 0x05')
print "Register temp:",temp_reg
print "Register humd:",humd_reg
temp_int = int(temp_reg,16)
humd_int = int(humd_reg,16)temp = (temp_int<<8)|temp_int
humd = (humd_int<<8)|humd_int
T=-46.85 + 175.72/65536*temp
RH=-6.0+125.0/65536*humd
print "Current Temperature=",T
print "Relative Humidity=",RH

保存为SHT20.py,执行:

root@raspberrypi:/opt/i2c# ./SHT20.py
Register temp: 0x69
Register humd: 0x68
Current Temperature= 25.5041900635
Relative Humidity= 44.9796142578

树莓派通过Python操作I2C接口的库很多,常用的有smbus、quick2wire、wiringpi等。

使用wiringpi Python 获取SHT20温湿度脚本如下:

#!/usr/bin/python
import wiringpi
fd=wiringpi.wiringPiI2CSetup(0x40)
temp_org=wiringpi.wiringPiI2CReadReg8(fd,0x03)
humd_org=wiringpi.wiringPiI2CReadReg8(fd,0x05)temp = (temp_org<<8)|temp_org
humd = (humd_org<<8)|humd_org
T=-46.85 + 175.72/65536*temp
RH=-6.0+125.0/65536*humd
print "Current Temperature=",T
print "Relative Humidity=",RH

树莓派体验12 - 树莓派I2C接口获取温湿度相关推荐

  1. STM32通过I2C接口采集温湿度

    目录 一.I2C总线协议 1. I2C总线简介 1.1 物理接口 1.2 通讯特征 1.3 I2C总线状态 2. I2C总线通信协议 2.1 起始位和结束位 2.2 数据格式与应答 2.3 数据传输通 ...

  2. STM32通过I2C接口实现温湿度(AHT20)的采集与OLED显示及显示姓名学号

    文章目录 一.了解I2C总线协议 二.实现AHT20采集程序 三.温湿度采集--OLED显示 三.总结 四.参考链接 一.了解I2C总线协议 1.什么是I2C协议 I2C 通讯协议(Inter-Int ...

  3. stm32f10x通过I2C接口实现温湿度(AHT20)的采集及显示

    目录 一.I2C通信协议 1.协议简介 2.I2C总线特点 3.I2C工作原理 二. I2C实现方式 1.软件I2C 2.硬件I2C 3.硬软件I2C比较 三.温湿度数据采集 1.实验要求 2.主要代 ...

  4. 树莓派体验13 - 树莓派3B板载wifi配置方法

    树莓派3代B版自带板载wifi和蓝牙,因此想让树莓派通过wifi上网不再需要单独购买wifi模块,通过简单配置板载wifi即可快速实现. 配置方法在命令行操作,前提是你需要进入命令行终端,进入命令行终 ...

  5. 树莓派python gpio 模仿iic_树莓派-用GPIO虚拟I2C

    前言: 非常不幸,树莓派没用多久,I2C接口无法detect. 抱着试一试的心理,到群里问了问,结果被人喷曰:"现在钱多人傻的人真多,什么都不懂,还玩树莓派". 我心想,难道树莓派 ...

  6. 【龙芯1c库】封装模拟I2C接口和使用示例

    龙芯1c库是把龙芯1c的常用外设的常用功能封装为一个库,类似于STM32库.Git地址:https://gitee.com/caogos/OpenLoongsonLib1c I2C接口是常用的接口之一 ...

  7. sht20 python_尝试--树莓派i2c接口SHT30的使用

    给树莓派安装SHT30 由于买来的SHT30已经接好电路,直接用杜邦线连接树莓派即可. 树莓派SHT30连线 完美 树莓派开启i2c 参考 https://blog.csdn.net/panwen11 ...

  8. 树莓派can总线_RPi 2B: CAN总线通信 - 通过OBD-II接口获取车辆信息

    CAN总线在汽车电子中用的最广,汽车中的(ECU (Electronic Control Unit, 电子控制单元)可以通过CAN总线进行通信,同时汽车上还存在OBD(On-Board Diagnos ...

  9. 使用RT-Thread Studio DIY 迷你桌面时钟| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)...

    1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在上一篇博文中简单的介绍了RT-ThreadStudio一站式工具,基于STM32L ...

最新文章

  1. 电脑桌面便签小工具_电脑桌面工作任务提醒软件有哪些?多端同步提醒办公软件试试云便签...
  2. java软件下载jar_qdox.jar免费版
  3. 推荐关注这7个高质量的前端公众号
  4. File如何转换成MultipartFile
  5. Redis 混合存储最佳实践指南
  6. Direct 3D学习笔记(三)——光照与材质
  7. 明晚直播预告丨Oracle 19c X86下移经验分享
  8. web app iphone4 iphone5 iphone6 iphone6 Plus响应式布局 适配代码
  9. 记录是为了遗忘——印象笔记伴你成长
  10. Synchronized方法锁、对象锁、类锁区别
  11. SQL 笛卡尔积 学习与理解
  12. android xutils3 注解,xUtils3使用简介
  13. 服务端Word转Pdf,实现中文文档转换
  14. 文献调研(一):基于集成学习和能耗模式分类的办公楼小时能耗预测
  15. html中路径:点杠,点点杠的区别
  16. 笔记本屏幕颜色校证,有效解决屏幕发白、刺眼问题
  17. 联邦学习笔记-《Federated Machine Learning: Concept and Applications》论文翻译个人笔记
  18. mysql安装问题:由于找不到MSVCR120.dIl,无法继续执行代码。
  19. 宏观经济学-计算题(一)
  20. 微信公众号模板消息换行符号

热门文章

  1. Mysql的新特性--MRR
  2. Bootstrap 4 glyphicon 图标显示不出来(无fonts文件夹)
  3. python docx_pythondocx
  4. 微信支付放大招 再也不用担心限额了!
  5. 线上打印100张A4纸多少钱?
  6. SDK接口与API接口究竟有什么区别?
  7. 微软麻将AI来了!第一波人类高手已经被打爆
  8. 实用又救急误删恢复软件怎么用你知道吗,一招教你误删恢复文件数据
  9. vmesxi 虚拟服务器 黑苹果,ESXI虚拟机安装MacOS
  10. 通过企业名称生成随机背景名称标识头像