树莓派相关操作
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,应该能找到。