測評分享丨OK3399-C開發板+RK1808人工智能計算棒(主動模式)

原創 2020-05-25 15:28:00 RK3399 RK1808 人工智能計算棒

一、  硬件平臺

平臺:OK3399-C(基于瑞芯微RK3399CPU設計)

系統:Desktop

模塊:TB-RK1808S0

環境準備:

飛凌OK3399-C開發板,rk1808人工智能計算棒(固件版本為V1.3.4usb攝像頭,攝像頭和計算棒都插入OK3399-C開發板

使用lsusb命令查看,如下(紅框部分 2207:0018即為RK1808 人工智能計算棒):

輸入命令如下:


OK3399-C開發板+RK1808人工智能計算棒 

 

二、 概述

AI計算區分為四個不同的象限,分別是云端訓練、云端推理,邊緣訓練以及邊緣推理。其中終端推理,幾乎都集中在Arm架構生態上。AI神經網絡計算目前可以通過 CPU、GPUDSP、NPU、FAGA等完成,但不同的硬件特性會導致效率和功耗的不同。其中NPU——嵌入式神經網絡處理器采用“數據驅動并行計算”的架構,最擅長的就是視頻、圖像類的海量多媒體數據的處理,并且相比GPU等具有更低的功耗。我司推出OK3399-C Desktop+RK1808(含3Tops算力NPU)的組合,在滿足AI邊緣計算的情況下,使得功耗大幅降低。

RK1808計算棒擁有主動模式和被動模式兩種模式。主動模式下,RK1808人工智能計算棒是一個專用AI應用模塊。RK1808人工智能計算棒作為主動設備,RK1808人工智能計算棒內部默認已安裝rknn-toolkitrknn-api,上位機(也稱宿主機)無需安裝rknn-toolkitrknn-api,模型及算法固化在RK1808人工智能計算棒中,OK3399-C通過USB口向計算棒輸入數據(例如圖片和視頻流),RK1808人工智能計算棒自動完成數據的前處理、推理、后處理,然后把處理結果通過USB口輸出給OK3399-C。

為了方便用戶通過USB傳輸數據RK1808人工智能計算棒會把USB口虛擬成網卡等標準設備,用戶只需通過標準設備接口的操作(例如網絡的socket編程)即可完成對RK1808人工智能計算棒數據的輸入和輸出。

細節如下:

        1.RK1808計算棒插入上位機后,會被虛擬成網卡設備

        2.上位機OK3399-C進行虛擬網卡配置,配置IP192.168.180.1,保證上位機和1808中間的網絡連接正常

        3.計算棒默認IP192.168.180.8,賬號密碼皆為toybrick,用戶可以SSH登錄計算棒,拷貝模型和server服務程序到計算棒

        4.計算棒端運行server服務程序,用來接收上位機的連接請求,并調用RKNN進行處理,再返回結果

        5.上位機運行client程序,連接server成功之后,發送推理請求,從1808端獲取返回結果


OK3399-C開發板+RK1808人工智能計算棒 


 

三、 計算棒網絡 配置與網絡 共享 配置


1 計算棒網絡 配置

上位機使用OK3399-C Forlinx Desktop系統,點擊右下角網絡按鈕選擇彈出窗口中的Edit Connections...”選項:


OK3399-C開發板+RK1808人工智能計算棒 


選擇計算棒usb網卡生成的有線網絡節點:

OK3399-C開發板+RK1808人工智能計算棒 


配置該節點為手動模式,設置IP192.168.180.1,子網掩碼:255.255.255.0,并保存:

OK3399-C開發板+RK1808人工智能計算棒 


終端輸入ifconfig指令查看網絡節點配置如下,可見usb網卡配置完成:

OK3399-C開發板+RK1808人工智能計算棒 


ping一下1808計算棒網絡192.168.180.8,如下網絡可以連通:

OK3399-C開發板+RK1808人工智能計算棒 


使用ssh登錄1808計算棒,用戶名和密碼默認都為toybrick,如下登陸成功:

OK3399-C開發板+RK1808人工智能計算棒 


2、網絡 共享 配置

 運行ifconfig,可以看到eth0、wlan0等宿主機網卡,我們用于訪問外網,enx10dcb69f022cUSB網卡(RK1808人工智能計算棒虛擬網卡)。不同的系統網卡名稱可能不一樣,以實際網卡名稱為準。

OK3399-C開發板+RK1808人工智能計算棒 


首先配置宿主機網絡,使宿主機可以連通以太網,這里我們使用wlan0節點來上網,具體配置不再贅述。

命令行執行如下命令,其中enx10dcb69f022c需要修改成用戶本地實際值;正常情況只要設置一次即可,若拔插設備發現網卡名稱改變了或者用戶手動刪除該網卡,則需要重新設置。

1. sudo nmcli connection add con-name toybrick type ethernet ifname enx10dcb69f022c autoconnect yes ip4 192.168.180.1/24

配置NAT功能,執行如下命令,其中eno1需要修改成用戶本地實際值;關機失效,所以每次電腦重啟都要重新設置。

1. sudo sysctl   -w net.ipv4.ip_forward=1

sudo iptable -F

sudo iptables -t nat -F
sudo  iptables  -t  nat  -A POSTROUTING -o wlan0 -j MASQUERADE


注意:以自己開發板聯網的實際端口為準,例:eth0

iptables命令部分釋義如下:

iptables --help

--flush   -F [chain] Delete all rules in  chain or all chains 

--table       -t table table to manipulate (default: `filter') 

--append  -A chain Append to chain 

--jump -j target target for rule (may load target extension) 

 

MASQUERAD,地址偽裝,算是snat中的一種特例,可以實現自動化的snat

SNATsource networkaddress translation的縮寫,即源地址目標轉換。比如,多個PC機使用ADSL路由器共享上網,每個PC機都配置了內網IP,PC機訪問外部網絡的時候,路由器將數據包的報頭中的源地址替換成路由器的ip,當外部網絡的服務器比如網站web服務器接到訪問請求的時候,他的日志記錄下來的是路由器的ip地址,而不是pc機的內網ip,這是因為,這個服務器收到的數據包的報頭里邊的“源地址”,已經被替換了,所以叫做SNAT,基于源地址的地址轉換。

DNATdestination networkaddress translation的縮寫,即目標網絡地址轉換,典型的應用是,有個web服務器放在內網配置內網ip,前端有個防火墻配置公網ip,互聯網上的訪問者使用公網ip來訪問這個網站,當訪問的時候,客戶端發出一個數據包,這個數據包的報頭里邊,目標地址寫的是防火墻的公網ip,防火墻會把這個數據包的報頭改寫一次,將目標地址改寫成web服務器的內網ip,然后再把這個數據包發送到內網的web服務器上,這樣,數據包就穿透了防火墻,并從公網ip變成了一個對內網地址的訪問了,即DNAT,基于目標的網絡地址轉換。

相關產品 >

  • FET3399-C核心板

    飛凌RK3399安卓高性能核心板采用 采用六核Rockchip RK3399芯片,雙Cortex-A72大核+四Cortex-A53小核結構,對整數、浮點、內存等作了大幅優化,在整體性能、功耗及核心面積三個方面提升。以下將對瑞芯微芯片RK3399參數,RK3399核心板方案及其性能做具體介紹。如您對飛凌RK3399系列核心板有興趣,歡迎咨詢了解。

    了解詳情
    FET3399-C核心板
  • OK3399-C開發板

    飛凌嵌入式RK3399安卓開發板主芯片采用高性能六核CPU Rockchip RK3399,GPU采用Mail-T860四核 GPU,RK3399作為目RK產品線中低功耗、高性能的代表,可滿足人臉識別設備、機器人、無人機、IoT物聯網領域應用。飛凌RK3399開發板在整體性能、功耗及核心面積做了大幅度優化,更加滿足工業設計需求。飛凌RK3399開發板為進一步減少用戶二次開發難度,開放了底板原理圖,并提供了RK3399用戶手冊、芯片手冊,加上優質的技術服務,讓您的方案從構思到上市時間縮短。

    了解詳情
    OK3399-C開發板

推薦閱讀 換一批 換一批