Difference between revisions of "APITestPage"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
(updated by API)
Line 1: Line 1:
[[NanoPC-T4|English]]
+
===mpv播放器===
==介绍==
+
FriendlyCore预装了基于 ffmpeg 实现的命令行视频播放器,除了 mpv 播放器本身,也包含了 libmpv 库文件,方便在程序里调用。<br />
[[File:NanoPC-T4-01B.jpg|thumb|Overview]]
+
mpv播放器支持 Rockchip MPP,所以支持4K硬解播放,mpv的参数较多,为了简化使用,我们提供了一个脚本 '''start-mpv''',简化后,只要传文件名给它,就可以播放视频了:
[[File:NanoPC-T4-A01.jpg|thumb|Front]]
+
<syntaxhighlight lang="bash">
[[File:NanoPC-T4-B01.jpg|thumb|Back]]
+
start-mpv /home/pi/demo.mp4
*NanoPC-T4不仅是世界上最小的全功能接口RK3399一体化主板, 而且是一款完全开源的高性能计算平台。它的尺寸只有100x64mm,标配4GB LPDDR3内存和16GB闪存, 板载2.4G & 5G双频WiFi模组, 带有标准完整的M.2 PCIe接口, 可直接安装使用NVME SSD高速固态硬盘。NanoPC-T4支持运行Android 7.1和Lubuntu Desktop两种系统,它们均带有GPU和VPU加速处理。
+
</syntaxhighlight>
*NanoPC-T4还带有MIPI-CSI双摄像头接口, MIPI-DSI和eDP双显示接口, HDMI 2.0视频输出口,并具备Type-C/DP,USB 3.0, USB2.0,MicroSD, 千兆以太网口,3.5mm音频输出口,红外接收等常见标准接口,以及AD输入,调试串口,40Pin树莓派兼容扩展口。
+
需要注意的是,播放时需要使用pi用户登录,因为其它用户的目录里没有mpv相关的设置,当然你可以从pi用户目录复制一份过来也是可以的,mpv的设置文件存放在以下路径:
*RK3399内置新一代高端图像处理器Mali-T860,  具有超强的3D处理和超高清H.265/H2.64视频解析能力,并可支持双路摄像头同时输入,双ISP像素处理能力高达800MPix/s。NanoPC-T4非常适合广告机,游戏主机,视频会议,智能监控,集群计算,虚拟现实,机器视觉和计算机视觉等方面的应用,并且是人工智能和深度学习平台的绝佳选择!
+
<syntaxhighlight lang="bash">
 
+
/home/pi/.config/mpv/mpv.conf
==硬件特性==
+
</syntaxhighlight>
* 主控芯片: Rockchip RK3399
+
mpv.conf的文件内容如下所示:
** CPU: big.LITTLE大小核架构,双Cortex-A72大核(up to 2.0GHz)+四Cortex-A53小核结构(up to 1.5GHz)
+
<syntaxhighlight lang="bash">
** GPU: Mali-T864 GPU,支持OpenGL ES1.1/2.0/3.0/3.1, OpenVG1.1, OpenCL, DX11, 支持AFBC(帧缓冲压缩)
+
vo=gpu
** VPU: 支持4K VP9 and 4K 10bits H265/H264 视频解码,高达60fps, 双VOP显示等视频编解码功能
+
gpu-context=drm
* 电源管理单元: RK808-D PMIC, 搭配独立DC/DC, 支持动态调压, 软件关机, 按键开机, RTC唤醒, 睡眠唤醒等功能
+
hwdec=rkmpp
* 内存: 双通道4GB LPDDR3-1866
+
demuxer-max-bytes=41943040
* Flash: 16GB eMMC 5.1 Flash
+
demuxer-max-back-bytes=41943040
* 有线网络: 原生千兆以太网
+
drm-osd-plane-id=1
* Wi-Fi/蓝牙: 802.11a/b/g/n/ac, Bluetooth 4.1 双频Wi-Fi蓝牙模块, 双天线
+
drm-video-plane-id=0
* 视频输入:  1个或2个4线MIPI-CSI, 双ISP像素处理能力高达13MPix/s,支持双路摄像头数据同时输入
+
audio-device=alsa/default:CARD=rockchiphdmi
* 视频输出
+
</syntaxhighlight>
** HDMI: HDMI 2.0a, 支持4K@60Hz显示,支持HDCP 1.4/2.2
+
这些都是比较重要的,会传递给 mpv 的参数,其中hwdec需要指定为rkmpp才能开启硬件解码,audio-device用于指定音频输出设备,默认输出到HDMI,你可以用以下命令来查询系统中有哪些音频设备:
** DP on Type-C: DisplayPort 1.2 Alt Mode on USB Type-C
+
<syntaxhighlight lang="bash">
** LCD Interface: 一个eDP 1.3(4 线,10.8Gbps), 一个或2个4线MIPI-DSI
+
mpv --audio-device=help
* Audio Out: 3.5mm 双通道耳机接口, 或者通过HDMI输出
+
</syntaxhighlight>
* Audio In: 板载麦克风
+
另一个比较重要的参数是 drm-osd-size,当全屏播放视频时,drm-osd-size指定为屏幕的分辨率即可,这个参数由start-mpv自动获取屏幕参数并传给mpv,start-mpv脚本除此之外,还会做一件更重要的事情,它需要保证系统中的 libmali 库用了正确的版本,因为 mpv 是通过 gbm 来渲染画面的,所以 libmali.so 需要使用这个版本: libmali-midgard-t86x-r14p0-gbm.so,这也意味着,这个版本的mpv只能在FriendlyCore下使用,不能在X11 Desktop下使用,具体细节可以自已查看 start-mpv 的脚本内容。<br />
* USB 2.0: 2个独立的原生USB 2.0 Host A型接口
+
mpv使用说明:https://github.com/mpv-player/mpv/wiki <br />
* USB 3.0: 1个原生USB 3.0 Host A型接口
+
* USB Type-C: 支持USB3.0 Type-C 和 DisplayPort 1.2 Alt Mode on USB Type-C
+
* PCIe: 一个 M.2 M-Key PCIe x4 接口, 兼容PCIe 2.1, 双操作模式, 带有M.2 2280模块M3固定螺柱
+
* microSD Slot x 1
+
* 40Pin GPIO 扩展接口:
+
** 2 X 3V/1.8V I2C, up to 1 x 3V UART, 1 X 3V SPI, 1 x SPDIF_TX, up to 8 x 3V GPIOs
+
** 1 x 1.8V I2S, 3 x 1.8V GPIOs
+
* ADC: 提供3路 1.8V ADC 输入, 5 Pin 2.54mm 排针接口
+
* 调试串口: 4 Pin 2.54mm 调试串口, 3V电平, 波特率为1500000
+
* 按键: 电源按键, 复位按键, MASKROM按键(BOOT), 系统还原按键
+
* LED: 1 x power LED and 1 x GPIO Controled LED
+
* 红外接收器: 板载红外接收器, 接受的载波频率为38KHz
+
* RTC电池座子: 2 Pin 1.27/1.25mm RTC备份电池接口
+
* 散热片和风扇: 2个2.5mm焊接螺柱, 专门用于固定散热片; 3 Pin 12V 支持PWM调节的风扇接口
+
* 供电电源: DC 12V/2A
+
* PCB: Ten Layer, 100 mm x 64 mm
+
* 环境工作温度: -20℃ to 70℃
+
 
+
==接口布局和尺寸==
+
===接口布局===
+
[[File:NanoPC-T4-1802-IF-01.jpg |thumb|600px|NanoPC-T4 Layout]]
+
* '''40 Pin GPIO引脚定义'''
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' || '''Assignment'''          ||'''Pin#'''  || '''Assignment'''   
+
|-
+
|1    || VCC3V3_SYS  ||2    || VCC5V0_SYS
+
|-
+
|3    || I2C2_SDA(3V)      ||4    || VCC5V0_SYS
+
|-
+
|5    || I2C2_SCL(3V)      ||6    || GND
+
|-
+
|7    || GPIO1_A0(3V)      ||8    || GPIO4_C1/I2C3_SCL(3V)
+
|-
+
|9    || GND          ||10    || GPIO4_C0/I2C3_SDA(3V) 
+
|-
+
|11  || GPIO1_A1(3V)      ||12    || GPIO1_C2(3V)
+
|-
+
|13  || GPIO1_A3(3V)      ||14    || GND
+
|-
+
|15  || GPIO1_A4(3V)      ||16    || GPIO1_C6(3V)
+
|-
+
|17  || VCC3V3_SYS ||18    || GPIO1_C7(3V)
+
|-
+
|19  || SPI1_TXD/UART4_TX(3V)    ||20    || GND
+
|-
+
|21  || SPI1_RXD/UART4_RX(3V)    ||22    || GPIO1_D0(3V)
+
|-
+
|23  || SPI1_CLK(3V)    ||24    || SPI1_CSn0(3V)
+
|-
+
|25  || GND          ||26    || GPIO4_C5/SPDIF_TX(3V)
+
|-
+
|27  || I2C2_SDA(1.8V)      ||28    || I2C2_SCL(1.8V)
+
|-
+
|29  || I2S1_LRCK_RX(1.8V)      ||30    || GND
+
|-
+
|31  ||I2S1_LRCK_TX(1.8V)    ||32    || I2S_CLK(1.8V)
+
|-
+
|33  || I2S1_SCLK(1.8V)      ||34    || GND
+
|-
+
|35  || I2S1_SDI0(1.8V)    ||36    || I2S1_SDO0(1.8V)
+
|-
+
|37  || GPIO3_D4(1.8V)    ||38    || GPIO3_D5(1.8V)
+
|-
+
|39  || GND          ||40    || GPIO3_D6(1.8V)
+
|}
+
 
+
* '''eDP接口引脚定义'''
+
:: 连接器型号: I-PEX-20455-030E
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' || '''Assignment'''      || '''Description'''   
+
|-
+
|1    || GND        || Signal ground
+
|-
+
|2    || EDP_TX3N  || eDP data lane 3 negative output
+
|-
+
|3    || EDP_TX3P  || eDP data lane 3 positive output 
+
|-
+
|4    || GND        || Signal ground
+
|-
+
|5    || EDP_TX2N  || eDP data lane 2 negative output
+
|-
+
|6    || EDP_TX2P  || eDP data lane 2 positive output     
+
|-
+
|7    || GND        || Signal ground
+
|-
+
|8    || EDP_TX1N  || eDP data lane 1 negative output 
+
|-
+
|9    || EDP_TX1P  || eDP data lane 1 positive output     
+
|-
+
|10    || GND      || Signal ground
+
|-
+
|11    || EDP_TX0N  || eDP data lane 0 negative output 
+
|-
+
|12    || EDP_TX0P  || eDP data lane 0 positive output 
+
|-
+
|13    || GND      || Signal ground
+
|-
+
|14    || EDPAUXP  || eDP CH-AUX positive differential output
+
|-
+
|15    || EDPAUXN  || eDP CH-AUX negative differential output 
+
|-
+
|16    || GND      || Signal ground
+
|-
+
|17    || VCC3V3_SYS || 3.3V Power output for logic
+
|-
+
|18    || VCC3V3_SYS || 3.3V Power output for logic
+
|-
+
|19    || I2C4_SDA  || 3V I2C data signal, Connect to touch panel
+
|-
+
|20    || I2C4_SCL  || 3V I2C clock signal, Connect to touch panel
+
|-
+
|21    || GPIO1_C4_TP_INT ||  3V interrupt input, Connect to the interrupt output of touch panel
+
|-
+
|22    || GPIO1_B5_TP_RST ||  3V output for reseting touch panel, Connect to the reset input of touch panel 
+
|-
+
|23    || PWM0_BL        || 3V PWM output, for LCD backlight dimming. pulled up to VCC3V3_SYS on LCD side.
+
|-
+
|24    || GPIO4_D5_LCD_BL_EN || 3V output for turning on/off the LCD backlight
+
|-
+
|25    || GND        || Backlight ground
+
|-
+
|26    || GND        || Backlight ground
+
|-
+
|27    || GND        || Backlight ground
+
|-
+
|28    || VCC12V0_SYS || 12V Power output for Backlight Power
+
|-
+
|29    || VCC12V0_SYS || 12V Power output for Backlight Power
+
|-
+
|30    || VCC12V0_SYS || 12V Power output for Backlight Power 
+
|}
+
* '''MIPI-DSI接口引脚定义'''
+
:: 0.5mm FPC 连接器
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' || '''Assignment'''            || '''Description '''
+
|-
+
|1, 2, 3 || VCC5V0_SYS  || 5V power output
+
|-
+
|4|| GND                || Return current path
+
|-
+
|5 || I2C4_SDA          || 3V I2C data signal, Connect to touch panel
+
|-
+
|6  || I2C4_SCL        || 3V I2C clock signal, Connect to touch panel
+
|-
+
|7  || GND              || Return current path
+
|-
+
|8      || GPIO1_C4_TP_INT || 3V interrupt input, Connect to the interrupt output of touch panel 
+
|-
+
|9      || GND        || Return current path
+
|-   
+
|10      || PWM0_BL    || 3V PWM output, for LCD backlight dimming
+
|-
+
|11      || GND        || Return current path
+
|-
+
|12      || GPIO4_D5_LCD_BL_EN || 3V output for turning on/off the LCD backlight
+
|-
+
|13      || GPIO4_D6_LCD_RST_H  || 3V output for reseting the LCD module
+
|-
+
|14      || GPIO1_B5_TP_RST    || 3V output for reseting touch panel, Connect to the reset input of touch panel
+
|-
+
|15      || GND              || Return current path
+
|-
+
|16      || MIPI_TX0_D3N    || MIPI DSI negative differential data line transceiver output
+
|-
+
|17      || MIPI_TX0_D3P    || MIPI DSI positive differential data line transceiver output
+
|-
+
|18      || GND    ||  Return current path
+
|-
+
|19      || MIPI_TX0_D2N  || MIPI DSI negative differential data line transceiver output
+
|-
+
|20    || MIPI_TX0_D2P  || MIPI DSI positive differential data line transceiver output
+
|-
+
|21    || GND    ||  Return current path
+
|-
+
|22    || MIPI_TX0_D1N  || MIPI DSI negative differential data line transceiver output
+
|-
+
|23 || MIPI_TX0_D1P  || MIPI DSI positive differential data line transceiver output
+
|-
+
|24 || GND  ||  Return current path
+
|-
+
|25 || MIPI_TX0_D0N || MIPI DSI negative differential data line transceiver output
+
|-
+
|26 || MIPI_TX0_D0P  || MIPI DSI positive differential data line transceiver output
+
|-
+
|27 || GND    || Return current path
+
|-
+
|28 || MIPI_TX0_CLKN  || MIPI DSI negative differential clock line transceiver output
+
|-
+
|29 || MIPI_TX0_CLKP  || MIPI DSI positive differential clock line transceiver output
+
|-
+
|30 || GND    || Return current path
+
|}
+
* '''MIPI-CSI接口引脚定义'''
+
:: 0.5mm FPC 连接器
+
:: MIPI-CSI2也可作为MIPI-DSI接口连接LCD显示屏
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' ||  '''MIPI-CSI1'''  ||  '''MIPI-CSI2'''  ||  '''Description ''' 
+
|-
+
|1    ||  VCC5V0_SYS  || VCC5V0_SYS  ||  5V Power ouput
+
|-
+
|2    ||  VCC5V0_SYS || VCC5V0_SYS    ||  5V Power ouput
+
|-
+
|3    ||    GND    ||  GND          ||  Return current path
+
|-
+
|4    || VCC_CSI_AF2.8V || VCC_CSI_AF2.8V || 2.8V Power for VCM
+
|-
+
|5    || VCC_CSI_1.2V  || VCC_CSI_1.2V  || 1.2V Power for image sensor core circuit
+
|-
+
|6    ||  VCC1V8_CAM  ||  VCC1V8_CAM  || 1.8V power for I/O circuit
+
|-
+
|7    ||  VCC_CSI_2.8V || VCC_CSI_2.8V || 2.8V power for image sensor analog circuit
+
|-
+
|8    ||  VCC_CSI_1.0V || VCC_CSI_1.0V || 1.0V Power for image sensor core circuit
+
|-
+
|9    || I2C1_SCL ||  I2C2_SCL        || 1.8V I2C clock signal
+
|-
+
|10    || I2C1_SDA || I2C2_SDA        ||  1.8V I2C data signal
+
|-
+
|11    || MIPI_CSI0_RST || MIPI_CSI1_RST || reset  camera module
+
|-
+
|12    || MIPI_CSI0_PWN || MIPI_CSI1_PWN  || Power down camera module
+
|-
+
|13    ||  GND          ||      GND          || Return current path
+
|-
+
|14    || GPIO2_B3_CIF_CLKOUTA || GPIO2_B3_CIF_CLKOUTA || MCLK to camera module
+
|-
+
|15      || GND          ||    GND            || Return current path
+
|-
+
|16    ||  MIPI_RX0_D3P  || MIPI_TX1/RX1_D3P  || MIPI CSI positive differential data line transceiver output
+
|-
+
|17    ||  MIPI_RX0_D3N || MIPI_TX1/RX1_D3N    || MIPI CSI negative differential data line transceiver output
+
|-
+
|18    ||  GND    || GND                      || Return current path
+
|-
+
|19    || MIPI_RX0_D2P || MIPI_TX1/RX1_D2P  || MIPI CSI positive differential data line transceiver output
+
|-
+
|20    || MIPI_RX0_D2N || MIPI_TX1/RX1_D2N    || MIPI CSI negative differential data line transceiver output
+
|-
+
|21    || GND || GND    || Return current path
+
|-
+
|22    ||  MIPI_RX0_D1P  || MIPI_TX1/RX1_D1P  || MIPI CSI positive differential data line transceiver output
+
|-
+
|23    || MIPI_RX0_D1N || MIPI_TX1/RX1_D1N    || MIPI CSI negative differential data line transceiver output
+
|-
+
|24    || GND || GND    || Return current path
+
|-
+
|25    || MIPI_RX0_CLKP || MIPI_TX1/RX1_CLKP  || MIPI CSI positive differential clock line transceiver output
+
|-
+
|26    || MIPI_RX0_CLKN || MIPI_TX1/RX1_CLKN    || MIPI CSI negative differential clock line transceiver output
+
|-
+
|27    || GND ||  GND  || Return current path
+
|-
+
|28    || MIPI_RX0_D0P || MIPI_TX1/RX1_D0P || MIPI CSI positive differential data line transceiver output
+
|-
+
|29    || MIPI_RX0_D0N || MIPI_TX1/RX1_D0N  || MIPI CSI negative differential data line transceiver output
+
|-
+
|30    || GND      ||  GND    || Return current path
+
|}
+
* '''M.2 PCIe接口引脚定义'''
+
:: PCIe Gen 2.1 x4
+
:: M.2 Key M Connector for Socket 2/Socket 3 PCIe-based Module, such as PCIe SSD
+
:: 连接器型号: [https://www.amphenolcanada.com/ProductSearch/drawings/AC/MDTXXXXXX001.pdf MDT-420-M-01002]
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' || '''Assignment'''  || '''Description'''                      ||'''Pin#'''  || '''Assignment'''      || '''Description'''
+
|-
+
|1          || GND              || Return current path                    ||  2        || VCC3V3_SYS            || 3.3V Power output     
+
|-
+
|3          || GND              || Return current path                    ||  4        || VCC3V3_SYS            || 3.3V Power output
+
|-
+
|5          || PCIE_RX3_N      || PCIe differential data input signals  ||  6        || N/C                  || no connection
+
|-
+
|7          || PCIE_RX3_P      || PCIe differential data input signals  ||    8      || N/C                  ||  no connection
+
|-
+
|9          || GND              || Return current path                    ||  10      ||  N/C                  ||  no connection
+
|-
+
|11        || PCIE_TX3N        || PCIe differential data output signals  ||  12      ||  VCC3V3_SYS          ||  3.3V Power output
+
|-
+
|13        || PCIE_TX3P        || PCIe differential data output signals    || 14      ||  VCC3V3_SYS          ||  3.3V Power output
+
|- 
+
|15        ||  GND            || Return current path                      || 16        ||  VCC3V3_SYS        ||  3.3V Power output
+
|-
+
|17        || PCIE_RX2_N      || PCIe differential data input signals      || 18      || VCC3V3_SYS          || 3.3V Power output
+
|-
+
|19        || PCIE_RX2_P      || PCIe differential data input signals      || 20      || N/C                  || no connection
+
|-
+
|21        ||  GND            ||  Return current path                  || 22      || N/C                  || no connection
+
|-
+
|23          ||  PCIE_TX2N    ||  PCIe differential data output signals    || 24      ||    N/C              ||  no connection
+
|-
+
|25          || PCIE_TX2P  ||  PCIe differential data output signals      ||    26    ||      N/C          || no connection
+
|-
+
|27        ||  GND          ||    Return current path                  ||  28    ||  N/C                || no connection       
+
|-
+
|29        || PCIE_RX1_N    ||      PCIe differential data input signals    || 30    ||  N/C                || no connection     
+
|-
+
|31        ||  PCIE_RX1_P  ||    PCIe differential data input signals      || 32    ||  N/C                || no connection     
+
|-
+
|33        ||  GND        ||    Return current path                    ||  34    ||  N/C                    || no connection     
+
|-
+
|35        ||  PCIE_TX1N    ||    PCIe differential data output signals    || 36    ||  N/C                || no connection     
+
|-
+
|37        ||  PCIE_TX1P  ||    PCIe differential data output signals    ||  38    || DEVSLP/NC            || internal pull up to VCC3V3_SYS with 10K
+
|-
+
|39        ||  GND        ||    Return current path                      ||  40    ||  I2C2_SCL              || 1.8V I2C clock signal
+
|-
+
|41        ||  PCIE_RX0_N    ||    PCIe differential data input signals  || 42    ||  I2C2_SDA            ||  1.8V I2C data signal
+
|-
+
|43        ||  PCIE_RX0_P  ||  PCIe differential data input signals      || 44    ||  GPIO2_A2_PCIE_ALERT#    ||  1.8V GPIO signal
+
|-
+
|45        ||  GND          ||  Return current path                        || 46    ||  N/C                    ||  no connection
+
|-
+
|47        ||  PCIE_TX0N  ||  PCIe differential data output signals    || 48    ||  N/C                  ||  no connection
+
|-
+
|49        ||  PCIE_TX0P  ||  PCIe differential data output signals      || 50    || GPIO2_A4_PCIE_RESET#    ||  1.8V GPIO signal
+
|-
+
|51        ||  GND          ||    Return current path                      || 52    ||  CLKREQ#/NC              ||  internal pull down to GND with 0R
+
|-
+
|53        || PCIE_REF_CLKN || differential reference clock out for PCIe peripheral      || 54    ||  GPIO2_A3_PCIE_WAKE#    ||  1.8V GPIO signal
+
|-
+
|55        || PCIE_REF_CLKP || differential reference clock out for PCIe peripheral    || 56    || N/C            ||  no connection
+
|-
+
|57        ||  GND          ||  Return current path                                  || 58    ||        N/C                ||  no connection
+
|-
+
|59        ||  Connector Key    || Connector Key                      || 60    ||  Connector Key          ||  Connector Key
+
|-
+
|60        ||  Connector Key  || Connector Key                              || 61    ||  Connector Key            ||  Connector Key
+
|-
+
|62        || Connector Key  || Connector Key                || 63    ||    Connector Key    ||  Connector Key
+
|-
+
|64        ||  Connector Key    ||  Connector Key            || 65    ||    Connector Key        || Connector Key
+
|-
+
|66        || Connector Key    ||  Connector Key                    || 67    ||    N/C      ||  no connection
+
|-
+
|68        ||  RTC_CLKO_SOC  ||  1.8V 32.768KHz  clock output            || 69    ||    N/C        ||  no connection
+
|-
+
|70        ||  VCC3V3_SYS ||    3.3V Power output                  || 71    ||    GND                    ||  Return current path
+
|-
+
|72        || VCC3V3_SYS  ||    3.3V Power output                        || 73    ||  GND                      || Return current path
+
|-
+
|74        ||  VCC3V3_SYS  ||  3.3V Power output                        || 75    ||  GND                      || Return current path
+
|}
+
* '''ADC接口引脚定义'''
+
:: ADC输入范围 : 0~1.8V
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' ||'''Assignment'''     
+
|-
+
|1    || GND   
+
|-
+
|2    || VCC_1V8   
+
|-
+
|3    || ADC_IN0
+
|-
+
|4    || ADC_IN2
+
|-
+
|5    || ADC_IN3
+
|}
+
* '''散热风扇接口引脚定义'''
+
:: 连接器型号: BM03B-GHS-TBT
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' ||'''Assignment'''  || '''Description '''   
+
|-
+
|1    || GND                || 0V
+
|-
+
|2    || 12V                || 12V output ,controlled by GPIO4_C6/PWM1
+
|-
+
|3    || GPIO2_A6_FAN_TACH  || connect to tachometer output signal , or float
+
|}
+
* '''调试串口引脚定义'''
+
:: 3V电平, 波特率1500000bps
+
::{| class="wikitable"
+
|-
+
|'''Pin#''' ||'''Assignment''' ||  '''Description ''' 
+
|-
+
|1    || GND                || 0V
+
|-
+
|2    || VCC5V0_SYS          || 5V power output
+
|-
+
|3    || UART2DBG_TX        || output
+
|-
+
|4    || UART2DBG_RX        || intput
+
|}
+
*'''电源接口'''
+
::*DC-12V/2A输入, 5.5*2.1mm DC电源接口
+
::[[File:DC-007B.png]]
+
*'''电源按键'''
+
::板子处于关机状态时,需要按下电源按键(大于0.5秒,PWR灯亮即可松开)才会开机.
+
::当板子已正常启动,则电源按键的功能与系统有关,例如在安卓系统下,短按进入休眠,或唤醒,长按则显示关机/重启界面.
+
*'''USB接口'''
+
::USB Type-C 接口具有2A过流保护功能.
+
::USB 3.0 接口具有2A过流保护功能.
+
::两个USB 2.0接口共享2A过流保护, 也就是说2个接口的负载总和不应超过2A, 否则触发保护, 2个接口上的设备都会被切断电源.
+
*'''BOOT按键'''
+
::按下BOOT按键可以阻止板子从eMMC启动系统; 当板子无法从eMMC和tf卡启动系统时, 板子就会进入MASKROM模式; MASKROM模式下, 可以通过Type-C接口更新板子的系统.
+
*'''RTC'''
+
::我们实测的RTC备份电流为27uA.
+
::连接器型号: Molex 53398-0271
+
:'''其他说明'''
+
::#只能从DC电源接口给板子供电, 其他接口的电源引脚均为输出引脚.
+
::#[[Modify_T4_PWRON|修改板子为上电即开机的方法(改后不再保修)]]
+
::#板子原理图: [http://wiki.friendlyarm.com/wiki/images/f/f4/NanoPC-T4-1802-Schematic.pdf NanoPC-T4-1802-Schematic.pdf]
+
 
+
===尺寸===
+
[[File:NanoPC-T4_1802_Drawing.png|frameless|800px|NanoPC-T4 Dimensions]]
+
 
+
::PCB dxf文件, 仅供做产品时结构设计使用: [http://wiki.friendlyarm.com/wiki/images/b/bc/NanoPC-T4_1802_Drawing%28dxf%29.zip NanoPC-T4_1802_Drawing(dxf).zip]
+
 
+
==快速入门==
+
===准备工作===
+
要开启你的NanoPC-T4,请先准备好以下硬件:
+
* NanoPC-T4主板
+
* Type-C数据线
+
* TF卡: Class10或以上的8GB microSD卡
+
* USB转串口适配器(可选,用于调试或PC上进行操作)
+
* 一个DC接口的外接电源,要求输出为12V/2A
+
* 一台支持HDMI输入的显示器或者电视(或选购LCD配件)
+
* 一套USB键盘鼠标,同时连接更多USB的设备时还需要USB HUB
+
* 一台电脑,需要联网,建议使用<b>Ubuntu 18.04 64位系统</b>
+
 
+
{{RK3399-BurnOS-To-EMMC/zh|NanoPC-T4}}
+
{{RK3399-BurnOS-with-TypeC/zh|NanoPC-T4}}
+
{{RK3399-BootFromSDCard/zh|NanoPC-T4}}
+
{{RK3399-DebugPort/zh|NanoPC-T4}}
+
==FriendlyDesktop系统的使用==
+
{{FriendlyDesktop-Intro/zh|NanoPC-T4}}
+
{{FriendlyDesktop-Contents/zh|NanoPC-T4}}
+
{{FriendlyCoreGeneral/zh|NanoPC-T4}}
+
{{FriendlyCoreRunX11Application/zh|NanoPC-T4}}
+
{{RK3399 Linux mpv/zh|NanoPC-T4}}
+
==同时适用于FriendlyDesktop与FriendlyCore系统的功能特性==
+
{{Linux-RK3399MIPICamera/zh|NanoPC-T4}}
+
{{RK3399-Linux-Install-Docker/zh|NanoPC-T4}}
+
{{RK3399 Linux FFmpeg/zh|NanoPC-T4}}
+
{{RK3399 Linux Using NVME SSD/zh|NanoPC-T4}}
+
 
+
==Lubuntu 系统的使用==
+
看这里: [[Lubuntu desktop 16.04 for RK3399/zh]]<br />
+
Lubuntu下使用NVME SSD: [[Template:RK3399 Linux Using NVME SSD/zh|Linux-Using-NVME-SSD]]<br />
+
{{RK3399-Android8/zh|NanoPC-T4}}
+
{{RK3399-Android-RemoteController/zh|NanoPC-T4}}
+
{{RK3399-Android-USBCamera/zh|NanoPC-T4}}
+
{{RK3399-Android-4G-EC20/zh|NanoPC-T4}}
+
==Android7.1 系统的使用==
+
看这里: [[RK3399-Android7|Android7]]
+
{{RK3399-BuildFromSource/zh|NanoPC-T4}}
+
{{RK3399-HWAccess/zh|NanoPC-T4}}
+
{{RK3399-SourceCodeURLs/zh|NanoPC-T4}}
+
 
+
==更多OS==
+
===DietPi_NanoPCT4-ARMv8-Stretch===
+
DietPi身轻如燕,镜像文件最小只有345M 字节。系统存储操作及进程对资源的占用非常少,并且预装DietPi-RAMlog工具。这些特性使得用户能最大程度地发挥设备本身的性能。<br />
+
 
+
仅提供给进阶爱好者交流使用,不对该系统提供专业技术支持。 <br />
+
 
+
详细操作步骤如下:<br />
+
* 初次使用时,请先下载DriverAssitant_v4.5.tgz,解压后安装USB驱动;
+
* 下载系统固件DietPi_NanoPCT4-ARMv8-Stretch点击下载[https://dietpi.com/downloads/images/DietPi_NanoPCT4-ARMv8-Stretch.7z DietPi_NanoPCT4-ARMv8-Stretch]
+
* 解压,进入Image_and_Tools,以管理员身份运行AndroidTool.exe
+
* 默认已经导入分区配置,即固件中的parameter.txt,并已经指定各分区的烧写文件路径,如下图所示:
+
[[File:AndroidTools_DI_02.png|下载DietPi_NanoPCT4固件|800px|]]
+
* 连接好12V/2A的DC接口电源及HDMI显示设备,连接Type-C数据线到PC,按住Recovery键再长按(1.5秒以上)Power键开机,AndroidTool会显示“发现一个LOADER设备”<br />a) 如果eMMC没有烧写过系统或eMMC的系统被擦除或损坏则会显示为MASKROM设备;<br />b) 您也可以按住BOOT键再长按Power键开机,同时持续按住BOOT键5秒以上强制进入MASKROM模式;<br />c) 如果显示“没有发现设备”,请先检查是否已成功安装驱动,检查Type-C数据线然后按上述方法重新开机,或按住Recovery键再按Reset键;<br />d) 另外,如果已成功启动系统,可通过串口、adb或ssh等方式在板子上运行reboot loader重启板子并进入LOADER模式。<br />
+
* 点击“Run”即可下载固件到eMMC,请耐心等待,烧写成功结束后将自动重启。<br />
+
[[File:Dietpi-login-01.png|Dietpi-NanoPC-T4启动界面|800px|]]<br />
+
 
+
登录账号:root <br />
+
登录密码:dietpi<br />
+
 
+
===使用wifi===
+
系统默认没有使能wifi,请执行dietpi-config配置。
+
dietpi-config
+
    --> Network Options:Adapters
+
        --> WiFi  Change Wireless Network Settings
+
            --> Scan  Scan and Connect
+
选择要连接的WiFi热点,输入密码后连接<br />
+
[[File:Dietpi-dietpi-config-01.png|dietpi-config|800px|]]<br />
+
 
+
== 查看瑞芯微原厂资料==
+
*请访问以下网址查看:https://gitlab.com/friendlyelec/rk3399-nougat/tree/nanopc-t4-nougat/RKDocs
+
*[http://opensource.rock-chips.com/images/6/60/Rockchip_RK3399_Datasheet_V1.6-20170301.pdf RK3399 datasheet V1.6]
+
*[http://opensource.rock-chips.com/images/e/ee/Rockchip_RK3399TRM_V1.4_Part1-20170408.pdf RK3399TRM V1.4]
+
 
+
==原理图、尺寸图==
+
*原理图: [http://wiki.friendlyarm.com/wiki/images/f/f4/NanoPC-T4-1802-Schematic.pdf NanoPC-T4-1802-Schematic.pdf]
+
*尺寸图:[http://wiki.friendlyarm.com/wiki/images/b/bc/NanoPC-T4_1802_Drawing%28dxf%29.zip NanoPC-T4_1802_Drawing(dxf).zip]
+
 
+
==硬件扩展==
+
*[[eDP2LVDS|通过eDP连接LVDS屏]]
+
 
+
==更新日志==
+
{{RK3399-UpdateLog/zh|NanoPC-T4}}
+
===2018-08-20===
+
* 增加新的桌面OS:[[FriendlyDesktop 18.04 for RK3399]],主要特性
+
1) 带X桌面 LXDE,基于64位Ubuntu 18.04系统构建,支持OpenGL ES加速,支持硬解播放<br>
+
2) 支持SD卡启动运行,支持TF卡刷机或Type-C刷机<br>
+
3) 完全保留[[FriendlyCore (based on ubuntu-core with Qt)|FriendlyCore 18.04 for RK3399]]的特性,集成带GPU和VPU加速的Qt 5.10.0<br>
+
4) 内置开源硬解的4K视频播放器 QtVideoPlayer(Menu->Sound & Video->Qt5-VideoPlayer)<br>
+
5) 内置 QtCreator IDE,Arduino 和 Scratch等流行开发和学习工具,开箱即用<br>
+
6) 支持双屏异显 (可选择eDP/DP/HDMI 任意两路同时输出)<br>
+
7) 支持eDP电容触摸屏 (HD702E)<br>
+
8) 支持屏幕旋转 (仅限于eDP)<br>
+
9) 支持AP6356S无线模块 (802.11 a/b/g/n/AC,BLE4.0)<br>
+
10) 支持升兆以太网即插即用<br>
+
11) 支持 OpenCV 3.4 一键安装 (详见https://github.com/friendlyarm/install-opencv-on-friendlycore)<br>
+
12) 内置gcc版本:7.3.0<br>
+
13) 内核版本:4.4.138<br>
+
附下载链接:http://dl.friendlyarm.com/nanopct4
+
 
+
===2018-08-02===
+
* 增加可以直接从SD卡启动的FriendlyCore和Lubuntu固件
+
===2018-07-28===
+
* 修正FriendlyCore中的一处可能会影响CPU降频的问题
+
===2018-07-27===
+
* Android增加UART4支持并集成了串口demo,内核增加常见USB串口支持
+
 
+
===2018-07-19===
+
* 增加新的OS:[[FriendlyCore (based on ubuntu-core with Qt)]],主要特性
+
1) 基于最新版本的 Ubuntu 18.04 构建<br>
+
2) 集成Qt 5.10.0,支持OpenGL ES加速,支持硬解播放,支持KMS双屏异显和WebGL和VNC远程控制<br>
+
3) 集成 Xorg最小系统,以最轻量的方式运行X11应用<br>
+
4) 集成带VPU加速的Gstreamer 1.0 多媒体框架<br>
+
5) 支持7寸电容屏HD702<br>
+
6) 5G WIFI 和 蓝牙4.0<br>
+
* 内核修复连接HDMI 2.0设备时的core dump问题
+
* Linux内核合并了原厂release-4.4的更新,版本为4.4.132
+
* EFlasher更新: 增加eMMC备份与还原功能
+
 
+
===2018-06-20===
+
* Android 支持HDMI与LCD屏幕旋转
+
* Android 增加 摇控器支持
+
* Lubuntu 内核默认启用 UART4,应用程序可通过设备名 ttyS4 访问
+
* 改进了 HDMI 与 eDP屏的用户体验
+

Revision as of 06:11, 29 March 2019

mpv播放器

FriendlyCore预装了基于 ffmpeg 实现的命令行视频播放器,除了 mpv 播放器本身,也包含了 libmpv 库文件,方便在程序里调用。
mpv播放器支持 Rockchip MPP,所以支持4K硬解播放,mpv的参数较多,为了简化使用,我们提供了一个脚本 start-mpv,简化后,只要传文件名给它,就可以播放视频了:

start-mpv /home/pi/demo.mp4

需要注意的是,播放时需要使用pi用户登录,因为其它用户的目录里没有mpv相关的设置,当然你可以从pi用户目录复制一份过来也是可以的,mpv的设置文件存放在以下路径:

/home/pi/.config/mpv/mpv.conf

mpv.conf的文件内容如下所示:

vo=gpu
gpu-context=drm
hwdec=rkmpp
demuxer-max-bytes=41943040
demuxer-max-back-bytes=41943040
drm-osd-plane-id=1
drm-video-plane-id=0
audio-device=alsa/default:CARD=rockchiphdmi

这些都是比较重要的,会传递给 mpv 的参数,其中hwdec需要指定为rkmpp才能开启硬件解码,audio-device用于指定音频输出设备,默认输出到HDMI,你可以用以下命令来查询系统中有哪些音频设备:

mpv --audio-device=help

另一个比较重要的参数是 drm-osd-size,当全屏播放视频时,drm-osd-size指定为屏幕的分辨率即可,这个参数由start-mpv自动获取屏幕参数并传给mpv,start-mpv脚本除此之外,还会做一件更重要的事情,它需要保证系统中的 libmali 库用了正确的版本,因为 mpv 是通过 gbm 来渲染画面的,所以 libmali.so 需要使用这个版本: libmali-midgard-t86x-r14p0-gbm.so,这也意味着,这个版本的mpv只能在FriendlyCore下使用,不能在X11 Desktop下使用,具体细节可以自已查看 start-mpv 的脚本内容。
mpv使用说明:https://github.com/mpv-player/mpv/wiki