要開啓你的NanoPi NEO新玩具,請先準備好以下硬件
製作啓動NanoPi NEO的TF卡時,建議Class10或以上的 8GB SDHC卡。以下是經友善之臂測試驗證過的高速TF卡:
首先訪問下載地址下載需要的固件文件(officail-ROMs目錄)和燒寫工具(tools目錄):
使用以下固件: | |
nanopi-neo_friendlycore-xenial_3.4.y_YYYYMMDD.img.zip | 基於UbuntuCore構建的FriendlyCore系統固件,使用Linux-3.4.y內核 |
nanopi-neo_friendlycore-xenial_4.x.y_YYYYMMDD.img.zip | 基於UbuntuCore構建的FriendlyCore系統固件,使用Linux-4.x.y內核 |
nanopi-neo_debian-nas-jessie_4.x.y_YYYYMMDD.img.zip | NAS系統固件,使用Linux-4.x.y內核,配合1-bay NAS Dock使用 |
nanopi-neo_ubuntu-oled_4.x.y_YYYYMMDD.img.zip | OLED系統固件,使用Linux-4.x.y內核,配合NanoHat OLED使用 |
燒寫工具: | |
win32diskimager.rar | Windows平臺下的系統燒寫工具,Linux平臺下可以用dd命令燒寫系統 |
FriendlyCore,是一個沒有X-windows環境,基於Ubuntu core構建的系統,使用Qt-Embedded作爲圖形界面的輕量級系統,兼容Ubuntu系統軟件源,非常適合於企業用戶用作產品的基礎OS。
本系統除了保留Ubuntu Core的特性以外,還包括以下特性:
以下是串口配件的接法,接上串口,即可調試。
接上串口後,你可以選擇從串口模塊的DC口或者從MicroUSB口 (如果有) 進行供電:
也可以使用USB轉串口模塊調試,請注意需要使用5V/2A電源給開發板MicroUSB供電:
普通用戶:
用戶名: pi 密碼: pi
Root用戶:
用戶名: root 密碼: fa
默認會以 pi 用戶自動登錄,你可以使用 sudo npi-config 命令取消自動登錄。
$ sudo apt-get update
npi-config是一個命令行下的系統配置工具,可以對系統進行一些初始化的配置,可配置的項目包括:用戶密碼、系統語言、時區、Hostname、SSH開關、自動登錄選項等,在命令行執行以下命令即可進入:
$ sudo npi-config
請參考 How to build Qt application
使用npi-config工具進行開啓:
sudo npi-config
進入Boot Options -> Autologin -> Qt/Embedded,選擇Enable然後重啓即可。
第一次啓動FriendlyCore系統時,系統會自動擴展文件系統分區,請耐心等待,TF卡/eMMC的容量越大,需要等待的時間越長,進入系統後執行下列命令查看文件系統分區大小:
df -h
FriendlyCore 使用 NetworkManager 工具來管理網絡,其在命令行下對應的命令是 nmcli,要連接WiFi,相關的命令如下:
$ sudo nmcli dev
注意,如果列出的設備狀態是 unmanaged 的,說明網絡設備不受NetworkManager管理,你需要清空 /etc/network/interfaces下的網絡設置,然後重啓.
$ sudo nmcli r wifi on
$ sudo nmcli dev wifi
$ sudo nmcli dev wifi connect "SSID" password "PASSWORD"
請將 SSID和 PASSWORD 替換成實際的 WiFi名稱和密碼。
連接成功後,下次開機,WiFi 也會自動連接。
更詳細的NetworkManager使用指南可參考這篇文章: Use NetworkManager to configure network settings
系統已經支持市面上衆多常見的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 |
默認插上網線開機,會自動連接並通過DHCP獲取IP地址,如需要配置靜態IP地址,請參考 NetworkManager 的相關文檔: Use NetworkManager to configure network settings。
如果你的開發闆闆載有藍牙模塊,可輸入以下命令搜索周邊的藍牙設備:
hcitool scan
使用hciconfig命令來了解接口的狀態。
系統默認接HDMI或者3.5mm耳機座沒有輸出聲音,因爲系統缺省沒安裝聲音部分的安裝包。如希望HDMI或者3.5mm耳機座接音頻設備輸出聲音,需要給系統安裝上缺省的alsa包。
$ apt-get update $ apt-get install libasound2 $ apt-get install alsa-base $ apt-get install alsa-utils
$ aplay /root/Music/test.wav
查看系統當前所有的聲卡設備的***。這裏假設aplay的輸出如下, 並不是真實情況, 請根據實際情況進行相對應的修改:
$ aplay -l card 0: 3.5mm codec card 1: HDMI
上面的信息表示card 0代表3.5mm耳機孔,card 1代表HDMI音頻, 修改配置文件/etc/asound.conf如下:
pcm.!default { type hw card 1 device 0 } ctl.!default { type hw card 1 }
設置完成後需要重啓系統HDMI即可輸出聲音。
CAM500B是一款500萬像素攝像頭模塊,以DVP並行信號輸出,詳細信息請參考Matirx-CAM500B。
連接開發板和CAM500B,然後上電啓動系統,連接網絡,以root用戶登錄終端並編譯運行mjpg-streamer:
$ cd /root/mjpg-streamer $ make $ ./start.sh
mjpg-streamer是一個開源的網絡視頻流服務器,在板子上成功運行mjpg-streamer後會打印下列信息:
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
假設開發板的IP地址爲192.168.1.230,在PC的瀏覽器中輸入 192.168.1.230:8080 就能瀏覽攝像頭採集的畫面了,效果如下:
mjpg-streamer是用libjpeg對攝像頭數據進行軟編碼,Linux-4.x內核的ROM目前並不支持視頻硬編碼, 但是如果使用Linux-3.x內核的ROM的話, 則可以使用ffmpeg對攝像頭數據進行硬編碼,這樣能大大降低CPU的佔用率並提高編碼速度:
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4
默認會錄製30秒的視頻,輸入q能終止錄製。錄製完成後會在當前目錄生成一個名爲test.mp4的視頻文件,可將其拷貝到PC上進行播放驗證。
FA-CAM202是一款200萬像素的USB攝像頭模塊, 連接測試USB攝像頭的方法請參考 <連接DVP攝像頭模塊(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 ...
在串口終端執行如下命令,可以快速地獲取CPU的當前溫度和運行頻率等信息:
$ cpu_freq
系統裏已經集成了Rpi-Monitor,該服務允許用戶在通過瀏覽器查看開發板系統狀態。
假設開發板的IP地址爲192.168.1.230,在PC的瀏覽器中輸入下述地址:
192.168.1.230:8888
可以進入如下頁面:
用戶可以非常方便地查看到系統負載、CPU的頻率和溫度、可用內存、SD卡容量等信息。
使用下列命令可以測試看門狗功能:
$ 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秒之後重啓。
使用下列命令可以測試紅外接收:
$ 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).
wiringPi庫最早是由Gordon Henderson所編寫並維護的一個用C語言寫成的類庫,除了GPIO庫,還包括了I2C庫、SPI庫、UART庫和軟件PWM庫等,由於wiringPi的API函數和arduino非常相似,這也使得它廣受歡迎。 wiringPi庫除了提供wiringPi類庫及其頭文件外,還提供了一個命令行工具gpio:可以用來設置和讀寫GPIO管腳,以方便在Shell腳本中控制GPIO管腳。
我們在FriendlyCore系統中集成了這個工具以便客戶測試GPIO管腳。詳細信息請參看 WiringNP
執行以下命令:
$ sudo /opt/QtE-Demo/run.sh
運行結果如下,這是一個開源的QtDemo:
NEO現已支持使用Linux-4.x.y內核,並使用Ubuntu Core 16.04,關於H3芯片系列開發板使用主線U-boot和Linux-4.x.y的方法,請參考維基:Mainline U-boot & Linux
訪問此處下載地址的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等源碼和衆多的編譯腳本。
訪問此處下載地址的toolchain目錄,下載交叉編譯器gcc-linaro-arm.tar.xz,將該壓縮包放置在lichee/brandy/toochain/目錄下即可,無需解壓。
編譯全志 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
編譯lichee源碼包,執行命令:
$ 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請替換爲實際的TF卡設備文件名。
內核boot.img和驅動模塊均位於linux-3.4/output目錄下,將boot.img拷貝到TF卡的boot分區的根目錄即可更新內核。
注意: 必須先完整地編譯整個lichee目錄後,才能進行單獨編譯U-boot的操作。 如果你想單獨編譯U-boot,可以執行命令:
$ 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請替換爲實際的TF卡設備文件名。
注意: 必須先完整地編譯整個lichee目錄後,才能進行單獨編譯Linux內核的操作。 如果你想單獨編譯Linux內核,可以執行命令:
$ cd lichee/fa_tools/ $ ./build.sh -b nanopi-neo -p linux -t kernel
編譯完成後內核boot.img和驅動模塊均位於linux-3.4/output目錄下,將boot.img拷貝到TF卡的boot分區的根目錄即可。
$ cd lichee/fa_tools/ $ ./build.sh -b nanopi-neo -p linux -t clean
DietPi身輕如燕,鏡像文件最小隻有400M 字節(只是Raspbian Lite的三分之一)。系統存儲操作及進程對資源的佔用非常少,並且預裝DietPi-RAMlog工具。這些特性使得用戶能最大程度地發揮設備本身的性能。
僅提供給進階愛好者交流使用,不對該系統提供專業技術支持。
燒寫步驟:
登錄賬號:root; 登錄密碼:dietpi
Armbian官方提供了Debian_jessie和Ubuntu_xenial兩個版本,分別是Armbian_5.20_Nanopineo_Debian_jessie_3.4.112和Armbian_5.20_Nanopineo_Ubuntu_xenial_3.4.112。
僅提供給進階愛好者交流使用,不對該系統提供專業技術支持。
Android系統是基於Android4.4.2系統移植並支持,該系統爲精簡版安卓系統,可通過串口登陸。
友善官方僅提供給進階愛好者交流使用,不對該系統提供專業技術支持。
訪問下載地址的unofficail-ROMs目錄,下載壓縮包nanopi-neo-android.img.zip、SD卡格式化工具HDDLLF.4.40和燒寫工具HDDLLF(tools目錄)。
(1) 以管理員權限運行HDDLLF.4.40軟件下載地址,並且格式化SD卡,格式化後把卡從電腦拔出來;
(2) 再把卡插入電腦,使用Windows自帶的格式化程序把SD卡格式化成FAT32格式,格式化後把卡拔出來;
(3) 最後把卡插入電腦,使用全志的燒錄軟件(PhoenixCard)燒錄Android 固件。
燒寫完成後,將TF卡插入NanoPi NEO,上電即可體驗Android。
登錄賬號:root或fa ; 登錄密碼:fa
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
NanoHat OLED是一款精緻小巧的單色OLED顯示屏,帶3個按鍵,我們不僅提供了源代碼級驅動,而且爲您展現了一個簡單實用的Shell界面, 通過它你可以查看系統時間,系統運行狀態,以及關機等操作;你還可以下載所有源代碼自行修改編譯,設計自己喜歡的界面; 配上我們專門爲其定製的全金屬鋁外殼,相信你一定會愛不釋手!詳見:NanoHat OLED
該模塊可驅動四個5V PWM舵機模塊和四個12V直流電機或者兩個12V四線步進電機,詳見:NanoHat Motor
NanoHat PCM5102A採用了TI公司專業的立體聲DAC音頻芯片PCM5102A,爲您提供數字音頻信號完美還原的音樂盛宴, 詳見:NanoHat PCM5102A
UNO Dock本身就是一個Arduino UNO,你可以使用Arduino IDE開發下載運行所有Arduino工程項目;它還是NanoPi NEO的擴展塢,不僅爲其提供穩定可靠的電源輸入,還可以使用Python編程控制Arduino配件,藉助強大的Ubuntu生態系統,快速把你的Arduino項目送上雲端,詳見:UNO Dock for NanoPi NEO v1.0
Power Dock for NanoPi NEO是一個高效的電源轉換模塊,能爲用電設備提供穩定可靠的供電, 詳見:Power Dock for NanoPi NEO
NanoHat Proto是一個功能高度自由的模塊, 板載EEPROM,詳見:NanoHat Proto
Matrix-2'8_SPI_Key_TFT模塊是一款2.8英寸的TFT 觸摸LCD,模塊採用ST7789S驅動IC和XPT2046電阻式觸摸IC,屏幕分辨率爲240*320,採用SPI控制接口,模塊還包含3個獨立按鍵,可根據需要自定義功能。詳見:Matrix - 2'8 SPI Key TFT
可以和BakeBit - NEO Hub連接使用的模塊如下:
version | NanoPi NEO V1.0 | NanoPi NEO V1.1 | NanoPi NEO V1.2 | NanoPi NEO V1.3 |
Photo | ||||
電源管理部分 | ① VDD1V2-SYS由LDO供電 | ① VDD1V2-SYS由LDO供電 | ① VDD1V2-SYS由LDO改爲DC/DC供電 (NanoPi NEO V1.2主要改版部分是降低發熱量) |
① VDD1V2-SYSDC/DC供電與V1.2版一致。 ⑤ 更換VDD-CPUX供電DC/DC芯片爲MP2143DJ以改善發熱量。 |
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接口錄音質量 |
|
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版排針定義一致 |