【使用笔记】树莓派基于Python操作IIC接口的红外测温传感器
最近在使用红外测温传感器,IIC通信,在单片机上已能读取数据,但是想把数据读取到电脑上用python做一些处理,想到树莓派自带IIC接口,于是尝试直接将红外传感器接到树莓派的IIC管脚。
- 启用树莓派I2C功能:
参考瑞士军刀扩展板的教程“DS1307 RTC 时钟模块”,开启树莓派的IIC功能,教程链接:
http://shumeipai.nxez.com/2016/05/30/saks-diy-tutorials-ds1307-rtc-clock-module.html
需要注意的是树莓派默认只能使用I2C1,I2C0是不能使用的。即要连接SDA.1和SCL.1
这一步的主要工作是打开树莓派的I2C接口功能,并下载安装i2c-tool和python-smbus模块:
sudo apt-get install i2c-tools python-smbus
然后用命令查询是否检测到IC设备:
sudo i2cdetect -y 1
pi@raspberrypi:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: 10 – -- – -- – -- – -- – -- – -- – -- –
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --
也可以用如下命令读取I2C设备的信息:
i2cdump -y 1 0x10 #0x10为I2C设备号
pi@raspberrypi:~ $ sudo i2cdump -y 1 0x10
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: ed 13 00 b1 17 00 00 cf f3 9f f5 b7 df 14 fd af ??.??..???
10: ba ec c7 00 00 00 00 00 00 00 00 00 00 00 00 00 ???..
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
40: ec 13 00 b0 17 00 00 cf f3 9f f5 b7 df 14 fd af ??.??..???
50: ba ec c7 00 00 00 00 00 00 00 00 00 00 00 00 00 ???..
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
80: ec 13 00 b0 17 00 00 cf f3 9f f5 b7 df 14 fd af ??.??..???
90: ba ec c7 00 00 00 00 00 00 00 00 00 00 00 00 00 ???..
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
c0: ed 13 00 bf 17 00 00 cf f3 9f f5 b7 df 14 fd af ??.??..???
d0: ba ec c7 00 00 00 00 00 00 00 00 00 00 00 00 00 ???..
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …
- 用python操作I2C设备
python操作I2C的模块为smbus,库说明的链接如下:
https://pypi.org/project/smbus2/0.1.2/
常用的几个函数为:
read_byte_data
write_byte_data
read_word_data
write_word_data
read_i2c_block_data
write_i2c_block_data
具体读取I2C数据步骤:
(1)建立总线:
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
import smbus
i2c_bus = smbus.SMBus(1)
slave_addr = 0x10
(2)读取字节数据(偏移地址为0x80):
i2c_bus.read_byte_data(slave_addr, 0x80)
15
(3)连续读取多个字节数据(起始偏移地址为0x80,读取8个字节):
i2c_bus.read_i2c_block_data(slave_addr, 0x80, 8)
[17, 20, 0, 189, 23, 0, 0, 207]
【使用笔记】树莓派基于Python操作IIC接口的红外测温传感器相关推荐
- 第二十七篇、基于Arduino uno,获取mlx90614非接触式红外测温传感器的温度值——结果导向
0.结果 说明:先来看看串口调试助手显示的结果,第一个值是空气的温度,第二个值是被测量的物体温度,如果是你想要的,可以接着往下看. 1.外观 说明:虽然mlx90614非接触式红外测温传感器形态各异, ...
- 基于stm32的非接触式红外测温系统
一.硬件材料清单: 1.STM32核心板 2.OLED显示屏 3.mlx90614 红外测温传感器 4.蜂鸣器 5.按键 二.实现的功能 1.mlx90614红外温度数据的实时检测 2.本地OLED数 ...
- 基于STM32设计的健康检测设备(测温心率计步)
1. 项目介绍 本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6050陀螺仪实现),支持WIFI传输数据到手机APP打印显示. 硬件环境介绍: MC ...
- 基于Python操作ElasticSearch
基于Python操作ElasticSearch 原文:https://blog.csdn.net/hanyuyang19940104/article/details/81168763?utm_sour ...
- Python学习笔记:使用Python操作数据库
Python学习笔记:使用Python操作数据库 一.数据库编程接口 为了对数据库进行统一的操作,大多数语言都提供了简单的.标准化的数据库接口(API).在Python Database API 2. ...
- 基于FPGA实现IIC接口(EEPROM)
1 IIC应用领域 在嵌入式系统开发过程中,IIC占据非常重要的地位.IIC通讯接口能到搭载较多的从设备,从而实现与多个从设备进行通讯,在板级通讯中是一种比较常用的通讯接口.笔者通过IIC接口实现FP ...
- python 获取excel文本框_如何基于python操作excel并获取内容
这篇文章主要介绍了如何基于python操作excel并获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 背景:从excel表中获取请求url. ...
- MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机 现在自己在做红外成像仪的越来越多了,两年前有个井下机电设备运行状态的科研项目,当时使用了 AMG8833(8*8 像素 ...
- 树莓派 I2C MLAX90614红外测温
前言 提示:以下是本篇文章正文内容,下面案例可供参考 一.简介 ELAX90614红外测温: MLX90614 系列模块是一组通用的红外测温模块.在出厂前该模块已进行校验及线性化,具有非接触.体积小. ...
最新文章
- java夯实基础:final脑图
- JSONPlaceholder使用
- python【数据结构与算法】选数问题(选不相连最大值——DP)
- 3-Qt6命令行输出显示
- action与servlet用法区别
- 基于CAN总线的家居安防系统设计
- Ubuntu14.04LST安装weblogic11g
- tail -f 查找关键字_C语言九种查找算法 | 总有一款适合你
- 【华为云技术分享】小白学YOLO:YOLOv3网络结构细致解析
- 几个容器网络相关问题的分析和解决总结
- 此项目需要迁移_AndroidX 迁移,看完它应该就够了
- JavaScript高级教程——(19)构造函数、原型、原型链、继承
- linux教程,linux视频教程,linux…
- 【VISIO2016箭头使用】
- STC8H开发(十): SPI驱动Nokia5110 LCD(PCD8544)
- 做一个网站真的有那么难吗?
- 小心肝队-冲刺日志(第二天)
- 3A简介(持续更新)
- 瑞吉外卖项目:移动端导入用户地址簿与菜品展示功能实现
- MySql数量统计sql