树莓派相关操作
1. 树莓派相关信息:
A. 默认的用户名是pi,
B. 密码是raspberry
2. 树莓派系统配置界面
sudo raspi-config
A. Expand Filesystem 扩展文件系统,扩展整张SD卡空间作为根分区。
B Enable Boot to Desktop/Scratch 启动时进入的环境选择
C. Internationalisation Options 国际化选项,可以更改默认语言
1 Console Text console, requiring login(default)
启动时进入字符控制台,需要进行登录(默认项)。
2 Desktop log in as user 'pi' at the graphical desktop
启动时进入LXDE图形界面的桌面。
3 Scratch Start the Scratch programming environment upon boot
启动时进入Scratch编程环境。
D. Internationalisation Options 国际化选项,可以更改默认语言
1 Change Locale
语言和区域设置。选中zh-cn然后回车
2 Change Timezone
设置时区,如果不进行设置,Pi的时间就显示不正常。
3 Change Keyboard Layout
改变键盘布局,国内多使用PC104标准键盘,一般设置如下:
->Generic 104-key PC
->English(US)
->The default for the keyboard layout
->No compose key
->ctrl_alt_backspace Yes
E. Change Locale设置语言,默认为英文,若想改中文,须安装中文字体,命令如下:
a. sudo apt-get update
b. sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei
c. hange_locale– 更改语言设置。在 Locales to be generated: 中,选择 en_US.UTF-8 和 zh_CN.UTF-8。
在 Default locale for the -system environment:中,
选择 en_US.UTF-8(等启动完机器,装完中文字体,再改回 zh_CN.UTF-8,否则第一次启动会出现方块)
d. sudo apt-get install scim-pinyin 安装拼音输入法;
F. Change Timezone 设置时区,选择Asia(亚洲)再选择shanghai(上海)。
G. Change Keyboard Layout 改变键盘布局
3. 设置显示方向
A. 安装完触摸驱动之后,屏幕旋转方向会设置为180度(display_rotate=2)。可以通过修改config.txt文件以设置显示方向。
在终端执行命令:sudo nano /boot/config.txt
B. 具体设置方法:
a. 如需旋转0度, 则改为: display_rotate=0
b. 如需旋转90度, 则改为: display_rotate=1
c. 如需旋转270度,则改为:display_rotate=3
参见:树莓派官网
C. 显示方向设置完成之后,还需要通过修改99-calibration.conf文件,对触摸进行设置。执行命令:
sudo nano /etc/x11/xorg.conf.d/99-calibration.conf
说明:http://www.waveshare.net/wiki/4.3inch_HDMI_LCD#.E8.AE.BE.E7.BD.AE.E6.98.BE.E7.A4.BA.E6.96.B9.E5.90.91
4. 网路设置 (4.1 参考,测试未通过)
4.1 网口设置:
前言: 不知道 IP 地址的问题,咱们要给树莓派设置一个静态 IP,省得 IP 变换又要重新找机器。通过编辑网络接口文件:
A. nano /etc/network/interfaces
B. 如果你要设置的是有线网卡的 IP 地址,那么把 eth0 的 dhcp 改成 static 然后在下一行追加 IP 信息,结果大概如下:
将 iface eth0 inet manual 更改为: iface eth0 inet static
增加下面内容:
address 192.168.1.200 # 设定的静态IP地址
netmask 255.255.255.0 # 网络掩码
gateway 192.168.1.1 # 网关
C. 如果你要设置的是无线网卡的,那么除了把 wlan0 的 dhcp 改成 static 之外,
还需要填写无线网的名称和密码,编辑后的结果大概如下:
iface wlan0 inet static
wpa-ssid Your_Wifi_SSID
wpa-psk Your_Wifi_Password
address 192.168.1.200 # 设定的静态IP地址
netmask 255.255.255.0 # 网络掩码
gateway 192.168.1.1 # 网关
network 192.168.1.1 # 网络地址
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
▲ 注意注释掉最后一行
D. 搞定之后,咱们用 sudo poweroff 命令关掉树莓派,等到机器上的绿灯不闪了,
把电源拔掉,再把网线拔掉,重新连接电源,稍等一会,通过查看无线网络的 IP 。
4.2 wifi设置:(方法2)
A. ifconfig
B. 打开配置文件并修改,所有的WiFi连接配置:wpa_supplicant.conf
C. sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
D. 在文件的底部添加下面语句
# 最常用的配置。WPA-PSK 加密方式。
network={
ssid="WiFi-name1"
psk="WiFi-password1"
priority=5
}
network={
ssid="WiFi-name2"
psk="WiFi-password2"
priority=4
}
priority 是指连接优先级,数字越大优先级越高(不可以是负数)。
E. 开发实例:
network={
ssid="ETEK"
psk="48182400"
}
其中:
a. ssid为你要链接的wifi账号;
b. psk为wifi密码;
F. 重启网卡使设置生效
G. sudo ifdown wlan0
H. sudo ifup wlan0
I. 或者直接使用sudo reboot命令重启树莓派。
5. 通过远程桌面连接树莓派。
A. 在树莓派命令行下输入如下命令安装xrdp
a. sudo apt-get install xrdp
b. 使用Win7远程桌面连接软件即可远程控制;
6. 文件共享(samba)
A. 运行如下命令安装samba软件
sudo apt-get install samba samba-common-bin
B. 安装完成后,修改配置文件
sudo nano /etc/samba/smb.conf
配置每个用户可以读写自己的 home 目录,在“[homes]”节中,
把 “read only = yes” 改为 “read only = no”。
C. 重启samba服务
sudo /etc/init.d/samba restart
D. 添加默认用户pi到samba
a. sudo smbpasswd -a pi(树莓派用户)
b. 安装提示输入登录密码
E. 访问树莓派文件:
在浏览器上输入IP地址:\192.168.1.175pi(根据树莓派IP地址确认)
7. 上图为linux常用命令。这里我就不一一介绍了,只是简单介绍几条命令。
A. 看操作系统版本: sudo cat /proc/versiom
B. 查看主板版本: sudo cat /proc/cpuinfo
C. 查看SD存储卡剩余空间: sudo df -h
D. 查看ip地址: sudo ifconfig
E. 压缩: sudo tar –zcvf filename.tar.gz dirname
F. 解压: sudo tar –zxvf filename.tar.gz
G. linux系统常用apt(Advanced Package Tool)高级软件工具来安装软件
sudo apt-get install xxx 安装软件。
sudo apt-get update 更新软件列表。
sudo apt-get upgrade 更新已安装软件。
sudo apt-get remove xxx 删除软件。
8. 配置蓝牙模块
A. 升级安装蓝牙相关软件包
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo apt-get install pi-bluetooth bluez bluez-firmware blueman
B. 最关键一点:添加pi用户到蓝牙组
sudo usermod -G bluetooth -a pi
C. 重启
sudo reboot
D. 之后就可以按照各种教程正确使用蓝牙
9. linux常用命令以及vi/vim编辑器
A.路径:http://www.waveshare.net/forum/article-598-1.html
10. 使用LCD43-HDMI-GPIO液晶镜像文件进行软件包升级和更新的时候,需要安装如下操作方法进行,否则可能导致镜像无法运行:
sudo apt-mark hold raspberrypi-bootloader (设置)
sudo apt-mark unhold raspberrypi-bootloader (取消)
sudo apt-get update
sudo apt-get upgrade
参见如下路径: http://www.waveshare.net/wiki/4.3inch_HDMI_LCD
http://www.cnblogs.com/limlee/p/5425173.html
11. 树莓派系统使用的linux是debian系统,设置root帐号的配置方法:
A. debian里root账户默认没有密码,但账户锁定。
B. 当需要root权限时,由默认账户经由sudo执行,Raspberry pi 系统中的Raspbian
默认用户是 pi
密码为 raspberry
C. 为了方便折腾,建议第一时间启用 ROOT 账号吧~ 这个也很简单的,只需要执行一下两句命令即可:
D. 重新开启root账号,可由pi用户登录后,执行此命令后系统会提示输入两遍的root密码(默认密码是不显示的),输入你想设的密码即可。
pi@raspberrypi:~$ sudo passwd root
Enter new UNIX password: #输入第一遍密码 回车
Retype new UNIX password: #输入第二遍密码
E. 启用 root 账号登录
pi@raspberrypi:~$ sudo passwd --unlock root
passwd: password expiry information changed. #提示错误的代码
输入上面第一行代码 第二行是提示错误的代码
F. 原因是 新版本ssh默认关闭root登陆 你可以修改一下ssh的配置文件
pi@raspberrypi:~$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak #备份为 sshd_config.bak
pi@raspberrypi:~$ sudo nano /etc/ssh/sshd_config #修改编辑 sshd_config 文件
G. 参考路径:http://bbs.shumeipaiba.com/thread-1-1-1.html
13. 拍照和摄像
13.1 配置并且连接完摄像头,只要给树莓派上电即可使用拍照和摄像功能。
A. 拍照请终端执行以下语句:
raspistill -o image.jpg
B. 摄像请终端执行以下语句:
raspivid -o video.h264 -t 10000
其中 -t 10000 表示录制 10 秒,用户各根据自己的需要进行调整。
参考路径:http://www.waveshare.net/w/upload/e/e8/RPi-Camera-UserManual.pdf
C. 我们就可以使用Pi Cam了。要用它来拍摄照片的话,可以从命令行运行raspistill:
raspistill -o keychain.jpg -t 2000
这句命令将在 2000ms 后拍摄一张照片,然后保存为 keychain.jpg
D. 下面这句命令会按照默认配置(长度5秒,分辨率1920x1080,比特率 17Mbps)拍摄一段视频。
raspivid -o mykeychain.h264
E. 如果你想改变拍摄时长,只要通过 "-t" 选项来设置你想要的长度就行了(单位是毫秒)。
raspivid -o mykeychain.h264 -t 10000
F. 使用 "-w" 和 "-h" 选项将分辨率降为 1280x720...
raspivid -o mykeychain.h264 -t 10000 -w 1280 -h 720
G. raspivid 的输出是一段未压缩的 H.264 视频流,而且这段视频不含声音。为了能被通常的视频播放器所播放,这个 raw 的 H.264 视频还需要转换。可以使用 gpac 包中所带有的 MP4Box 应用。在 Raspbian 上安装 gpac,输入命令:
sudo apt-get install -y gpac
H. 然后将这段 raw 的 H.264 格式的视频流转换为每秒30帧的 .mp4 格式视频:
MP4Box -fps 30 -add keychain.h264 keychain.mp4
视频长度为10秒,使用默认分辨率以及比特率
参考路径:https://linux.cn/article-3650-1.html
13.2 示例 图像捕捉(http://shumeipai.nxez.com/2014/09/21/raspicam-documentation.html)
(http://jingyan.eeboard.com/article/74406)
默认情况下,传感器将以其支持的最高分辨率进行捕捉。可以在命令行中通过使用 -w 和 -h 参数进行更改。
A. # 两秒钟(时间单位为毫秒)延迟后拍摄一张照片,并保存为 image.jpg
raspistill -t 2000 -o image.jpg
B. # 拍摄一张自定义大小的照片。
raspistill -t 2000 -o image.jpg -w 640 -h 480
C. # 降低图像质量,减小文件尺寸
raspistill -t 2000 -o image.jpg -q 5
D. # 强制使预览窗口出现在坐标为 100,100 的位置,并且尺寸为宽 300 和高 200 像素。
raspistill -t 2000 -o image.jpg -p 100,100,300,200
E. # 禁用预览窗口
raspistill -t 2000 -o image.jpg -n
F. # 将图像保存为 PNG 文件(无损压缩格式,但是要比 JPEG 速度慢)。注意,当选择图像编码时,文件扩展名将被忽略。
raspistill -t 2000 -o image.png –e png
G. # 向 JPEG 文件中添加一些 EXIF 信息。该命令将会把作者名称标签设置为 Dreamcolor,GPS 海拔高度为 123.5米。
raspistill -t 2000 -o image.jpg -x IFD0.Artist=Dreamcolor -x GPS.GPSAltitude=1235/10
H. # 设置浮雕风格图像特效
raspistill -t 2000 -o image.jpg -ifx emboss
I. # 设置 YUV 图像的 U 和 V 通道为指定的值(128:128 为黑白图像)
raspistill -t 2000 -o image.jpg -cfx 128:128
J. # 仅显示两秒钟预览图像,而不对图像进行保存。
raspistill -t 2000
K. # 间隔获取图片,在 10 分钟(10 分钟 = 600000 毫秒)的时间里,每 10 秒获取一张,并且命名为
image_number_001_today.jpg,image_number_002_today.jpg... 的形式,并且最后一张照片将命名为 latest.jpg。
raspistill -t 600000 -tl 10000 -o image_num_%03d_today.jpg -l latest.jpg
L. # 获取一张照片并发送至标准输出设备
raspistill -t 2000 -o -
M. # 获取一张照片并保存为一个文件
raspistill -t 2000 -o - > my_file.jpg
N. #摄像头一直工作,当按下回车键时获取一张照片。
raspistill -t 0 -k -o my_pics%02d.jpg
视频捕捉
图像尺寸和预览设置与图像捕捉相同。录制的视频默认尺寸为 1080p(1920×1080)
A. # 使用默认设置录制一段 5 秒钟的视频片段(1080p30)
raspivid -t 5000 -o video.h264
B. # 使用指定码率(3.5Mbits/s)录制一段 5 秒钟的视频片段
raspivid -t 5000 -o video.h264 -b 3500000
C. # 使用指定帧率(5fps)录制一段 5 秒钟的视频片段
raspivid -t 5000 -o video.h264 -f 5
D. # 发送到标准输出设备一段 5 秒钟经过编码的摄像头流图像
raspivid -t 5000 -o -
E. # 保存到文件一段 5 秒钟经过编码的摄像头流图像
raspivid -t 5000 -o - > my_file.h264
13.2树莓派摄像头监控
A. 如果没有安装VLC先安装
apt-get -y install vlc
B. 然后写脚本:
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 &> /dev/null
上面是记录分辨率是640x360的录像,帧数是25帧,并把摄像头数据通过8090端口发送出去。
那么怎么保存记录呢?其实我们可以利用127.0.0.1这个localhost的,
wget 127.0.0.1:8090 -O /save/$(date).h264 (测试没有通过 其中:/save/$(date).h264为保存路径)
这样就可以把摄像头数据保存在树莓派上了。
同时我们也能通过VLC在电脑上查看,首先记住你树莓派的IP,比如是192.168.1.4,那么就在电脑或者其他客户端打开VLC
参考路径:http://jingyan.eeboard.com/article/73782#/prettyPhoto%5Bpp_gal%5D/0/
http://shumeipai.nxez.com/2014/11/23/raspberry-pi-using-vlc-show-nude-webcam-stream-h264.html
http://blog.csdn.net/maoxiang/article/details/17848497
http://sanwen8.cn/p/y9fTM4.html
http://bbs.ickey.cn/community/forum.php?mod=viewthread&tid=45860
C. raspistill 命令是树莓派提供的捕获图像的工具,输入如下命令:
raspistill -O image.jpg -rot 180 -v
O表示输出文件;
rot 180表示旋转图片180度
v(增加命令,查看调试信息)
D. raspistill 常用参数
-v: 调试信息查看
-w:图像的宽度
-h:图像的高度
-rot:图像旋转角度,只支持0,90,180,270
-O: 图像输出地址 例如 image.jpg,如果文件名为“-”,将输出发送到标准输出设备
-t: 捕获图像前等待时间,默认为5000,即为5s
-tl: 多久执行一次图像抓取
例如:
raspistill -O image.jpg -rot 180 -w 1024 -h 768 -t 20000 -tl 5000 -v
参考路径:http://www.360doc.com/content/15/0914/10/18490038_499025259.shtml
13.3 在树莓派(raspberry pi)中安装opencv2.4.10
A. 参考路径:http://www.aichengxu.com/view/2093917
B. 参考路径:http://blog.csdn.net/ty101/article/details/48706917
C. 参考路径:http://www.pyimagesearch.com/2015/02/23/install-opencv-and-python-on-your-raspberry-pi-2-and-b/
D. 参考路径:http://bbs.elecfans.com/jishu_597533_1_1.html
E. 参考路径:http://www.pyimagesearch.com/2016/04/18/install-guide-raspberry-pi-3-raspbian-jessie-opencv-3/
F. 参考路径:http://blog.csdn.net/talkxin/article/details/50471986 (成功安装)
14. 树莓派软件
A. 安装图像编辑器Gimp
sudo apt-get install gimp
B. 音乐播放控制台
sudo apt-get install moc
说明:最常用的mocp参数:
-s: 停止当前播放
-G: 暂停播放或者恢复暂停播放
-f: 查看文件夹或者播放列表下一首
-r: 回到文件夹或者播放列表的上一首
-I: 在终端或者播放台上打印当前歌曲的信息
-x: 停止播放并且退出mocp
15. 启动 root用户:
A.在pi用户帐号目录下输入: sudo passwd root
输入密码: xxxxxxx
再次输入密码: xxxxxxx
B. 然后输入: sudo passwd --unlock root 开启root帐号
16. 使用树莓派录音——USB声卡 (http://jingyan.eeboard.com/article/73723)
A. ##先更新软件包
sudo apt-get update
sudo apt-get upgrade
B. ##安装必要的程序
sudo apt-get -y install alsa-utils alsa-tools alsa-tools-gui alsamixergui
安装完成后,就可以使用树莓派来录音了。来录个60秒试试:
C. 查看原代码
arecord -D "plughw:1,0" -d 60 /tmp/test.wav
arecord -D "plughw:1,0" -d 60 > /dev/test.wav
apt-get -y install audacity
17. 安装QT4 & QT5
17.1 安装QT4
其他方法很简单,用apt-get 就可以 ,版本4.8.1
sudo apt-get install qt4-dev-tools
把qtcreator也装了。
sudo apt-get install qtcreator
打开qtcreator后配置一下编译环境就可以 了,具体操作如下:
option > build & run > toolchain > add //添加编译器,选择地址
gcc: /usr/bin/arm-linux-gnueabihf-gcc-4.6 //其实是软连接
gdb: /usr/bin/gdb
然后 “应用” “确定” 重新打开配置环境,
option > build & run > Qt version
会自动添加的。如果没有就手动添加一个qmake
qmake: /usr/bin/qmake-qt4
OK!!!实现同一份代码,到处编译的快乐吧!!
参考路径: http://www.shumeipai.net/thread-13828-1-1.html?_dsign=094a2f7c
17.2 安装QT5
1.安装qt5-default
$ sudo apt-get install qt5-default
2:安装qtcreator:
这是qtcreator信息,可以看到安装了很多的libqt5
参考路径:http://blog.csdn.net/lbsljn/article/details/51789892
18.树莓派(Raspberry PI)上的Python GUI实现(学习+总结)
参考路径: http://my.oschina.net/u/63375/blog/152228
19. PyQt5学习和交流
参考路径: http://bbs.fishc.com/thread-59816-1-1.html
20.linux 可执行程序建立软链接
1 . 使用方式 :ln [option] source_file dist_file
-f 建立时,将同档案名删除.
-i 删除前进行询问.
ln -s abc cde 建立abc 的软连接
ln abc cde 建立abc的硬连接,
2. 软链接与硬链接的区别(通俗):
硬链接可认为是一个文件拥有两个文件名;而软链接则是
系统新建一个链接文件,此文件指向其所要指的文件
3.实例:
例如: ln -s /mnt/tmp/ ppp
在当前目录下创建文件ppp,指向/mnt/tmp/目录。
参考路径:http://zhidao.baidu.com/question/370286103974405684.html?fr=iks&word=Linux%CF%C2%D4%F5%C3%B4%BD%AB%BF%C9%D6%B4%D0%D0%CE%C4%BC%FE%CD%A8%B9%FDln%D4%DA%D7%C0%C3%E6%BD%A8%C1%A2%B7%FB%BA%C5%C1%B4%BD%D3&ie=gbk
21. Linux下安装pyinstaller用于将py文件打包生成一个可执行文件
一、安装使用流程
参考路径:http://www.jb51.net/article/88235.htm
1. 首先给系统装个easy_install, 如果装了的可以跳过这步
到pypi官方网址 https://pypi.python.org/pypi/setuptools 去download最新版本
2. 官网上下载pyinstaller,当前的最新版本是2.1
(1) 网址 http://www.pyinstaller.org/
3.解包进入源码目录
(1) tar -zxvf pyinstaller_2.1.tar.gz
(2) cd pyinstaller-2.1
运行
(3) python setup.py install
4. 拷贝py文件
将需打包的py文件如test.py 拷贝到当前目录
5. 生成可执行文件
cd到pyinstaller目录, 执行
python pyinstaller.py test.py
二、可能遇到的问题
1. 用户权限
直接在root用户下运行pyinstaller会报错 “cannot run pyinstaller as user root"...
所以需新增另外一个用户,并给用户对pyinstaller所在的目录及所有父目录添加读写权限,避免运行后报‘mkdir' permission denied...
2. 找不到python lib动态库
su切换到新增用户后,
pyinstaller报错找不到python动态库
raise IOError("Python library not found!")
IOError: Python library not
执行python --version查看当前版本,并查找/usr/local/lib 下有没有对应版本的libpython*.*.so文件,
如果有则跳过这步,如果没有则需要重新安装python,在python安装配置中一定要加上--enable-shared参数就可以生成对应动态链接库,如:
#./configure --enable-shared --prefix=/usr/local
#make
#make install
我环境中更新过python版本,导致/usr/lib下不是最新版本的库文件,需要将新版本拷贝到对应的/usr/lib目录下,注意有两个文件:
#cp libpython*.so /usr/lib/
#ln -s /usr/lib/libpython*.so.1.0 /usr/lib/libpython*.so
22. 在Ubuntu系统中安装wxpython方法如下:
打开控制台,输入命令apt-cache search wxpython。如果能返回wxpython的信息,则直接输入命令sudo apt-get install python-wxtools安装即可。
23. picamera 1.10 教程及api中文简译(三)picamera的基本使用
参考路径:http://blog.csdn.net/talkxin/article/details/50504601
24. 树莓派摄像头/dev/video0问题
修改/etc/modules,加上一行: bcm2835-v412
如下:
snd-bcm2835
bcm2835-v412
然后重启, ls -l /dev/video0,应该能找到。