树莓派基础,简单入门.
本文主要关于树莓派基础GPIO管脚、读取CPU,内存,温度等信息.
0x01.About
入手树莓派已经几个月,但是一直没有做什么东西,系统搭起来就是一个ubuntu,所以熟悉linux的同学就比较好入门。
很多有意思的创意,都在创客中心: http://www.dfrobot.com.cn/community/portal.php
还有树莓派社区: http://shumeipai.nxez.com/
感觉树莓派的好用在于,Linux系统较容易开发python、c,不需要烧录;板子简洁,方便携带;I/O简单,方便。
如果只是单用一个系统,不如服务器,优势就在于,外接各种传感器,板子。
玩完树莓派,准备入手Arduino,感觉这个更多开发接口,设备。
0x02.GPIO管脚
想要使用树莓派管脚,在python下,要先安装GPIO库,在c下,要安装WiringPi.
安装GPIO
sudo apt-get install python-setuptools
sudo easy_install -U distribute
sudo apt-get install python-dev
sudo easy_install RPi.GPIO
安裝WiringPi
官网中有2种方式安裝,一种使用的是GIT方式;另一種使用的是下载包方式。
sudo apt-get install git-core
sudo apt-get update && sudo apt-get -y upgrade
用GIT取得WiringPi:
git clone git://git.drogon.net/wiringPi
cd wiringPi
git pull origin
cd wiringPi
./build
當指令执行结束后便完成安装WiringPi步驟。
关于GPIO
树莓派有两种引脚模式,BCD和BOARD,选择不同的引脚模式,引脚结果不一样。
外侧一排为5V电压。内侧一排为3.3V电压。
引脚只能识别模拟信号,无法识别数字信号,所以只能检测高低电平,输入输出高低电平。
关于引脚图,查看这里。http://www.geekfan.net/8972/
0x03.CPU、温度、内存
关于cpu,温度,内存,网上很多了,从网上抄了个下来。
新建脚本
vim info.py
源码:
import os
# Return CPU temperature as a character string
def getCPUtemperature():
res = os.popen('vcgencmd measure_temp').readline()
return(res.replace("temp=","").replace("'C\n",""))
# Return RAM information (unit=kb) in a list
# Index 0: total RAM
# Index 1: used RAM
# Index 2: free RAM
def getRAMinfo():
p = os.popen('free')
i = 0
while 1:
i = i + 1
line = p.readline()
if i==2:
return(line.split()[1:4])
# Return % of CPU used by user as a character string
def getCPUuse():
return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))
# Return information about disk space as a list (unit included)
# Index 0: total disk space
# Index 1: used disk space
# Index 2: remaining disk space
# Index 3: percentage of disk used
def getDiskSpace():
p = os.popen("df -h /")
i = 0
while 1:
i = i +1
line = p.readline()
if i==2:
return(line.split()[1:5])
# CPU informatiom
CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()
# RAM information
# Output is in kb, here I convert it in Mb for readability
RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)
# Disk information
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]
if __name__ == '__main__':
print('')
print('CPU Temperature = '+CPU_temp)
print('CPU Use = '+CPU_usage)
print('')
print('RAM Total = '+str(RAM_total)+' MB')
print('RAM Used = '+str(RAM_used)+' MB')
print('RAM Free = '+str(RAM_free)+' MB')
print('')
print('DISK Total Space = '+str(DISK_total)+'B')
print('DISK Used Space = '+str(DISK_used)+'B')
print('DISK Used Percentage = '+str(DISK_perc))
运行
chmod +x info.py
python info.py
结果
本文出自 夏日小草,转载请注明出处: 《 树莓派基础-GPIO、CPU、温度、内存 》
-by小草
2014-10-09 10:13:15
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。