Difference between revisions of "NanoPi NEO Plus2/zh"
(updated by API) |
(→制作FriendlyCore系统TF卡) |
||
Line 178: | Line 178: | ||
*将Ubuntu-Core系统固件和烧写工具win32diskimager.rar分别解压,在Windows下插入TF卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, | *将Ubuntu-Core系统固件和烧写工具win32diskimager.rar分别解压,在Windows下插入TF卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, | ||
在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。 | 在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。 | ||
− | * | + | *当制作完成TF卡后,拔出TF卡插入NanoPi NEO Plus2的BOOT卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动Ubuntu-Core系统。<br /> |
注意: Debian/Ubuntu系列的ROM都可以使用上述方法制作TF系统启动卡。 | 注意: Debian/Ubuntu系列的ROM都可以使用上述方法制作TF系统启动卡。 | ||
Revision as of 07:34, 4 January 2018
Contents
- 1 介绍
- 2 资源特性
- 3 接口布局和尺寸
- 4 快速入门
- 5 FriendlyCore的使用
- 5.1 介绍
- 5.2 运行FriendlyCore
- 5.3 开发Qt应用
- 5.4 开机自动运行Qt示例程序
- 5.5 扩展TF卡文件系统
- 5.6 使用蓝牙传输文件
- 5.7 连接WiFi
- 5.8 配置WiFi无线热点
- 5.9 使用蓝牙
- 5.10 连接以太网
- 5.11 访问GPIO/I2C/串口等硬件资源
- 5.12 定制命令行的欢迎信息(文字LOGO)
- 5.13 修改时区
- 5.14 选择系统默认音频设备
- 5.15 连接USB摄像头模块(FA-CAM202)
- 5.16 查看CPU温度和频率
- 5.17 测试看门狗
- 5.18 测试红外接收
- 5.19 读取CHIP ID
- 5.20 通过WiringNP测试GPIO
- 5.21 运行Qt示例程序
- 5.22 Docker在arm64系统下的安装与使用
- 5.23 播放和录制音频
- 6 如何编译FriendlyCore系统
- 7 使用扩展配件及编程示例
- 8 3D 打印外壳
- 9 资源链接
1 介绍
- NanoPi NEO Plus2是友善电子团队推出的又一款小巧ARM计算机,它采用全志64位四核A53处理器H5,内置六核Mali450 GPU,集成1GB DDR3内存,标配 8GB eMMC高速闪存。
- NanoPi NEO Plus2依然小巧精致,尽管尺寸仅有40x52mm,却板载了AP6212A WiFi蓝牙模块,以及千兆以太网接口,板子引出了双路标准USB接口,支持从MicroSD卡启动运行系统。
- NanoPi NEO Plus2采用了专业的电源系统设计,采用6层板布线,具有良好的散热特性。适合对体积要求高,数据传输量大,数据传输速度快,和更高计算性能的物联网应用。
2 资源特性
- CPU:Allwinner H5,Quad-core 64-bit high-performance Cortex A53
- DDR3 RAM :1GB
- Storage:8GB eMMC
- Network:10/100/1000M以太网口,采用RTL8211E-VB-CG传输芯片
- WiFi:802.11b/g/n
- Bluetooth:4.0 dual mode
- MicroSD Slot:1个,支持启动和储存系统
- 音频输入和输出: 5Pin, 2.0mm间距单排针
- MicroUSB:供电功能
- Debug Serial:4Pin,2.54mm间距单排针
- GPIO1:24Pin,2.51mm间距双排针,含UART、SPI、I2C、IO 等管脚资源
- GPIO2:12Pin,2.54mm间距单排针,含USB、红外接收、I2S、IO等管脚资源
- PCB Size:40 x 52mm
- PCB Layer:6层
- Power Supply:DC 5V/2A
3 接口布局和尺寸
3.1 接口布局
- GPIO管脚定义
Pin# Name Linux gpio Pin# Name Linux gpio 1 SYS_3.3V 2 VDD_5V 3 I2C0_SDA / GPIOA12 12 4 VDD_5V 5 I2C0_SCL / GPIOA11 11 6 GND 7 GPIOG11 203 8 UART1_TX / GPIOG6 198 9 GND 10 UART1_RX / GPIOG7 199 11 UART2_TX / GPIOA0 0 12 GPIOA6 6 13 UART2_RTS / GPIOA2 2 14 GND 15 UART2_CTS / GPIOA3 3 16 UART1_RTS / GPIOG8 200 17 SYS_3.3V 18 UART1_CTS / GPIOG9 201 19 SPI0_MOSI / GPIOC0 64 20 GND 21 SPI0_MISO / GPIOC1 65 22 UART2_RX / GPIOA1 1 23 SPI0_CLK / GPIOC2 66 24 SPI0_CS / GPIOC3 67
- USB/Audio/IR 定义
NanoPi NEO Plus2 Pin# Name Description 1 VDD_5V 5V Power Out 2 USB-DP1 USB1 DP Signal 3 USB-DM1 USB1 DM Signal 4 USB-DP2 USB2 DP Signal 5 USB-DM2 USB2 DM Signal 6 GPIOL11 / IR-RX GPIOL11 or IR Receive 7 SPDIF-OUT / GPIOA17 GPIOA17 or SPDIF-OUT 8 PCM0_SYNC / I2S0_LRC I2S / PCM Sample Rate Clock/Sync 9 PCM0_CLK / I2S0_BCK I2S / PCM Sample Rate Clock 10 PCM0_DOUT / I2S0_SDOUT I2S / PCM Serial Data Output 11 PCM0_DIN / I2S0_SDIN I2S / PCM Serial Data Input 12 GND 0V
- Audio
Pin# Name Description 1 MICIN1P Microphone Positive Input 2 MICIN1N Microphone Negative Input 3 LINEOUTR LINE-OUT Right Channel Output 4 GND 0V 5 LINEOUTL LINE-OUT Left Channel Output
- Debug Port(UART0)
Pin# Name 1 GND 2 VDD_5V 3 UART_TXD0 / GPIOA4 4 UART_RXD0 / GPIOA5 / PWM0
- 说明
- SYS_3.3V: 3.3V电源输出
- VDD_5V: 5V电源输入/输出。输入范围:4.7~5.6V
- 全部信号引脚均为3.3V电平,输出电流为5mA,可以带动小负荷模块,io都不能带负载
- 更详细的信息请查看原理图:NanoPi-NEO-Plus2-1704-Schematic.pdf
3.2 机械尺寸
4 快速入门
4.1 准备工作
要开启你的NanoPi NEO Plus2新玩具,请先准备好以下硬件
- NanoPi NEO Plus2主板
- microSD卡/TF卡: Class10或以上的 8GB SDHC卡
- 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
- 一台电脑,需要联网,建议使用Ubuntu 16.04 64位系统
4.2 经测试使用的TF卡
制作启动NanoPi NEO Plus2的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:
- SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:
- SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:
- 川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:
4.3 制作一张带运行系统的TF卡
4.3.1 下载系统固件
首先访问下载地址下载需要的固件文件(officail-ROMs目录)和烧写工具(tools目录):
使用以下固件: nanopi-neo-plus2_friendlycore-xenial_4.x.y_YYYYMMDD.img.zip 基于UbuntuCore构建的FriendlyCore系统固件,使用Linux-4.x内核 nanopi-neo-plus2_debian-nas-jessie_4.x.y_YYYYMMDD.img.zip NAS系统固件,使用Linux-4.x内核,配合1-bay NAS Dock使用 nanopi-neo-plus2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip OLED系统固件,使用Linux-4.x内核,配合NanoHat OLED使用 nanopi-neo-plus2_eflasher_4.x.y_YYYYMMDD.img.zip eflasher系统固件,使用Linux-4.x内核 烧写工具: win32diskimager.rar Windows平台下的系统烧写工具,Linux平台下可以用dd命令烧写系统
4.3.2 制作FriendlyCore系统TF卡
- 将Ubuntu-Core系统固件和烧写工具win32diskimager.rar分别解压,在Windows下插入TF卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具,
在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。
- 当制作完成TF卡后,拔出TF卡插入NanoPi NEO Plus2的BOOT卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动Ubuntu-Core系统。
注意: Debian/Ubuntu系列的ROM都可以使用上述方法制作TF系统启动卡。
4.3.3 烧写系统到eMMC
- 将eflasher系统固件和烧写工具win32diskimager.rar分别解压,在Windows下插入TF卡(限8G及以上的卡),以管理员身份运行 win32diskimager 工具,
在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。
- 当制作完成TF卡后,从PC上拔出TF卡然后插入NEO Plus2的BOOT卡槽,上电启动(注意,这里需要5V/2A的供电),你可以看到绿灯常亮以及蓝灯闪烁,这时你已经成功启动eflasher系统。
- 在命令行终端中通过执行下列命令进行烧写:
$ su root
$ eflasher
root用户的密码是fa,输入数字并回车选择想要安装到eMMC的系统,然后输入yes并回车确定开始烧写:
等待烧写完毕后,断电并从BOOT卡槽中取出TF卡,此时再上电就会从eMMC启动系统了。
5 FriendlyCore的使用
5.1 介绍
FriendlyCore,是一个没有X-windows环境,基于Ubuntu core构建的系统,使用Qt-Embedded作为图形界面的轻量级系统,兼容Ubuntu系统软件源,非常适合于企业用户用作产品的基础OS。
本系统除了保留Ubuntu Core的特性以外,还包括以下特性:
- 集成Qt4.8;
- 集成NetworkManager网络管理器;
- 集成bluez等蓝牙相关软件包;
- 集成alsa相关软件包;
- 集成命令行系统配置工具npi-config;
- 集成Python GPIO模块RPiGPIO;
- 集成Python/C语言编写的demo程序,位于/root目录;
- 使能512M的swap分区;
5.2 运行FriendlyCore
- 对于有HDMI接口的板子,如果要在电视上进行操作,您需要连接USB鼠标和键盘。
- 如果您需要进行内核开发,最好选购一个串口配件,连接了串口,则可以通过串口终端对开发板进行操作。
使用串口模块能有效地提升开发效率,以下是串口模块的连接方法:
接上串口后,您可以选择从串口模块的DC口或者从MicroUSB口 (如果有) 进行供电:
也可以使用USB转串口模块调试,请注意需要使用5V/2A电源给开发板MicroUSB供电:
- FriendlyCore默认帐户:
普通用户:
用户名: pi 密码: pi
Root用户:
用户名: root 密码: fa
默认会以 pi 用户自动登录,你可以使用 sudo npi-config 命令取消自动登录。
- 更新软件包:
$ sudo apt-get update
5.3 开发Qt应用
请参考 How to Build and Install Qt Application for FriendlyELEC Boards/zh
5.4 开机自动运行Qt示例程序
使用npi-config工具进行开启:
sudo npi-config
进入Boot Options -> Autologin -> Qt/Embedded,选择Enable然后重启即可。
5.5 扩展TF卡文件系统
第一次启动FriendlyCore系统时,系统会自动扩展文件系统分区,请耐心等待,TF卡/eMMC的容量越大,需要等待的时间越长,进入系统后执行下列命令查看文件系统分区大小:
df -h
5.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
5.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目录下。
5.8 配置WiFi无线热点
执行以下命令进入AP模式:
$ su root $ turn-wifi-into-apmode yes
这时会提示你输入WiFi热点的名称和密码,按提示操作即可。
操作成功后,你可以在电脑/手机上搜索并连接热点,然后通过192.168.8.1这个地址来登录开发板:
$ ssh root@192.168.8.1
在提示输入密码时,输入预设的密码fa,即可登入。
为了保证ssh的流畅,用以下命令关闭wifi的省电模式:
$ iwconfig wlan0 power off
要切换回普通的Station模式,输入如下命令:
$ turn-wifi-into-apmode no
5.9 使用蓝牙
输入以下命令搜索周边的蓝牙设备:
$ su root
$ hciconfig hci0 up
$ hcitool scan
使用hciconfig命令来了解接口的状态。
5.10 连接以太网
默认插上网线开机,会自动连接并通过DHCP获取IP地址,如需要配置静态IP地址,请参考 NetworkManager 的相关文档: Use NetworkManager to configure network settings。
5.11 访问GPIO/I2C/串口等硬件资源
请参考下面的文档:
- WiringNP: NanoPi NEO/NEO2/Air GPIO Programming with C/zh
- RPi.GPIO : NanoPi NEO/NEO2/Air GPIO Programming with Python/zh
5.12 定制命令行的欢迎信息(文字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
5.13 修改时区
例如更改为Shanghai时区:
sudo rm /etc/localtime sudo ln -ls /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5.14 选择系统默认音频设备
如果当前系统存在多个音频设备, 例如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。
5.15 连接USB摄像头模块(FA-CAM202)
FA-CAM202是一款200万像素的USB摄像头模块, 连接测试USB摄像头的方法请参考本页面<连接DVP摄像头模块(CAM500B)>章节或者Matrix - CAM500B页面。
请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定FA-CAM202摄像头的video节点:
$ apt-get install v4l-utils $ v4l2-ctl -d /dev/video1 -D Driver Info (not using libv4l2): Driver name : uvcvideo Card type : HC 3358+2100: HC 3358+2100 Bus info : usb-1c1b000.usb-1 ...
上述信息表示/dev/video1是FA-CAM202的设备节点。
5.16 查看CPU温度和频率
- 命令行查看:
$ cpu_freq CPU0 online=1 temp=26581 governor=ondemand cur_freq=480000 CPU1 online=1 temp=26581 governor=ondemand cur_freq=480000 CPU2 online=1 temp=26581 governor=ondemand cur_freq=480000 CPU3 online=1 temp=26581 governor=ondemand cur_freq=480000
上述信息表示当前有4个CPU核心在线, 温度均约为26.5摄氏度, 运行的策略均为根据需求来决定运行频率, 当前的运行频率均为480MHz。
5.17 测试看门狗
使用下列命令可以测试看门狗功能:
$ cd /root/demo/watchdog/ $ gcc watchdog_demo.c -o watchdog_demo $ ./watchdog_demo /dev/watchdog0 10 Set timeout: 10 seconds Get timeout: 10 seconds System will reboot in 10 second
系统将在10秒之后重启。
5.18 测试红外接收
注意: 请先检查红外接收器是否存在。
红外接收功能默认是关闭的, 可以通过npi-config使能:
$ npi-config 6 Advanced Options Configure advanced settings A8 IR Enable/Disable IR ir Enable/Disable ir[enabled]
重启系统, 然后使用下列命令测试红外接收:
$ apt-get install ir-keytable $ echo "+rc-5 +nec +rc-6 +jvc +sony +rc-5-sz +sanyo +sharp +mce_kbd +xmp" > /sys/class/rc/rc0/protocols # 使能紅外协议 $ ir-keytable -t Testing events. Please, press CTRL-C to abort.
ir-keytable -t用于检查是否有接收到红外信号, 使用任意遥控器发送按键信息给红外接收器, 可以看到类似下列信息:
1522404275.767215: event type EV_MSC(0x04): scancode = 0xe0e43 1522404275.767215: event type EV_SYN(0x00). 1522404278.911267: event type EV_MSC(0x04): scancode = 0xe0e42 1522404278.911267: event type EV_SYN(0x00).
5.19 读取CHIP ID
对于全志H2+/H3/H5/芯片,CPU里内置了16 Byte的CHIP ID,在Linux-4.14下可以使用下列命令读取:
$ apt-get install bsdmainutils $ hexdump /sys/bus/nvmem/devices/sunxi-sid0/nvmem 0000000 8082 0447 0064 04c3 3650 ce0a 1e28 2202 0000010 0002 0000 0000 0000 0000 0000 0000 0000 0000020 0000 0000 0000 0000 0000 0000 0000 0000 0000030 0000 0008 0508 0000 0000 0000 0000 0000 0000040 0000 0000 0000 0000 0000 0000 0000 0000
"8082 0447 0064 04c3 3650 ce0a 1e28 2202"即为16 Byte的CHIP ID。
CHIP ID相关驱动代码位于: ./drivers/nvmem/sunxi_sid.c
5.20 通过WiringNP测试GPIO
wiringPi库最早是由Gordon Henderson所编写并维护的一个用C语言写成的类库,除了GPIO库,还包括了I2C库、SPI库、UART库和软件PWM库等,由于wiringPi的API函数和arduino非常相似,这也使得它广受欢迎。
wiringPi库除了提供wiringPi类库及其头文件外,还提供了一个命令行工具gpio:可以用来设置和读写GPIO管脚,以方便在Shell脚本中控制GPIO管脚。
我们在FriendlyCore系统中支持了这个工具以便客户测试GPIO管脚。详细信息请参看 WiringNP
5.21 运行Qt示例程序
执行以下命令:
$ sudo /opt/QtE-Demo/run.sh
运行结果如下,这是一个开源的QtDemo:
5.22 Docker在arm64系统下的安装与使用
5.22.1 安装 Docker
执行下列命令:
sudo apt-get update sudo apt-get install docker.io
5.22.2 测试 Docker
执行下列命令运行一个简单的docker image:
git clone https://github.com/friendlyarm/debian-jessie-arm-docker cd debian-jessie-arm-docker ./rebuild-image.sh ./run.sh
5.23 播放和录制音频
NEO Plus2只提供了音频硬件接口(2.0mm 5pin 排针),引脚的定义如下:
Pin# Name Description 1 MICIN1P Microphone Positive Input 2 MICIN1N Microphone Negative Input 3 LINEOUTR LINE-OUT Right Channel Output 4 GND 地 5 LINEOUTL LINE-OUT Left Channel Output
用户需自行转接音频设备,参考下图:
只有在已外接音频设备的前提下,才可以进行下列步骤测试播放和录制音频。
查看系统里的声卡设备:
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Codec [H3 Audio Codec], device 0: CDC PCM Codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
全志H5和H3这两款CPU内部都自带了同一个codec设备,在主线内核中被命名为[H3 Audio Codec]。
播放音频:
$ aplay /root/Music/test.wav -D plughw:0
录制音频:
$ arecord -f cd -d 5 test.wav
6 如何编译FriendlyCore系统
6.1 使用开源社区主线BSP
NEO Plus2现已支持使用64位Linux内核,并使用64位Ubuntu Core 16.04,关于H5芯片系列开发板使用主线U-boot和Linux-4.x.y的方法,请参考维基:Mainline U-boot & Linux
7 使用扩展配件及编程示例
7.1 使用1-bay NAS Dock DIY自已的NAS服务器
1-bay NAS Dock是一个用于搭建迷你、小巧的桌上型NAS(Network Attached Storage:网络附属存储)设备的扩展底板,它采用了高速稳定的专业级USB 3.0 to SATA转换芯片(JSM568), 可直接安装使用2.5寸小硬盘,并采用TI公司DC-DC芯片实现稳定可靠的12V-5V电源转换,支持板载RTC时钟备份电池;我们还基于最新主线内核Linux-4.11和Debian-Jessie 为其移植了开源NAS软件系统OpenMediaVault,另外配上我们专门为其定制的精致喷砂金属铝外壳,就能够快速的搭建属于你的专用数据存储服务器,详见:1-bay NAS Dock v1.2 for NanoPi NEO/NEO2
7.2 使用Python编程操作NanoHat OLED扩展板
NanoHat OLED是一款精致小巧的单色OLED显示屏,带3个按键,我们不仅提供了源代码级驱动,而且为您展现了一个简单实用的Shell界面, 通过它你可以查看系统时间,系统运行状态,以及关机等操作;你还可以下载所有源代码自行修改编译,设计自己喜欢的界面; 配上我们专门为其定制的全金属铝外壳,相信你一定会爱不释手!详见:NanoHat OLED
7.3 使用Python编程控制NanoHat Motor 电机驱动模块
该模块可驱动四个5V PWM舵机模块和四个12V直流电机或者两个12V四线步进电机,详见:NanoHat Motor
7.4 使用NanoHat PCM5102A 数字音频解码模块
NanoHat PCM5102A采用了TI公司专业的立体声DAC音频芯片PCM5102A,为您提供数字音频信号完美还原的音乐盛宴, 详见:NanoHat PCM5102A
7.5 完全兼容的Arduino的UNO Dock扩展板
UNO Dock本身就是一个Arduino UNO,你可以使用Arduino IDE开发下载运行所有Arduino工程项目;它还是NanoPi NEO的扩展坞,不仅为其提供稳定可靠的电源输入,还可以使用Python编程控制Arduino配件,借助强大的Ubuntu生态系统,快速把你的Arduino项目送上云端,详见:UNO Dock for NanoPi NEO v1.0
7.6 Power Dock 高效的电源转换模块
Power Dock for NanoPi NEO是一个高效的电源转换模块,能为用电设备提供稳定可靠的供电, 详见:Power Dock for NanoPi NEO
7.7 NanoHat Proto 可堆叠的面包板模块
NanoHat Proto是一个功能高度自由的模块, 板载EEPROM,详见:NanoHat Proto
7.8 Matrix - 2'8 SPI Key TFT显示模块
Matrix-2'8_SPI_Key_TFT模块是一款2.8英寸的TFT 触摸LCD,模块采用ST7789S驱动IC和XPT2046电阻式触摸IC,屏幕分辨率为240*320,采用SPI控制接口,模块还包含3个独立按键,可根据需要自定义功能。详见:Matrix - 2'8 SPI Key TFT
8 3D 打印外壳
9 资源链接
9.1 手册原理图等开发资料
- Schematic: NanoPi-NEO-Plus2-1704-Schematic.pdf
- Dimensions: NanoPi-NEO-Plus2-1704_pcb的dxf文件
- H5 Datasheet: Allwinner_H5_Datasheet_V1.0.pdf