Difference between revisions of "Template:FriendlyCoreGeneral/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(FriendlyCore的使用)
(updated by API)
 
(145 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Work with FriendlyCore==
+
==FriendlyCore的使用==
===Introduction===
+
{{#switch: {{{1}}}
FriendlyCore is a light Linux system without X-windows, based on ubuntu core, It uses the Qt-Embedded's GUI and is popular in industrial and enterprise applications.
+
| NanoPC-T4 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-M4 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-M4V2 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-M4B =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-NEO4 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| SOM-RK3399 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 +
{{FriendlyCoreRK3328Introduce/zh}}
 +
| NanoPi-Duo
 +
| NanoPi-Duo2
 +
| NanoPi-K1-Plus
 +
| NanoPi-M1
 +
| NanoPi-M1-Plus
 +
| NanoPi-NEO
 +
| NanoPi-NEO2
 +
| NanoPi-NEO2-Black
 +
| NanoPi-NEO-Air
 +
| NanoPi-NEO-Core
 +
| NanoPi-NEO-Core2
 +
| NanoPi-NEO-Plus2
 +
| NanoPi-R1
 +
| NanoPi-R1S-H3
 +
| NanoPi-R1S-H5
 +
| ZeroPi =
 +
{{FriendlyCoreAllwinnerIntroduce/zh}}
 +
| #default =
 +
{{FriendlyCoreGeneralIntroduce/zh}}
 +
}}
 +
===运行FriendlyCore===
 +
{{#switch: {{{1}}}
 +
| SOM-4418 =
 +
| #default =
 +
* 对于有HDMI接口的板子,如果要在电视上进行操作,您需要连接USB鼠标和键盘。
 +
* 如果您需要进行内核开发,最好选购一个串口配件,连接了串口,则可以通过串口终端对开发板进行操作。
 +
}}
 +
{{#switch: {{{1}}}
 +
| NanoPC-T4 =
 +
| NanoPi-M4 =
 +
| NanoPi-M4V2 =
 +
| NanoPi-M4B =
 +
| NanoPi-NEO4 =
 +
| SOM-RK3399 =
 +
| NanoPi-NEO2 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-NEO2.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-NEO.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO-Plus2 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-NEO-Plus2.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO-Core =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-NEO-Core.jpg|frameless|400px]]<br>
 +
| NanoPi-M1 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-M1.jpg|frameless|400px]]<br>
 +
| NanoPi-M1-Plus =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-NanoPi-M1-Plus.jpg|frameless|400px]]<br>
 +
| NanoPi-A64 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-A64.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO-Air =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
[[File:PSU-ONECOM-AIR.jpg|frameless|400px]]<br>
 +
| NanoPi-R1 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,请注意串口模块的DC口和NanoPi R1的MicroUSB口都需要供电:<br />
 +
[[File:PSU-ONECOM-R1.jpg|frameless|500px]]<br>
 +
| NanoPi-R1S-H3 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,请注意串口模块的DC口和NanoPi R1S-H3的MicroUSB口都需要供电:<br />
 +
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 +
| NanoPi-R1S-H5 =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,请注意串口模块的DC口和NanoPi R1S-H5的MicroUSB口都需要供电:<br />
 +
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2C =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,请注意串口模块的DC口和NanoPi都需要供电:<br />
 +
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 +
| NanoPi-NEO2-Black =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,请注意串口模块的DC口和NanoPi NEO2 Black的MicroUSB口都需要供电:<br />
 +
[[File:PSU-ONECOM-NEO2-Black.jpg|frameless|500px]]<br>
 +
| NanoPi-Duo
 +
| NanoPi-Duo2 =
 +
<!-- Duox not support ONECOM -->
 +
| SOM-4418 =
 +
| #default =
 +
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 +
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:<br />
 +
以NanoPi-M1为例:<br>[[File:PSU-ONECOM-M1.jpg|frameless|400px]]<br>
 +
}}
 +
{{#switch: {{{1}}}
 +
| SOM-RK3399 =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:somrk3399usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPC-T4 =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:T4usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPi-M4 =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:m4usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPi-M4V2 =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:m4usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPi-M4B =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:m4usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPi-NEO4 =
 +
{{{1}}}需要使用USB转串口模块,连接方法如下图所示:<br>[[File:neo4usb2serialport.jpg|frameless|500px]]<br>
 +
| NanoPi-NEO2 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-NEO2.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO2-Black =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_NEO2-Black.jpg|frameless|500px]]<br>
 +
| NanoPi-NEO-Core =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-NEO-Core.jpg|frameless|400px]]<br>
 +
| NanoPi-M1 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-M1.jpg|frameless|400px]]<br>
 +
| NanoPi-M1-Plus =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-M1-Plus.jpg|frameless|400px]]<br>
 +
| NanoPi-Duo =
 +
使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-Duo.jpg|frameless|400px]]<br>
 +
| NanoPi-Duo2 =
 +
使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-Duo2.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO-Plus2 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:USB2UART-NEO-Plus2.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_NEO.jpg|frameless|400px]]<br>
 +
| NanoPi-NEO-Air =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_NEO_Air.jpg|frameless|500px]]<br>
 +
| NanoPi-R1 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_R1.jpg|frameless|500px]]<br>
 +
| NanoPi-R1S-H3 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_R1S-H3.jpg|frameless|500px]]<br>
 +
| NanoPi-R1S-H5 =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_R1S-H3.jpg|frameless|500px]]<br>
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2C =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板供电:<br>
 +
[[File:Matrix-USB2UART_nanopi_R2S.jpg|frameless|500px]]<br>
 +
| SOM-4418 =
 +
| #default =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 +
以NanoPi-NEO2为例:<br>[[File:USB2UART-NEO2.jpg|frameless|400px]]<br>
 +
}}
 +
* FriendlyCore默认帐户:
 +
普通用户:
 +
    用户名: pi
 +
    密码: pi
  
Besides the regular Ubuntu core's features our FriendlyCore has the following additional features:
+
Root用户:
* it supports our LCDs with both capacitive touch and resistive touch(S700, X710, HD702, S430, HD101 and S70)
+
    用户名: root
* it supports WiFi
+
    密码: fa
* it supports Ethernet
+
* it supports Bluetooth and has been installed with bluez utilities
+
* it supports audio playing
+
* it supports Qt5.9 EGLES and OpenGL ES1.1/2.0 (Only for S5P4418/S5P6818)
+
  
===FriendlyCore's User Accounts===
+
默认会以 pi 用户自动登录,你可以使用 sudo npi-config 命令取消自动登录。
* If your board is connected to an HDMI monitor you need to use a USB mouse and keyboard.
+
* If you want to do kernel development you need to use a serial communication board, ie a PSU-ONECOM board, which will allow you to operate the board via a serial terminal.Here is a setup where we connect a board to a PC via the PSU-ONECOM and you can power on your board from either the PSU-ONECOM or its MicroUSB:
+
[[File:PSU-ONECOM-NEO-Plus2.jpg|frameless|400px|PSU-ONECOM-NEO_Plus2]]<br>
+
You can use a USB to Serial conversion board too. <br>
+
Make sure you use a 5V/2A power to power your board from its MicroUSB port:<br>
+
[[File:USB2UART-NEO-Plus2.jpg|frameless|400px|USB2UART-NEO-Plus2]]
+
  
* FriendlyCore User Accounts:
+
* 更新软件包:
Non-root User:
+
    User Name: pi
+
    Password: pi
+
Root:
+
    User Name: root
+
    Password: fa
+
 
+
The system is automatically logged in as "pi". You can do "sudo npi-config" to disable auto login.
+
 
+
* Update packages
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ sudo apt-get update
 
$ sudo apt-get update
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===Configure System with npi-config===
+
<!--
The npi-config is a commandline utility which can be used to initialize system configurations such as user password, system language, time zone, Hostname, SSH switch , Auto login and etc. Type the following command to run this utility.
+
===使用npi-config配置系统===
 +
npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项等,在命令行执行以下命令即可进入:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
$ sudo npi-config
 
$ sudo npi-config
 
</syntaxhighlight>
 
</syntaxhighlight>
Here is how npi-config's GUI looks like:<br />
+
npi-config的显示界面如下所示:<br />
 
[[File:npi-config.jpg|frameless|500px|npi-config]]<br />
 
[[File:npi-config.jpg|frameless|500px|npi-config]]<br />
 +
-->
 +
{{#switch: {{{1}}}
 +
| NanoPC-T4 =
 +
{{FriendlyCoreRK3399QtDev/zh}}
 +
| NanoPi-M4 =
 +
{{FriendlyCoreRK3399QtDev/zh}}
 +
| NanoPi-M4V2 =
 +
{{FriendlyCoreRK3399QtDev/zh}}
 +
| NanoPi-M4B =
 +
{{FriendlyCoreRK3399QtDev/zh}}
 +
| NanoPi-NEO4 =
 +
{{FriendlyCoreRK3399QtDev/zh}}
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 +
{{FriendlyCoreRK3328QtDev/zh}}
 +
| #default =
 +
===开发Qt应用===
 +
请参考 [[How to Build and Install Qt Application for FriendlyELEC Boards/zh]]<br>
 +
}}
  
 +
===开机自动运行Qt示例程序===
 +
使用npi-config工具进行开启:
 +
<syntaxhighlight lang="bash">
 +
sudo npi-config
 +
</syntaxhighlight>
 +
进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。
 
===扩展TF卡文件系统===
 
===扩展TF卡文件系统===
 
第一次启动FriendlyCore系统时,系统会自动扩展文件系统分区,请耐心等待,TF卡/eMMC的容量越大,需要等待的时间越长,进入系统后执行下列命令查看文件系统分区大小:
 
第一次启动FriendlyCore系统时,系统会自动扩展文件系统分区,请耐心等待,TF卡/eMMC的容量越大,需要等待的时间越长,进入系统后执行下列命令查看文件系统分区大小:
Line 48: Line 235:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===连接WiFi===
+
{{#switch: {{{1}}}
 
+
| NanoPi-NEO
FriendlyCore 使用 NetworkManager 工具来管理网络,其在命令行下对应的命令是 nmcli,要连接WiFi,相关的命令如下:
+
| NanoPi-DUO
* 查看网络设备列表
+
| NanoPi-M1
 +
| NanoPi-NEO-Core
 +
| NanoPi-NEO2
 +
| NanoPi-NEO-Core2
 +
| NanoPi-NEO2-Black
 +
| NanoPi-R1S-H3
 +
| NanoPi-R1S-H5
 +
| NanoPi-R2S
 +
| NanoPi-R2C
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| ZeroPi =
 +
<!-- 这些板子不带蓝牙功能 -->
 +
| #default =
 +
===使用蓝牙传输文件===
 +
以传输文件到手机为例进行说明,首先,将你的手机蓝牙设置为可侦测状态,然后执行以下命令开始蓝牙搜索:<br />
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ sudo nmcli dev
+
hcitool scan
 
</syntaxhighlight>
 
</syntaxhighlight>
注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.
+
<br />
 
+
搜索到设备时,结果举例如下:<br />
* 开启WiFi
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ sudo nmcli r wifi on
+
Scanning ...
 +
    2C:8A:72:1D:46:02  HTC6525LVW
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
这表示搜索到一台名为HTC6525LVW的手机,我们记下手机名称前面的MAC地址,然后用sdptool命令查看该手机支持的蓝牙服务:<br />
* 扫描附近的 WiFi 热点
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ sudo nmcli dev wifi
+
sdptool browser 2C:8A:72:1D:46:02
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
注:上述命令中的MAC地址请替换成手机实际的蓝牙MAC地址<br />
* 连接到指定的 WiFi 热点
+
这个命令会详细列出手机蓝牙所支持的协议,我们需要关心的是一个名为 OBEX Object Push 的文件传输服务,以HTC6525LVW手机为例,其显示结果如下所示:<br />
 +
<syntaxhighlight lang="bash">
 +
Service Name: OBEX Object Push
 +
Service RecHandle: 0x1000b
 +
Service Class ID List:
 +
  "OBEX Object Push" (0x1105)
 +
Protocol Descriptor List:
 +
  "L2CAP" (0x0100)
 +
  "RFCOMM" (0x0003)
 +
    Channel: 12
 +
  "OBEX" (0x0008)
 +
Profile Descriptor List:
 +
  "OBEX Object Push" (0x1105)
 +
    Version: 0x0100
 +
</syntaxhighlight>
 +
从上面的信息可以看到,这个手机的OBEX Object Push服务的所用的频道是12, 我们需要将它传递给obexftp命令,最后发起文件传输请求的命令如下:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
$ sudo nmcli dev wifi connect "SSID" password "PASSWORD"
+
obexftp --nopath --noconn --uuid none --bluetooth -b 2C:8A:72:1D:46:02 -B 12 -put example.jpg
 
</syntaxhighlight>
 
</syntaxhighlight>
请将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。<br />
+
注:上述命令中的MAC地址、频道和文件名请替换成实际的<br /><br />
连接成功后,下次开机,WiFi 也会自动连接。<br />
+
执行上述命令后,请留意手机屏幕,正常情况下手机会弹出配对和接收文件的提示,确定后就开始文件传輪了。<br />
 
<br />
 
<br />
更详细的NetworkManager使用指南可参考这篇文章: [[Use NetworkManager to configure network settings]]<br />
+
蓝牙常见问题:<br />
 
+
1) 开发板上找不到蓝牙设备, 可尝试用以下命令开启蓝牙:<br />
* 使用USB WiFi
+
<syntaxhighlight lang="bash">
系统已经支持市面上众多常见的USB WiFi,已测试过的USB WiFi型号如下:
+
rfkill unblock 0
::{| class="wikitable"
+
</syntaxhighlight>
|-
+
2) 提示找不到相关命令,可尝试用以下命令安装相关软件:<br />
|序号||型号     
+
<syntaxhighlight lang="bash">
|-
+
apt-get install bluetooth bluez obexftp openobex-apps python-gobject ussp-push
|1  || RTL8188CUS/8188EU 802.11n WLAN Adapter   
+
</syntaxhighlight>
|-
+
}}
|2 ||  RT2070 Wireless Adapter   
+
===连接WiFi===
|-  
+
{{Linux-WiFi/zh}}
|3 ||  RT2870/RT3070 Wireless Adapter
+
<!--带WiFi和BT的APXX芯片的板子-->
|-
+
{{#switch: {{{1}}}
|4 ||  RTL8192CU Wireless Adapter
+
  | NanoPi-M1-Plus
|-
+
  | NanoPi-NEO-Air
|5 || 小米WiFi mt7601
+
  | NanoPi-NEO-Plus2
|}
+
| NanoPi-Duo2 =
 +
{{Allwinner-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
  | NanoPC-T2 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
  | SOM-4418 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
| NanoPC-T3 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
| NanoPC-T3-Plus =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
  | NanoPi2 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
  | NanoPi_K2 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
| NanoPi_M3 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
}}
  
 
===连接以太网===
 
===连接以太网===
 
 
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档:  [[Use NetworkManager to configure network settings]]。
 
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档:  [[Use NetworkManager to configure network settings]]。
 +
{{#switch: {{{1}}}
 +
| NanoPC-T4 | NanoPi-M4 | NanoPi-NEO4 =
 +
===访问GPIO/I2C/串口等硬件资源===
 +
请参考下面的文档:
 +
*[[WiringPi for RK3399/zh|WiringPi for RK3399]]
 +
*[[WiringPi-Python for RK3399/zh|WiringPi-Python for RK3399]]
 +
| NanoPi-Duo | NanoPi-M1-Plus | NanoPi-M1 | NanoPi-NEO-Air | NanoPi-NEO-Core | NanoPi-NEO-Core2 | NanoPi-NEO-Plus2 | NanoPi-NEO | NanoPi-Duo2 | NanoPi-NEO2 | NanoPi-K1-Plus =
 +
===访问GPIO/I2C/串口等硬件资源===
 +
请参考下面的文档:
 +
*[[WiringNP: NanoPi NEO/NEO2/Air GPIO Programming with C/zh]]
 +
*[[RPi.GPIO : NanoPi NEO/NEO2/Air GPIO Programming with Python/zh]]
 +
| #default =
 +
}}
  
===使用蓝牙===
+
===定制命令行的欢迎信息(文字LOGO)===
 
+
欢迎信息主要是这个目录下的脚本来打印的:
如果你的开发板板载有蓝牙模块,可输入以下命令搜索周边的蓝牙设备:<br />
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
hcitool scan
+
/etc/update-motd.d/
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
比如要修改 FriendlyELEC 的大字LOGO,可以修改/etc/update-motd.d/10-header 这个文件,比如要将LOGO改为HELLO,可将以下行:
使用hciconfig命令来了解接口的状态。
+
 
+
 
+
===播放音频===
+
 
+
在串口终端执行以下aplay命令播放一段音频:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
aplay -t raw -c 2 -f S16_LE -r 44100 /root/test.pcm
+
TERM=linux toilet -f standard -F metal $BOARD_VENDOR
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
改为:
===HDMI输出声音===
+
系统默认从3.5mm耳机座输出声音,想从HDMI输出需要修改文件系统上的配置文件/etc/asound.conf如下:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
pcm.!default {
+
TERM=linux toilet -f standard -F metal HELLO
    type hw
+
    card 1
+
    device 0
+
}
+
 
+
ctl.!default {
+
    type hw
+
    card 1
+
}
+
 
</syntaxhighlight>
 
</syntaxhighlight>
card 0代表3.5mm耳机孔,card 1代表HDMI音频。设置完成后需要重启系统才能生效。
+
===修改时区===
 
+
例如更改为Shanghai时区:
===连接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]]
+
 
+
===开机自动运行Qt示例程序===
+
使用npi-config工具进行开启:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo npi-config
+
sudo rm /etc/localtime
 +
sudo ln -ls /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
</syntaxhighlight>
 
</syntaxhighlight>
  
进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。
+
{{#switch: {{{1}}}
 +
| NanoPC-T4 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| NanoPi-M4 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| NanoPi-M4V2 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| NanoPi-M4B =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| NanoPi-NEO4 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| SOM-RK3399 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| NanoPC-T2 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| SOM-4418 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPC-T3 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPC-T3-Plus =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi2 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-Fire2A =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-M2A =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-S2 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| Smart4418 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| Smart6818 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-Fire3 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-M3 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| NanoPi-Duo2 =
 +
{{SelectAudio/zh |NanoPi-Duo2 }}
 +
| NanoPi-R1
 +
| NanoPi-R1S-H3
 +
| NanoPi-R1S-H5
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 +
<!-- do nothing -->
 +
| #default =
 +
{{SelectAudio/zh}}
 +
}}
 +
 
 +
{{#switch: {{{1}}}
 +
| NanoPC-T4 =
 +
{{RK3399FanControl/zh}}
 +
| NanoPi-M4 =
 +
{{RK3399FanControl/zh}}
 +
| NanoPi-M4V2 =
 +
{{RK3399FanControl/zh}}
 +
| NanoPi-M4B =
 +
{{RK3399FanControl/zh}}
 +
| NanoPi-M4B =
 +
{{RK3399FanControl/zh}}
 +
| SOM-RK3399 =
 +
{{RK3399FanControl/zh}}
 +
| NanoPi-NEO4 =
 +
<!-- do nothing -->
 +
| NanoPC-T2 =
 +
<!-- do nothing -->
 +
| SOM-4418 =
 +
<!-- do nothing -->
 +
| NanoPC-T3 =
 +
<!-- do nothing -->
 +
| NanoPC-T3-Plus =
 +
<!-- do nothing -->
 +
| NanoPi2 =
 +
<!-- do nothing -->
 +
| NanoPi-Fire2A =
 +
<!-- do nothing -->
 +
| NanoPi-M2A =
 +
<!-- do nothing -->
 +
| NanoPi-S2 =
 +
<!-- do nothing -->
 +
| Smart4418 =
 +
<!-- do nothing -->
 +
| Smart6818 =
 +
<!-- do nothing -->
 +
| NanoPi-Fire3 =
 +
<!-- do nothing -->
 +
| NanoPi-M3 =
 +
<!-- do nothing -->
 +
| NanoPi-Duo2 =
 +
<!-- do nothing -->
 +
| NanoPi-R1
 +
| NanoPi-R1S-H3
 +
| NanoPi-R1S-H5
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 +
<!-- do nothing -->
 +
| #default =
 +
<!-- do nothing -->
 +
}}

Latest revision as of 10:53, 4 December 2023

1 FriendlyCore的使用

1.1 介绍

FriendlyCore,是一个没有X-windows环境,基于Ubuntu core构建的系统,使用Qt-Embedded作为图形界面的轻量级系统,兼容Ubuntu系统软件源,非常适合于企业用户用作产品的基础OS。

本系统除了保留Ubuntu Core的特性以外,还包括以下特性:

  • 支持电容和电阻触摸屏 (型号:S700, X710, S70, HD702, S430, HD101, S70等友善电子推出的LCD屏)
  • 支持WiFi连接
  • 支持以太网连接
  • 支持蓝牙,已预装bluez等相关软件包
  • 支持音频播放
  • 支持Qt 5.10.0 EGLES和OpenGL ES1.1/2.0 (限S5P4418/S5P6818平台)

1.2 运行FriendlyCore

  • 对于有HDMI接口的板子,如果要在电视上进行操作,您需要连接USB鼠标和键盘。
  • 如果您需要进行内核开发,最好选购一个串口配件,连接了串口,则可以通过串口终端对开发板进行操作。

使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:
以NanoPi-M1为例:
PSU-ONECOM-M1.jpg
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:
以NanoPi-NEO2为例:
USB2UART-NEO2.jpg

  • FriendlyCore默认帐户:

普通用户:

   用户名: pi
   密码: pi

Root用户:

   用户名: root
   密码: fa

默认会以 pi 用户自动登录,你可以使用 sudo npi-config 命令取消自动登录。

  • 更新软件包:
$ sudo apt-get update

1.3 开发Qt应用

请参考 How to Build and Install Qt Application for FriendlyELEC Boards/zh

1.4 开机自动运行Qt示例程序

使用npi-config工具进行开启:

sudo npi-config

进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。

1.5 扩展TF卡文件系统

第一次启动FriendlyCore系统时,系统会自动扩展文件系统分区,请耐心等待,TF卡/eMMC的容量越大,需要等待的时间越长,进入系统后执行下列命令查看文件系统分区大小:

df -h

1.6 使用蓝牙传输文件

以传输文件到手机为例进行说明,首先,将你的手机蓝牙设置为可侦测状态,然后执行以下命令开始蓝牙搜索:

hcitool scan


搜索到设备时,结果举例如下:

Scanning ...
    2C:8A:72:1D:46:02   HTC6525LVW

这表示搜索到一台名为HTC6525LVW的手机,我们记下手机名称前面的MAC地址,然后用sdptool命令查看该手机支持的蓝牙服务:

sdptool browser 2C:8A:72:1D:46:02

注:上述命令中的MAC地址请替换成手机实际的蓝牙MAC地址
这个命令会详细列出手机蓝牙所支持的协议,我们需要关心的是一个名为 OBEX Object Push 的文件传输服务,以HTC6525LVW手机为例,其显示结果如下所示:

Service Name: OBEX Object Push
Service RecHandle: 0x1000b
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 12
  "OBEX" (0x0008)
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0100

从上面的信息可以看到,这个手机的OBEX Object Push服务的所用的频道是12, 我们需要将它传递给obexftp命令,最后发起文件传输请求的命令如下:

obexftp --nopath --noconn --uuid none --bluetooth -b 2C:8A:72:1D:46:02 -B 12 -put example.jpg

注:上述命令中的MAC地址、频道和文件名请替换成实际的

执行上述命令后,请留意手机屏幕,正常情况下手机会弹出配对和接收文件的提示,确定后就开始文件传輪了。

蓝牙常见问题:
1) 开发板上找不到蓝牙设备, 可尝试用以下命令开启蓝牙:

rfkill unblock 0

2) 提示找不到相关命令,可尝试用以下命令安装相关软件:

apt-get install bluetooth bluez obexftp openobex-apps python-gobject ussp-push

1.7 连接WiFi

无论是SD WiFi还是USB WiFi, 它们的连接方式都是一样的。正基科技的APXX系列芯片属于SD 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
6 5G USB WiFi RTL8821CU
7 5G USB WiFi RTL8812AU

目前使用 NetworkManager 工具来管理网络,其在命令行下对应的命令是 nmcli,要连接WiFi,相关的命令如下:

  • 切换到root账户
$ su root
  • 查看网络设备列表
$ nmcli dev

注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.

  • 开启WiFi
$ nmcli r wifi on
  • 扫描附近的 WiFi 热点
$ nmcli dev wifi
  • 连接到指定的 WiFi 热点
$ nmcli dev wifi connect "SSID" password "PASSWORD" ifname wlan0

请将 SSID和 PASSWORD 替换成实际的 WiFi名称和密码。
连接成功后,下次开机,WiFi 也会自动连接。

更详细的NetworkManager使用指南可参考这篇文章: Use NetworkManager to configure network settings

如果你的USB WiFi无法正常工作, 大概率是因为文件系统里缺少了对应的USB WiFi固件。对于Debian系统, 可以在Debian-WiFi里找到并安装USB WiFi芯片的固件。而对于Ubuntu系统, 则可以通过下列命令安装所有的USB WiFi固件:

$ apt-get install linux-firmware

一般情况下, 各种WiFi芯片的固件都存放在/lib/firmware目录下。


1.8 连接以太网

默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档: Use NetworkManager to configure network settings


1.9 定制命令行的欢迎信息(文字LOGO)

欢迎信息主要是这个目录下的脚本来打印的:

/etc/update-motd.d/

比如要修改 FriendlyELEC 的大字LOGO,可以修改/etc/update-motd.d/10-header 这个文件,比如要将LOGO改为HELLO,可将以下行:

TERM=linux toilet -f standard -F metal $BOARD_VENDOR

改为:

TERM=linux toilet -f standard -F metal HELLO

1.10 修改时区

例如更改为Shanghai时区:

sudo rm /etc/localtime
sudo ln -ls /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

1.11 选择系统默认音频设备

如果当前系统存在多个音频设备, 例如HDMI-Audio、3.5mm耳机座、I2S-Codec时, 可以通过下列操作设置系统默认使用的音频设备。

  • 启动板子后,执行以下步骤安装alsa包:
$ apt-get update
$ apt-get install libasound2
$ apt-get install alsa-base
$ apt-get install alsa-utils
  • 安装好需要的库后,查看系统当前所有的声卡设备的序列号。这里假设aplay的输出如下, 并不是真实情况, 请根据实际情况进行相对应的修改:
$ aplay -l
card 0: HDMI
card 1: 3.5mm codec
card 2: I2S codec

上面的信息表示card 0代表HDMI-Audio,card 1代表3.5mm耳机座, card 2代表I2S-Codec,修改配置文件/etc/asound.conf如下表示选择HDMI-Audio:

pcm.!default {
    type hw
    card 0
    device 0
}
 
ctl.!default {
    type hw
    card 0
}

如果将card 0修改为card 1, 则表示选择3.5mm耳机座, 以此类推。
拷贝一首 .wav 格式的音乐到开发板上,播放音乐:

$ aplay /root/Music/test.wav

可以听见从系统默认的音频设备里输出音频。
如果您使用的开发板是H3/H5/H2+系列并且使用的是主线内核,那么更简便的方法是使用npi-config