Debian Jessie/zh
1 Debian系统固件下载
1.1 S5P4418开发板
在这里下载:下载地址,固件文件名:
s5p4418-debian-sd8g-20171017.img.zip | Debian8-Desktop系统固件 |
1.2 S5P6818开发板
在这里下载:下载地址,固件文件名:
s5p6818-debian-sd8g-20171102.img.zip | Debian8-Desktop系统固件 |
2 Debian系统的使用
2.1 连接有线网络
- Debian系统在启动前,只要接上网线,系统启动后则会自动分配IP地址,不需要额外去配置。
2.2 连接无线网络
Debian系统使用NetworkManager来管理网络。
在Debian的桌面环境下,点击桌面任务栏右下角的网络图标,会弹出 NetworkManger 的菜单,列出当前的网络连接状态,如果有WiFi网络,会列出周边的无线热点,如下图所示:
你可以点击菜单上的无线热点,即可连接到该热点,如果热点是加密的,会弹出密码输入框提示你输入密码。
想进一步了解网络连接相关的内容,可参考这个页面:NetworkManager。
2.3 配置Wi-Fi无线热点
先执行以下命令,默认情况下如果系统中安装了NetworkManager,会提示你先卸载NetworkManager:
sudo turn-wifi-into-apmode yes
卸载NetworkManager完成后,按提示重启开发板。
重启后,再执行上面的命令一次,这次会提示你输入WiFi热点的名称和密码,按提示操作即可。
操作成功后,你可以在电脑上搜索并连接热点,然后通过192.168.8.1这个地址来登录开发板:
ssh root@192.168.8.1
在提示输入密码时,输入预设的密码fa,即可登入。
为了保证ssh的流畅,我们用以下命令关闭wifi的省电模式:
sudo iwconfig wlan0 power off
WiFi工作模式可通过以下命令查询:
sudo cat /sys/module/bcmdhd/parameters/op_mode
输出为数字2则表示当前处于无线热点模式,要切换回普通的Station模式,输入如下命令:
sudo turn-wifi-into-apmode no
2.4 使用蓝牙传输文件
以传输文件到手机为例进行说明,首先,将你的手机蓝牙设置为可侦测状态,然后执行以下命令开始蓝牙搜索:
hcitool scan
搜索到设备时,结果举例如下:
Scanning ...
38:BC:1A:B1:7E:DD MEIZU MX4
这表示搜索到一台名为MEIZU MX4的手机,我们记下手机名称前面的MAC地址,然后用sdptool命令查看该手机支持的蓝牙服务:
sdptool browse 38:BC:1A:B1:7E:DD
注:上述命令中的MAC地址请替换成手机实际的
这个命令会详细列出手机蓝牙所支持的协议,我们需要关心的是一个名为 OBEX Object Push 的文件传输服务,以MEIZU MX4手机为例,其显示结果如下所示:
Service Name: OBEX Object Push
Service RecHandle: 0x1000b
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 25
"OBEX" (0x0008)
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100
从上面的信息可以看到,这个手机的OBEX Object Push服务的所用的频道是25, 我们需要将它传递给ussp-push命令,最后发起文件传输请求的命令如下:
ussp-push 38:BC:1A:B1:7E:DD@25 example.jpg example.jpg
注:上述命令中的MAC地址、频道和文件名请替换成实际的
执行上述命令后,请留意手机屏幕,正常情况下手机会弹出配对和接收文件的提示,确定后就开始文件传輪了。
蓝牙常见问题:
1) 开发板上找不到蓝牙设备, 可尝试用以下命令开启蓝牙:
rfkill unblock 0
2) 提示找不到相关命令,可尝试用以下命令安装相关软件:
apt-get install bluetooth bluez obexftp openobex-apps python-gobject ussp-push
2.5 安装Debian软件包
我们提供的是标准的Debian jessie系统,你可以使用apt-get等命令来安装软件包,如果板子是首次运行,需要先用以下命令更新软件包列表:
apt-get update
然后就可以安装软件包了,例如要安装ftp服务器,使用以下命令:
apt-get install vsftpd
如果软件包下载速度不理想,你可以编辑 /etc/apt/sources.list 更换一个更快的源服务器,这个网址[1]有一份完整的源镜像服务器列表,注意要选用一个带armhf架构的。
2.6 Debian系统HDMI或者3.5mm音频设备输出声音
Debian系统默认接HDMI或者3.5mm耳机座没有输出声音,因为系统缺省没安装声音部分的安装包。如希望HDMI或者3.5mm耳机座接音频设备输出声音,需要给系统安装上缺省的alsa包。
- 首先,保证你的板子刷的是最新Debian固件,并且能连外网;
- 启动板子后,执行以下步骤安装alsa包:
apt-get update apt-get install libasound2 apt-get install alsa-base apt-get install alsa-utils
- 安装好需要的库后,拷贝一首 .wav 格式的音乐到开发板上,接上耳机或扬声器,播放音乐( Debian系统默认从3.5mm耳机座输出声音):
aplay music.wav
- Debian系统默认从3.5mm耳机座输出声音,想从HDMI输出需要修改文件系统上的配置文件/etc/asound.conf如下:
pcm.!default { type hw card 1 device 0} ctl.!default { type hw card 1}
card 0代表3.5mm耳机孔,card 1代表HDMI音频。设置完成后需要重启系统HDMI即可输出声音。
2.7 通过VNC和SSH登录系统
如果你不想连接HDMI,可以使用手机或电脑到这里下载并安装一个名为VNC Viewer的软件,用VNC连接到开发板,默认的端口号为1,密码为:fa123456 。
以下是在iPhone上用VNC登录的画面:
如果你不想连接HDMI和串口模块,可以通过SSH协议登录系统。假设通过路由器查看到开发板的IP地址为192.168.1.230,你可以在PC机上执行如下命令登录系统:
$ ssh root@192.168.1.230
密码为fa。
2.8 连接USB WiFi
系统已经支持市面上众多常见的USB WiFi,想知道你的USB WiFi是否可用只需将其接在开发板上即可,已测试过的USB WiFi型号如下:
序号 型号 1 RTL8188CUS/8188EU 802.11n WLAN Adapter 2 RT2070 Wireless Adapter 3 RT2870/RT3070 Wireless Adapter 4 RTL8192CU Wireless Adapter 5 小米WiFi mt7601
- 查看网络设备列表
$ nmcli dev DEVICE TYPE STATE CONNECTION eth0 ethernet connected Wired connection 1 wlan0 wifi disconnected -- lo loopback unmanaged --
注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.
- 开启WiFi
$ nmcli r wifi on
- 扫描附近的 WiFi 热点
$ nmcli dev wifi
- 连接到指定的 WiFi 热点
$ nmcli dev wifi connect "SSID" password "PASSWORD"
请将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。
连接成功后,下次开机,WiFi 也会自动连接。
更详细的NetworkManager使用指南可参考这篇维基:Use NetworkManager to configure network settings
2.9 连接USB摄像头模块(FA-CAM202)
FA-CAM202是一款200万像素的USB摄像头模块。
连接摄像头后,在Debian系统点击左下角的菜单键“Other”-->xawtv,打开USB Camera软件。进入“welcome to xawtv!”,选择OK即可进行拍照。
2.10 连接摄像头测试OpenCV
OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。
执行以下步骤测试OpenCV:
- 连接网线,然后启动系统,在HDMI界面下进行登录操作。
- 安装opencv库,执行命令:
$ apt-get update $ apt-get install libcv-dev libopencv-dev
- 参考前面章节,确保摄像头工作正常:
- 运行OpenCV官方C++示例代码,执行下列命令编译运行:
$ cd /home/fa/Documents/opencv-demo $ make $ ./demo
3 以下内容仅适用于S5P4418/S5P6818平台
3.1 连接DVP摄像头模块(CAM500B)
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考Matirx-CAM500B。
Debian/Ubuntu系统集成了命令行的摄像头示例程序nanocams,登录后输入以下命令即可预览40桢然后拍照保存为指定的文件。
sudo nanocams -p 1 -n 40 -c 4 -o IMG001.jpg
更详细的命令行参数可执行命令“nanocams -h”。
如果要下载源代码,运行以下命令即可获得:
git clone https://github.com/friendlyarm/nexell_linux_platform.git
4 以下内容仅适用于H3平台
4.1 连接DVP摄像头模块(CAM500B)
注意: 该功能仅支持使用Linux-3.4.y的系统固件。
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考Matirx-CAM500B。
连接CAM500B,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer:
$ cd /root/mjpg-streamer $ make $ ./start.sh
mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息:
i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 1280 x 720 i: Frames Per Second.: 30 i: Format............: YUV i: JPEG Quality......: 90 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled
假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:
mjpg-streamer是用libjpeg对摄像头数据进行软编码,你可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度:
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4
默认会录制30秒的视频,输入q能终止录制。录制完成后会在当前目录生成一个名为test.mp4的视频文件,可将其拷贝到PC上进行播放验证。
4.2 命令行查看CPU工作温度
在串口终端执行如下命令,可以快速地获取CPU的当前温度和运行频率等信息:
cpu_freq
4.3 通过Rpi-Monitor查看系统状态
系统里已经集成了Rpi-Monitor,该服务允许用户在通过浏览器查看开发板系统状态。
假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入下述地址:
192.168.1.230:8888
可以进入如下页面:
用户可以非常方便地查看到系统负载、CPU的频率和温度、可用内存、SD卡容量等信息。
4.4 测试GPU
注意: 该功能仅支持使用Linux-3.4.y的系统固件。
启动系统,在HDMI界面下进行登录操作,打开终端并运行命令:
$ glmark2-es2
4.5 测试VPU
注意: 该功能仅支持使用Linux-3.4.y的系统固件。
访问此处下载地址的test-video目录下载视频文件,启动系统,在HDMI界面下登录系统,打开终端并运行命令:
$ sudo apt-get install mpv $ video_play mpv ./big_buck_bunny_1080p_H264_AAC_25fps_7200K.MP4
经测试,可流畅硬解播放1080p视频。