香橙派AIpro部署邊緣端夜鶯監(jiān)控
最近入手了一塊香橙派 AIpro,目前體驗下來可玩性還是很高的,通過文章記錄下來整個過程體驗過程。硬件信息硬件簡介
正如香橙派官方給出的介紹。
技術路線硬件參數OrangePi AIpro(8-12T)采用昇騰AI技術路線,具體為4核64位處理器+AI處理器,集成圖形處理器,支持8-12TOPS AI算力,擁有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模塊,支持雙4K高清輸出。Orange Pi AIpro引用了相當豐富的接口,包括兩個HDMI輸出、GPIO接口、Type-C電源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆網口、兩個USB3.0、一個USB Type-C 3.0、一個Micro USB(串口打印調試功能)、兩個MIPI攝像頭、一個MIPI屏等,預留電池接口,可廣泛適用于AI邊緣計算、深度視覺學習及視頻流AI分析、視頻圖像分析、自然語言處理、智能小車、機械臂、人工智能、無人機、云計算、AR/VR、智能安防、智能家居等領域,覆蓋 AIoT各個行業(yè)。Orange Pi AIpro支持Ubuntu、openEuler操作系統(tǒng),滿足大多數AI算法原型驗證、推理應用開發(fā)的需求。
以下是開發(fā)板對應的硬件規(guī)格參數(來自官方提供的用戶使用手冊)。
到手實拍香橙派 AIpro 開發(fā)板到手之后,設備整體感官上,設備比較小巧,攜帶比較方便。
接口詳情圖應用場景相關資源香橙派官方可廣泛適用于AI教學實訓、AI算法驗證、智能小車、機械臂、邊緣計算、無人機、人工智能、云計算、AR/VR、智能安防、智能家居、智能交通等領域。
下載資源頁面外殼及散熱器安裝資料官方工具用戶手冊原理圖機械圖Linux源碼
昇騰論壇香橙派AIpro快速上手指南香橙派AIpro學習資源一站式導航
開箱使用準備工作電源、電源線(雙Typ-C)、USB鼠標鍵盤、個人主機一臺(Windows)、Micro-Usb 數據線(自備)、顯示器、HDMI2.0接口線一根。
上電準備拿到設備,請不要著急給設備通電,需要有如下幾個注意事項(官方提供的用戶手冊中有部分說明):
網絡外置元件避免與板面重合板子正面的網絡外置元件拆開時,是折疊在板子背面的,使用時需要將這個元件展開,不與板面重合,避免因為通電時,元件與板面過電導致短路。
確認系統(tǒng)讀取引導為SD 讀取
確認設備與電源線完好能上電1)電源空插帶電插座一段,十幾秒后拔掉;2)插上電源線,另一頭插香橙派 AI pro 開發(fā)板;3)插上后,若電源指示燈閃爍并風扇轉動則表示電源、電源線以及設備能夠加電。
選擇合適的HDMI口接入顯示器,依據系統(tǒng)選擇HDMI口,存在兩個口,對于預裝系統(tǒng)為Linux系列時,為避免麻煩,可以直接選擇連接HDMI0。
開發(fā)板為上電自啟,剛啟動時,小風扇的聲音會稍大一些,待系統(tǒng)運行穩(wěn)定后,會進入正常運行狀態(tài),基本就聽不到聲音。
開發(fā)板狀態(tài)上電后,香橙派 AIpro 開發(fā)板上的指示燈,電源燈會常亮,待系統(tǒng)運行后,另一個信號燈會亮起,效果如下:
連接設備方式一、顯示器直連最簡單的方式莫過于,直接給香橙派 AIpro 接上HDMI線,另一頭插一個顯示器,在操作系統(tǒng)用戶界面中進行相關操作。接上顯示器,插上電源,等待上電后,兩個指示燈亮起,顯示器屏幕出現需要輸入賬戶和密碼,系統(tǒng)燒寫時,配置賬戶默認為HwHiAiUser,對應秘鑰為Mind@123,登錄成功后,進入系統(tǒng)操作頁面。
方式二、Micro Usb 數據線串口連接使用MobaXterm個人版進行連接,這個工具官方推薦,支持的多種連接方式,其中包括SSH、COM口。插上數據線后,解壓軟件,啟動MobaXterm。創(chuàng)建會話,選擇加載的串口。選擇波特率為115200。連接香橙派 AIpro,輸入賬戶(HwHiAiUser)和密碼(Mind@123)。這種單一通過Micro Usb 數據線方式雖然簡單,但是很多功能會因此受限,例如上傳文件,適合用于其他網絡方式連接前的準備工作。
方式三、Micro Usb 數據線方式+網絡直連通過網線連接主機和香橙派 AIpro。通過Micro Usb 數據線方式(方式二),用MobaXterm進行登錄,連接到香橙派 AIpro 開發(fā)板,用于配置固定IP。查看當前運行中網絡接口。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli con show NAME UUID TYPE DEVICE Wired connection 1 616cb837-629c-3926-81cb-cb4c91d86aa5 ethernet --
此時,可以看到網絡接口并未關聯設備。查看ipconfig,可以知道eth0 為對應的有線網卡。
[HwHiAiUser@orangepiaipro ~]$ ifconfig eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether c0:74:2b:fe:3b:9d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 10 bytes 1612 (1.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10 bytes 1612 (1.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 92:bb:ab:5f:49:4b txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看對應網絡連接,相關配置信息。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli con show "Wired connection 1"|grep ipv4. ipv4.method: auto ipv4.dns: -- ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 0 ipv4.addresses: -- ipv4.gateway: -- ipv4.routes: -- ipv4.route-metric: -1 ipv4.route-table: 0 (unspec) ipv4.routing-rules: -- ipv4.ignore-auto-routes: no ipv4.ignore-auto-dns: no ipv4.dhcp-client-id: -- ipv4.dhcp-iaid: -- ipv4.dhcp-timeout: 0 (default) ipv4.dhcp-send-hostname: yes ipv4.dhcp-hostname: -- ipv4.dhcp-fqdn: -- ipv4.dhcp-hostname-flags: 0x0 (none) ipv4.never-default: no ipv4.may-fail: yes ipv4.required-timeout: -1 (default) ipv4.dad-timeout: -1 (default) ipv4.dhcp-vendor-class-identifier: -- ipv4.dhcp-reject-servers: --
手動為"Wired connection 1"設置一個IP、網關以及網絡掩碼。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli con mod "Wired connection 1" ipv4.addresses "192.168.37.100/22" ipv4.gateway "192.168.37.1" ipv4.dns "8.8.8.8" ipv4.method "manual"
再次查看網絡接口信息。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli con show "Wired connection 1"|grep ipv4. ipv4.method: manual ipv4.dns: 8.8.8.8 ipv4.dns-search: -- ipv4.dns-options: -- ipv4.dns-priority: 0 ipv4.addresses: 192.168.37.100/22 ipv4.gateway: 192.168.37.1
嘗試啟動Wired connection 1時,反饋如下。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli con up "Wired connection 1" sudo nmcli con up "Wired connection 1" Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
查看對應ifconfig 時,eth0 出現對應的ip 地址。
[HwHiAiUser@orangepiaipro ~]$ ifconfig eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.37.100 netmask 255.255.252.0 broadcast 192.168.39.255 inet6 fe80::87be:7177:1316:5c4d prefixlen 64 scopeid 0x20<link> ether c0:74:2b:fe:3b:9d txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
配置主機網絡,為避免個人主機之前配置過固定IP,可以先配置為自動獲取,之后再執(zhí)行一下操作。配置Ipv4,設置IP網絡為手動,IP 不與 香橙派 AIpro相同,此處為192.168.37.101,具體配置如下,特別需要注意,如果本地網絡較為復雜,可以直接指定默認網關為 香橙派 AIpro的固定IP,此處為192.168.37.100。配置之后,以此點擊確定到第一個以太網狀態(tài)窗口,等待一分鐘左右,若配置成功,則能夠看到數據的發(fā)送和接收均有數據變化。通過cmd 命令窗口,查看ipconfig,可以看到如下輸出,標識個人主機網絡配置成功。
ipconfig 以太網適配器 以太網: 連接特定的 DNS 后綴 . . . . . . . : 本地鏈接 IPv6 地址. . . . . . . . : fe80::601d:340e:bfbe:6ff8%22 IPv4 地址 . . . . . . . . . . . . : 192.168.37.101 子網掩碼 . . . . . . . . . . . . : 255.255.255.0 默認網關. . . . . . . . . . . . . : 192.168.37.100
在個人主機發(fā)送中,向香橙派 AIpro數據包,如果收到反饋,則表示,網絡直連配置成功。
>ping 192.168.37.100 正在 Ping 192.168.37.100 具有 32 字節(jié)的數據: 來自 192.168.37.100 的回復: 字節(jié)=32 時間<1ms TTL=64 來自 192.168.37.100 的回復: 字節(jié)=32 時間=1ms TTL=64 來自 192.168.37.100 的回復: 字節(jié)=32 時間=1ms TTL=64 來自 192.168.37.100 的回復: 字節(jié)=32 時間<1ms TTL=64 192.168.37.100 的 Ping 統(tǒng)計信息: 數據包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失), 往返行程的估計時間(以毫秒為單位): 最短 = 0ms,最長 = 1ms,平均 = 0ms
打開MobaXterm,創(chuàng)建SSH 會話,指定Remote host 為香橙派 AIpro的IP,指定賬戶為HwHiAiUser。設置會話顯示名稱并點擊確定。雙擊創(chuàng)建的目標會話,輸入對應的賬戶秘鑰(默認)Mind@123。點擊確定。登錄成功。
方式四、Micro Usb數據線方式+WIFI連接通過Micro Usb 數據線連接,使用ModaXterm 進行訪問,配置無線WIFI。
通過nmcli 命令行掃描WIFI,查找到目標目標WIFI 為Custom2。
[HwHiAiUser@orangepiaipro ~]$ nmcli dev wifi IN-USE BSSID SSID MODE CHAN RATE > 14:46:58:51:FC:C1 CU_uUV3 Infra 2 130 Mbit/s> 22:57:89:E2:0D:6A Custom2 Infra 1 270 Mbit/s>
連接Comstom2,并輸入連接密碼,確保密碼是正確的,如果總是超時,可以多試幾次。
[HwHiAiUser@orangepiaipro ~]$ sudo nmcli dev wifi connect "Comstom2" password wifi_password Device 'wlan0' successfully activated with 'ca54f6d0-2217-446d-9a7a-7d6783a437ff'.
查看對應wlan0相關網絡配置如下:
[HwHiAiUser@orangepiaipro ~]$ ip a s wlan0 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 7c:88:99:ff:70:d6 brd ff:ff:ff:ff:ff:ff inet 192.168.3.27/24 brd 192.168.3.255 scope global dynamic noprefixroute wlan0 valid_lft 86247sec preferred_lft 86247sec inet6 fe80::5cc6:c9fb:b2e6:b775/64 scope link noprefixroute valid_lft forever preferred_lft forever
使用MobaXterm 進行SSH 訪問連接,其中192.168.3.27 為開發(fā)板地址。輸入遠程賬戶對應的秘鑰,返回如下標識連接成功。嘗試訪問互聯網絡,存在數據響應則表示,香橙派 AIpro 開發(fā)板能夠訪問互聯網。
[HwHiAiUser@orangepiaipro ~]$ sudo ping www.baidu.com [sudo] password for HwHiAiUser: PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data. 64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=53 time=11.7 ms 64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=53 time=11.2 ms 64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=53 time=11.0 ms
還有其他方式,可以支持不同場景下的設備連接訪問,可參考論壇和用戶使用手冊。
部署夜鶯監(jiān)控香橙派 AIpro 開發(fā)板,既可以作為終端AI 邊緣端的實戰(zhàn)工具,它天生自帶的開發(fā)板屬性,也可以作為邊緣端監(jiān)控服務,這里主要講解基于香橙派 AIpro 開發(fā)板實現夜鶯監(jiān)控的相關教程案例。
夜鶯介紹官方介紹如下。
Nightingale | 夜鶯監(jiān)控是一個 All-in-One 的云原生監(jiān)控工具,集合了 Prometheus 和 Grafana 的優(yōu)點,你可以在 UI 上管理和配置告警策略,也可以對分布在多個 Region 的指標、日志、鏈路追蹤數據進行統(tǒng)一的可視化和分析。夜鶯融入了頂級互聯網公司可觀測性最佳實踐,沉淀了眾多社區(qū)專家經驗,開箱即用。夜鶯監(jiān)控項目,托管于中國計算機學會開源發(fā)展委員會(CCF ODC),為 CCF ODC 成立后接受捐贈的第一個開源項目。
夜鶯官方提到,對于硬件這塊兒,本身能夠運行在1G1核云主機中,部署到香橙派AIpro開發(fā)板中,也算是奢華了。
部署準備夜鶯監(jiān)控,可部署在 1 核 1G 的云主機,可在上百臺機器集群化部署,可運行在 K8s 中;也可將時序庫、告警引擎等組件下沉到各機房、各 Region,兼顧邊緣部署和中心化統(tǒng)一管理,解決數據割裂,缺乏統(tǒng)一視圖的難題。
當前使用的是,夜鶯開源版本,進入文檔中心,選擇查看相關部署安裝教程。安裝主要分為兩個部分,一部分是采集器,一部分為夜鶯監(jiān)控,采集器采集數據最終傳輸到夜鶯監(jiān)控中。
夜鶯監(jiān)控nightingale,當前使用版本選擇V7。
夜鶯監(jiān)控依賴Mariadb、Redis,時序數據庫默認使用Prometheus。為了簡化操作,設備連接方式使用的是上述方式四,便于香橙派 AIpro 開發(fā)板直接通過網絡下載安裝,簡化準備工作。
安裝Mariadb。主要是用于測試環(huán)境,所以暫時是使用的簡單密碼1234,實際使用需要更加復雜,整體執(zhí)行命令如下:
# install mysql [HwHiAiUser@orangepiaipro ~]$ sudo yum -y install mariadb* python3-libselinux-3.3-1.oe2203.aarch64 python3-libsemanage-3.3-3.oe2203.aarch64 Complete! [HwHiAiUser@orangepiaipro ~]$ sudo systemctl enable mariadb [sudo] password for HwHiAiUser: Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service. [HwHiAiUser@orangepiaipro ~]$ sudo systemctl restart mariadb [HwHiAiUser@orangepiaipro ~]$ sudo systemctl status mariadb ● mariadb.service - MariaDB 10.5.15 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2024-07-19 19:03:44 UTC; 15s ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ [HwHiAiUser@orangepiaipro ~]$ sudo mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"安裝Redis
Redis 安裝命令如下:
# install redis [HwHiAiUser@orangepiaipro ~]$ sudo yum install -y redis Last metadata expiration check: 0:06:12 ago on Fri Jul 19 19:01:24 2024. Dependencies resolved. Total download size: 753 k Installed size: 5.3 M Downloading Packages: redis-4.0.14-6.oe2203.aarch64.rpm 2.5 MB/s | 753 kB 00:00 -------------------------------------------------------------------------------------------------------------------------------------------- Total 2.4 MB/s | 753 kB 00:00 Installed: redis-4.0.14-6.oe2203.aarch64 Complete! [HwHiAiUser@orangepiaipro ~]$ sudo systemctl enable redis Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service. [HwHiAiUser@orangepiaipro ~]$ sudo systemctl restart redis [HwHiAiUser@orangepiaipro ~]$ sudo systemctl status redis ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2024-07-19 19:10:09 UTC; 3s ago Main PID: 37916 (redis-server) Tasks: 4 (limit: 41426) Memory: 1.5M CGroup: /system.slice/redis.service └─37916 "/usr/bin/redis-server 127.0.0.1:6379" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""安裝n9e
下載n9e-v7.0.0-beta.14-linux-arm64.tar.gz,上傳到香橙派 AIpro 開發(fā)板中,上傳目錄為/home/HwHiAiUser/apps/。解壓安裝包,查看配置文件相關配置,是否符合部署要求,其中n9e 就是實際的二進制執(zhí)行程序。
[HwHiAiUser@orangepiaipro apps]$ tar -zxvf n9e-v7.0.0-beta.14-linux-arm64.tar.gz [HwHiAiUser@orangepiaipro apps]$ ll total 132M drwxr-xr-x 3 HwHiAiUser HwHiAiUser 4.0K Jul 19 19:18 cli drwxr-xr-x 8 HwHiAiUser HwHiAiUser 4.0K Jul 19 19:18 docker drwxr-xr-x 4 HwHiAiUser HwHiAiUser 4.0K Jul 19 19:18 etc drwxr-xr-x 65 HwHiAiUser HwHiAiUser 4.0K Jul 19 19:18 integrations -rwxr-xr-x 1 HwHiAiUser HwHiAiUser 37M Jul 18 08:15 n9e -rwxr-xr-x 1 HwHiAiUser HwHiAiUser 16M Jul 18 08:15 n9e-cli -rwxr-xr-x 1 HwHiAiUser HwHiAiUser 35M Jul 18 08:15 n9e-edge -rw-r--r-- 1 HwHiAiUser HwHiAiUser 70K Jul 18 08:13 n9e.sql
導入數據庫表結構到Mariadb中。
[HwHiAiUser@orangepiaipro apps]$ sudo mysql -uroot -p1234 < n9e.sql
校準時間,避免時間與真實時間不符引發(fā)問題。
[HwHiAiUser@orangepiaipro apps]$ date Fri Jul 19 19:27:50 UTC 2024 [HwHiAiUser@orangepiaipro apps]$ timedatectl set-timezone Asia/Shanghai ==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ==== Authentication is required to set the system timezone. Authenticating as: root Password: ==== AUTHENTICATION COMPLETE ==== [HwHiAiUser@orangepiaipro apps]$ date Sat Jul 20 03:29:30 CST 2024
運行夜鶯監(jiān)控服務,按ctrl+c即可停止運行。
[HwHiAiUser@orangepiaipro apps]$ ./n9e runner.cwd: /home/HwHiAiUser/apps runner.hostname: orangepiaipro runner.fd_limits: (soft=1024, hard=524288) runner.vm_limits: (soft=unlimited, hard=unlimited) http server listening on: 0.0.0.0:17000 2024-07-20 03:30:24.699908 DEBUG memsto/host_alert_rule_targets.go:93 get_targets_of_alert_rule total: 0 engine_name:default
可以控制后臺運行。
[HwHiAiUser@orangepiaipro apps]$ nohup ./n9e &> n9e.log & [1] 46835 [HwHiAiUser@orangepiaipro apps]$ netstat -anpl|grep 17000 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp6 0 0 :::17000 :::* LISTEN 46835/./n9e
瀏覽器訪問17000端口,默認用戶是 root,密碼是 root.2020。進入系統(tǒng)。
應用本身對資源的占用并不高,去在開發(fā)板中部署Mariadb,板子還可以有其他的應用空間(32GB SD卡) 。
整體體驗由于測試時間有限,目前只是針對應用場景中,涉及到邊緣端部分的部署和使用,總體上可以從如下幾個方面進行評價。
入門資源官方用戶手冊,基礎使用內容,還是比較齊全的,官方工作人員也在不斷的更新,更新很規(guī)范,簡單易于閱讀。各種輔助工具,鏡像燒寫,鏡像編譯,AI樣例,能夠滿足基于開發(fā)板的常規(guī)入門上手操作,社區(qū)也很活躍,出現的問題,能夠很快通過外部環(huán)境找到解決辦法。
硬件開箱在使用的過程中,對于無顯示器操作的使用者來說,Micro Usb 方式對設備的連接,使用會比較頻繁,是否可以增加,對于通過串轉網方式哪些功能受限,進行說明,上電其實很快,需要自己考慮的硬件基礎也不多,基本上就是插SD卡,接電源線,插電源等待開機。開箱過程中,出現過對于新到手硬件外觀無損壞,如果設備無法正常加電時,如何進行排查的應急方案。涉及到網絡配置時,雖然各種場景都有對應的解決方案,但是網絡部分的配置,目前都是通過查閱資料方式進行嘗試,中途涉及到命令會比較不可控,未來如果能夠通過用戶的反饋不斷更新那就更nice了。
環(huán)境部署香橙派 AIpro中,鏡像系統(tǒng)和鏡像源都很新,用的過程中,基本沒有遇到需要更新底層依賴組件的情況,對于在香橙派 AIpro 中需要快速搭建軟件環(huán)境時,起到了很高的輔助,這樣進而能夠降低在無互聯網環(huán)境下,邊緣端的快速輔助落地,極大的縮短了部署周期。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。