Difference between revisions of "FriendlyCore (based on ubuntu-core with Qt)/zh"
(updated by API) |
(updated by API) |
||
Line 13: | Line 13: | ||
==固件下载== | ==固件下载== | ||
− | + | 你可以点击[http://dl.friendlyarm.com 这个链接],到指定产品的下载页面下载。 | |
− | + | ||
==FriendlyCore的使用== | ==FriendlyCore的使用== | ||
===运行FriendlyCore=== | ===运行FriendlyCore=== | ||
* 要在电视上进行操作,你需要连接USB鼠标和键盘。 | * 要在电视上进行操作,你需要连接USB鼠标和键盘。 | ||
− | |||
* 如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对板子进行操作。 | * 如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对板子进行操作。 | ||
− | |||
* FriendlyCore默认帐户: | * FriendlyCore默认帐户: | ||
普通用户: | 普通用户: | ||
Line 79: | Line 76: | ||
<br /> | <br /> | ||
更详细的NetworkManager使用指南可参考这篇文章: [[Use NetworkManager to configure network settings]]<br /> | 更详细的NetworkManager使用指南可参考这篇文章: [[Use NetworkManager to configure network settings]]<br /> | ||
+ | |||
+ | * 使用USB WiFi | ||
+ | 系统已经支持市面上众多常见的USB WiFi,已测试过的USB WiFi型号如下: | ||
+ | ::{| class="wikitable" | ||
+ | |- | ||
+ | |序号||型号 | ||
+ | |- | ||
+ | |1 || RTL8188CUS/8188EU 802.11n WLAN Adapter | ||
+ | |- | ||
+ | |2 || RT2070 Wireless Adapter | ||
+ | |- | ||
+ | |3 || RT2870/RT3070 Wireless Adapter | ||
+ | |- | ||
+ | |4 || RTL8192CU Wireless Adapter | ||
+ | |- | ||
+ | |5 || 小米WiFi mt7601 | ||
+ | |} | ||
===连接以太网=== | ===连接以太网=== | ||
Line 101: | Line 115: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | ===HDMI输出声音=== | ||
+ | 系统默认从3.5mm耳机座输出声音,想从HDMI输出需要修改文件系统上的配置文件/etc/asound.conf如下: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | pcm.!default { | ||
+ | type hw | ||
+ | card 1 | ||
+ | device 0 | ||
+ | } | ||
+ | |||
+ | ctl.!default { | ||
+ | type hw | ||
+ | card 1 | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | card 0代表3.5mm耳机孔,card 1代表HDMI音频。设置完成后需要重启系统才能生效。 | ||
+ | |||
+ | ===连接USB摄像头模块(FA-CAM202)=== | ||
+ | FA-CAM202是一款200万像素的USB摄像头模块。<br> | ||
+ | 连接测试USB摄像头的方法请参考:[[NanoPi_M1/zh#.E8.BF.9E.E6.8E.A5DVP.E6.91.84.E5.83.8F.E5.A4.B4.E6.A8.A1.E5.9D.97.28CAM500B.29_2|连接DVP摄像头模块(CAM500B)]] <br> | ||
+ | |||
+ | ==开发自已的Qt应用== | ||
+ | 请参考 [[How to build Qt application]] | ||
+ | |||
+ | ==以下内容仅适用于S5P4418/S5P6818平台 | ||
===运行Qt示例程序=== | ===运行Qt示例程序=== | ||
在命令行执行:<br /> | 在命令行执行:<br /> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
− | $ sudo | + | $ sudo qt5demo |
</syntaxhighlight> | </syntaxhighlight> | ||
在屏幕上可以看到如下画面:<br /> | 在屏幕上可以看到如下画面:<br /> | ||
− | [[File: | + | TODO<br /> |
+ | |||
+ | ===连接DVP摄像头模块(CAM500B)=== | ||
+ | CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考[[Matrix - CAM500B/zh|Matirx-CAM500B]]。<br> | ||
+ | Debian/Ubuntu系统集成了命令行的摄像头示例程序nanocams,登录后输入以下命令即可预览40桢然后拍照保存为指定的文件。<br> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo nanocams -p 1 -n 40 -c 4 -o IMG001.jpg | ||
+ | </syntaxhighlight> | ||
+ | 更详细的命令行参数可执行命令“nanocams -h”。<br> | ||
+ | 如果要下载源代码,运行以下命令即可获得: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | git clone https://github.com/friendlyarm/nexell_linux_platform.git | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==以下内容仅适用于H3平台 | ||
+ | |||
+ | ===连接DVP摄像头模块(CAM500B)=== | ||
+ | 注:该功能仅支持使用Linux-3.4.y的系统固件。<br> | ||
+ | CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考[[Matrix - CAM500B/zh|Matirx-CAM500B]]。<br> | ||
+ | [[File:NanoPi-M1-cam500a.jpg|frameless|500px|NanoPi-M1-cam500a]] <br> | ||
+ | 根据上图连接M1和CAM500B,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ cd /root/mjpg-streamer | ||
+ | $ make | ||
+ | $ ./start.sh | ||
+ | </syntaxhighlight> | ||
+ | mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 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 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 假设M1的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:<br> | ||
+ | [[File:mjpg-streamer-cam500a.png|frameless|600px|mjpg-streamer-cam500a]] <br> | ||
+ | mjpg-streamer是用libjpeg对摄像头数据进行软编码,你可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ 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 | ||
+ | </syntaxhighlight> | ||
+ | 默认会录制30秒的视频,输入q能终止录制。录制完成后会在当前目录生成一个名为test.mp4的视频文件,可将其拷贝到PC上进行播放验证。 | ||
+ | |||
+ | |||
+ | ===命令行查看CPU工作温度=== | ||
+ | 在串口终端执行如下命令,可以快速地获取CPU的当前温度和运行频率等信息: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ cpu_freq | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ===通过Rpi-Monitor查看系统状态=== | ||
+ | 系统里已经集成了Rpi-Monitor,该服务允许用户在通过浏览器查看开发板系统状态。<br> | ||
+ | 假设M1的IP地址为192.168.1.230,在PC的浏览器中输入下述地址: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | 192.168.1.230:8888 | ||
+ | </syntaxhighlight> | ||
+ | 可以进入如下页面:<br> | ||
+ | [[File:rpi-monitor.png|frameless|800px|rpi-monitor]] <br> | ||
+ | 用户可以非常方便地查看到系统负载、CPU的频率和温度、可用内存、SD卡容量等信息。 | ||
+ | |||
+ | |||
− | + | ==开机自动运行Qt示例程序== | |
使用npi-config工具进行开启: | 使用npi-config工具进行开启: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 118: | Line 221: | ||
进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。 | 进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。 | ||
− | + | ==使用触摸屏== | |
− | 电容屏一般无需设置即可使用,电阻屏则需要校准,校准的行为在 /usr/bin/ | + | 电容屏一般无需设置即可使用,电阻屏则需要校准,校准的行为在 /usr/bin/setqt5env 这个脚本中触发的,这个脚本非常有用,它会设置Qt相关的环境变量,会在使用电阻屏时,根据条件判断是否需要运行校准程序。 |
如果你需要重新校准电阻触摸屏,可以删除以下文件来实现,命令如下: | 如果你需要重新校准电阻触摸屏,可以删除以下文件来实现,命令如下: | ||
Line 129: | Line 232: | ||
删除之后重新启动系统即可。 | 删除之后重新启动系统即可。 | ||
− | |||
− | |||
− | ==常见问题== | + | ==使用触摸屏== |
+ | |||
+ | 电容屏一般无需设置即可使用,电阻屏则需要校准,校准的行为在 /usr/bin/setqt4env 或者 /usr/bin/setqt5env 脚本中触发的 (取决于系统中安装的是Qt4还是Qt5),这个脚本非常有用,它会设置Qt相关的环境变量,会在使用电阻屏时,根据条件判断是否需要运行校准程序。 | ||
+ | |||
+ | 如果你需要重新校准电阻触摸屏,可以删除以下文件来实现,命令如下: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | rm /etc/pointercal | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | 删除之后重新启动系统即可。 | ||
+ | |||
+ | ===常见问题=== | ||
* 编译Qt程序时出现无法链接到 libts, libz等库 | * 编译Qt程序时出现无法链接到 libts, libz等库 |
Revision as of 03:22, 22 December 2017
1 介绍
FriendlyCore,是一个没有X-windows环境,基于Ubuntu core构建的系统,使用Qt-Embedded作为图形界面的轻量级系统,兼容Ubuntu系统软件源,非常适合于企业用户用作产品的基础OS。
本系统除了保留Ubuntu Core的特性以外,还包括以下特性:
- 支持电容和电阻触摸屏 (型号:S700, X710, S70, HD702, S430, HD101, S70等友善推出的LCD屏)
- 支持WiFi连接
- 支持以太网连接
- 支持蓝牙,已预装bluez等相关软件包
- 支持音频播放
- 支持Qt5.9 EGLES和OpenGL ES1.1/2.0 (限S5P4418/S5P6818平台)
2 固件下载
你可以点击这个链接,到指定产品的下载页面下载。
3 FriendlyCore的使用
3.1 运行FriendlyCore
- 要在电视上进行操作,你需要连接USB鼠标和键盘。
- 如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过终端对板子进行操作。
- FriendlyCore默认帐户:
普通用户:
用户名: pi 密码: pi
Root用户:
用户名: root 密码: fa
默认会以 pi 用户自动登录,你可以使用 sudo npi-config 命令取消自动登录。
- 更新软件包:
$ sudo apt-get update
3.2 使用npi-config配置系统
npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项等,在命令行执行以下命令即可进入:
$ sudo npi-config
3.3 扩展TF卡文件系统
第一次启动Debian系统时,系统会自动扩展文件系统分区,请耐心等待,TF卡/eMMC的容量越大,需要等待的时间越长,进入系统后执行下列命令查看文件系统分区大小:
df -h
3.4 连接WiFi
FriendlyCore 使用 NetworkManager 工具来管理网络,其在命令行下对应的命令是 nmcli,要连接WiFi,相关的命令如下:
- 查看网络设备列表
$ sudo nmcli dev
注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.
- 开启WiFi
$ sudo nmcli r wifi on
- 扫描附近的 WiFi 热点
$ sudo nmcli dev wifi
- 连接到指定的 WiFi 热点
$ sudo nmcli dev wifi connect "SSID" password "PASSWORD"
请将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。
连接成功后,下次开机,WiFi 也会自动连接。
更详细的NetworkManager使用指南可参考这篇文章: Use NetworkManager to configure network settings
- 使用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
3.5 连接以太网
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档: Use NetworkManager to configure network settings。
3.6 使用蓝牙
如果你的开发板板载有蓝牙模块,可输入以下命令搜索周边的蓝牙设备:
hcitool scan
使用hciconfig命令来了解接口的状态。
3.7 播放音频
在串口终端执行以下aplay命令播放一段音频:
aplay -t raw -c 2 -f S16_LE -r 44100 /root/test.pcm
3.8 HDMI输出声音
系统默认从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音频。设置完成后需要重启系统才能生效。
3.9 连接USB摄像头模块(FA-CAM202)
FA-CAM202是一款200万像素的USB摄像头模块。
连接测试USB摄像头的方法请参考:连接DVP摄像头模块(CAM500B)
4 开发自已的Qt应用
请参考 How to build Qt application
==以下内容仅适用于S5P4418/S5P6818平台
4.1 运行Qt示例程序
在命令行执行:
$ sudo qt5demo
在屏幕上可以看到如下画面:
TODO
4.2 连接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
==以下内容仅适用于H3平台
4.3 连接DVP摄像头模块(CAM500B)
注:该功能仅支持使用Linux-3.4.y的系统固件。
CAM500B是一款500万像素摄像头模块,以DVP并行信号输出,详细信息请参考Matirx-CAM500B。
根据上图连接M1和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
假设M1的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.4 命令行查看CPU工作温度
在串口终端执行如下命令,可以快速地获取CPU的当前温度和运行频率等信息:
$ cpu_freq
4.5 通过Rpi-Monitor查看系统状态
系统里已经集成了Rpi-Monitor,该服务允许用户在通过浏览器查看开发板系统状态。
假设M1的IP地址为192.168.1.230,在PC的浏览器中输入下述地址:
192.168.1.230:8888
可以进入如下页面:
用户可以非常方便地查看到系统负载、CPU的频率和温度、可用内存、SD卡容量等信息。
5 开机自动运行Qt示例程序
使用npi-config工具进行开启:
sudo npi-config
进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。
6 使用触摸屏
电容屏一般无需设置即可使用,电阻屏则需要校准,校准的行为在 /usr/bin/setqt5env 这个脚本中触发的,这个脚本非常有用,它会设置Qt相关的环境变量,会在使用电阻屏时,根据条件判断是否需要运行校准程序。
如果你需要重新校准电阻触摸屏,可以删除以下文件来实现,命令如下:
rm /etc/pointercal
删除之后重新启动系统即可。
7 使用触摸屏
电容屏一般无需设置即可使用,电阻屏则需要校准,校准的行为在 /usr/bin/setqt4env 或者 /usr/bin/setqt5env 脚本中触发的 (取决于系统中安装的是Qt4还是Qt5),这个脚本非常有用,它会设置Qt相关的环境变量,会在使用电阻屏时,根据条件判断是否需要运行校准程序。
如果你需要重新校准电阻触摸屏,可以删除以下文件来实现,命令如下:
rm /etc/pointercal
删除之后重新启动系统即可。
7.1 常见问题
- 编译Qt程序时出现无法链接到 libts, libz等库
原因是你的 arm-linux-gcc 4.9.3 编译器没有集成这些库,到产品的下载页面重新下载一次编译器,重新安装后即可解决。
8 更新日志
8.1 2017-04-18
FriendlyCore系统更新如下:
- 修改了登录欢迎界面,当用户登录时会打印系统的基本状态信息;
- 增加 npi-config 工具,npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项等,在命令行执行以下 sudo npi-config 即可进入;
- 预装NetworkManager作为网络管理工具;
- 新增pi用户,并配置为自动登录,自动登录特性可以使用npi-config工具配置;
8.2 2017-03-08
1) 启用UART2
2) 增加HD101B屏幕的支持
8.3 2017-02-09
FriendlyCore系统中增加7寸电阻屏 S70B 的支持
8.4 2016-11-17
增加H43屏的支持
8.5 2016-09-02
集成了CAM500A(ov5640)摄像头的demo程序(nanocams)
8.6 2016-07-01
修复了FriendlyCore下USB Wi-Fi无法加载固件的问题