Difference between revisions of "Template:FriendlyCoreGeneral/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
 
(12 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
{{FriendlyCoreRK3399Introduce/zh}}
 
{{FriendlyCoreRK3399Introduce/zh}}
 
  | NanoPi-M4V2 =
 
  | NanoPi-M4V2 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
| NanoPi-M4B =
 
{{FriendlyCoreRK3399Introduce/zh}}
 
{{FriendlyCoreRK3399Introduce/zh}}
 
  | NanoPi-NEO4 =
 
  | NanoPi-NEO4 =
 
{{FriendlyCoreRK3399Introduce/zh}}
 
{{FriendlyCoreRK3399Introduce/zh}}
  | NanoPi-R2S =
+
| SOM-RK3399 =
 +
{{FriendlyCoreRK3399Introduce/zh}}
 +
  | NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 
{{FriendlyCoreRK3328Introduce/zh}}
 
{{FriendlyCoreRK3328Introduce/zh}}
 
  | NanoPi-Duo
 
  | NanoPi-Duo
Line 32: Line 39:
 
}}
 
}}
 
===运行FriendlyCore===
 
===运行FriendlyCore===
 +
{{#switch: {{{1}}}
 +
| SOM-4418 =
 +
| #default =
 
* 对于有HDMI接口的板子,如果要在电视上进行操作,您需要连接USB鼠标和键盘。
 
* 对于有HDMI接口的板子,如果要在电视上进行操作,您需要连接USB鼠标和键盘。
* 如果您需要进行内核开发,最好选购一个串口配件,连接了串口,则可以通过串口终端对开发板进行操作。<br />
+
* 如果您需要进行内核开发,最好选购一个串口配件,连接了串口,则可以通过串口终端对开发板进行操作。
 +
}}
 
{{#switch: {{{1}}}
 
{{#switch: {{{1}}}
 
  | NanoPC-T4 =  
 
  | NanoPC-T4 =  
Line 85: Line 96:
 
接上串口后,请注意串口模块的DC口和NanoPi R1S-H5的MicroUSB口都需要供电:<br />
 
接上串口后,请注意串口模块的DC口和NanoPi R1S-H5的MicroUSB口都需要供电:<br />
 
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
  | NanoPi-R2S =
+
  | NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2C =
 
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
接上串口后,请注意串口模块的DC口和NanoPi R2S的MicroUSB口都需要供电:<br />
+
接上串口后,请注意串口模块的DC口和NanoPi都需要供电:<br />
 
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 
[[File:PSU-ONECOM-R1S.jpg|frameless|500px]]<br>
 
  | NanoPi-NEO2-Black =
 
  | NanoPi-NEO2-Black =
Line 93: Line 106:
 
接上串口后,请注意串口模块的DC口和NanoPi NEO2 Black的MicroUSB口都需要供电:<br />
 
接上串口后,请注意串口模块的DC口和NanoPi NEO2 Black的MicroUSB口都需要供电:<br />
 
[[File:PSU-ONECOM-NEO2-Black.jpg|frameless|500px]]<br>
 
[[File:PSU-ONECOM-NEO2-Black.jpg|frameless|500px]]<br>
  | NanoPi-Duo =
+
  | NanoPi-Duo
 
  | NanoPi-Duo2 =
 
  | NanoPi-Duo2 =
    <!-- Duox not support ONECOM -->
+
<!-- Duox not support ONECOM -->
 +
| SOM-4418 =
 
  | #default =
 
  | #default =
 
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
 
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:<br>
Line 153: Line 167:
 
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 
[[File:Matrix-USB2UART_nanopi_R1S-H3.jpg|frameless|500px]]<br>
 
[[File:Matrix-USB2UART_nanopi_R1S-H3.jpg|frameless|500px]]<br>
  | NanoPi-R2S =
+
  | NanoPi-R2S
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
+
| NanoPi-R2C-Plus
 +
| NanoPi-R2C =
 +
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板供电:<br>
 
[[File:Matrix-USB2UART_nanopi_R2S.jpg|frameless|500px]]<br>
 
[[File:Matrix-USB2UART_nanopi_R2S.jpg|frameless|500px]]<br>
 +
| SOM-4418 =
 
  | #default =
 
  | #default =
 
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
 
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:<br>
Line 176: Line 193:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
<!--
 
===使用npi-config配置系统===
 
===使用npi-config配置系统===
 
npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项等,在命令行执行以下命令即可进入:
 
npi-config是一个命令行下的系统配置工具,可以对系统进行一些初始化的配置,可配置的项目包括:用户密码、系统语言、时区、Hostname、SSH开关、自动登录选项等,在命令行执行以下命令即可进入:
Line 183: Line 201:
 
npi-config的显示界面如下所示:<br />
 
npi-config的显示界面如下所示:<br />
 
[[File:npi-config.jpg|frameless|500px|npi-config]]<br />
 
[[File:npi-config.jpg|frameless|500px|npi-config]]<br />
 +
-->
 
{{#switch: {{{1}}}
 
{{#switch: {{{1}}}
 
  | NanoPC-T4 =
 
  | NanoPC-T4 =
Line 194: Line 213:
 
  | NanoPi-NEO4 =
 
  | NanoPi-NEO4 =
 
{{FriendlyCoreRK3399QtDev/zh}}
 
{{FriendlyCoreRK3399QtDev/zh}}
  | NanoPi-R2S =
+
  | NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 
{{FriendlyCoreRK3328QtDev/zh}}
 
{{FriendlyCoreRK3328QtDev/zh}}
 
  | #default =
 
  | #default =
Line 200: Line 222:
 
请参考 [[How to Build and Install Qt Application for FriendlyELEC Boards/zh]]<br>
 
请参考 [[How to Build and Install Qt Application for FriendlyELEC Boards/zh]]<br>
 
}}
 
}}
 +
 
===开机自动运行Qt示例程序===
 
===开机自动运行Qt示例程序===
 
使用npi-config工具进行开启:
 
使用npi-config工具进行开启:
Line 222: Line 245:
 
  | NanoPi-R1S-H3  
 
  | NanoPi-R1S-H3  
 
  | NanoPi-R1S-H5
 
  | NanoPi-R1S-H5
 +
| NanoPi-R2S
 +
| NanoPi-R2C
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 
  | ZeroPi =
 
  | ZeroPi =
 
<!-- 这些板子不带蓝牙功能 -->
 
<!-- 这些板子不带蓝牙功能 -->
Line 284: Line 311:
 
{{Linux-Bluetooth/zh}}
 
{{Linux-Bluetooth/zh}}
 
  | NanoPC-T2 =
 
  | NanoPC-T2 =
 +
{{S5Pxx18-APmode/zh}}
 +
{{Linux-Bluetooth/zh}}
 +
| SOM-4418 =
 
{{S5Pxx18-APmode/zh}}
 
{{S5Pxx18-APmode/zh}}
 
{{Linux-Bluetooth/zh}}
 
{{Linux-Bluetooth/zh}}
Line 302: Line 332:
 
{{Linux-Bluetooth/zh}}
 
{{Linux-Bluetooth/zh}}
 
}}
 
}}
 +
 
===连接以太网===
 
===连接以太网===
 
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档:  [[Use NetworkManager to configure network settings]]。
 
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档:  [[Use NetworkManager to configure network settings]]。
Line 317: Line 348:
 
  | #default =
 
  | #default =
 
}}
 
}}
 +
 +
===定制命令行的欢迎信息(文字LOGO)===
 +
欢迎信息主要是这个目录下的脚本来打印的:
 +
<syntaxhighlight lang="bash">
 +
/etc/update-motd.d/
 +
</syntaxhighlight>
 +
比如要修改 FriendlyELEC 的大字LOGO,可以修改/etc/update-motd.d/10-header 这个文件,比如要将LOGO改为HELLO,可将以下行:
 +
<syntaxhighlight lang="bash">
 +
TERM=linux toilet -f standard -F metal $BOARD_VENDOR
 +
</syntaxhighlight>
 +
改为:
 +
<syntaxhighlight lang="bash">
 +
TERM=linux toilet -f standard -F metal HELLO
 +
</syntaxhighlight>
 +
===修改时区===
 +
例如更改为Shanghai时区:
 +
<syntaxhighlight lang="bash">
 +
sudo rm /etc/localtime
 +
sudo ln -ls /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 +
</syntaxhighlight>
  
 
{{#switch: {{{1}}}
 
{{#switch: {{{1}}}
Line 328: Line 379:
 
{{RK3399SelectALSAAudioDevice/zh}}
 
{{RK3399SelectALSAAudioDevice/zh}}
 
  | NanoPi-NEO4 =
 
  | NanoPi-NEO4 =
 +
{{RK3399SelectALSAAudioDevice/zh}}
 +
| SOM-RK3399 =
 
{{RK3399SelectALSAAudioDevice/zh}}
 
{{RK3399SelectALSAAudioDevice/zh}}
 
  | NanoPC-T2 =
 
  | NanoPC-T2 =
 +
{{S5Pxx18SelectALSAAudioDevice/zh}}
 +
| SOM-4418 =
 
{{S5Pxx18SelectALSAAudioDevice/zh}}
 
{{S5Pxx18SelectALSAAudioDevice/zh}}
 
  | NanoPC-T3 =
 
  | NanoPC-T3 =
Line 355: Line 410:
 
  | NanoPi-R1  
 
  | NanoPi-R1  
 
  | NanoPi-R1S-H3  
 
  | NanoPi-R1S-H3  
  | NanoPi-R1S-H5 =
+
  | NanoPi-R1S-H5  
 +
| NanoPi-R2S
 +
| NanoPi-R2C-Plus
 +
| NanoPi-R2S-Plus
 +
| NanoPi-R2C =
 
<!-- do nothing -->
 
<!-- do nothing -->
 
  | #default =
 
  | #default =
 
{{SelectAudio/zh}}
 
{{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