EnglishContents
[hide]
1 介紹
2 資源特性
3 接口布局和尺寸3.1 接口布局
3.2 機械尺寸
4 快速入門4.1 準備工作
4.2 經測試使用的TF卡
4.3 安裝系統(tǒng)4.3.1 下載系統(tǒng)固件
4.3.2 Linux-3.4和Linux-4.14系統(tǒng)固件差異
4.3.3 燒寫Linux系統(tǒng)4.3.3.1 燒寫到TF卡
5 FriendlyCore的使用5.1 介紹
5.2 運行FriendlyCore
5.3 使用npi-config配置系統(tǒng)
5.4 開發(fā)Qt應用
5.5 開機自動運行Qt示例程序
5.6 擴展TF卡文件系統(tǒng)
5.7 連接WiFi
5.8 連接以太網
5.9 訪問GPIO/I2C/串口等硬件資源
5.10 定制命令行的歡迎信息(文字LOGO)
5.11 修改時區(qū)
5.12 選擇系統(tǒng)默認音頻設備
5.13 連接USB攝像頭模塊(FA-CAM202)
5.14 查看CPU溫度和頻率
5.15 運行Qt示例程序
5.16 Docker在armhf系統(tǒng)下的安裝與使用5.16.1 安裝 Docker
5.16.2 測試 Docker
5.17 FriendlyCore下使用4G模塊EC205.17.1 第0步:將SIM卡插入到EC20中
5.17.2 第1步:在開發(fā)板上編譯quectel-CM命令行撥號程序
5.17.3 第2步:創(chuàng)建udhcpc script
5.17.4 第3步:開始4G撥號
5.17.5 測試4G連接
5.17.6 測試4G的網速
6 FriendlyWrt的使用6.1 介紹
6.2 登錄系統(tǒng)
6.3 軟件包管理
6.4 查看系統(tǒng)狀態(tài)
6.5 查看Network->Interfaces的配置
6.6 使用USB WiFi
6.7 使用華為隨行WiFi 2 mini(E8372H-155)
7 如何編譯FriendlyCore系統(tǒng)7.1 使用開源社區(qū)主線BSP
7.2 使用全志原廠BSP7.2.1 準備工作
7.2.2 安裝交叉編譯器
7.2.3 編譯lichee源碼
7.2.4 編譯U-boot
7.2.5 編譯Linux內核
7.2.6 清理lichee源碼
8 更多OS8.1 DietPi
8.2 Armbian
8.3 Android
9 使用NEO擴展配件及編程示例9.1 使用1-bay NAS Dock DIY自已的NAS服務器
9.2 使用Python編程操作NanoHat OLED擴展板
9.3 使用Python編程控制NanoHat Motor 電機驅動模塊
9.4 使用NanoHat PCM5102A 數字音頻解碼模塊
9.5 完全兼容的Arduino的UNO Dock擴展板
9.6 Power Dock 高效的電源轉換模塊
9.7 NanoHat Proto 可堆疊的面包板模塊
9.8 Matrix - 2'8 SPI Key TFT顯示模塊
10 3D 打印外殼
11 開發(fā)者指南
12 資源鏈接12.1 手冊原理圖等開發(fā)資料
12.2 開發(fā)文檔及教程12.2.1 使用Python操作硬件模塊開發(fā)教程及代碼
12.2.2 使用C語言操作硬件模塊開發(fā)教程及代碼
13 硬件更新
14 更新日志
1 介紹
概覽
正面
背面
NanoPi NEO(以下簡稱NEO)是友善之臂團隊面向創(chuàng)客、嵌入式愛好者,電子藝術家、發(fā)燒友等群體推出的又一款完全開源的掌上創(chuàng)客神器。
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
Audio input/output Port: 5Pin, 2.0mm 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
Temperature measuring range: -20℃ to 70℃
OS/Software: U-boot,Ubuntu-Core,Android
Weight: 14g(WITHOUT Pin-headers)
3 接口布局和尺寸
3.1 接口布局
NanoPi NEO接口布局
pinout
GPIO 24Pin管腳定義
Pin# Name Linux gpio Pin# Name Linux gpio
1 SYS_3.3V 2 VDD_5V
3 I2C0_SDA / GPIOA12 4 VDD_5V
5 I2C0_SCL / GPIOA11 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
GPIO 12Pin管腳定義
NanoPi-NEO 1606 NanoPi-NEO V1.1/V1.2/V1.3/V1.31/V1.4
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
Audio Port
Pin# Name Description
1 LINEOUT-LL LINE-OUT Left Channel Output
2 LINEOUT-LR LINE-OUT Right Channel Output
3 MICIN1-MN Microphone Negative Input
4 MICIN1-MP Microphone Positive Input
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電源輸入/輸出。當電壓大于MicroUSB時,向板子供電,否則板子從MicroUSB取電。輸入范圍:4.7~5.5V
全部信號引腳均為3.3V電平,輸出電流為5mA,可以帶動小負荷模塊,io都不能帶負載
更詳細的信息請查看原理圖:
NanoPi-NEO-v1.4-1801-Schematic.pdf3.2 機械尺寸
詳細尺寸:
NanoPi-NEO-V1.4-1801 pcb的dxf文件4 快速入門
4.1 準備工作
要開啟你的NanoPi NEO新玩具,請先準備好以下硬件
NanoPi NEO主板
microSD卡/TF卡: Class10或以上的 8GB SDHC卡
一個microUSB接口的外接電源,要求輸出為5V/2A(可使用同規(guī)格的手機充電器)
一臺電腦,需要聯(lián)網,建議使用Ubuntu 16.04 64位系統(tǒng)
4.2 經測試使用的TF卡
制作啟動NanoPi NEO的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 安裝系統(tǒng)
4.3.1 下載系統(tǒng)固件
首先訪問
下載地址下載需要的固件文件(officail-ROMs目錄)和燒寫工具(tools目錄):
使用以下固件:
nanopi-neo_sd_friendlycore-xenial_3.4_armhf_YYYYMMDD.img.zip 基于UbuntuCore構建的系統(tǒng)固件,使用Linux-3.4內核
nanopi-neo_sd_friendlycore-xenial_4.14_armhf_YYYYMMDD.img.zip 基于UbuntuCore構建的系統(tǒng)固件,使用Linux-4.14內核
nanopi-neo_sd_friendlywrt_4.14_armhf_YYYYMMDD.img.zip 基于OpenWrt構建的系統(tǒng)固件,使用Linux-4.14內核
燒寫工具:
win32diskimager.rar Windows平臺下的系統(tǒng)燒寫工具,Linux平臺下可以用dd命令燒寫系統(tǒng)
4.3.2 Linux-3.4和Linux-4.14系統(tǒng)固件差異
Linux-3.4 為CPU芯片廠商全志科技官方提供的內核,全志為該內核做了很多的定制開發(fā),所以該內核完善度高但是不夠純凈,對應的系統(tǒng)固件發(fā)熱量相對而言較大。如果您的產品必須使用VPU或者GPU功能的話,目前唯一的選擇就是采用Linux-3.4內核的ROM,并且建議選購散熱片。
Linux-4.14 基于Linus Torvalds主線內核改造,并且盡可能地保持和主線內核一致,擁有和主線內核一致的特性,是一個非常純凈的內核,對應的系統(tǒng)固件發(fā)熱量較小,穩(wěn)定性更高。如果您的產品不需要使用VPU和GPU功能,強烈推薦使用該內核。
關于Linux-4.14內核,更詳細的信息可以參考:
Building U-boot and Linux for H5/H3/H2+/zh4.3.3 燒寫Linux系統(tǒng)
4.3.3.1 燒寫到TF卡
FriendlyCore / FriendlyWrt 等系統(tǒng)都屬于 Linux 系統(tǒng),所以它們的燒寫方法是一樣。
將 Linux 系統(tǒng)固件和燒寫工具 win32diskimager.rar 分別解壓,在 Windows 下插入TF卡(限4G及以上的卡),以管理員身份運行燒寫工具 win32diskimager,在燒寫工具 win32diskimager 的界面上,選擇你的TF卡盤符,選擇Linux 系統(tǒng)固件,點擊 Write 按鈕燒寫。
這里以nanopi-neo_sd_friendlycore-xenial_4.14_armhf_YYYYMMDD.img為例,其他系統(tǒng)的燒寫操作是類似的,燒寫時的界面如下:
成功燒寫后,會看到如下界面:
當制作完成TF卡后,拔出TF卡插入 BOOT 卡槽,上電啟動(注意,這里需要5V/2A的供電),你可以看到STAT燈閃爍,這時你已經成功啟動系統(tǒng)。
5 FriendlyCore的使用
5.1 介紹
FriendlyCore,是一個沒有X-windows環(huán)境,基于Ubuntu core構建的系統(tǒng),使用Qt-Embedded作為圖形界面的輕量級系統(tǒng),兼容Ubuntu系統(tǒng)軟件源,非常適合于企業(yè)用戶用作產品的基礎OS。
本系統(tǒng)除了保留Ubuntu Core的特性以外,還包括以下特性:
集成Qt4.8;
集成NetworkManager網絡管理器;
集成bluez等藍牙相關軟件包;
集成alsa相關軟件包;
集成命令行系統(tǒng)配置工具npi-config;
集成Python GPIO模塊RPiGPIO;
集成Python/C語言編寫的demo程序,位于/root目錄;
使能512M的swap分區(qū);
5.2 運行FriendlyCore
對于有HDMI接口的板子,如果要在電視上進行操作,您需要連接USB鼠標和鍵盤。
如果您需要進行內核開發(fā),最好選購一個串口配件,連接了串口,則可以通過串口終端對開發(fā)板進行操作。
使用串口模塊能有效地提升開發(fā)效率,以下是串口模塊的連接方法:
接上串口后,您可以選擇從串口模塊的DC口或者從MicroUSB口 (如果有) 進行供電:
也可以使用USB轉串口模塊調試,請注意需要使用5V/2A電源給開發(fā)板MicroUSB供電:
FriendlyCore默認帳戶:
普通用戶:
用戶名: pi 密碼: pi
Root用戶:
用戶名: root 密碼: fa
默認會以 pi 用戶自動登錄,你可以使用 sudo npi-config 命令取消自動登錄。
更新軟件包:
$ sudo apt-get update
5.3 使用npi-config配置系統(tǒng)
npi-config是一個命令行下的系統(tǒng)配置工具,可以對系統(tǒng)進行一些初始化的配置,可配置的項目包括:用戶密碼、系統(tǒng)語言、時區(qū)、Hostname、SSH開關、自動登錄選項等,在命令行執(zhí)行以下命令即可進入:
$ sudo npi-config
npi-config的顯示界面如下所示:
5.4 開發(fā)Qt應用
請參考
How to Build and Install Qt Application for FriendlyELEC Boards/zh5.5 開機自動運行Qt示例程序
使用npi-config工具進行開啟:
sudo npi-config
進入Boot Options -> Autologin -> Qt/Embedded,選擇Enable然后重啟即可。
5.6 擴展TF卡文件系統(tǒng)
第一次啟動FriendlyCore系統(tǒng)時,系統(tǒng)會自動擴展文件系統(tǒng)分區(qū),請耐心等待,TF卡/eMMC的容量越大,需要等待的時間越長,進入系統(tǒng)后執(zhí)行下列命令查看文件系統(tǒng)分區(qū)大小:
df -h
5.7 連接WiFi
無論是SD WiFi還是USB WiFi, 它們的連接方式都是一樣的。正基科技的APXX系列芯片屬于SD WiFi,另外系統(tǒng)默認也已經支持市面上眾多常見的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
注意,如果列出的設備狀態(tài)是 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無法正常工作, 大概率是因為文件系統(tǒng)里缺少了對應的USB WiFi固件。對于Debian系統(tǒng), 可以在
Debian-WiFi里找到并安裝USB WiFi芯片的固件。而對于Ubuntu系統(tǒng), 則可以通過下列命令安裝所有的USB WiFi固件:
$ apt-get install linux-firmware
一般情況下, 各種WiFi芯片的固件都存放在/lib/firmware目錄下。
5.8 連接以太網
默認插上網線開機,會自動連接并通過DHCP獲取IP地址,如需要配置靜態(tài)IP地址,請參考 NetworkManager 的相關文檔:
Use NetworkManager to configure network settings。
5.9 訪問GPIO/I2C/串口等硬件資源
請參考下面的文檔:
WiringNP: NanoPi NEO/NEO2/Air GPIO Programming with C/zhRPi.GPIO : NanoPi NEO/NEO2/Air GPIO Programming with Python/zh5.10 定制命令行的歡迎信息(文字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.11 修改時區(qū)
例如更改為Shanghai時區(qū):
sudo rm /etc/localtimesudo ln -ls /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
5.12 選擇系統(tǒng)默認音頻設備
如果當前系統(tǒng)存在多個音頻設備, 例如HDMI-Audio、3.5mm耳機座、I2S-Codec時, 可以通過下列操作設置系統(tǒng)默認使用的音頻設備。
啟動板子后,執(zhí)行以下步驟安裝alsa包:
$ apt-get update$ apt-get install libasound2$ apt-get install alsa-base$ apt-get install alsa-utils
安裝好需要的庫后,查看系統(tǒng)當前所有的聲卡設備的序列號。這里假設aplay的輸出如下, 并不是真實情況, 請根據實際情況進行相對應的修改:
$ aplay -lcard 0: HDMIcard 1: 3.5mm codeccard 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 格式的音樂到開發(fā)板上,播放音樂:
$ aplay /root/Music/test.wav
可以聽見從系統(tǒng)默認的音頻設備里輸出音頻。
如果您使用的開發(fā)板是H3/H5/H2+系列并且使用的是主線內核,那么更簡便的方法是使用
npi-config。
5.13 連接USB攝像頭模塊(FA-CAM202)
FA-CAM202是一款200萬像素的USB攝像頭模塊,連接開發(fā)板和攝像頭,然后上電啟動系統(tǒng),連接網絡,以root用戶登錄終端并編譯運行mjpg-streamer:
$ cd /root/C/mjpg-streamer$ make$ ./start.sh
請自行修改start.sh, 確保使用正確的/dev/videoX節(jié)點, 下列命令可以用來確定攝像頭的video節(jié)點:
$ apt-get install v4l-utils$ v4l2-ctl -d /dev/video0 -D# fa-cam202有2個型號Driver Info (not using libv4l2): Driver name : uvcvideo Card type : HC 3358+2100: HC 3358+2100 / USB 2.0 Camera: USB 2.0 Camera Bus info : usb-1c1b000.usb-1 ...
上述信息表示/dev/video0是攝像頭的設備節(jié)點。mjpg-streamer是一個開源的網絡視頻流服務器,在板子上成功運行mjpg-streamer后會打印下列信息:
$ ./start.sh 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
start.sh腳本里執(zhí)行了下列2個命令:
export LD_LIBRARY_PATH="$(pwd)"./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0" -o "./output_http.so -w ./www"
mjpg_streamer相關參數的含義如下:
-i: 選擇輸入插件,input_uvc.so表示從攝像頭采集數據;
-o: 選擇輸出插件,output_http.so表示使用http協(xié)議傳輸數據;
-d: 輸入插件的子參數,指定攝像頭設備節(jié)點;
-y: 輸入插件的子參數,指定攝像頭采集數據的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y參數,則表示采集MJPEG格式;
-r: 輸入插件的子參數,指定攝像頭采集分辨率;
-f: 輸入插件的子參數,指定想使用的攝像頭采集fps,具體是否支持依賴于驅動;
-q: 輸入插件的子參數,指定libjpeg軟編碼的圖像質量;
-n: 輸入插件的子參數, 禁止dynctrls功能;
-fb: 輸入插件的子參數, 指定是否在/dev/fbX上顯示采集的圖像;
-w: 輸出插件的子參數, 指定包含網頁的目錄;
成功運行start.sh腳本后,假設開發(fā)板的IP地址為192.168.1.230,在PC的瀏覽器中輸入 192.168.1.230:8080 就能瀏覽攝像頭采集的畫面了,效果如下:
5.14 查看CPU溫度和頻率
命令行查看:
$ cpu_freq Aavailable frequency(KHz): 480000 624000 816000 1008000Current frequency(KHz): CPU0 online=1 temp=26548C governor=ondemand freq=624000KHz CPU1 online=1 temp=26548C governor=ondemand freq=624000KHz CPU2 online=1 temp=26548C governor=ondemand freq=624000KHz CPU3 online=1 temp=26548C governor=ondemand freq=624000KHz
上述信息表示當前有4個CPU核在線, 溫度均約為26.5攝氏度, 運行的策略均為根據需求來決定運行頻率, 當前的運行頻率均為624MHz,設置頻率的命令如下:
$ cpu_freq -s 1008000Aavailable frequency(KHz): 480000 624000 816000 1008000Current frequency(KHz): CPU0 online=1 temp=36702C governor=userspace freq=1008000KHz CPU1 online=1 temp=36702C governor=userspace freq=1008000KHz CPU2 online=1 temp=36702C governor=userspace freq=1008000KHz CPU3 online=1 temp=36702C governor=userspace freq=1008000KHz
上述命令將4個CPU核的頻率設置為1008MHz。
5.15 運行Qt示例程序
執(zhí)行以下命令:
$ sudo /opt/QtE-Demo/run.sh
運行結果如下,這是一個
開源的QtDemo:
5.16 Docker在armhf系統(tǒng)下的安裝與使用
5.16.1 安裝 Docker
執(zhí)行下列命令:
sudo apt-get updatesudo apt-get install docker.io
5.16.2 測試 Docker
執(zhí)行下列命令運行一個簡單的docker image:
git clone https://github.com/friendlyarm/debian-jessie-arm-dockercd debian-jessie-arm-docker./rebuild-image.sh./run.sh
5.17 FriendlyCore下使用4G模塊EC20
5.17.1 第0步:將SIM卡插入到EC20中
5.17.2 第1步:在開發(fā)板上編譯quectel-CM命令行撥號程序
輸入以下命令,編譯并安裝quectel-CM到 /usr/bin/ 目錄:
git clone https://github.com/friendlyarm/quectel-cm.gitcd quectel-cm/makecp quectel-CM /usr/bin/
5.17.3 第2步:創(chuàng)建udhcpc script
quectel-CM程序會將運營商返回的IP、DNS等作為參數調用udhcpc script,這個腳本是不存在的,我們需要自已創(chuàng)建一個,請用你熟悉的編輯器創(chuàng)建一個新文件,文件名為:/usr/share/udhcpc/default.script,內容如下:
#!/bin/sh # udhcpc script edited by Tim Riker <Tim@Rikers.org> [ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 RESOLV_CONF="/etc/resolv.conf"[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"[ -n "$subnet" ] && NETMASK="netmask $subnet" case "$1" in deconfig) /sbin/ifconfig $interface 0.0.0.0 ;; renew|bound) /sbin/ifconfig $interface $ip $BROADCAST $NETMASK if [ -n "$router" ] ; then echo "deleting routers" while route del default gw 0.0.0.0 dev $interface ; do : done for i in $router ; do route add default gw $i dev $interface done fi echo -n > $RESOLV_CONF [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF for i in $dns ; do echo adding dns $i echo nameserver $i >> $RESOLV_CONF done ;;esac exit 0
保存后,再用以下命令賦于可執(zhí)行權限:
chmod 755 /usr/share/udhcpc/default.script
5.17.4 第3步:開始4G撥號
輸入以下命令啟動撥號:
quectel-CM &
撥號成功,屏幕會輸出IP地址等信息,如下所示:
root@NanoPC-T4:~# quectel-CM &[1] 5364root@NanoPC-T4:~# [05-15_08:23:13:719] WCDMA<E_QConnectManager_Linux&Android_V1.1.34[05-15_08:23:13:720] quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)[05-15_08:23:13:721] Find /sys/bus/usb/devices/3-1 idVendor=2c7c idProduct=0125[05-15_08:23:13:722] Find /sys/bus/usb/devices/3-1:1.4/net/wwan0[05-15_08:23:13:722] Find usbnet_adapter = wwan0[05-15_08:23:13:723] Find /sys/bus/usb/devices/3-1:1.4/usbmisc/cdc-wdm0[05-15_08:23:13:723] Find qmichannel = /dev/cdc-wdm0[05-15_08:23:13:739] cdc_wdm_fd = 7[05-15_08:23:13:819] Get clientWDS = 18[05-15_08:23:13:851] Get clientDMS = 2[05-15_08:23:13:884] Get clientNAS = 2[05-15_08:23:13:915] Get clientUIM = 1[05-15_08:23:13:947] Get clientWDA = 1[05-15_08:23:13:979] requestBaseBandVersion EC20CEFHLGR06A01M1G_OCPU_BETA1210[05-15_08:23:14:043] requestSetEthMode QMUXResult = 0x1, QMUXError = 0x46[05-15_08:23:14:075] requestGetSIMStatus SIMStatus: SIM_READY[05-15_08:23:14:107] requestGetProfile[1] cmnet///0[05-15_08:23:14:139] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE[05-15_08:23:14:171] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED[05-15_08:23:14:235] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE[05-15_08:23:14:938] requestSetupDataCall WdsConnectionIPv4Handle: 0xe16e4540[05-15_08:23:15:002] requestQueryDataCall IPv4ConnectionStatus: CONNECTED[05-15_08:23:15:036] ifconfig wwan0 up[05-15_08:23:15:052] busybox udhcpc -f -n -q -t 5 -i wwan0[05-15_08:23:15:062] udhcpc (v1.23.2) started[05-15_08:23:15:077] Sending discover...[05-15_08:23:15:093] Sending select for 10.22.195.252...[05-15_08:23:15:105] Lease of 10.22.195.252 obtained, lease time 7200[05-15_08:23:15:118] deleting routersSIOCDELRT: No such process[05-15_08:23:15:132] adding dns 221.179.38.7[05-15_08:23:15:132] adding dns 120.196.165.7
5.17.5 測試4G連接
ping一個域名,看看DNS解析是否已經在工作了:
root@NanoPC-T4:~# ping www.baidu.comPING www.a.shifen.com (183.232.231.174) 56(84) bytes of data.64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=1 ttl=56 time=74.3 ms64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=2 ttl=56 time=25.1 ms64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=3 ttl=56 time=30.8 ms64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=4 ttl=56 time=29.1 ms64 bytes from 183.232.231.174 (183.232.231.174): icmp_seq=5 ttl=56 time=29.2 ms
5.17.6 測試4G的網速
wget -O - https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python
得到的測試結果類擬如下這樣:
Retrieving speedtest.net configuration...Testing from China Mobile Guangdong (117.136.40.167)...Retrieving speedtest.net server list...Selecting best server based on ping...Hosted by ChinaTelecom-GZ (Guangzhou) [2.51 km]: 62.726 msTesting download speed................................................................................Download: 32.93 Mbit/sTesting upload speed................................................................................................Upload: 5.58 Mbit/s
6 FriendlyWrt的使用
6.1 介紹
FriendlyWrt 基于 OpenWrt 改造而來,它是適合于嵌入式設備的一個 Linux 發(fā)行版,它不是一個單一、靜態(tài)的固件,而是提供了一個可添加軟件包的可寫的文件系統(tǒng)。這使用戶可以自由的選擇應用程序和配置,而不必受設備提供商的限制,并且可以使用一些適合某方面應用的軟件包來定制你的設備。對于開發(fā)者來說,OpenWrt 是一個框架,開發(fā)者不必麻煩地構建整個固件就能得到想要的應用程序;對于用戶來說,這意味著完全定制的能力,與以往不同的方式使用設備,OPKG 包含超過3500個軟件。更詳細的介紹請參考
OpenWrt官網。
6.2 登錄系統(tǒng)
串口登錄
如果您需要進行內核開發(fā),最好選購一個串口配件,連接了串口,則可以通過串口終端對開發(fā)板進行操作。
使用串口模塊能有效地提升開發(fā)效率,以下是串口模塊的連接方法:
接上串口后,您可以選擇從串口模塊的DC口或者從MicroUSB口 (如果有) 進行供電:
也可以使用USB轉串口模塊調試,請注意需要使用5V/2A電源給開發(fā)板MicroUSB供電:
默認會以 root 用戶自動登錄,并且沒有設置root用戶的密碼,你可以使用 passwd 命令來設置 root 用戶的密碼。
第一次運行系統(tǒng)時,系統(tǒng)會自動拓展TF卡上文件系統(tǒng)分區(qū)到最大可用空間:
請耐心等待文件系統(tǒng)擴展完成。
SSH登錄
在本開發(fā)板的FriendlyWrt系統(tǒng)里,有線網絡(eth0) 被配置為WAN功能。
啟動系統(tǒng)前,請先用網線連接板子的有線以太網口到一級路由器的LAN口,以便該以太網(eth0) 能通過DHCP獲取到IP地址。
這里假設已經通過調試串口或者一級路由器確定板子的以太網(eth0) 的IP地址為192.168.1.163,執(zhí)行下列命令通過SSH登錄系統(tǒng):
$ ssh root@192.168.1.163
無需密碼,直接就可以登錄。
Web登錄
FriendlyWrt系統(tǒng)支持通過LuCI Web界面進行訪問和配置。
在已完成 <SSH登錄> 章節(jié)里的設置的基礎上,假設板子的有線以太網的IP地址為192.168.1.163,在瀏覽器中輸入該IP地址就可以登錄LuCI界面了:
默認用戶名為root,無需密碼,直接點擊"Login"按鍵即可登錄。
6.3 軟件包管理
FriendlyWrt使用opkg工具來管理軟件包,執(zhí)行如下命令可以獲取opkg的幫助信息:
$ opkgPackage Manipulation: update Update list of available packages upgrade <pkgs> Upgrade packages install <pkgs> Install package(s) configure <pkgs> Configure unpacked package(s) remove <pkgs|regexp> Remove package(s) flag <flag> <pkgs> Flag package(s) <flag>=hold|noprune|user|ok|installed|unpacked (one per invocation) Informational Commands: list List available packages list-installed List installed packages list-upgradable List installed and upgradable packages list-changed-conffiles List user modified configuration files files <pkg> List files belonging to <pkg> search <file|regexp> List package providing <file> find <regexp> List packages whose name or description matches <regexp> info [pkg|regexp] Display all info for <pkg> status [pkg|regexp] Display all status for <pkg> download <pkg> Download <pkg> to current directory...
上面只截取了部分幫助信息,請自行查閱完整的幫助信息,下面會描述幾個常用的opkg命令。
更新可用軟件包列表
第一次安裝軟件前,建議先更新可用軟件包列表:
$ opkg update
查看可安裝的軟件包:
$ opkg list
本WiKi編寫時,可安裝的軟件包共有3241個。
查看已安裝的軟件:
$ opkg list-installed
本WiKi編寫時,已安裝的軟件包共有124個。
安裝/刪除軟件:
$ opkg install <pkgs>$ opkg remove <pkgs>
查看已安裝的軟件包含什么文件:
$ opkg files <pkg>
安裝LuCI中文語言包:
$ opkg install luci-i18n-base-zh-cn
查看當前系統(tǒng)中哪些配置文件被修改過:
$ opkg list-changed-conffiles
相關參考:
openwrt opkg6.4 查看系統(tǒng)狀態(tài)
命令行查看CPU溫度和頻率
$ cpu_freq Aavailable frequency(KHz): 480000 624000 816000 1008000Current frequency(KHz): CPU0 online=1 temp=26548C governor=ondemand freq=624000KHz CPU1 online=1 temp=26548C governor=ondemand freq=624000KHz CPU2 online=1 temp=26548C governor=ondemand freq=624000KHz CPU3 online=1 temp=26548C governor=ondemand freq=624000KHz
上述信息表示當前有4個CPU核在線, 溫度均約為26.5攝氏度, 運行的策略均為根據需求來決定運行頻率, 當前的運行頻率均為624MHz,設置頻率的命令如下:
$ cpu_freq -s 1008000Aavailable frequency(KHz): 480000 624000 816000 1008000Current frequency(KHz): CPU0 online=1 temp=36702C governor=userspace freq=1008000KHz CPU1 online=1 temp=36702C governor=userspace freq=1008000KHz CPU2 online=1 temp=36702C governor=userspace freq=1008000KHz CPU3 online=1 temp=36702C governor=userspace freq=1008000KHz
上述命令將4個CPU核的頻率設置為1008MHz。
LuCI Web界面查看系統(tǒng)狀態(tài)
登錄LuCI界面后,點擊頂部的 Statistics ---> Graphs,可以查看系統(tǒng)的各種軟硬件狀態(tài)信息(即statistics),例如:
1) 系統(tǒng)負載:
2) 內存:
3) CPU溫度:
Statistics界面對應軟件包luci-app-statistics,luci-app-statistics軟件包用Collectd工具收集狀態(tài)數據并且用RRDtool工具將數據渲染為圖表。
你可以通過安裝額外的collectd-mod-*軟件包去使能更多的statistics.所有的collectd-mod-*軟件包對應同一個配置文件: /etc/config/luci_statistics。
相關參考:
openwrt luci_app_statisticsopenwrt statistics.chart.publicopenwrt statistic.custom6.5 查看Network->Interfaces的配置
登錄LuCI界面后,點擊頂部的 Network ---> Interfaces ,可以查看當前的網絡設置:
Network -> Interfaces 界面的配置保存在/etc/config/network中。
6.6 使用USB WiFi
目前僅支持 RTL8821CU,即插即用,插入后默認設置為AP模式,熱點名稱為 "rtl8821cu-mac地址",密碼為"password";
6.7 使用華為隨行WiFi 2 mini(E8372H-155)
即插即用,插入后,熱點名稱為 "HUAWEI-8DA5",其他設備連接上該熱點后就可以使用4G的流量上網了。
7 如何編譯FriendlyCore系統(tǒng)
7.1 使用開源社區(qū)主線BSP
NEO現(xiàn)已支持使用Linux-4.14內核,并使用Ubuntu Core 16.04,關于H3芯片系列開發(fā)板使用主線U-boot和Linux-4.14的方法,請參考維基:
Building U-boot and Linux for H5/H3/H2+/zh7.2 使用全志原廠BSP
7.2.1 準備工作
訪問此處
下載地址的sources/nanopi-h3-bsp目錄,下載所有壓縮文件,使用7-Zip工具解壓后得到lichee目錄和android目錄,請務必保證這2個目錄位于同一個目錄中,如下:
$ ls ./android lichee
也可以從github上克隆lichee源碼:
$ git clone https://github.com/friendlyarm/h3_lichee.git lichee
注:lichee是全志為其CPU的板級支持包所起的項目名稱,里面包含了U-boot,Linux等源碼和眾多的編譯腳本。
7.2.2 安裝交叉編譯器
訪問此處
下載地址的toolchain目錄,下載交叉編譯器gcc-linaro-arm.tar.xz,將該壓縮包放置在lichee/brandy/toochain/目錄下即可,無需解壓。
7.2.3 編譯lichee源碼
編譯全志 H3 的BSP源碼包必須使用64bit的Linux PC系統(tǒng),并安裝下列軟件包,下列操作均基于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
編譯lichee源碼包,執(zhí)行命令:
$ cd lichee/fa_tools$ ./build.sh -b nanopi-neo -p linux -t all
該命令會一次性編譯好U-boot、Linux內核和模塊。
lichee目錄里內置了交叉編譯器,當進行源碼編譯時,會自動使用該內置的編譯器,所以無需手動安裝編譯器。
下列命令可以更新TF卡上的U-boot:
$ cd lichee/fa_tools/$ ./fuse.sh -d /dev/sdX -p linux -t u-boot
/dev/sdX請?zhí)鎿Q為實際的TF卡設備文件名。
內核boot.img和驅動模塊均位于linux-3.4/output目錄下,將boot.img拷貝到TF卡的boot分區(qū)的根目錄即可更新內核。
7.2.4 編譯U-boot
注意: 必須先完整地編譯整個lichee目錄后,才能進行單獨編譯U-boot的操作。如果你想單獨編譯U-boot,可以執(zhí)行命令:
$ cd lichee/fa_tools/$ ./build.sh -b nanopi-neo -p linux -t u-boot
下列命令可以更新TF卡上的U-boot:
$ cd lichee/fa_tools/$ ./fuse.sh -d /dev/sdX -p linux -t u-boot
/dev/sdX請?zhí)鎿Q為實際的TF卡設備文件名。
7.2.5 編譯Linux內核
注意: 必須先完整地編譯整個lichee目錄后,才能進行單獨編譯Linux內核的操作。如果你想單獨編譯Linux內核,可以執(zhí)行命令:
$ cd lichee/fa_tools/$ ./build.sh -b nanopi-neo -p linux -t kernel
編譯完成后內核boot.img和驅動模塊均位于linux-3.4/output目錄下,將boot.img拷貝到TF卡的boot分區(qū)的根目錄即可。
7.2.6 清理lichee源碼
$ cd lichee/fa_tools/$ ./build.sh -b nanopi-neo -p linux -t clean
8 更多OS
8.1 DietPi
DietPi is a highly optimised & minimal Debian-based Linux distribution. DietPi is extremely lightweight at its core, and also extremely easy to install and use.
Setting up a single board computer (SBC) or even a computer, for both regular or server use, takes time and skill. DietPi provides an easy way to install and run favourite software you choose.
For more information, please visit this link
https://dietpi.com/docs/.
DietPi supports many of the NanoPi board series, you may download the image file from here:
https://dietpi.com/docs/hardware/#nanopi-series-friendlyarm8.2 Armbian
Armbian官方提供了Debian_jessie和Ubuntu_xenial兩個版本,分別是Armbian_5.20_Nanopineo_Debian_jessie_3.4.112和Armbian_5.20_Nanopineo_Ubuntu_xenial_3.4.112。
僅提供給進階愛好者交流使用,不對該系統(tǒng)提供專業(yè)技術支持。
下載鏈接和燒寫步驟請查看Armbian官方網站NEO頁面:
armbian/nanopi-neo/8.3 Android
Android系統(tǒng)是基于Android4.4.2系統(tǒng)移植并支持,該系統(tǒng)為精簡版安卓系統(tǒng),可通過串口登陸。
友善官方僅提供給進階愛好者交流使用,不對該系統(tǒng)提供專業(yè)技術支持。
下載相關軟件及固件
訪問
下載地址的unofficail-ROMs目錄,下載壓縮包nanopi-neo-android.img.zip、SD卡格式化工具HDDLLF.4.40和燒寫工具HDDLLF(tools目錄)。
制作啟動Android的SD卡
(1) 以管理員權限運行HDDLLF.4.40軟件,并且格式化SD卡,格式化后把卡從電腦拔出來;
(2) 再把卡插入電腦,使用Windows自帶的格式化程序把SD卡格式化成FAT32格式,格式化后把卡拔出來;
(3) 最后把卡插入電腦,使用全志的燒錄軟件(PhoenixCard)燒錄Android 固件。
燒寫完成后,將TF卡插入NanoPi NEO,上電即可體驗Android。
登錄賬號:root或fa ; 登錄密碼:fa
Android系統(tǒng)目前僅支持型號為rtl8188etv/rtl8188eu的USB WiFi,即插即用。
9 使用NEO擴展配件及編程示例
9.1 使用1-bay NAS Dock DIY自已的NAS服務器
1-bay NAS Dock是一個用于搭建迷你、小巧的桌上型NAS(Network Attached Storage:網絡附屬存儲)設備的擴展底板,它采用了高速穩(wěn)定的專業(yè)級USB 3.0 to SATA轉換芯片(JSM568), 可直接安裝使用2.5寸小硬盤,并采用TI公司DC-DC芯片實現(xiàn)穩(wěn)定可靠的12V-5V電源轉換,支持板載RTC時鐘備份電池;我們還基于最新主線內核Linux-4.11和Debian-Jessie 為其移植了開源NAS軟件系統(tǒng)OpenMediaVault,另外配上我們專門為其定制的精致噴砂金屬鋁外殼,就能夠快速的搭建屬于你的專用數據存儲服務器,詳見:
1-bay_NAS_Dock9.2 使用Python編程操作NanoHat OLED擴展板
NanoHat OLED是一款精致小巧的單色OLED顯示屏,帶3個按鍵,我們不僅提供了源代碼級驅動,而且為您展現(xiàn)了一個簡單實用的Shell界面, 通過它你可以查看系統(tǒng)時間,系統(tǒng)運行狀態(tài),以及關機等操作;你還可以下載所有源代碼自行修改編譯,設計自己喜歡的界面; 配上我們專門為其定制的全金屬鋁外殼,相信你一定會愛不釋手!詳見:
NanoHat OLED9.3 使用Python編程控制NanoHat Motor 電機驅動模塊
該模塊可驅動四個5V PWM舵機模塊和四個12V直流電機或者兩個12V四線步進電機,詳見:
NanoHat Motor9.4 使用NanoHat PCM5102A 數字音頻解碼模塊
NanoHat PCM5102A采用了TI公司專業(yè)的立體聲DAC音頻芯片PCM5102A,為您提供數字音頻信號完美還原的音樂盛宴, 詳見:
NanoHat PCM5102A9.5 完全兼容的Arduino的UNO Dock擴展板
UNO Dock本身就是一個Arduino UNO,你可以使用Arduino IDE開發(fā)下載運行所有Arduino工程項目;它還是NanoPi NEO的擴展塢,不僅為其提供穩(wěn)定可靠的電源輸入,還可以使用Python編程控制Arduino配件,借助強大的Ubuntu生態(tài)系統(tǒng),快速把你的Arduino項目送上云端,詳見:
UNO Dock for NanoPi NEO v1.09.6 Power Dock 高效的電源轉換模塊
Power Dock for NanoPi NEO是一個高效的電源轉換模塊,能為用電設備提供穩(wěn)定可靠的供電, 詳見:
Power Dock for NanoPi NEO9.7 NanoHat Proto 可堆疊的面包板模塊
NanoHat Proto是一個功能高度自由的模塊, 板載EEPROM,詳見:
NanoHat Proto9.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 TFT10 3D 打印外殼
3D打印外殼下載鏈接11 開發(fā)者指南
定制開發(fā)相關
Building U-boot and Linux for H5/H3/H2+How to Build FriendlyWrtQt dev: How to Build, Install and Setting Qt Application系統(tǒng)映像相關
How to make your own SD-bootable ROMHow to use overlayfs on LinuxEFlasher系統(tǒng)配置相關
npi-configUse NetworkManager to configure network settings硬件訪問相關
WiringNP: NanoPi NEO/NEO2/Air GPIO Programming with CRPi.GPIO : NanoPi NEO/NEO2/Air GPIO Programming with PythonHardware MiscMatrixBakeBitHATs&Docks12 資源鏈接
12.1 手冊原理圖等開發(fā)資料
原理圖
NanoPi-NEO-V1.4-1801-Schematic.pdfNanoPi-NEO-V1.31-1703-Schematic.pdfNanoPi-NEO-V1.3-1702-Schematic.pdfNanoPi-NEO-V1.2-1608-Schematic.pdfNanoPi-NEO-V1.1-1607-Schematic.pdfNanoPi-NEO-1606-Schematic.pdf尺寸圖
NanoPi-NEO-V1.4-1801 pcb的dxf文件NanoPi-NEO-V1.31-1703 pcb的dxf文件NanoPi-NEO-V1.3-1702 pcb的dxf文件NanoPi-NEO-V1.1-1608 pcb的dxf文件NanoPi-NEO-1606 pcb的dxf文件NanoPi-NEO散熱片尺寸圖pdf文件芯片手冊 H3芯片手冊
Allwinner_H3_Datasheet_V1.2.pdf12.2 開發(fā)文檔及教程
12.2.1 使用Python操作硬件模塊開發(fā)教程及代碼
可以和BakeBit - NEO Hub連接使用的模塊如下:
1、
按鍵模塊2、
蜂鳴器模塊3、
綠色LED模塊4、
搖桿模塊5、
LED Bar模塊6、
光敏模塊7、
OLED模塊8、
紅色LED模塊9、
旋轉角度模塊10、
舵機模塊11、
聲音模塊12、
超聲波模塊12.2.2 使用C語言操作硬件模塊開發(fā)教程及代碼
模塊介紹以及開發(fā)文檔:
NanoPi NEO創(chuàng)客秘籍-01按鍵模塊LED模塊模數轉換繼電器模塊三軸重力加速度模塊三軸數字指南針模塊溫度傳感器模塊溫濕度傳感器模塊蜂鳴器搖桿模塊(Joystick)I2C(PCF8574)+LCD1602聲音傳感器超聲波模塊GPS模塊迷你擴展板Matrix - Compact Kit火焰?zhèn)鞲衅?/a>CAM500 500萬像素攝像頭滾珠開關模塊紅外計數模塊紅外接收模塊電機驅動器模塊MQ-2 煙霧傳感器模塊MQ-3 氣體傳感器單點電容式數字觸摸傳感器模塊光敏電阻模塊電位器模塊壓力傳感器模塊RGB LEDRTC模塊Rotary Encoder土壤濕度檢測傳感器模塊熱敏電阻模塊USB WiFi水位/水滴識別檢測傳感器模塊13 硬件更新
NanoPi NEO Version Compare & List(Hardware)
version NanoPi NEO V1.0 NanoPi NEO V1.1 NanoPi NEO V1.2 NanoPi NEO V1.3 NanoPi NEO V1.4
Photo
電源管理部分 ① VDD1V2-SYS由LDO供電
① VDD1V2-SYS由LDO供電 ① VDD1V2-SYS由LDO改為DC/DC供電
(NanoPi NEO V1.2主要改版部分是降低發(fā)熱量) ① VDD1V2-SYSDC/DC供電與V1.2版一致。
⑤ 更換VDD-CPUX供電DC/DC芯片為MP2143DJ以改善發(fā)熱量。 NanoPi NEO V1.4版電源管理部分和V1.3一致
Audio 排針接口 ② NanoPi NEO V1.1/V1.2版相對V1.0版增加了板載Audio部分
② NanoPi NEO V1.1/V1.2版相對V1.0版增加了板載Audio部分
② ④ NanoPi NEO V1.3版相對V1.1/V1.2版交換了Audio接口和Debug_UART接口位置
② 改善了Audio接口錄音質量
② NanoPi NEO V1.4版將Audio接口改成了2.54mm 4Pin排針
12Pin 2.54mm排針定義 ③ NanoPi NEO V1.0版排針定義
③ NanoPi NEO V1.1版相對V1.0版更改了排針定義
③ NanoPi NEO V1.2版和V1.1版排針定義一致
③ NanoPi NEO V1.3版和V1.1/V1.2版排針定義一致
NanoPi NEO V1.4版和V1.1/V1.2/V1.3版排針定義一致
CVBS接口 ③ NanoPi NEO V1.4版增加2Pin 2.54mm CVBS接口
OTG功能 ① NanoPi NEO V1.4版增加了Slave模式電源控制芯片
固定孔 ④ NanoPi NEO V1.4版新增了散熱片固定孔
14 更新日志
注意: 本章節(jié)的描述針對所有的H3/H2+板子,部分硬件相關的功能描述僅支持特定的板子,請優(yōu)先閱讀開發(fā)板對應的維基以確定是否有相關的硬件功能。
2021-06-25
h3 FriendlyCore:
- 升級到 Ubuntu Core 20.04;
2021-04-25
h3 FriendlyCore:
- 修復 Linux 里 spi 驅動相關的 bug;
- 修復 WiringNP 無法操作 GPIOA0 的 bug;
2021-02-24
h3 FriendlyCore:
- 修復 i2s 左右聲道異常交換的 bug;
2019-12-19
- 修復dma驅動里的bug;
- 修復播放音頻前后有爆破聲的問題;
- uboot添加dtb overlay的功能;
2019-11-19
- 修復 H3 OLED-ROM 無顯示的問題;
2019-08-26
h3 OpenWrt:
- 將OpenWrt改名為FriendlyWrt;
- 修改WiFi熱點名稱為FriendlyWrt,并設置連接密碼為password;
- 支持5g usb wifi RTL8821CU;
- 支持華為隨行WiFi 2 mini(E8372H-155);
2019-08-23
h3 FriendlyCore:
- 支持5g usb wifi RTL8821CU/RTL8812AU;
- 支持docker;
- 支持4G 模塊ec20;
h3 eflasher:
- 精簡rootfs,提升啟動速度;
- 支持LED顯示燒寫狀態(tài):快閃表示正在燒寫中,慢閃表示沒有在燒寫;
- windows系統(tǒng)下可以查看FriendlyARM分區(qū),便于拷貝燒寫image-for-eflasher文件;
2019-05-22
OpenWrt系統(tǒng)支持lcd2usb模塊,開機可自動顯示ip地址;
調整CPU DVFS,提升Linux-4.14 系統(tǒng)穩(wěn)定性;
2019-04-25
內核從4.14.52升級到4.14.111;
Linux-4.14 的ROM啟用overlayfs,降低異常關機rootfs損壞的概率;
所有H3/H2+的板子都添加OpenWrt的ROM;
使能Linux-4.14 R8188EU、R8712U、SCSI相關配置項;
提升Linux-4.14 WiFi AP模式的穩(wěn)定性;
提升Linux-4.14 系統(tǒng)穩(wěn)定性;
2019-03-19
NanoPi M1-Plus/NEO-Air支持OpenWrt;
2019-03-05
NanoPi M1-Plus/M1/NEO/NEO-Air/NEO-Core的Linux-4.14 FriendlyCore系統(tǒng)支持USB WiFi rtl8188eu,首次上傳H3 FriendlyCore rootfs壓縮包;
2019-01-21
NanoPi Duo2的Linux-4.14 FriendlyCore系統(tǒng)添加測試SIM800C模塊的Python demo程序;
NanoPi Duo2發(fā)布Linux-4.14 FriendlyCore系統(tǒng)的rootfs壓縮包;
2019-01-15
修復NanoPi Duo2 FriendlyCore系統(tǒng)第一次啟動時藍牙無法使用的bug;
NanoPi Duo2的Linux-4.14 FriendlyCore系統(tǒng)支持USB WiFi rtl8188eu;
2018-12-03
首次為NanoPi Duo2適配Linux-3.4內核;
2018-11-29
修復M1 Plus Android源碼編譯出來的Anroid鏡像無法打開WiFi的Bug;
2018-11-20
提升系統(tǒng)的穩(wěn)定性;
2018-10-24
H3開發(fā)板的Linux-3.4內核支持更多型號的eMMC;
2018-10-11
Linux-4.14 ov5640攝像頭支持自動對焦;
規(guī)范images-for-eflasher的命名;
2018-09-19
規(guī)范系統(tǒng)固件的名稱;
eflasher支持通過命令行方式備份和還原eMMC;
2018-07-30
NanoPi M1 / NanoPi M1 Plus的Android系統(tǒng)支持調整HDMI分辨率和HDMI畫面大??;
添加TF卡脫機燒寫Android系統(tǒng)到eMMC的說明章節(jié);
2018-07-11
光盤里添加非官方開發(fā)和維護的ROM: DietPi;
2018-06-28
mjpg-streamer支持在指定的framebuffer上顯示攝像頭數據;
升級Linux4.14.0到Linux4.14.52;
Linux4.14.52內核支持I2S0 + PCM5102A;
2018-06-25
U-boot會打印啟動設備的名稱,例如: Boot device: emmc;
Linux-4.14支持攝像頭Cam500B;
提高eflasher系統(tǒng)的穩(wěn)定性,并且支持備份和還原emmc;
2018-05-11
Linux內核回退到LTS版本: 4.14;
4.14內核使能看門狗;
4.14內核使能紅外接收;
4.14內核使能MicroUSB的OTG功能;
U-boot不再打印CPU ID, 4.14內核提供讀CPU ID的接口(/sys/bus/nvmem/devices/sunxi-sid0/nvmem);
2018-04-10
H3/H2+系列開發(fā)板
升級Linux到4.16.0版本
Mainline U-boot and Linux;
支持DVP接口的攝像頭
Matrix - CAM500B;
支持I2S+
NanoHat PCM5102A;
支持HDMI音頻輸出;
使能看門狗;
使能紅外接收;
使能MicroUSB的OTG功能;
發(fā)布默認使能
Matrix - 2'8 SPI Key TFT的ROM;
完善
Npi-config,支持選擇顯示/聲卡設備;
維基添加IR/watchdog說明章節(jié);
2018-01-24
ROM(Linux-4.x內核):
WiFi-ap6212支持切換為ap模式;
2017-12-20
Android系統(tǒng)(Linux-3.x內核):
支持WiFi softap 模式;
2017-12-19
OLED-ROM修復sources.list異常的問題;
2017-12-13
Debian和FriendlyCore系統(tǒng)(Linux-4.x內核):
設置Micro USB的功能為Host,OTG驅動有bug;
2017-12-08
Debian和FriendlyCore系統(tǒng)(Linux-4.x內核):
升級Uboot到2017.11版本;
升級Linux內核到4.14版本;
Linux內核使能PPP相關的配置項;
支持HDMI音頻輸出;
修復以太網LED顯示異常的問題;
2017-07-05
Debian和FriendlyCore系統(tǒng):
使用NetworkManager作為網絡管理工具;
優(yōu)化內存使用策略,提升系統(tǒng)穩(wěn)定性;
Linux-4.11:
支持I2S0和NanoHat PCM5102A;
支持Matrix-2'8_SPI_Key_TFT;
2017-06-08
添加Linux-4.x和Linux-3.x系統(tǒng)固件差異的說明
添加FriendlyCore系統(tǒng)的使用說明
簡化Linux-3.x的BSP的編譯操作;
2017-05-31
Debian和FriendlyCore系統(tǒng)(Linux-3.x內核):
修復DVP攝像頭cam500B無法使用ffmpeg錄制視頻的問題;
2017-05-25
發(fā)布NAS-ROM;
2017-05-23
Android系統(tǒng)(Linux-3.x內核):
修復千兆以太網/WiFi/BT無法使用的問題;
2017-05-19
Debian和FriendlyCore系統(tǒng)(Linux-4.x內核):
支持通過npi-config使能/禁止i2c/spi/serial/pwm;
支持通過WiringNP來控制gpio引腳;
支持通過擴展3.5mm耳機孔錄制和播放音頻;
支持市面上大多數USB以太網卡/USB WiFi網卡;
支持串口打印內核啟動信息;
支持軟件生成唯一MAC地址功能;
支持使用Bakebit套件;
修復系統(tǒng)啟動時歡迎界面溫度顯示異常的問題;
發(fā)布oled-ROM;
2017-04-18
FriendlyCore系統(tǒng):
修改了登錄歡迎界面,登錄時會打印系統(tǒng)的基本狀態(tài)信息;
增加 npi-config 工具;
采用NetworkManager作為網絡管理工具;
新增pi用戶,配置為自動登錄;
2017-03-01
發(fā)布基于U-boot-2017.x和Linux-4.x.y源碼的ROM,和基于Linux-3.x的ROM共用Debianx和FriendlyCore文件系統(tǒng);
2017-02-28
Debian和FriendlyCore系統(tǒng)(Linux-3.x內核):
支持以太網使用唯一MAC地址的功能;
2017-02-27
Debian和FriendlyCore系統(tǒng)(Linux-3.x內核):
ROM支持WiFi芯片AP6212A;
2017-02-20
FriendlyCore系統(tǒng)(Linux-3.x內核):
添加nano編輯器;
解決“unable to resolve host FriendlyARM”的問題;
將fa用戶添加到sudoers中;
2017-01-22
FriendlyCore系統(tǒng)(Linux-3.x內核):
版本號從15.10升級到16.04;
eflasher系統(tǒng)
支持命令行燒寫系統(tǒng)到eMMC;
2017-01-20
Linux-3.x-BSP源碼:
將H3 BSP代碼分為lichee和android兩部分,并精簡lichee目錄;
更新H3 BSP里的交叉編譯器,解決該編譯器無法編譯應用程序的問題;
完善OV5640驅動和視頻采集程序Mjpg-streamer,支持更多的視頻采集格式;
支持fastboot更新U-boot;
Debian系統(tǒng):
支持通過rpi-monitor檢測系統(tǒng)狀態(tài);
Debian和Ubuntu-core系統(tǒng)
支持第一次開機自動擴展文件系統(tǒng),并且修復文件系統(tǒng);
2016-12-13
FriendlyCore系統(tǒng)(Linux-3.x內核):
支持通過rpi-monitor檢測系統(tǒng)狀態(tài);
支持聲卡配件NanoHat-PCM5102A;
2016-12-08
Linux-3.x-BSP源碼:
修復Android系統(tǒng)源碼編譯失敗的問題;
提供一個快速編譯Android系統(tǒng)的腳本;
Android系統(tǒng)(Linux-3.x內核):
添加了系統(tǒng)應用Gallery,可用于播放視頻(含4K)和瀏覽圖片;
添加了應用ESFileExplorer,可用于瀏覽文件;
2016-09-07
Debian和FriendlyCore系統(tǒng)(Linux-3.x內核):
支持攝像頭模塊CAM500A,集成mjpg-strearmer和ffmpeg以便于測試;
Debian和FriendlyCore系統(tǒng)(Linux-3.x內核):
支持顯示bootlogo;
2016-08-04
FriendlyCore系統(tǒng)(Linux-3.x內核):
支持市面上常見的USB WiFi模塊;
2016-07-28
Android系統(tǒng)(Linux-3.x內核):
增加以太網的設置界面,可配置使用StaticIP或DHCP方式連接有線網絡;
2016-07-04
FriendlyCore系統(tǒng)(Linux-3.x內核):
降低發(fā)熱量;
Debian系統(tǒng)(Linux-3.x內核):
增加不輸出hdmi的script.bin,降低發(fā)熱量,支持麥穗配件;
2016-06-28
發(fā)布FriendlyCore系統(tǒng),該系統(tǒng)是基于UbuntuCore定制而來的;
2016-05-05
支持Armbian;
支持OpenWRT;
修復Linux-3.x內核容易被root的問題;
2016-04-25
更新資源特性, "DDR3 RAM: 512MB" 改為 "DDR3 RAM: 512MB/1GB";
更新機械尺寸為最新版本(1603B);
添加1603B的dxf文件和原理圖到資源鏈接;
2016-04-20
Android系統(tǒng)(Linux-3.x內核):
支持紅外遙控器RC-100;
支持USB WiFi,型號包括rtl8188etv/rtl8188eu;
修復第2個USB HOST口無法使用的問題;
Debian和Android系統(tǒng)(Linux-3.x內核):
支持UART1;
2016-04-13
Debian系統(tǒng)(Linux-3.x內核):
默認分辨率修改為720P-60Hz;
添加512MB swap虛擬內存;
支持sys子系統(tǒng)操作GPIO;
支持市面上常見的USB WiFi模塊;
支持市面上常見的USB轉串口模塊;
增加實用小工具fs_resize\video-play\cpu-freq;
Android系統(tǒng)(Linux-3.x內核):
增加開機藍色LED閃爍功能;
Debian和Android系統(tǒng)(Linux-3.x內核):
支持2級動態(tài)電壓調節(jié),優(yōu)化高負載時的功耗;
發(fā)布Android源代碼和更新lichee源碼;
2016-04-07
首次發(fā)布H3板子的維基;