用 BerryClip - 6 LED Board 显示树莓派的温度

用 BerryClip - 6 LED Board 显示树莓派的温度

BerryClip - 6 LED Board 是一个学习GPIO的开发板,适合我这样不懂硬件的童鞋,用python 控制6个LED灯,一个蜂鸣器,和一个开关

文档在这里

https://bitbucket.org/MattHawkinsUK/rpispy-berryclip/downloads/BerryClip%20User%20Guide.pdf

示例代码在这里

https://bitbucket.org/MattHawkinsUK/rpispy-berryclip/get/master.tar.gz

说实话,我的板子和这个颜色不一致。红色和绿色是反的。不过我觉得手头这个板子的颜色是对的

有几个很有趣的示例,如berryclip_12.py 是莫尔斯码

还有berryclip_cpu_01.sh 是用LED灯显示CPU占用

不过这个berryclip_cpu_01.sh是shell脚本,好像写错了一点,代码和注释不一致

# BerryClip LED reference :
# LED 1  - Pin 7  - GPIO4
# LED 2  - Pin 11 - GPIO17
# LED 3  - Pin 15 - GPIO22
# LED 4  - Pin 19 - GPIO10
# LED 5  - Pin 21 - GPIO9
# LED 6  - Pin 23 - GPIO11
#
#--------------------------------------

# Create array of GPIO references
led[1]="11"
led[2]="9"
led[3]="10"
led[4]="22"
led[5]="17"
led[6]="4"

但是LED灯是反的,应该是这样

led[1]="4"
led[2]="17"
led[3]="22"
led[4]="10"
led[5]="9"
led[6]="11"

说是话shell脚本还是不如python脚本,所以修改了下,用来显示板子温度

温度的来源是 /sys/class/thermal/thermal_zone0/temp

#!/usr/bin/python
# Import required libraries
import RPi.GPIO as GPIO
import time
import string

# Tell GPIO library to use GPIO references
GPIO.setmode(GPIO.BCM)

# List of LED GPIO numbers
LedSeq = [4,17,22,10,9,11]

# Set up the GPIO pins as outputs and set False
print "Setup LED pins as outputs"
for x in range(6):
    GPIO.setup(LedSeq[x], GPIO.OUT)
    GPIO.output(LedSeq[x], False)

# 44925 -> 44
def getTemp():
    f = open("/sys/class/thermal/thermal_zone0/temp")
    line = f.readline()
    f.close()
    rawTemp = string.atoi(line)
    return rawTemp / 1000

def resetAll():
    for i in range(6):
        GPIO.output(LedSeq[i], False)

# Light   leds    no
def setLedNo(x):
    GPIO.output(LedSeq[x], True)
    time.sleep(0.2)

while True:
    temp = getTemp()
    print temp
    resetAll()
    if(temp < 50):
        setLedNo(0)
    elif (temp < 55):
        setLedNo(1)
    elif (temp < 60):
        setLedNo(2)
    elif (temp < 65):
        setLedNo(3)
    elif (temp < 70):
        setLedNo(4)
    else :
        setLedNo(5)

    time.sleep(50)

# Reset GPIO settings
GPIO.cleanup()

50度以上每5度一个灯,从绿到黄到红

第一张图亮的是第2个LED灯,说明是在50-55度之间

samba安装 补充

samba 还是很方便的,可以直接在windows上用notepad++编辑树莓派上的python代码。不过安装方式和ubuntu略有不同

感谢这个 http://www.eeboard.com/bbs/forum.php?mod=viewthread&tid=5473

apt-get install samba samba-common-bin

注意啦,要安装samba-common-bin, 这点和ubuntu不同,否则sampassed无法使用

设置所有目录全部对root开放,编辑 /etc/samba/smb.conf

[global]
netbios name = raspberry
security = user
[root]
path=/
valid users=root
public= yes
browseable = yes
writeable = yes

添加 samba 的 root用户

smbpasswd -a root

用 BerryClip - 6 LED Board 显示树莓派的温度

时间: 2024-12-13 15:03:04

用 BerryClip - 6 LED Board 显示树莓派的温度的相关文章

WinForm LED循环显示信息,使用定时器Threading.Timer

原文:WinForm LED循环显示信息,使用定时器Threading.Timer 这里用一个示例来演示timer如何使用.示例:LED屏幕显示描述:这个示例其实很简单,LED屏幕上显示3个信息:        1:排队叫号         2:催缴费         3:等待列表.因为LED屏幕大小的关系,列表需要分页显示. 正常情况下,这3个信息都需要从服务器上去获得,这里的示例只做简单的模拟, 界面很简单,如图,这里我就不美化了. Timer构造函数参数说明: Callback:一个 Ti

树莓派学习笔记——获取树莓派CPU温度

0 前言 本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_zone0/temp文件中的内容便获得树莓派CPU的温度.本文通过以下几个部分说明如何读取和应用该温度参数--1.shell脚本操作:2linux文件IO操作,3.python文件操作: 4.通过python requset上传至yeelink平台. 网上也有相似的文章,大致的方法为通过python获得CPU温度数据,然后在写入某个文

树莓派学习笔记——定时向yeelink上传树莓派CPU温度

0 前言 本文通过python文件IO操作获得树莓派CPU温度信息,通过python request库周期性向yeelink平台上传温度,修改rc.local脚本使得该python脚本在开机时便在后台运行,向平台每5分钟上报一次温度信息. 网上查阅了很多关于linux开机启动的博文,尝试了几遍居然发现方法都无法实现开机启动效果.我想可能是操作系统或开发环境的微小差异产生的,如果发现博文中的内容存在问题,请及时留言,我查证之后定当修改. [相关博文] [树莓派学习笔记--获取树莓派CPU温度] [

如何产看树莓派cpu温度

如何产看树莓派cpu温度: cat /sys/class/thermal/thermal_zone0/temp 这个值除以1000,就是实际CPU温度 [email protected] ~ $ cat /sys/class/thermal/thermal_zone0/temp 30399 温度是30.399度.我给树莓派加了风扇,超频到800MHz,温度还可以.

安装VNC服务,笔记本显示器显示树莓派图形界面

VNC(Virtual Network Computing)属于一种网络显示系统,也就是说它能将完整的窗口界面通过网络传输到另一台计算机的屏幕上,实现以图形界面的形式去操作.查看远程的计算机. VNC分为VNC服务器(VNC Server)和VNC客户端(VNC Viewer).要实现通过PC机远程操作和查看树莓派的图形界面,需要在树莓派上安装VNC Server.进入终端,输入以下命令即可安装: 1. RPi上安装服务,设置密码,并启动服务 $ sudo apt-get install tig

Ardunio控制RGB的LED灯显示彩虹渐变色.

由于我使用的是共阴极的RGB LED,如果你的是共阳极的,接线的时候要注意一下. 其他没什么不同 //定义RGB色彩的输出I/O int redPin = 11; int greenPin = 10; int bluePin = 9; //标记颜色变化的方式,增加值还是减小值 bool redBool =false; bool greenBool=true; bool blueBool=false; //颜色值,初始化为0,127,255 int redVal =0; int greenVal=

VK1650 LED数码显示驱动IC

VK1650 是一种带键盘扫描电路接口的 LED 驱动控制专用电路.内部集成有 MCU 输入输出控制数字 接口.数据锁存器.LED 驱动.键盘扫描.辉度调节等电路.本芯片性能稳定.质量可靠.抗干扰能力 强,可适应于 24 小时长期连续工作的应用场合. 功能特点 1.显示模式:8 段×4 位 2. 段驱动电流不小于 25mA,字驱动电流不小于 150mA 3. 提供 8 级亮度控制 4. 键盘扫描:7×4bit 5. 高速两线式串行接口 6. 内置时钟振荡电路 7. 内置上电复位电路 8. 支持

【单片机】时钟及温度的显示

回头看我所写的文章,基本都是软件方面的,是个典型的"欺软怕硬"的人.然而,在最开始的时候,我学习的是硬件.在前面文章<我的2013–一起从心开始>一文中写道,我在大一暑假的时候开始了单片机的学习,在大二.大三期间做过些小东西.刚进入程序员的领域的时候,显然是单片机带我入了门.下面我将写写用单片机做过的一些东西,权当纪念. 本文介绍我大一暑假学完单片机后,在大二上学期为参加学校星火杯而完成的作品(最终没有参加比赛).这个电子制作是关于用单片机显示时间的作品,其功能就用单片机控

树莓派玩耍笔记3 -- LCD1602显示篇

LCD1602是一块成本低廉的输出设备,它有着体积小.操作简单.功耗低等优点,所以在一些DIY 产品上会用它来输出一些信息.昨天在使用时,虽然借鉴网上的资源,但是仍然有遇到一些问题,在这里写出来以便大家遇到时能够正确处理. 一.LCD1602 相关[1] 工业字符型液晶,能够同时显示16x02即32个字符.(16列2行) 1.1 管脚 1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线. 引脚 符号 功能说明 1 VSS 一般接地 2 VDD 接电源(+5V