树莓派相关操作

树莓派相关操作

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,应该能找到。
原文地址:https://www.cnblogs.com/hbtmwangjin/p/7488490.html