树莓派学习笔记From BOB,只能传文本。
本帖最后由 gmyu 于 2016-12-5 09:52 编辑一早上整理不少资料,可是不知为何上传总是403。只有把以前下载的网友的学习笔记上传,文本的,总没有问题吧。
====================================================
【树莓派2B学习笔记】 - Bob总结
----------------------------------------------------------------------------
1. 【开启root用户】
a> 输入命令 sudo passwd root ,回车
b> 输入root密码两次,回车
c> 输入su回车,输入上一步设置的密码即可进入root用户
d> 用su pi可切换回pi用户
----------------------------------------------------------------------------
2. 【播放音视频】
a> omxplayer 音/视频文件名
ps1. 默认音频从hdmi口输出,在omxplayer后加入-o hdmi表示从hdmi接口输出音频,加-o local表示音频从audio接口输出
ps2. 连续播放的实现方法:omxplayer 音/视频文件名1; omxplayer音/视频文件名2
----------------------------------------------------------------------------
3. 【串口控制】(树莓派串口速率 115200)
a> 将USB转串口板的RX,TX,GND分别接入树莓派的TX,RX,GND引脚即可
----------------------------------------------------------------------------
4. 【用windows远程桌面连接到树莓派】
a>安装RDP服务:sudo apt-get install xrdp
b>打开windows远程桌面连接,输入树莓派IP地址,然后输入账号和密码即可
----------------------------------------------------------------------------
5. 【查看树莓派主板温度】
a> sudo /opt/vc/bin/vcgencmd measure_temp
----------------------------------------------------------------------------
6. 【英文转语音服务】
a> 安装festival软件:sudo apt-get install festival
b> 使用示例:
1> 说出终端打印的内容: echo "hello everyone" | festival --tts
2> 说出终端打印的内容: cat xiaoshuo.txt | festival --tts
3> 说出本机IP地址:hostname -I | festival --tts
ps. 如果需要开机自动语音输出本地IP地址,可将此命令添加至 /etc/init.d/rc.local文件中,可重复添加三行,这样会读三次IP,方便用户记录。
----------------------------------------------------------------------------
7. 【命令行界面下使用wpa_cli命令配置wifi无线网络】
wpa_cli是命令行界面下的无线网连接工具。
通过wpa_cli管理备选的网络列表。在备选网络中启用的网络,树莓派会自动试图连接。
输入sudo wpa_cli启动wpa_cli的命令行界面(必须sudo)。常用的指令如下:
status #列出目前的联网状态。
list #列出所有备选网络。目前正连接到的网络会标,禁用的网络会标。
scan #启动搜索附近所有无线网络
scan_results #显示搜索到的所有无线网络
add_network #增加一个备选网络,输出新网络的号码(这个号码替代下文的)。注意新网络此时是禁用状态。
set_network ssid “Your SSID” #设置无线网的名称(SSID)
set_network key_mgmt WPA-PSK #设置无线网的加密方式为WPA-PSK/WPA2-PSK
set_network psk “Your Password” #设置无线网的PSK密码
enable_network #启用网络。启用后如果系统搜索到了这个网络,就会尝试连接。
save_config #保存配置(若不保存,以上设置重启会失效)
disable_network #禁用对应网络。
remove_network #删除对应网络
举个栗子:
> add_network
1
> set_network 1 ssid "Bob-Mi4"
OK
> set_network 1 key_mgmt WPA-PSK
OK
> set_network 1 psk "24202420"
OK
> enable_network 1
OK
> save_config
OK
重要提示: wpa_gui命令可调出wifi配置界面,更方便直观;
如果进入Raspbian系统图形界面,请也可以用menu菜单中的Wi-Fi Configuration工具进入wifi配置界面。
----------------------------------------------------------------------------
8. 【让树莓派开机自动将自己IP地址发到指定邮箱的方法】
(这里是利用inkdot11@163.com这个邮箱将树莓派IP发给inkdot11@163.com和shuangfeiyanworld@163.com这个邮箱里)
只需下面两步:
1. 建立Python脚本(脚本内容请看附录):sudo nano /home/pi/send_ip.py
2. 设置开机自启动:在/etc/rc.local中加入下面一行
/usr/bin/python /home/pi/send_ip.py
附录(Python脚本内容)(只需根据需要修改最后一行''之间的部分即可,注意:单引号符号不能删掉):
#/bin/env python
# -*-coding:utf8-*-
import socket
import fcntl
import time
import struct
import smtplib
import urllib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
#发送邮件的基本函数,参数依次如下
# 'smtp服务器地址','发件人邮箱用户名','发件人邮箱密码','发件人邮箱地址',['收件人1邮箱地址','收件人2邮箱地址'],'邮件主题',邮件html内容
def sendEmail(smtpserver,username,password,sender,receiver,subject,msghtml):
msgRoot = MIMEMultipart('related')
msgRoot["To"] = ','.join(receiver)
msgRoot["From"] = sender
msgRoot['Subject'] =subject
msgText = MIMEText(msghtml,'html','utf-8')
msgRoot.attach(msgText)
#sendEmail
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(username, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit()
# 检查网络连同性
def check_network():
while True:
try:
result=urllib.urlopen('http://baidu.com').read()
print result
print "Network is Ready!"
break
except Exception , e:
print e
print "Network is not ready,Sleep 5s...."
time.sleep(5)
return True
# 获得本级制定接口的ip地址
def get_ip_address():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("1.1.1.1",80))
ipaddr=s.getsockname()
s.close()
return ipaddr
if __name__ == '__main__':
check_network()
ipaddr=get_ip_address()
sendEmail('smtp.163.com','inkdot11','24202420','inkdot11@163.com',['shuangfeiyanworld@163.com','inkdot11@163.com','562949252@qq.com'],'主人您好,小派给您请安了,请点击查看我当前的IP地址',ipaddr)
----------------------------------------------------------------------------
9. 【VNC远程登录树莓派的图形界面】
a> 安装tightvncserver:sudo apt-get install tightvncserver
b> 设置vnc远程登录密码:vncpasswd (先输入操作密码两次,然后会询问是否设置一个查看(view-only)密码,按自己喜欢,一般没必要。)
c> 设置开机启动:sudo nano /etc/init.d/tightvncserver
内容如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: tightvncserver
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
# More details see:
# http://www.penguintutor.com/linux/tightvnc
### Customize this entry
# Set the USER variable to the name of the user to start tightvncserver under
export USER='pi'
### End customization required
eval cd ~$USER
case "$1" in
start)
# 启动命令行。此处自定义分辨率、控制台号码或其它参数。
su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 800x600 :1'
echo "Starting TightVNC server for $USER "
;;
stop)
# 终止命令行。此处控制台号码与启动一致。
su $USER -c '/usr/bin/tightvncserver -kill :1'
echo "Tightvncserver stopped"
;;
*)
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
;;
esac
exit 0
d> 加执行权限,并更新开机启动列表: sudo chmod 755 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults
e> 开启vnc服务:vncserver
f> 已经可以vnc远程登录. 10. 【实现VLC串流实时输出网络视频流】(利用官方CSI摄像头)
a> 更新软件列表:sudo apt-get update
b> 安装vlc:sudo apt-get install vlc
c> 建立脚本:sudo nano vlc.sh
内容为:sudo raspivid -o - -t 0 -w 640 -h 360 -fps 25|cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264
d> 添加执行权限:sudo chmod +x vlc.sh
e> 执行脚本:./vlc.sh
f> 利用手机端或电脑端vlc软件输入这个地址即可查看摄像头实时监控视频:http://树莓派IP:8090
ps. 摄像头模块工作的时候其红色的led灯会一直亮,要想禁用它的话,在/boot/config.txt文件中加入这句话即可disable_camera_led=1
----------------------------------------------------------------------------
11. 【安装中文输入法】
sudo apt-get install scim-pinyin
----------------------------------------------------------------------------
12. 【官方CSI摄像头拍照录像的命令】
[拍照片]
延迟2s拍摄一张.jpg格式的图片:
sudo raspistill -o raspi.jpg-t 2000
延迟2s拍摄一张.raw格式的图片:
sudo raspiyuv -o raspi.raw-t 2000
[录视频]
拍摄10000ms时长的.h264格式视频:
sudo raspivid -o raspi.h264 -t 10000
安装gpac软件包:
sudo apt-get install -y gpac
利用gpac软件包中的MP4Box工具将H.264格式的视频流转换为每秒30帧的.mp4格式视频:
sudo MP4Box -fps 30 -add raspi.h264 raspi.mp4
利用omxplayer软件播放.mp4格式视频:
sudo omxplayer raspi.mp4 13. 【USB摄像头安装与测试】
a> 将USB摄像头插入树莓派USB接口
b> 查找USB摄像头设备:ls /dev/video0
如果能找到video0这个设备,说明系统已经识别到USB摄像头并安装好了驱动;如果找不到video0这个设备,请更换USB摄像头。
c> 安装mplayer软件:sudo apt-get install mplayer
d> 查看USB摄像头实时图像:sudo mplayertv://
----------------------------------------------------------------------------
14. 【树莓派+USB/CSI摄像头+Yeelink 实现远程监控】
【对于USB摄像头】(下文脚本中的1280x800是拍照的尺寸,对于USB摄像头,这个参数不能太小,例如设置为320x240的时候,拍到的图片会非常模糊,什么都看不清)
a> 将USB摄像头插入树莓派USB接口
b> 查找USB摄像头设备:ls /dev/video0
如果能找到video0这个设备,说明系统已经识别到USB摄像头并安装好了驱动;如果找不到video0这个设备,请更换USB摄像头。
c> 安装fswebcam用来抓取图像:sudo apt-get install fswebcam
d> 创建上传图片的脚本文件:sudo nano /home/pi/yeelink_usb_camera.sh
内容为(请根据需要更改U-ApiKey的值和后面的那个传感器地址):
sudo fswebcam -d /dev/video0 -r 1280x800 --bottom-banner --title "RaspberryPi @ Yeelink" --no-timestamp /home/pi/yeelink_usb_camera.jpg
curl --request POST --data-binary @"/home/pi/yeelink_usb_camera.jpg" --header "U-ApiKey: 513ab8334265d536c3e7151cd70bb550" http://api.yeelink.net/v1.1/device/21532/sensor/37983/datapoints
e> 给脚本添加执行权限:sudo chmod +x /home/pi/yeelink_usb_camera.sh
f> 添加定时任务:crontab -e 回车,填入如下内容:
*/1 * * * * /home/pi/yeelink_usb_camera.sh
这样就可以了,每分钟上传一次照片,注意间隔不能小于10秒,Yeelink不认
g> 然后在我的Yeelink账号上找到对应设备里的摄像头传感器,即可看到每分钟上传的照片了!
【对于官方CSI摄像头】
a> 将CSI摄像头安装到树莓派上
b> 创建上传图片的脚本文件:sudo nano /home/pi/yeelink_csi_camera.sh
内容为(请根据需要更改U-ApiKey的值和后面的那个传感器地址):
sudo raspistill -w 1280 -h 800 -o /home/pi/yeelink_csi_camera.jpg
curl --request POST --data-binary @"/home/pi/yeelink_csi_camera.jpg" --header "U-ApiKey: 513ab8334265d536c3e7151cd70bb550" http://api.yeelink.net/v1.1/device/21532/sensor/38262/datapoints
c> 给脚本添加执行权限:sudo chmod +x /home/pi/yeelink_csi_camera.sh
d> 添加定时任务: crontab -e 回车,填入如下内容:
*/1 * * * * /home/pi/yeelink_csi_camera.sh
这样就可以了,每分钟上传一次照片,注意间隔不能小于10秒,Yeelink不认
e> 然后在我的Yeelink账号上找到对应设备里的摄像头传感器,即可看到每分钟上传的照片了! 15. 【树莓派+CSI摄像头+百度云盘 实现远程监控】
a> 将CSI摄像头安装到树莓派上
b> 下载 https://github.com/houtianze/bypy/archive/master.zip
c> 解压上一步的压缩包
d> 在树莓派上创建脚本存放目录:sudo mkdir /home/pi/baiduyun
e> 将前一步解压出来的文件夹里的这三个文件(bypy.py,bypygui.pyw,setup.py)拷贝至/home/pi/baiduyun目录下
f> 添加执行权限:sudo chmod +x /home/pi/baiduyun/*
g> 安装Python环境: ① 安装python:sudo apt-get install python-dev python-setuptools
② 执行更新:sudo easy_install -U distribute
③ 安装python-pip:sudo apt-get install python-pip
④ 安装python的GPIO库:sudo pip install rpi.gpio
⑤ 安装python requests库:sudo pip install requests
h> cd /home/pi/baiduyun/
i> sudo python bypy.py help (如果不行,用 sudo python bypy.py cleancache
)
执行此命令后勿动键盘,用鼠标复制给出的那个网址到剪切板。
j> 打开浏览器,登陆百度账号
k> 用浏览器打开前一步复制的那个网址,点击“授权”二字,会生成一个授权码之类的字符串(这个字符串有效期为十分钟),复制一下,粘贴到前一步的命令行终端,回车,稍后即可授权成功。
l> 建立文件夹:sudo mkdir /home/pi/baiduyunpan
m> 建立脚本:sudo nano /home/pi/baiduyunpan_csi_camera.sh
内容如下:
sudo raspistill -w 1280 -h 800 -o /home/pi/baiduyunpan/baiduyunpan_csi_camera.jpg
sudo python /home/pi/baiduyun/bypy.py syncup /home/pi/baiduyunpan
var=$(date +%y.%m.%d_%H.%M.%S)
sudo python /home/pi/baiduyun/bypy.py -d mv baiduyunpan_csi_camera.jpg ${var}.jpg
echo ${var}.jpg
echo "${var}".jpg
echo "${var}.jpg"
n> 添加执行权限:sudo chmod +x /home/pi/baiduyunpan_csi_camera.sh
o> 执行脚本: ./home/pi/baiduyunpan_csi_camera.sh
p> 添加定时任务: crontab -e 回车,填入如下内容:
*/1 * * * * /home/pi/baiduyunpan_csi_camera.sh
这样就可以了,每分钟上传一次照片
q> 打开百度云盘,在“我的应用数据” --> "bypy"目录下看是不是已经有刚才拍的照片。
----------------------------------------------------------------------------
16. 【树莓派Raspbian系统实现PPPOE上网的方法】
a> 安装三个工具:sudo apt-get install pppoe pppoeconf pppstatus
b> 终端运行命令 pppoeconf
c> 在弹出的操作步骤中,除了填写宽带服务商给的PPPOE账号和密码步骤外,其余步骤全部直接回车按默认设置,完成所有步骤后即可正常上网。 17. 【将树莓派配置成无线路由器】
参考此文: http://shumeipai.nxez.com/2014/04/01/raspberry-pi-wireless-router.html
ps1. (此方法实现了树莓派的无线AP功能,若要实现联网功能,还需连接到树莓派有线网口的有线宽带具备DHCP功能,
由于家里使用的宽带是PPPOE上网方式,所以只能实现树莓派无线热点,无法成功联网)
ps2. 按照此方法设置后,通过 ssh 192.168.1.1 即可远程连接到树莓派对其进行控制。
----------------------------------------------------------------------------
18. 【树莓派首次使用时,无显示器状态下的配置方法】(此方法基于官方Raspbian系统的树莓派)
a> 网线直连树莓派到电脑
b> 电脑端打开dos窗口,输入 arp -a 回车
c> 在列表中找到已“动态”类型结尾的那些IP地址,一个一个的通过ssh去连接,其中有一个是树莓派的IP。
d> 由于树莓派有线网口默认设置为动态IP,所以会经常变动,此时可以更改 /etc/network/interfaces的内容将树莓派IP固定,方法如下:
将
auto eth0
allow-hotplug eth0
iface eth0 inet manual
这三行改为如下内容
iface eth0 inet static
address 192.168.1.134 #树莓派静态IP地址
netmask 255.255.255.0
gateway 192.168.1.253 #网关IP地址,即进入无线路由器设置页面的那个IP地址
dns-nameservers 8.8.8.8
e> 这一步可以让树莓派具备联网功能:
按照上面的步骤已经可以ssh连接到树莓派了,如果是笔记本(一般都是无线网卡和有线网卡的双网卡配置),并且已经通过wifi连接到网络,
此时,在电脑端进入 控制面板→网络和Internet→网络连接,找到无线网络连接,右键点击属性,在共享下面,选择“允许其他网络。。。”,然后选择“本地连接”,点击确定,
稍等几秒钟,树莓派即可实现上网,可ssh到树莓派,然后ping www.baidu.com进行测试。
ps1. 如果是基于官方Raspbian系统的树莓派,其开机信息会通过GPIO中的RX,TX串口打印出来,可将USB转串口板的RX,TX,GND分别接入树莓派的TX,RX,GND引脚,
即可通过电脑端的超级终端或者xshell软件查看打印信息并进入树莓派终端命令行界面。
ps2. 如果树莓派已经设置好连接到了wifi网络,并且手机也连接到了同一个wifi网络,可以在手机端安装RasPi Check软件来查看树莓派的状态,其中包含有线网络eth0的IP地址。 19. 【获取CPU和GPU温度的Python小程序】
a> 建立python脚本:sudo nano cpu_gpu_temp.py
内容如下:
import commands
def get_cpu_temp():
tempFile = open( "/sys/class/thermal/thermal_zone0/temp" )
cpu_temp = tempFile.read()
tempFile.close()
return float(cpu_temp)/1000
# Uncomment the next line if you want the temp in Fahrenheit
#return float(1.8*cpu_temp)+32
def get_gpu_temp():
gpu_temp = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' )
returnfloat(gpu_temp)
# Uncomment the next line if you want the temp in Fahrenheit
# return float(1.8* gpu_temp)+32
def main():
print "CPU temp: ", str(get_cpu_temp())
print "GPU temp: ", str(get_gpu_temp())
if __name__ == '__main__':
main()
b> 使用:sudo python cpu_gpu_temp.py ,即可返回CPU和GPU温度
----------------------------------------------------------------------------
20. 【在树莓派上利用讯飞语音将文字转化为语音保存并读出】
方法详见 “树莓派应用案例”文件夹下的“在树莓派上利用讯飞语音将文字转化为语音保存并读出(Bob亲测好用)”文件夹。
(另外,Bob已将源码和方法打包上传至inkdot账号的百度云盘,文件名为“在树莓派上利用讯飞语音将文字转化为语音保存并读出(Bob亲测好用).rar”) 21. 【无显示屏无USB无线网卡,无需wifi,无需移动网络,仅需一根手机数据线,通过手机USB共享实现树莓派ssh登陆】
a> 找一根USB数据线(仅带充电功能的手机线不行),将microUSB一端插入手机(这里采用的是小米4,miui6系统),标准USB端插入树莓派
b> 给树莓派上电
c> 听到手机发出叮叮一声的提示音后,打开手机的”USB共享网络“开关(在”设置“--”其他连接方式“--“网络共享”下面)(如果还想让树莓派使用手机移动网络或手机连接的wifi网络,则可打开对应网络开关)
d> 打开 Network Scan 这个手机端软件对手机同一网络下的设备进行扫描(可通过手机百度助手搜索到此软件,同时也已经上传至账号为inkdot的百度网盘中)
e> 在扫描的结果中,有一项"USB Network", 第一个是自己手机的IP,另外一个即为树莓派自动获取到的IP(后面带 ports:22 ssh 字样)
f> 打开 JuiceSSH 这个手机端软件,使用刚才那个树莓派IP进行SSH登录,账号pi,密码为11111111(根据自己的设置而定)
e> 另外,还可以使用手机端”VNC Viewer“登录树莓派图形界面(需树莓派安装tightvncserver之类的软件),
还可以使用手机端”RasPi Check”软件查看树莓派内存占用、存储空间使用量等信息,
还可以使用手机端”ES文件浏览器”软件,添加SFTP对树莓派的文件系统进行浏览查看,也可以往里面拷贝文件。
----------------------------------------------------------------------------
22. 【安装BerryIO工具 -- 用于浏览器控制树莓派】(可以查看树莓派IP/CPU温度.速率/存储空间大小等信息;可以控制GPIO端口/SPI/Camera/LCD等等)
a> 安装BerryIO:
sudo wget -N https://raw.github.com/NeonHorizon/berryio/master/scripts/berryio_install.sh
sudo chmod +x berryio_install.sh
sudo ./berryio_install.sh (会提示设置邮箱什么的,目前还不知道做什么用)
b> 使用:
方法一、在终端直接执行 sudo berryio,回车会显示所有功能(如 sudo berryio system_status 可查看系统整体状态)
方法二、浏览器输入树莓派IP回车(默认使用80端口),输入树莓派登陆的账号密码即可打开图形控制界面
ps1.如果其他功能需要使用80端口,可以用 sudo berryio shutdown 命令关闭此功能
ps2.更多内容详见 https://github.com/NeonHorizon/berryio 23. 【树莓派GPIO控制工具Python GPIO和WiringPi的安装方法与示例】
工具一、Python GPIO
安装步骤: a> 安装python-dev: sudo apt-get install python-dev
b> 安装python-rpi.gpio: sudo apt-get install python-rpi.gpio
示例1: 实现闪烁LED
a> 编写Python脚本: sudo nano led.py (功能:树莓派第11引脚电平每秒变换一次,可驱动LED闪烁)
内容如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#功能:树莓派第11引脚电平每秒变换一次,可驱动LED闪烁
#运行方法:sudo ./gpio_11_blink.py
import RPi.GPIO as GPIO
import time
# 设置GPIO编号为BOARD编号方式,即基于树莓派插座引脚编号
GPIO.setmode(GPIO.BOARD)
# 设置GPIO输出模式
GPIO.setup(11, GPIO.OUT) #将GPIO第11引脚设置为输出
while True:
GPIO.output(11, GPIO.HIGH)#将GPIO第11引脚输出高电平
time.sleep(1) #延迟1s
GPIO.output(11, GPIO.LOW) #将GPIO第11引脚输出低电平
time.sleep(1) #延迟1s
b> 执行:sudo python led.py
示例2: 实现按键控制LED
a> 编写Python脚本: sudo nano btn_led.py (功能:让树莓派板端第40引脚的输出电平等于38引脚的输入电平)
内容如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#功能:让树莓派板端第40引脚的输出电平等于38引脚的输入电平
#运行方法:sudo ./btn_led.py
import RPi.GPIO as GPIO
import time
# 设置GPIO编号为BOARD编号方式,即基于树莓派插座引脚编号
GPIO.setmode(GPIO.BOARD)
# 设置GPIO输出模式
GPIO.setup(38, GPIO.IN) #对应板端GPIO第38引脚
GPIO.setup(40, GPIO.OUT) #对应板端GPIO第40引脚
while True:
value = GPIO.input(38)
if value:
GPIO.output(40, GPIO.HIGH)
else :
GPIO.output(40, GPIO.LOW)
b> 执行:sudo python btn_led.py
工具二、WiringPi
安装步骤: a>克隆源码: sudo git clone git://git.drogon.net/wiringPi
b>进入源码目录: cd wiringPi
c>安装: sudo ./build
d>测试wiringPi是否安装成功: gpio -v 可显示版本信息
gpio readall 可显示I/O引脚对应关系表
示例1: 实现闪烁LED
a> 编写C程序:sudo nano led_blink.c(功能:树莓派第40引脚电平每秒变换一次,可驱动LED闪烁)
内容如下:
/****************************************************
功能:树莓派第40引脚电平每秒变换一次,可驱动LED闪烁
用法:使用gcc -Wall -o led_blink led_blink.c -lwiringPi编译后,直接通过 sudo ./led_blink 运行
****************************************************/
#include <wiringPi.h>
int main(void)
{
wiringPiSetup() ; //初始化wiringPi工具
pinMode (0, OUTPUT) ; //设置GPIO模式,wiringPi的GPIO_0对应树莓派GPIO的第11引脚
for(;;) //死循环,实现树莓派GPIO的第11引脚电平以1hz的频率进行变化
{
digitalWrite(0, HIGH) ; delay (500) ;
digitalWrite(0,LOW) ; delay (500) ;
}
}
b> 编译: gcc -Wall -o led_blink led_blink.c -lwiringPi
c> 执行: sudo ./led_blink
示例2: 实现按键控制LED
a> 编写C程序:sudo nano btn_led.c(功能:让树莓派板端第40引脚的输出电平等于38引脚的输入电平)
内容如下:
/****************************************************
功能:让树莓派板端第40引脚的输出电平等于38引脚的输入电平
用法:使用gcc -o btn_led btn_led.c -lwiringPi编译后,直接通过 sudo ./btn_led 运行
****************************************************/
#include <wiringPi.h>
int main(void)
{
wiringPiSetup() ; //初始化wiringPi工具
pinMode (28, INPUT) ; //对应板端GPIO第38引脚,设置为输入
pinMode (29, OUTPUT) ; //对应板端GPIO第40引脚,设置为输出
for(;;)
{
if(digitalRead(28)) //如果板端GPIO第38引脚输入电平为高,则第40引脚输出为高
digitalWrite(29, HIGH) ;
else //如果板端GPIO第38引脚输入电平为低,则第40引脚输出为低
digitalWrite(29,LOW) ;
}
}
b> 编译: gcc -o btn_led btn_led.c -lwiringPi
c> 执行: sudo ./btn_led 后面的都有代码,文本过长也不能上传,回头看看能不能在别的电脑穿附件。上面的就当入门技巧吧。凑合看。 很好的资料,楼主有心了 gmyu 发表于 2016-12-5 09:51
后面的都有代码,文本过长也不能上传,回头看看能不能在别的电脑穿附件。上面的就当入门技巧吧。凑合看。 ...
lz 你很多 是 颜色 代码?能不能编辑一下 在发。 不然ctrl+v太乱了 我竟然都看完了........ rei1984 发表于 2016-12-5 12:11
lz 你很多 是 颜色 代码?能不能编辑一下 在发。 不然ctrl+v太乱了
不好意思啊,我这不知道是公司封锁还是怎么的,不能发附件,早上准备了一些东西上传不了,amo开了这个版块总要贡献一下,就手动copy了。
这里没有一个是颜色代码的,很多是linux提示符,字母序号。
页:
[1]