NanoPi NEO/zh

From FriendlyELEC WiKi
Revision as of 05:25, 17 October 2016 by Wuweidong (Talk | contribs) (接口布局)

Jump to: navigation, search

English

1 介绍

概览
正面
背面
  • NanoPi NEO(以下简称NEO)是友善之臂团队面向创客、嵌入式爱好者,电子艺术家、发烧友等群体推出的又一款完全开源的掌上创客神器。

2 资源特性

  • CPU: Allwinner H3, Quad-core Cortex-A7 Up to 1.2GHz
  • DDR3 RAM: 256MB/512MB
  • Connectivity: 10/100M Ethernet
  • USB Host: Type-A x1, 2.54mm pin x2
  • MicroSD Slot x 1
  • MicroUSB: OTG and power input
  • Debug Serial Port: 4Pin, 2.54mm pitch pin header
  • GPIO: 2.54mm spacing 36pin, It includes UART, SPI, I2C, IO etc
  • PC Size: 40 x 40mm
  • Power Supply: DC 5V/2A
  • OS/Software: u-boot,UbuntuCore

3 接口布局和尺寸

3.1 接口布局

NanoPi NEO接口布局
  • GPIO管脚定义
Pin# Name Linux gpio Pin# Name Linux gpio
1 SYS_3.3V 2 VDD_5V
3 I2C0_SDA 4 VDD_5V
5 I2C0_SCL 6 GND
7 GPIOG11 203 8 UART1_TX/GPIOG6 198
9 GND 10 UART1_RX/GPIOG7 199
11 UART2_TX/GPIOA0 0 12 PWM1/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 93 24 SPI0_CS/GPIOC3 67
  • USB/Audio/IR 定义
NanoPi-NEO NanoPi-NEO V1.1
Pin# Name Description Pin# Name Description
1 VDD_5V 5V Power Out 1 VDD_5V 5V Power Out
2 USB-DP1 USB1 DP Signal 2 USB-DP1 USB1 DP Signal
3 USB-DM1 USB1 DM Signal 3 USB-DM1 USB1 DM Signal
4 USB-DP2 USB2 DP Signal 4 USB-DP2 USB2 DP Signal
5 USB-DM2 USB2 DM Signal 5 USB-DM2 USB2 DM Signal
6 GPIOL11/IR-RX GPIOL11 or IR Receive 6 GPIOL11/IR-RX GPIOL11 or IR Receive
7 SPDIF-OUT/GPIOA17 GPIOA17 or SPDIF-OUT 7 SPDIF-OUT/GPIOA17 GPIOA17 or SPDIF-OUT
8 MICIN1P Microphone Positive Input 8 PCM0_SYNC/I2S0_LRC I2S/PCM Sample Rate Clock/Sync
9 MICIN1N Microphone Negative Input 9 PCM0_CLK/I2S0_BCK I2S/PCM Sample Rate Clock
10 LINEOUTR LINE-OUT Right Channel Output 10 PCM0_DOUT/I2S0_SDOUT I2S/PCM Serial Data Output
11 LINEOUTL LINE-OUT Left Channel Output 11 PCM0_DIN/I2S0_SDIN I2S/PCM Serial Data Input
12 GND 0V 12 GND 0V
  • Debug Port(UART0)
Pin# Name
1 GND
2 VDD_5V
3 UART_TXD0
4 UART_RXD0
说明
  1. SYS_3.3V: 3.3V电源输出
  2. VDD_5V: 5V电源输入/输出。当电压大于MicroUSB时,向板子供电,否则板子从MicroUSB取电。输入范围:4.7~5.6V
  3. 全部信号引脚均为3.3V电平,输出电流为5mA,可以带动小负荷模块,io都不能带负载
  4. 更详细的信息请查看原理图:NanoPi-NEO-1606-Schematic.pdf

3.2 机械尺寸

NanoPi-NEO-1606-dimensions.png

详细尺寸:pcb的dxf文件

4 快速入门

4.1 准备工作

要开启你的NanoPi NEO新玩具,请先准备好以下硬件

  • NanoPi NEO主板
  • microSD卡/TF卡: Class10或以上的 8GB SDHC卡
  • 一个microUSB接口的外接电源,要求输出为5V/2A(可使用同规格的手机充电器)
  • 一台电脑,需要联网,建议使用Ubuntu 14.04 64位系统

4.2 经测试使用的TF卡

制作启动NanoPi NEO的TF卡时,建议Class10或以上的 8GB SDHC卡。以下是经友善之臂测试验证过的高速TF卡:

  • SanDisk闪迪 TF 8G Class10 Micro/SD 高速 TF卡:

SanDisk MicroSD 8G

  • SanDisk闪迪 TF128G 至尊高速MicroSDXC TF 128G Class10 48MB/S:

SanDisk MicroSD 128G

  • 川宇 8G手机内存卡 8GTF卡存储卡 C10高速class10 micro SD卡:

chuanyu MicroSD 8G

4.3 制作一张带运行系统的TF卡

4.3.1 下载系统固件

首先访问下载地址下载需要的固件文件(officail-ROMs目录)和烧写工具(tools目录):

使用以下固件:
nanopi-neo-core-qte-sd4g.img.zip Ubuntu-Core with Qt-Embedded系统固件
烧写工具:
win32diskimager.rar Windows平台下的系统烧写工具,Linux平台下可以用dd命令烧写系统

4.3.2 制作Ubuntu-Core with Qt-Embedded系统TF卡

将固件nanopi-neo-core-qte-sd4g.img.zip和烧写工具win32diskimager.rar分别解压,在Windows下插入TF卡(限4G及以上的卡),以管理员身份运行 win32diskimager 工具, 在win32diskimager工具的界面上,选择你的TF卡盘符,选择系统固件,点击 Write 按钮烧写即可。烧写完成后,将制作好TF卡插入NanoPi NEO,使用USB供电(5V/2A), NanoPi NEO会上电自动开机,看到板上的蓝色LED闪烁,这说明系统已经开始启动了。

5 Ubuntu-Core with Qt-Embedded系统的使用

5.1 运行Ubuntu-Core with Qt-Embedded系统

  • 如果您需要进行内核开发,你最好选购一个串口配件,连接了串口,则可以通过串口终端对NanoPi NEO进行操作。以下是串口的接法,接上串口,即可调试。接上串口后你可以选择从串口模块的DC口或者从NEO的MicroUSB口进行供电:

PSU-ONECOM-NEO

  • Ubuntu-Core的root和fa用户的默认密码都是两个字母fa。
  • 更新软件包:
apt-get update

5.2 连接有线网络

NanoPi NEO在加电开机前如果已正确的连接网线,则系统启动时会自动获取IP地址,如果没有连接网线、没有DHCP服务或是其它网络问题,则会导致获取IP地址失败,同时系统启动会因此等待约15~60秒的时间。 手动获取IP地址

dhclient eth0

5.3 SSH登录

NEO没有任何图形界面输出的接口,如果你没有串口模块,可以通过SSH协议登录NEO。假设通过路由器查看到NEO的IP地址为192.168.1.230,你可以在PC机上执行如下命令登录NEO:

ssh root@192.168.1.230

密码为fa。

5.4 扩展TF卡文件系统

强烈建议做好系统运行卡之后立即进行文件系统 rootfs 分区的扩展,这将大大提升系统的性能,避免空间不足带来的各种繁琐问题。

  • 方法1: 在PC机上扩展TF卡的文件系统 rootfs 分区:
sudo umount /dev/sdx?
sudo parted /dev/sdx unit % resizepart 2 100 unit MB print
sudo resize2fs -f /dev/sdx2

/dev/sdx请替换为实际的TF卡设备文件名。

  • 方法2: 在NEO上扩展TF卡的文件系统 rootfs 分区,在NEO上运行Ubuntu-Core,然后执行命令:
sudo fs_resize

根据提示,输入 y 开始扩展文件系统,然后再输入 y 选择重启NEO。重启后执行下列命令查看新分区大小:

df -h

5.5 连接USB WiFi

系统默认已经支持市面上众多常见的USB WiFi,想知道你的USB WiFi是否可用只需将其接在NEO上即可,已测试过的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

NanoPi NEO 上电启动连接上USB WiFi后,通过串口登录到系统,敲入以下命令可以查看到系统是否识别到USB WiFi,如果出现“wlan0”,则证明USB WiFi已被识别到:

ifconfig -a

用vi或在图形界面下用gedit编辑文件 /etc/wpa_supplicant/wpa_supplicant.conf, 在文件末尾填入路由器信息如下所示:

network={
        ssid="YourWiFiESSID"
        psk="YourWiFiPassword"
}

其中,YourWiFiESSID和YourWiFiPassword请替换成你要连接的无线AP名称和密码。
保存退出后,执行以下命令即可连接WiFi:

ifdown wlan0
ifup wlan0

如果你的WiFi密码中有特殊字符,或者你不希望明文存放密码,你可以使用wpa_passphrase命令为WiFi密码生成一个密钥(psk),用密钥来代替密码 ,在命令行下,可输入以下命令生成密钥:

wpa_passphrase YourWiFiESSID

在提示输入密码时,输入你的WiFi密码,再打开 /etc/wpa_supplicant/wpa_supplicant.conf 文件你会发现密钥已经被更新,你可以删除明文的密码了。

5.6 查看CPU工作温度

获取当前CPU的温度、运行频率等信息:

cpu_freq

6 如何编译BSP

访问此处下载地址的sources目录,下载源码nanopi-H3-bsp。
使用7-Zip工具解压后得到两个目录:lichee和android,也可以从github上克隆lichee源码:

git clone https://github.com/friendlyarm/h3_lichee.git lichee

注:lichee是全志为其CPU的板级支持包所起的项目名称,里面包含了U-boot,Linux等源码和众多的编译脚本。

6.1 编译lichee源码

编译全志 H3 的BSP源码包必须使用64bit的Linux PC系统,并安装下列软件包,下列操作均基于Ubuntu-14.04 LTS-64bit:

sudo apt-get install gawk git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 u-boot-tools

编译lichee源码包,进入lichee目录,执行命令:

cd lichee
./build.sh -p sun8iw7p1 -b nanopi-h3

该命令会一次性编译好U-boot、Linux内核和模块。
注:lichee目录里内置了交叉编译器,当使用build.sh脚本进行源码编译时,会自动使用该内置的编译器,所以无需手动安装编译器。

6.2 打包系统组件

./gen_script.sh nanopi-neo

该命令会将所有编译生成的可执行文件(包括U-boot、Linux内核)和系统配置文件拷贝到lichee/tools/pack/out/目录以便进行统一管理,并且会该目录下生成 script.bin文件。
script.bin是全志系列 CPU 的硬件板级配置文件,相关信息请查看script.bin

下列命令可用于更新TF卡上的U-boot:

./fuse_uboot.sh /dev/sdx

/dev/sdx请替换为实际的TF卡设备文件名。
uImage和内核模块均位于linux-3.4/output目录下,将uImage拷贝到TF卡的boot分区的根目录即可更新内核。

6.3 编译U-boot

如果你想单独编译U-boot,可以执行命令:

./build.sh -p sun8iw7p1 -b nanopi-h3 -m uboot

编译生成的可执行文件需打上全志系列CPU的硬件板级配置补丁后才能烧写到TF卡上运行,执行./build.sh pack能自动完成打补丁的操作。
如何手动为U-boot打补丁请查看H3_Manual_build_howto,执行下列命令更新TF卡上的U-boot:

./fuse_uboot.sh /dev/sdx

/dev/sdx请替换为实际的TF卡设备文件名。

6.4 编译Linux内核

如果你想单独编译Linux内核,可以执行命令:

./build.sh -p sun8iw7p1 -b nanopi-h3 -m kernel

编译完成后uImage和内核模块均位于linux-3.4/output目录下,将uImage拷贝到TF卡的boot分区的根目录即可。

6.5 清理lichee源码

./build.sh -p sun8iw7p1_linux -b nanopi-h3 -m clean

7 3D 打印外壳

NanoPi NEO 3D printed housing
3D打印外壳下载链接

8 资源链接

9 更新日志

9.1 2016-08-04

  • Ubuntu-Core系统支持市面上常见的USB WiFi模块;