山莓

树莓派入门实践之第二篇,(真)C语言得到CPU当前温度值

末鹿安然 提交于 2019-11-29 06:32:09
这篇长话短说,就是测量树莓派自身CPU温度值 ,之前有人通过得到CPU温度值然后让树莓派自动调节风扇的速度,在这不做阐述,这是链接( https://blog.csdn.net/u010177891/article/details/80386821 ),感兴趣的同学可以自己看,具体成不成我也没试过。下面这个链接是某大神写的CPU测试温度的原理: https://blog.csdn.net/qintaiwu/article/details/73460088 请大家看完他这个再看我的内容,因为他写的很详细,我觉得挺好,我就不再写一遍解析了 我是照着他做的,然而出了下图所示问题: 于是乎我又试了别人的代码,都是这个问题。哎。。。于是研究了一下,搞懂了。 以下是我的代码,成功了 : #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main(void) { FILE *temperatureFile; double T; temperatureFile = fopen ("/sys/class/thermal/thermal_zone0/temp", "r"); if (temperatureFile == NULL); /

基于python通过树莓派获取温度传感器的温湿度

ε祈祈猫儿з 提交于 2019-11-29 06:31:59
基于python通过树莓派获取温度传感器的温湿度 前面做过一个智能风扇,主要功能是通过温度来控制风扇的自动开关以及通过软件来进行控制风扇开关,功能都能实现但是 软件并没有做完,所以就不了了之。 我使用的树莓派,如下图附上引脚的注释: 注:树莓派的版本不同,引脚的意思会有一些差别,请注意! 我的温度传感器是DHT11温度模块,附实物图: 树莓派连接温度传感器 VCC接 5V 或者 3.3V DATA接 GPIO 口(我接的是 BCM 的 17 号针脚,物理针脚是 11 号) GND 接 GND 根据上面引脚分布图,就可以轻松连接成功。 获取温度和湿度(python) import RPi.GPIO as GPIO import time channel = 17 //引脚的引号 data = [] j = 0 GPIO.setmode(GPIO.BCM) time.sleep(1) GPIO.setup(channel, GPIO.OUT) GPIO.output(channel, GPIO.LOW) time.sleep(0.02) GPIO.output(channel, GPIO.HIGH) GPIO.setup(channel, GPIO.IN) while GPIO.input(channel) == GPIO.LOW: continue while GPIO.input

树莓派3B+ 网页控制GPIO(WebIOPi)

橙三吉。 提交于 2019-11-29 06:31:50
树莓派3B+ 网页控制GPIO(WebIOPi) 对于没接触编程的小白来说,让他们编程控制树莓派的GPIO口输出输入,那简直就是折磨人,WebOPi就是一个开源、方便、实用的网页端控制树莓派GPIO的程序,它不仅自带控制的网页,还可以通过浏览器请求(按照restful标准)直接响应指令,实现远程对树莓派GPIO的控制。 1.什么是WebIOPi? WebIOPi是一个完美将树莓派的GPIO口控制端和WEB连接的东西,在网页通过对图形按钮的点击,即可在树莓派GPIO口得到响应! WebIOPi是用python编写,具有加载和执行自定义脚本的功能,使用具有设置和循环功能的全面结构。它具有统一的串行/ SPI / I2C支持和一个完整且一致的功能集控制,支持30多种设备,包括大多数使用的模拟转换器,IOO扩展器和传感器。在网页端支持Javascript / HTML客户端库Web UI,也可在Python / java客户端,苹果或Android应用程序下调用。在COAP支持下带来了最好的物联网协议的PI,PI将是未来发展的重心! 官网: http://webiopi.trouch.com/ 本次安装需要的文件打包: rpi3-webiopi 并提供一个docker: https://hub.docker.com/r/wirthual/rpi-webiopi/ 2.安装前准备

树莓派3代B型开箱

邮差的信 提交于 2019-11-29 06:31:41
前几天买的树莓派 3 代终于到了, 比前一代增加了蓝牙和 WiFi。 恩, 终于可以不用插着网线上网了, 赞一个! 这一代的树莓派正式发售于 2016 年 2 月 29 日。到目前为止都快 1 周年了, 按这节奏 4 代也快出了? 下面是实物图,背景和像素请无视。 1.外包装 外包装不错, 型号是国产的 element14, 并不比英产的原装差。 2.说明书 有各种语言的一份安全指南和简单的使用说明书,然而并没什么卵用。 3.内包装及电路板实物 纸袋很不错,手感很好。另外特地拿银行卡和电路板比对了一下,大小几乎一致,恩,不愧是是卡片式计算机。 4.电路板正反面 正面,一块CPU芯片(大)和USB Hub+Ethernet芯片(小) 背面 一块尔必达内存芯片(大,不是破产了吗(笑))和WIFI+蓝牙4.0(小)芯片 5.官方外壳 官方的红白外壳,可装风扇,也可使用不透明白色顶壳 6.散热片+风扇 大散热片(金色)贴在CPU上,小散热片(蓝色)贴在USB HUB+Ethernet芯片上。 风扇装在红白外壳上,在GPIO引脚那边找5v和GND就好了。 关于风扇的安装我特地说明一下, 实际上有两张方式。 一种常见的就是直接对着需要散热的芯片吹, 另外一种就是向外送风。 对着芯片吹很好理解, 就是给芯片降温嘛。 但实际上这是有条件的, 就是必须保证不是封闭狭小的空间。

修改树莓派的风扇,使风扇能够随温度变化而启停

五迷三道 提交于 2019-11-29 06:30:50
树莓派3b 发热量很大,需要使用风扇散热,为了使风扇既能散热又不浪费电能,我使用一个三极管,一个树莓派自带的gpio接口,一段python脚本,实现了风扇启停的自动控制。 另有我的另一篇记录: 树莓派风扇散热自动控制 记录有完成这个工作所参考的资料 硬件部分 三极管使用的是 s8550 是pnp型三极管 发射级接风扇黑线 基级接 gpio 14 集电极接 GDN 风扇红线接+5v 以下是最后的成品 驱动代码部分 软件部分借助了wiringpi 因此想要使gpio工作起来,需要安装wiringpi。 < 以下是一个网友写的方法,我只摘了方法一 原文地址http://blog.csdn.net/xukai871105/article/details/17737005 wiringPi安装wiringPi的安装存在方案A和方案B。 wiringPi使用GIT工具维护个更新代码,但是如果处于一些其他原因不能使用GIT,那么也可以使用方案B下载和安装wiringPi。 方案A——使用GIT工具如果在你的平台上还没有安装GIT工具,可以输入以下命令: sudo apt-get install git-core 如果在这个过程中出现错误,尝试更新软件, 例如输入以下指令: sudo apt-get update sudo apt-get upgrade

树莓派风扇散热自动控制

删除回忆录丶 提交于 2019-11-29 06:28:54
前言: (本篇是个雏形讲述了一些细节但不够统一,查看完整版 , 点击这里 ) 树莓派3b 发热量很大,需要加风扇以及散热片散热降温, 但是市面上的风扇都很简陋不能自动随温度变化而自动开启或关闭降温,浪费电能,且有不小的噪音。 为了解决以上问题,上网搜索,发现有前人制作的经验,虽能满足以上要求,但又略显不足,所以决定diy改进这个可以实现自动控制的简单电路。 正文: 使用的三极管是在万能充上卸下来的 型号是8550 从旧电脑上拆下来的杜邦线母头带线 像这样连接起来 我使用了5V正极 GND gpio14(wiringpi 15)三个引脚 接线方法 以下是驱动代码(注意缩进) #!/usr/bin/python2 #coding:utf8 #自动风扇控制程序,使用wiringPi的gpio命令来操作GPIO import commands,time #控制风扇的GPIO FAN_GPIO = 15 commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' OUTPUT') while True: # 获取CPU温度 tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' ) cpu_temp_raw = tmpFile.read() tmpFile.close() cpu_temp

树莓派散热风扇自动启停

a 夏天 提交于 2019-11-29 06:28:39
有张3b+的派,买了个壳子,装了个风扇。但这风扇是不会停的一直很吵….. 那么,树莓派检测芯片温度实现自动启停风扇! 准备工作: 1.三极管(电流能到200毫安以上),或者继电器(不建议,太大了,又难看,三极管贴风扇上基本能看不着) 2.焊接好风扇,gpio端口14。 3.安装Node.js 6以上 4.编辑linux服务脚本并添加到/etc/init.d/,chkconfig add autofun 启停实现过程: 1.获取CPU温度 cat /sys/devices/virtual/thermal/thermal_zone0/temp 2.检查温度是否高于48. 启动 3.检查温度是否低于40. 停止 代码部分 var rpio = require ( 'rpio' ), CLOSE=rpio.HIGH, OPEN=rpio.LOW, currentStatus=CLOSE, max= 52000 , min= 40000 , funPin= 8 ; rpio.open(funPin, rpio.OUTPUT, currentStatus); var exec = require ( 'child_process' ).exec; setInterval( function () { exec( "cat /sys/devices/virtual/thermal/thermal

树莓派根据温度自动控制风扇降温

有些话、适合烂在心里 提交于 2019-11-29 06:28:18
说明: 该脚本包可以读取cpu的温度,根据温度控制风扇旋转,并且温度是可调的。 安装: sudo ./config install 卸载: sudo ./config uninstall 启动: sudo /etc/init.d/fan start 停止: sudo /etc/init.d/fan stop 设置风扇旋转温度阈值: sudo sudo /etc/init.d/fan set 40 文件下载地址:https://download.csdn.net/download/u010177891/10426464 点击打开链接 左边控制引脚接树莓派物理引脚3(SDA1),右边两个上边接风扇正极,下边风扇负极 来源: CSDN 作者: 林中徘徊 链接: https://blog.csdn.net/u010177891/article/details/80386821

树莓派3B设置温控风扇(简略版)

社会主义新天地 提交于 2019-11-29 06:27:12
树莓派3B设置温控风扇(简略版) 我使用的是三极管S8050,5V的风扇 仅供参考,请结合实际情况操作 如有错误,欢迎指正,谢谢 E-mail:tophf4@126.com 由于我自己没有图(只有一张) 所以只能简略地写 重点部分 先放出我作为参考的文章: 树莓派用开关三极管控制散热风扇 树莓派风扇散热自动控制 树莓派—利用三极管控制散热风扇 树莓派实现温度监控并控制风扇散热 让树莓派根据温度自动控制散热风扇的启停 为什么选S8050而不是S8550 关于S8050和风扇的接线方式 关于控制代码 其他 为什么选S8050而不是S8550 在我的板子上,无论怎么接线,S8550会让风扇只能开 不能 关(除非直接关GPIO引脚口或者关电),我也不知道是咋回事。 听 这里 的大佬说是不够电压。 反正用S8050就可以控制风扇开关。:) 关于S8050和风扇的接线方式 此段内容可能有错误 很多文章说:NPN型的三极管C极(集电极)为负极而E极(发射极) 为正极。但查过 资料 和书(电路与电子模拟技术)之后,其实正常情况下C为正极E为负极。 所以接线方式应该是:(暂时先忽略风扇) C极接5V正极,2号或4号引脚 E极接地,6号引脚 B极接GPIO引脚口,自己定 具体引脚位置见 这 风扇有两个位置可以放:C极或E极。 在我的板子上,若风扇接在E极会转得贼慢, 而接在C极就不会出现这种情况

树莓派3B+温控风扇

亡梦爱人 提交于 2019-11-29 06:26:57
树莓派3B+温控风扇 已添加散热片的树莓派3B+,在空载工作过程中温度过高,需要增加风扇达到物理降温的效果。但在使用过程中,风扇发出的声音过高,需要在温度较低的情况下停止风扇的工作。 准备材料 树莓派3B+:1个 小风扇:1个 杜邦线:若干(>=3根) 1k电阻:1个 NPN三极管:1个 备注:材料中的三极管可以使用PNP三极管代替,但需要注意电流方向以及GPIO的电平。由于购买的外壳含有开关控制模块,因此本次实验中使用NPN三极管,使在树莓派仅供电未工作情况下风扇不启动。 电路图 附带树莓派3B+引脚图: 代码 获取温度 import os def get_temp ( ) : res = os . popen ( 'vcgencmd measure_temp' ) . readline ( ) return float ( res . replace ( 'temp=' , '' ) . replace ( "'C\n" , '' ) ) 控制风扇启停 # gpio channel, 按照实际情况修改 gpio_channel = 18 GPIO . setmode ( GPIO . BCM ) GPIO . setwarnings ( False ) GPIO . setup ( gpio_channel , GPIO . OUT ) # 启动风扇 GPIO . output