感谢网上资料和个人的不放弃,终于方便的解决了香橙派 OrangePi Zeropython获取dht11温湿度的问题。

网上关于香橙派的资料比起树莓派真是少之又少,现在香橙派zero能干的活暂时也只有这些,负载非常轻,以后想到新的活再让他干。

最近准备入手树莓派,因为在查阅香橙派资料过程中发现树莓派的资料好多,用起来感觉会顺利很多。

介绍

我的OrangePi Zero是H2+ CPU和512M内存的配置,本例应该可以在H3的CPU和256M内存的版本上。



此款开发板可以装linux,同时这个档次的CPU和内存也能跑中小型的脚本,再者小黄鱼上一包烟的价格实在是无痛入门linux开发板的好板子。

在pip3 install pyA20中是按照40个?GPIO口配置的

#python3
>>from pyA20.gpio import port
>>dir(port)

如果没有如下这些端口的话一般是装错了

pyA20是按照树莓派来设定的,树莓派的GPIO如下

可以先pip3 uninstall pyA20

正式开始

首先安装镜像问题

测试了很多img,目前就这个img成功

Orangepizero_2.0.8_ubuntu_focal_server_linux5.4.65.img

ubuntu 5.4.65的其他镜像还没测试

apt-get update
apt-get upgrade
apt-get install python3-pip
pip3 install setuptools
apt-get install python3-pip
apt-get install python3-dev
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple OPi.GPIO
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple setuptools

依次执行上述命令,有些ubuntu已安装完毕,可能会报重复

安装定制化的pyA20

如果前面安装了pip的pyA20可以通过pip3 uninstall pyA20卸载

mkdir /ppthony
cd /ppthony
git clone http://ghproxy.com/https://github.com/abadroot/orangepizero-ths.git

orangepizero-ths/tree/master/config/orangepi_zero_gpio

在本地的这个目录下执行

python3 setup.py install

这里安装好了pyA20的改装版

在/config/DHT11-Python-library-Orange-PI

这个目录里有dht11.py和dht11_example.py,dht11.py作为以后import用,需要加到以后的目录中

from pyA20.gpio import gpio

from pyA20.gpio import port

#import RPi.GPIO as GPIO

import dht11
#把前面目录中dht11.py拷贝过来,如果系统中有pip3 install dht11过,要先卸载,用这个定制化的dht11.py import time import datetime # initialize GPIO #gpio.setwarnings(False) #gpio.setmode(GPIO.BCM) PIN2 = port.PA6 gpio.init() #gpio.cleanup() # read data using pin 14 instance = dht11.DHT11(pin=PIN2) while True: result = instance.read() if result.is_valid(): print("Last valid input: " + str(datetime.datetime.now())) print("Temperature: %d C" % result.temperature) print("Humidity: %d %%" % result.humidity) time.sleep(1)

执行结果

香橙派 OrangePi Zero和dht11引脚的连接

dht11有3脚和4脚的,都差不多

dht11的vdd连接到1口,Gnd连接到6口,中间口子到7口(PA6)

2022年写的香橙派 OrangePi Zero 用python获取dht11温度和湿度的更多相关文章

  1. 【完整篇】orangepi香橙派新手入门之被官方坑

    图片特意缩小,看不清请打开另一个窗口查看原图. 第一步:烧录系统,我烧录的是Ubuntu_Desktop[请注意!!!!用户名是错的!!用户名是错的!!用户名是错的!!] 正确的用户名是orangep ...

  2. [转]让你从零开始学会写爬虫的5个教程(Python)

    让你从零开始学会写爬虫的5个教程(Python)   写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个 ...

  3. openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库

    openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html

  4. orangepi香橙派安装VNC Viewer远程桌面

    用ssh连接实在没有图形界面操作的好,虽然命令会快,但是很多命令都记不住. 第一步: sudo apt-get install xfce4 第二步: sudo apt-get install vnc4 ...

  5. 让你从零开始学会写爬虫的5个教程(Python)

    写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚本是很简单的,但是对于新手来说却并不是那么容易. ...

  6. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  7. 【Linux学习】 写一个简单的Makefile编译源码获取当前系统时间

    打算学习一下Linux,这两天先看了一下gcc的简单用法以及makefile的写法,今天是周末,天气闷热超市,早晨突然发现住处的冰箱可以用了,于是先出去吃了点东西,然后去超市买了一坨冰棍,老冰棍居多, ...

  8. 深入理解 GIL:如何写出高性能及线程安全的 Python 代码

    深入理解 GIL:如何写出高性能及线程安全的 Python 代码 本文由 伯乐在线 - 郑芸 翻译.未经许可,禁止转载!英文出处:A. Jesse.欢迎加入翻译组. GIL对多线程的影响:http:/ ...

  9. 310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化

    如图:文件夹 第一处:optimizer文件夹下的:optimizer.h文件中添加你所写代码的头文件  #include <OTL/Optimizer/Reference-NSGA-II/Re ...

随机推荐

  1. 【LeetCode】1079. Letter Tile Possibilities 解题报告 (C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 回溯 日期 题目地址:https://leetcode ...

  2. P1547逆转,然后再见

    描述 上届的高三在这个暑假终于要到各个城市奔向他们的大学生活了.奇怪的是学校这次异常阔气,说要用三台车子去载他们上学.上届高三的师兄们异常兴奋--可惜的是临行的时候,学校终于露出它"狰狞&q ...

  3. 实现golang io.Writer支持按照天为单位分割日志

    golang中的日志不支持按照天分割,很多开源的日志包都是只支持按照文件大小分割日志,不太利于生产环境中的使用.因此我实现了timewriter,支持: 实现按照天为单位分割日志,可以完美支持gola ...

  4. ORA-14450: 试图访问已经在使用的事务处理临时表

    需要对临时表动态添加列,经常碰到表在事务中被使用的情况,如果可以的话,可以现在只用临时表的时候先truncate,这样可以终止事务对当前临时表的占用. execute immediate('trunc ...

  5. 【转】GitHub 的 Pull Request 和 GitLab 的 Merge Request 有区别吗?

    在 GitHub 上混久了,经常听到 Pull Request,在 GitLab 上混久了,则经常 提起 Merge Request ,然而它们之间有不同吗?为什么要用两个不同的名称? 要追溯这两个名 ...

  6. 剖析Defi之Uinswap_1

    学习UniswapERC20,它是交易对的父合约.UniswapV2ERC20 是流动性代币合约,也称为 LP Token.功能主要实习ERC20代币功能以及对线下签名授权. 1 pragma sol ...

  7. Java初学者作业——学生成绩等级流程图练习

    返回本章节 返回作业目录 在Word 中编写算法实现学生成绩等级的输出,并绘制对应算法的流程图. 功能要求:输入学生成绩,输出对应成绩等级,输出规则如下: 学生成绩区间 对应成绩等级 [90,100] ...

  8. MySQL高级查询与编程笔记 • 【第3章 子查询】

    全部章节   >>>> 本章目录 3.1 子查询定义和单行子查询 3.1.1 子查询定义 3.1.2 单行子查询应用 3.1.4 实践练习 3.2 多行子查询应用 3.2.1 ...

  9. 使用子查询获取,使用 all 关键字获取比所有“国内短线游”价格高的线路信息,按照线路类型、线路价格升序显示线路编号、线路名和价格

    查看本章节 查看作业目录 需求说明: 使用子查询获取"国内短线游"及"国内长线游"的线路信息,按照线路类型.线路价格升序显示线路编号.线路名和价格 使用 all ...

  10. Docker_安装和卸载(2)

    1.检查是否安装docker docker -v 下图为已安装docker的结果 下图为未安装docker的结果 2.卸载docker 查看已安装的版本 yum list installed | gr ...