首先科普IIC,即I2C

IICInter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线。

包括两个SDA和SCL,SDA是串行数据线,SCL是串行时钟线,IIC工作方式为半双工。

可以看到MLX90614有四个引脚,vcc接3.3v,GND接地,SDA和SCL分别对应树莓派相应接口(见下图)。

接好线之后

首先安装IIC库(这个一般树莓派操作系统自带)

sudo apt install i2c-tools

再装专门为python的smbus

sudo apt install python-smbus

安完上面两个,就可以打开IIC

sudo raspi-config

选择5 interface options,然后选择P5 I2C,打开这一项

之后就可以查看模块的地址了(下面代码如果运行不了,自己加管理员权限sudo)

i2cdetect -y -a 1

如果树莓派SDA和SCL接的是SDA.1和SCL.1,那么模块地址就是0*5a,如图

这样就说明检测到了模块,地址为0*5a

接下来上代码,打开万能的GitHub,源码链接在此!

照顾一下打不开的朋友

mlx90614.py

import smbus
from time import sleepclass MLX90614():MLX90614_RAWIR1=0x04MLX90614_RAWIR2=0x05MLX90614_TA=0x06MLX90614_TOBJ1=0x07MLX90614_TOBJ2=0x08MLX90614_TOMAX=0x20MLX90614_TOMIN=0x21MLX90614_PWMCTRL=0x22MLX90614_TARANGE=0x23MLX90614_EMISS=0x24MLX90614_CONFIG=0x25MLX90614_ADDR=0x0EMLX90614_ID1=0x3CMLX90614_ID2=0x3DMLX90614_ID3=0x3EMLX90614_ID4=0x3Fcomm_retries = 5comm_sleep_amount = 0.1def __init__(self, address=0x5a, bus_num=1):self.bus_num = bus_numself.address = addressself.bus = smbus.SMBus(bus=bus_num)def read_reg(self, reg_addr):err = Nonefor i in range(self.comm_retries):try:return self.bus.read_word_data(self.address, reg_addr)except IOError as e:err = e#"Rate limiting" - sleeping to prevent problems with sensor#when requesting data too quicklysleep(self.comm_sleep_amount)#By this time, we made a couple requests and the sensor didn't respond#(judging by the fact we haven't returned from this function yet)#So let's just re-raise the last IOError we gotraise errdef data_to_temp(self, data):temp = (data*0.02) - 273.15return tempdef get_amb_temp(self):data = self.read_reg(self.MLX90614_TA)return self.data_to_temp(data)def get_obj_temp(self):data = self.read_reg(self.MLX90614_TOBJ1)return self.data_to_temp(data)if __name__ == "__main__":sensor = MLX90614()print(sensor.get_amb_temp())print(sensor.get_obj_temp())

example.py

from mlx90614 import MLX90614thermometer_address = 0x5athermometer = MLX90614(thermometer_address)print thermometer.get_amb_temp()
print thermometer.get_obj_temp() 

直接运行mlx90614.py就行了。

GitHub地址:https://github.com/CRImier/python-MLX90614

树莓派4B通过Python读取MLX90614温度相关推荐

  1. 树莓派c语言cpu温度,读取树莓派4B处理器(CPU)的实时温度

    读取树莓派4B处理(CPU)的实时温度 树莓派发布4B后,性能提升了不少,但是温度也是高的不行,所以最好配置一个小风扇和散热片还是比较好的 俩种办法都可以实现 1.命令读取 打开终端 cd /sys/ ...

  2. 树莓派4b安装python库

    树莓派4b安装python库 树莓派安装好系统后自带的有python2和python3,默认是使用python2,可以打开树莓派查看: 输入python 查看默认的python版本: 我原来默认是py ...

  3. 树莓派4B、Python与三相四线多功能电力仪表通过RS485(modbus RTU协议)收发数据

    树莓派4B+Python与三相四线多功能电力仪表通过RS485(modbus RTU协议)接口发送和接收数据 请耐心把下面的警告⚠️看完 开始之前需要注意以下点:一.那就是安全,生命为本,安全第一.因 ...

  4. python读取传感器数据实时上传_树莓派上利用python读取传感器DHT11的温湿度

    昨晚测试Python操作dht11传感器失败!本来想着利用树莓派,传感器,数据库搭建一个机房环境监控系统,卡在了python读取数据上,怎么读取数据都是有问题.世上无难事,只要肯放弃,决定暂时放弃实验 ...

  5. 树莓派学习笔记——Python SQLite插入温度记录

    0 前言 本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度值.本文重点解释Python操作SQlite的具体方法 ...

  6. 树莓派温湿度与mysql,树莓派学习笔记——Python SQLite插入温度记录

    0 前言 本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表--参数名称,时间和温度值.本文重点解释Python操作SQlite的具体方法 ...

  7. 树莓派输出pwm波c语言,02树莓派4B—C语言编程——PWM

    01树莓派直接输出PWM波 -- 硬件PWM程序  (推荐使用) #include #include #include //必不可少 int main( void) { int pwm_gpio5 = ...

  8. (学习笔记)树莓派4B使用usb转串口通讯模块

    一.写在前面 首先,树莓派上自带一个串口,用于连接蓝牙或是串口命令行,对于这个串口的使用我们已经简单探究过了,可以点击蓝字看看我的这篇文章:树莓派4B和pc之间进行串口通信(解决报错). 但是,对于嵌 ...

  9. 监控安装ESXi on Arm的树莓派4b的CPU温度

    在传统的x86服务器上,ESXi可以监控该服务器的cpu温度,如图: cpu温度显示 我们平时玩树莓派时,是可以获取到cpu温度,并且可以通过程序来联动启停风扇的.(网络上教程很多) 当ESXi on ...

  10. 树莓派4B ubuntu20.04 python点亮LED 教程

    关于如何在ubuntu上配置python控制gpio的环境参见这篇博客 https://blog.csdn.net/ourkix/article/details/113417800 关于GPIO引脚 ...

最新文章

  1. 当 Docker 遇到 Intellij IDEA,再次解放了生产力~
  2. 2021-03-15 数据挖掘算法—K-Means算法 Python版本
  3. 高等数学:第二章 导数与微分(3)函数微分 近似计算
  4. 勾股定理python思路_趣叮咚编程数学揭秘:为什么勾股定理a+b=c?
  5. 美国远程MBA全面占领MBA市场
  6. 87-Spark推测执行spark.speculation
  7. linux安装nvidia黑屏,GTX 550 Ti 安装Linux遇到的问题 黑屏 显示器休眠
  8. (转)Linux系统中sysctl命令详解 sysctl -p、sysctl -a、sysctl -w
  9. 网络的日常——破解电信光猫后开启NAT接口映射
  10. 众多电子秤方案免费拿~挑一个?
  11. win10在哪里找到计算机,win10计算器在哪里?win10怎么调出计算器?
  12. 用图片替代cursor光标样式
  13. js基础——图片切换实例
  14. 阿里云建站云企业官网标准版/高级版/尊贵版功能对比及选择方法
  15. 破解第三课 关键跳和关键CALL
  16. Android开发学习——2.Android开发环境准备
  17. 美版有锁iphone4怎么突然连不上网了
  18. 关于Excel表格的导入
  19. 如何从外包跳槽到大厂
  20. [深入理解Android卷二 全文-第五章]深入理解PowerManagerService

热门文章

  1. 人生就是一个领域,一份爱,一杯茶
  2. Ubuntu关机后自动重启问题的解决方案
  3. Python个人总结(基础+进阶)
  4. win7网络适配器_win7网络重置
  5. EBS R12.2 ADOP (R12.2 AD Online Patching) - 3
  6. 水星d128路由器虚拟服务器,幻影D128路由器怎么设置?
  7. mysql查询时 全外連接_MySQL数据库左外连接、右外连接、全外连接
  8. 0ctf_2017_babyheap
  9. 为什么博客图片不显示?
  10. centos 安装 时间校准与定时同步