Difference between revisions of "NanoPi NEO Plus2"
(→UbuntuCore) |
(→Get Image Files) |
||
Line 174: | Line 174: | ||
===Make an Installation TF Card=== | ===Make an Installation TF Card=== | ||
====Get Image Files==== | ====Get Image Files==== | ||
− | Visit this link [https:// | + | Visit this link [https://www.mediafire.com/index.php#vknb4g7udw103 download link] to download image files(under the "official-ROMs" directory) and the flashing utility(under the "tools" directory):<br /> |
::{| class="wikitable" | ::{| class="wikitable" |
Revision as of 09:34, 1 June 2017
Contents
- 1 Introduction
- 2 Hardware Spec
- 3 Software Features
- 4 Diagram, Layout and Dimension
- 5 Get Started
- 6 Work with Ubuntu-Core with Qt-Embedded
- 6.1 Run Ubuntu-Core with Qt-Embedded
- 6.2 Configure System with npi-config
- 6.3 Ethernet Connection
- 6.4 Login via SSH
- 6.5 Extend NEO Plus2's TF Card Section
- 6.6 Wireless Connection
- 6.7 Connect NanoPi NEO Plus2 to USB Camera(FA-CAM202)
- 6.8 Record and Play Audio File
- 6.9 Access GPIO Pins/Wirings with WiringNP
- 7 Make Your Own Ubuntu-Core with Qt-Embedded
- 8 Resources
- 9 Update Log
1 Introduction
- The NanoPi NEO Plus2 is another Allwinner based ARM board developed by FriendlyElec. It uses Allwinner's 64-bit quad-core A53 SoC with hexa-core Mali450 GPU and features 1GB of DDR3 RAM and 8GB eMMC.
- With a small size of only 40 x 52mm the NanoPi NEO Plus2 has rich on-board resources: AP6212A WiFi & Bluetooth module, Gbps Ethernet and two USB hosts. It supports system-boot from a MicroSD card.
- The NanoPi NEO Plus2 has a carefully designed power system and 6-layer PCB layout. These features enhance the board's heat dissipation.
- The NanoPi NEO Plus2 meets popular IOT applications requirements for small size, high-speed and large throughput data transmission and high performance computing.
2 Hardware Spec
- SoC: Allwinner H5,Quad-core 64-bit high-performance Cortex A53
- DDR3 RAM:1GB
- Storage: 8GB eMMC
- Network: 10/100/1000M Ethernet based on RTL8211E-VB-CG
- WiFi: 802.11b/g/n
- Bluetooth: 4.0 dual mode
- MicroSD Slot: 1 x Slot. It supports system booting or is used to hold a storage card
- Audio Input/Output: 5-Pin, 2.0mm pitch pin-header
- MicroUSB: power input
- Debug Serial: 4Pin, 2.54mm pitch pin-header
- GPIO1:24Pin, 2.51mm pitch double-row pin-header containing UART, SPI, I2C and IO
- GPIO2:12Pin, 2.54mm pitch pin-header containing USB, IR receiver,I2S and IO
- Power Supply: DC 5V/2A
- PCB Dimension: 40 x 52mm
- PCB Layer: 6-Layer
3 Software Features
3.1 UbuntuCore
- mainline kernel: Linux-4.x.y
- 64-bit OS
- npi-config: system configuration utility for setting passwords, language, timezone, hostname, SSH and auto-login.
- auto-login with user account "pi" with access to npi-config
- supports Gbps Ethernet
- supports WiFi and Bluetooth
- supports FriendlyElec's FA-CAM202 USB camera
- supports audio recording and playing
4 Diagram, Layout and Dimension
4.1 Layout
- GPIO Pin Description
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 Pin Description
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
- Note:
- SYS_3.3V: 3.3V power output
- VVDD_5V: 5V power input/output. The input range is 4.7V ~ 5.6V
- All pins are 3.3V, output current is 5mA
- For more details refer to the document: NanoPi-NEO-Plus2-1704-Schematic.pdf
4.2 Dimensional Diagram
- For more details refer to: [Dimensions_NanoPi-NEO-Plus2-1704]
5 Get Started
5.1 Essentials You Need
Before starting to use your NanoPi NEO Plus2 get the following items ready:
- NanoPi NEO Plus2
- microSD Card/TFCard: Class 10 or Above, minimum 8GB SDHC
- microUSB power. A 5V/2A power is a must
- A Host computer running Ubuntu 14.04 64 bit system
5.2 TF Cards We Tested
To make your NanoPi NEO Plus2 boot and run fast we highly recommend you use a Class10 8GB SDHC TF card or a better one. The following cards are what we used in all our test cases presented here:
- SanDisk TF 8G Class10 Micro/SD TF card:
- SanDisk TF128G MicroSDXC TF 128G Class10 48MB/S:
- 川宇 8G C10 High Speed class10 micro SD card:
5.3 Make an Installation TF Card
5.3.1 Get Image Files
Visit this link download link to download image files(under the "official-ROMs" directory) and the flashing utility(under the "tools" directory):
Image Files: nanopi-neo-plus2_ubuntu-core-xenial_4.x.y_YYYYMMDD.img.zip Ubuntu-Core with Qt-Embedded image file, kernel:Linux-4.x nanopi-neo-plus2_debian-nas-jessie_4.x.y_YYYYMMDD.img.zip NAS image file, kernel:Linux-4.x, for 1-bay NAS Dock nanopi-neo-plus2_ubuntu-oled_4.x.y_YYYYMMDD.img.zip OLED image file, kernel:Linux-4.x, for NanoHat OLED nanopi-neo-plus2_eflasher_4.x.y_YYYYMMDD.img.zip eflasher image file, kernel:Linux-4.x Flash Utility: win32diskimager.rar Windows utility for flashing Debian image. Under Linux users can use "dd"
5.3.2 Make Installation MicroSD Card
- Extract the nanopi-neo-plus2_ubuntu-core-xenial_4.x.y_YYYYMMDD.img.zip and win32diskimager.rar. Insert a MicroSD card(at least 8G) into a Windows PC and run the win32diskimager utility as administrator. On the utility's main window select your card's drive, the wanted image file and click on "write" to start flashing the card till it is done.
- Insert this card into your NEO Plus2's MicroSD card slot and power on (with a 5V/2A power source). If the blue LED blinks this indicates your NEO Plus2 has successfully booted.
5.3.3 Flash Image to eMMC
- Extract the nanopi-neo-plus2_eflasher_4.x.y_YYYYMMDD.img.zip package and win32diskimager.rar. Insert a MicroSD card(at least 8G) into a Windows PC and run the win32diskimager utility as administrator. On the utility's main window select your SD card's drive, the wanted image file and click on "write" to start flashing the MicroSD card.
- Insert this card into your NEO Plus2 and power on (with a 5V/2A power source) the board. If the green LED is on and blue LED is blinks it indicates your eflasher has started successfully.
- Run the following command on a terminal:
$ eflasher
Select your wanted OS and type "yes" to start flashing. After it is done take off the card, reboot your board it will boot from eMMC.
6 Work with Ubuntu-Core with Qt-Embedded
6.1 Run Ubuntu-Core with Qt-Embedded
- 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 NanoPi NEO Plus2 to a PC via the PSU-ONECOM and you can power on your NEO Plus2 from either the PSU-ONECOM or its MicroUSB:
You can use a USB to Serial conversion board too. Make sure you use a 5V/2A power to power your NEO Plus2 from its MicroUSB port:
- Default Login Account:
Regular User:
User Account: pi Password: pi
Root:
User Account: root Password: fa
By default pi logs in automatically. You can disable its auto-login by using "sudo npi-config".
- Update Software Packages:
sudo apt-get update
6.2 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.
$ sudo npi-config
Here is how npi-config's GUI looks like:
6.3 Ethernet Connection
If the NanoPi NEO Plus2 is connected to a network via Ethernet before it is powered on it will automatically obtain an IP after it is powered up. If it is not connected via Ethernet or its DHCP is not activated obtaining an IP will fail and system will hang on for about 15 to 60 seconds. Obtain an IP address
dhclient eth0
6.4 Login via SSH
The NanoPi NEO Plus2 doesn't have a video output interface. You can log into the board via SSH. In our test the IP address detected by our router was 192.168.1.230 and we ran the following command to log into the NanoPi NEO Plus2:
$ ssh root@192.168.1.230
The password is fa
6.5 Extend NEO Plus2's TF Card Section
When Ubuntu is loaded the TF card's section will be automatically extended.You can check the section's size by running the following command:
$ df -h
6.6 Wireless Connection
Note: An IPX antenna is A MUST.
After your NanoPi NEO Plus2 is powered up you can log into NEO Plus2 and run the following command to check if a WiFi device is recognized. If "wlan0" is listed it indicates your WiFi has been recognized:
sudo ifconfig -a
Open the file "/etc/wpa_supplicant/wpa_supplicant.conf" with vi or gedit and append the following lines:
network={ ssid="YourWiFiESSID" psk="YourWiFiPassword" }
The "YourWiFiESSID" and "YourWiFiPassword" need to be replaced with your actual ESSID and password.
Save, exit and run the following commands your board will be connected to your specified WiFi:
ifdown wlan0 ifup wlan0
If your WiFi password has special characters or you don't want your password saved as plain text you can use "wpa_passphrase" to generate a psk for your WiFi password. Here is how you can do it:
wpa_passphrase YourWiFiESSID
Following the prompt type in your password. If you open the file "/etc/wpa_supplicant/wpa_supplicant.conf" you will find that your password has been updated and you can delete your clear-text password.
6.7 Connect NanoPi NEO Plus2 to USB Camera(FA-CAM202)
The FA-CAM202 is a 2M-pixel USB camera module.
Boot your NEO Plus2, connect it to the internet, log in the system as root, compile and run the mjpg-streamer utility:
$ su root $ cd /root/mjpg-streamer $ make ./start.sh
The mjpg-streamer is an open source media server. After it is started successfully you will see the following messages:
i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 1280 x 720 i: Frames Per Second.: 30 i: Format............: YUV i: JPEG Quality......: 90 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled
In our case our NEO Plus2's IP address was 192.168.1.123. We typed "192.168.1.123:8080" on a browser, entered and we got the following screenshot:
6.8 Record and Play Audio File
The NanoPi NEO Plus2 has an audio interface: 2.0mm pitch 5-pin pin-header:
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
Here is a hardware setup for connecting an audio device to a NanoPi NEO Plus2:
耳麦标注
Make sure an audio device is connected to your NEO Plus2 and then you can test audio recording and playing by running the following commands.
Check audio devices:
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sun50iw2codec-0 [] Subdevices: 1/1 Subdevice #0: subdevice #0
Play Audio Files:
$ aplay /root/Music/test.wav -D plughw:0
Record Audio:
$ arecord -f cd -d 5 test.wav
6.9 Access GPIO Pins/Wirings with WiringNP
The wiringPi library was initially developed by Gordon Henderson in C. It contains libraries to access GPIO, I2C, SPI, UART, PWM and etc.
The wiringPi library contains various libraries, header files and a commandline utility:gpio. The gpio utility can be used to read and write GPIO pins.
FriendlyElec integrated this utility in NEO's system allowing users to easily access GPIO pins. For more details refer to WiringNP
7 Make Your Own Ubuntu-Core with Qt-Embedded
7.1 Use Mainline BSP
The NanoPi NEO Plus2 has gotten support for a 64-bit kernel: Linux-4.x.y with Ubuntu Core 16.04. For more details about how to use mainline u-boot and Linux-4.x.y refer to :Mainline U-boot & Linux
8 Resources
8.1 Schematics and Datasheets
- Schematic: NanoPi-NEO-Plus2-1704-Schematic.pdf
- Dimensions: NanoPi-NEO-Plus2-1704_pcb file in dxf format
- H5 Datasheet: Allwinner_H5_Datasheet_V1.0.pdf
9 Update Log
9.1 May-30-2017
- Released English Version