隨著科技的不斷進(jìn)步和信息技術(shù)應(yīng)用創(chuàng)新產(chǎn)業(yè)的不斷發(fā)展,各種開(kāi)源應(yīng)用逐漸興起,各大廠商也競(jìng)相推出了各種開(kāi)源硬件產(chǎn)品,如Arduino、樹(shù)莓派、Micro bit等。為了能夠加快國(guó)產(chǎn)軟、硬件生態(tài)建設(shè)的進(jìn)程,推動(dòng)國(guó)產(chǎn)化發(fā)展,同時(shí)也為了解決目前國(guó)內(nèi)學(xué)校教育仍然采用國(guó)外平臺(tái)的痛點(diǎn),飛騰攜手螢火工場(chǎng)推出了全新的國(guó)產(chǎn)開(kāi)源硬件產(chǎn)品 —— 飛騰派,共同推動(dòng)國(guó)產(chǎn)信創(chuàng)生態(tài)發(fā)展和人才培養(yǎng)。
一、開(kāi)箱 & 裝系統(tǒng)
1.?? 開(kāi)箱
飛騰派的包裝采用中國(guó)紅為主要色調(diào),凸顯了國(guó)產(chǎn)化的風(fēng)格。在包裝盒的正面是飛騰派的LOGO,而在側(cè)面則印有螢火蟲(chóng)工廠、飛騰官網(wǎng)、飛騰公眾號(hào)的二維碼。整個(gè)包裝簡(jiǎn)潔大氣,風(fēng)格鮮明。
圖1 飛騰派的包裝
打開(kāi)包裝盒,呈現(xiàn)在我們面前的就是我們今天的主角,飛騰派評(píng)估板(如圖2),由于為開(kāi)源硬件平臺(tái),整個(gè)包裝盒內(nèi)部并沒(méi)有過(guò)多的介紹,所有的相關(guān)資料都可以從互聯(lián)網(wǎng)上下載??紤]到飛騰派呈現(xiàn)優(yōu)秀的性能需要穩(wěn)定的電源輸入,飛騰公司還為其搭配了一個(gè)12V3A的電源作為其供電輸入。
圖2.飛騰派評(píng)估板
2.?? 飛騰派的硬件資源
整個(gè)飛騰派評(píng)估板的大小為119mm*93mm,采用經(jīng)典的黑色PCB制作。雖然尺寸不大,但是整個(gè)評(píng)估板上集成了眾多主流接口和器件。在PCB的正面最吸引我們注意的當(dāng)屬這個(gè)50mm*50mm的散熱風(fēng)扇了,而在散熱風(fēng)扇的下面則是我們今天的主角飛騰CPU,其采用鋁作為封裝外殼,在正面印有飛騰的Logo及標(biāo)識(shí),通過(guò)查閱資料可以知道其是一顆采用ARMV8架構(gòu)的處理器,并具備四個(gè)核心(包含2個(gè)FTC664@1.8GHz及2個(gè)FTC310@1.5GHz)。
在CPU的右邊則是4顆DDR4存儲(chǔ)器芯片,芯片型號(hào)CXDQ3BFAM,這是一顆純國(guó)產(chǎn)的DDR4芯片,由合肥長(zhǎng)鑫存儲(chǔ)制造,容量為1GB,位寬為16,4顆共組成64位4GB。這里值得注意的是,目前飛騰派根據(jù)DDR容量的不同分別推出了2G和4G兩個(gè)版本,用戶購(gòu)買的時(shí)候需要注意。
圖3 飛騰派CPU、風(fēng)扇及4GB DDR4
作為一塊可玩性極高的信創(chuàng)板卡,網(wǎng)絡(luò)接口當(dāng)然必不可少,在飛騰派的上同時(shí)包含了無(wú)線與有線兩種網(wǎng)絡(luò)接口。對(duì)于無(wú)線網(wǎng)絡(luò),由板卡上搭載的湖南歐智通科技推出的FN-LINK的6221-SRC藍(lán)牙WIFI一體化模組完成,該模塊同時(shí)支持藍(lán)牙4.2和2.4G/5G雙頻WIFI。
圖4 藍(lán)牙、WIFI一體化模塊
而對(duì)于有線網(wǎng)絡(luò)部分,飛騰派則提供了2個(gè)千兆的以太網(wǎng)接口,所使用的接口芯片為Motorcomm(裕太微)公司推出的國(guó)產(chǎn)YT8521芯片。這是一款高度集成的國(guó)產(chǎn)單口千兆以太網(wǎng)物理層收發(fā)器。它符合10BASE Te、100BASE-TX和1000BASE-T IEEE 802.3標(biāo)準(zhǔn),通過(guò)采用最先進(jìn)的DSP技術(shù)和模擬前端(AFE),實(shí)現(xiàn)通過(guò)UTP電纜進(jìn)行高速數(shù)據(jù)傳輸和接收。
圖5 有限網(wǎng)絡(luò)接口
由于目前絕大多數(shù)外設(shè)都采用USB接口,為了增加擴(kuò)展性與可玩性,飛騰派還提供了1個(gè)USB 3.0 Host接口(左上),3個(gè)USB 2.0 Host接口,通過(guò)這些接口,用于可以將飛騰派連接上各種外設(shè)。而在顯示/音頻支持方面,飛騰派提供了一個(gè)標(biāo)準(zhǔn)的HDMI接口(最大分辨率支持1920*1080,采用龍迅半導(dǎo)體LT8711芯片)和一個(gè)標(biāo)準(zhǔn)的3.5mm孔徑的音頻接口(順芯ES8336芯片)。
圖6 4個(gè)USB Host接口及HDMI接口
眾所周知,電源是一個(gè)系統(tǒng)是否能夠正常工作的關(guān)鍵,為了保證上述各種外設(shè)能夠正常工作,飛騰派提供了一個(gè)支持12V3A輸入的電源接口。在系統(tǒng)主電源輸入后,首先利用杰華特JWH5085芯片將其降壓至5V,然后再利用MPQ8645,JWH5046,SGM2048等一系列芯片將其轉(zhuǎn)換為0.8v、1.8v、3.3v等,具體如下圖所示:
圖7 電源系統(tǒng)
除此之外,整個(gè)板卡的正面還包含有復(fù)位按鍵,EMMC焊位(),FLASH燒錄接口以及啟動(dòng)方式選擇跳線。整個(gè)板卡的正面如下圖所示:
圖8 飛騰派評(píng)估板正面接口資源
在PCB的背面,則包含有SIM卡槽、MiniPCIe接口、microSD卡槽、2個(gè)多功能接口(2.54mm間距排針形式)以及Flash存儲(chǔ)器。其中, Flash存儲(chǔ)器為選配件,在我們手中這塊板卡上面沒(méi)有焊接,若用戶需要可以自行焊接或者購(gòu)買帶有Flash存儲(chǔ)器的飛騰派版本。而SIM卡槽則作為信號(hào)連接到miniPCIe的連接器,使用時(shí)需要搭配支持USIM功能的4G/5G等MiniPCIe接口的模塊使用。MiniPCIe接口主要用來(lái)連接4G/5G或AI加速模組(如云天勵(lì)飛的IPU-X100)使用。多功能接口則主要是把飛騰CPU的引腳引出,它們的具體功能如下所示:
整個(gè)飛騰派背面如下圖所示:
圖9 飛騰派評(píng)估板背面接口資源
通過(guò)上面的介紹,可以看出飛騰派是一款國(guó)產(chǎn)化程度很高的、資源豐富的且具有高性價(jià)比的套件,下面是飛騰派與樹(shù)莓派4的對(duì)比:
3.?? 飛騰派的軟件資源
硬件性能的充分發(fā)揮當(dāng)然離不開(kāi)軟件的支撐。為了能夠充分展示飛騰派的性能,官方提供了極其詳盡的資料,從原理圖到芯片手冊(cè),再到系統(tǒng)鏡像和程序源碼,各種資料一應(yīng)俱全。由于針對(duì)的目標(biāo)為信創(chuàng)用戶,官方將所有資料都放在百度網(wǎng)盤中,地址鏈接為: https://pan.baidu.com/s/1pStiyqohrB3SxHAFFk8R6Q?pwd=dzdv
全部資料大小約為79.2個(gè)G,工程師們可以根據(jù)自己的需要下載(官方會(huì)不定期更新網(wǎng)盤內(nèi)的資料)。整個(gè)資料包共分為9個(gè)文件夾(如圖所示),每個(gè)文件夾都以其中的內(nèi)容命名,這使得資料查找起來(lái)非常方便。
圖10 官方提供的軟件資源
在這里值得一提的是,為了提升飛騰派的可玩性和實(shí)用性,官方還提供了多種鏡像供用戶選擇(如圖11),這其中就包括我們所熟知的Ubuntu、Harmony、RT_Thread等系統(tǒng)以及PhytiumPIOS(這是一款運(yùn)行在飛騰派開(kāi)發(fā)板上的基于Debian11深度定制的Linux系統(tǒng),它針對(duì)開(kāi)發(fā)板的硬件定制了內(nèi)核配置及對(duì)應(yīng)的軟件包等)。
圖11 官方提供的系統(tǒng)鏡像
4.上電
既然飛騰派的功能如此豐富,那么上電試用當(dāng)然必不可少。由于板卡上沒(méi)有焊接MMC和FLASH存儲(chǔ)器,因此我們選擇從Micro SD卡啟動(dòng)并燒錄基于Debian11的PhytiumPIOS作為系統(tǒng)鏡像。燒錄前要準(zhǔn)備好MicroSD卡、讀卡器。具體的燒錄步驟可以參考前述百度云上下載的飛騰派資料包中用戶開(kāi)發(fā)手冊(cè)文件夾里飛騰派軟件開(kāi)發(fā)手冊(cè)(12頁(yè))。
圖13 飛騰派軟件開(kāi)發(fā)手冊(cè)
燒錄完成后就可以上電運(yùn)行了,將飛騰派連接HDMI顯示器,同時(shí)插入鼠標(biāo)、鍵盤,插上電源系統(tǒng)開(kāi)始啟動(dòng)。這里特別注意要確保評(píng)估板上的跳線選擇的是從SD卡啟動(dòng)(這也是默認(rèn)的啟動(dòng)方式),如下圖所示:
圖14 飛騰派啟動(dòng)跳線設(shè)置
系統(tǒng)啟動(dòng)后輸入用戶名用戶名:user 密碼:user 就可以進(jìn)入PhytiumPIOS的界面了。由于是基于Debian11系統(tǒng)進(jìn)行定制的,所以整個(gè)界面和Debian相差不大,使用起來(lái)也非常的方便。同時(shí),通過(guò)有線或無(wú)線將飛騰派連接至網(wǎng)絡(luò)后,就可以通過(guò)板卡上SSH或遠(yuǎn)程桌面對(duì)板卡進(jìn)行連接和訪問(wèn)了。
(1)?? SSH訪問(wèn):
首先用如下命令安裝SHH服務(wù)器:
$ sudo apt-get install openssh-server
安裝完成后確認(rèn)SSH是否已經(jīng)正常啟動(dòng),鍵入如下命令:
ps -e | grep ssh
若沒(méi)有正常啟動(dòng),則可以用如下命令進(jìn)行啟動(dòng)
sudo /etc/init.d/ssh start
當(dāng)然我們也可以用下面兩個(gè)命令停止SSH服務(wù)和重啟SSH服務(wù)
sudo /etc/init.d/ssh stop #server 停止 ssh 服務(wù)
sudo /etc/init.d/ssh restart #server 重啟 ssh 服務(wù)
SSH服務(wù)啟動(dòng)成功后,就可以用我們的主機(jī)遠(yuǎn)程訪問(wèn)飛騰派了。首先下載一個(gè)SHH訪問(wèn)軟件(比如PUTTY),在這里我們使用的是Tera Term這個(gè)軟件,運(yùn)行后如下圖所示。我們首先輸入飛騰派的IP地址(在這里為192.168.1.110,可以在評(píng)估板上用ifconfig命令得到),然后選擇SSH服務(wù),點(diǎn)擊確定即可。
圖15 SSH客戶端設(shè)置
在彈出的認(rèn)證對(duì)話框中選擇輸入飛騰派的用戶名和密碼user,點(diǎn)擊“確定”
圖16 輸入用戶名密碼
可以看到我們已經(jīng)成功登錄飛騰派評(píng)估板了。
圖17 SSH連接成功
(2)遠(yuǎn)程桌面訪問(wèn)
雖然使用SSH能夠遠(yuǎn)程連接并操作飛騰派,但畢竟還是字符界面,對(duì)于喜歡使用圖形界面的工程師們來(lái)說(shuō)還是不太直觀。為此,我們使用遠(yuǎn)程桌面對(duì)飛騰派進(jìn)行訪問(wèn)。在這里我們采用的是XRDP進(jìn)行遠(yuǎn)程桌面訪問(wèn)。
首先在板卡上使用如下命令安裝xrdp
$ sudo apt-get install xrdp -y
如果以前安裝過(guò)xrdp則會(huì)直接打印出XRDP的版本號(hào),如果沒(méi)有安裝過(guò)則會(huì)會(huì)直接在線安裝。成功后將會(huì)顯示如下界面。
圖18 安裝Xrdp包
然后配置登錄會(huì)話,配置文件需要放在登錄的用戶目錄下,在這里我們就放在user用戶下。因此,在終端里輸入如下信息
圖19 修改配置文件
確定xrdp服務(wù)狀態(tài):
sudo systemctl status xrdp
當(dāng)出現(xiàn)以下類似的界面時(shí)表示安裝成功。
圖20 確定xrdp服務(wù)狀態(tài)
隨后就可以用windows自帶的遠(yuǎn)程工具軟件進(jìn)行遠(yuǎn)程桌面訪問(wèn)了。運(yùn)行windows遠(yuǎn)程桌面工具(使用 win+r 鍵打開(kāi)運(yùn)行解碼,輸入 mstsc 后回車),在彈出的對(duì)話框中輸入飛騰派評(píng)估板的IP地址(可以用Ifconfig查看),彈出登錄界面,在這里我們輸入用戶名、密碼user。(特別注意,在使用遠(yuǎn)程桌面登錄時(shí),確保板卡上的user用戶已經(jīng)登出,不然會(huì)出現(xiàn)閃退)。
圖21 輸入用戶名密碼
隨后,連接建立,我們已經(jīng)能夠遠(yuǎn)程訪問(wèn)飛騰派的桌面了。
圖22 顯示遠(yuǎn)程桌面
二、應(yīng)用飛騰派獲取MQTT數(shù)據(jù)實(shí)例
通過(guò)上面的評(píng)測(cè)我們可以看出飛騰派功能強(qiáng)大,非常適合作為小型的服務(wù)器或者邊緣計(jì)算網(wǎng)關(guān)。在我們的項(xiàng)目中將飛騰派作為現(xiàn)代化溫室的控制器,來(lái)對(duì)溫室中溫度、濕度、光照、CO2等情況進(jìn)行監(jiān)測(cè)。整個(gè)系統(tǒng)的結(jié)構(gòu)如下圖:
為了實(shí)現(xiàn)獲取MQTT轉(zhuǎn)發(fā)過(guò)來(lái)的溫室環(huán)境數(shù)據(jù),我們采用Python語(yǔ)言編寫(xiě)整個(gè)邏輯。PhytiumPIOS中已經(jīng)預(yù)先安裝有python編譯器,所以我們就不必要另外安裝了。但是由于我們使用的是MQTT協(xié)議,進(jìn)行Json格式的數(shù)據(jù)傳輸,因此需要在程序中引入MQTT包和Json包(若沒(méi)有提前安裝這兩個(gè)包的話還需要用Pip命令安裝這兩個(gè)包),如下:
import paho.mqtt.client as mqtt
import json
隨后,我們定義整個(gè)程序的主函數(shù):
def main():
client = mqtt.Client()
# 注冊(cè)事件
client.on_connect = on_connect #注冊(cè)on_connect事件
client.on_message = on_message #注冊(cè)on_message事件
# 設(shè)置賬號(hào)密碼(如果需要的話)
client.username_pw_set(username, password=password)
# 連接到服務(wù)器
client.connect(host, port=port, keepalive=60)
# 守護(hù)連接狀態(tài)
client.loop_forever()
其中,on_connect的源碼如下:
def on_connect(client, userdata, flags, respons_code):
if respons_code == 0:
# 連接成功
print('Connection Succeed!')
else:
# 連接失敗并顯示錯(cuò)誤代碼
print('Connect Error status {0}'.format(respons_code))
# 訂閱信息
client.subscribe(topic)
on_message的源碼如下:
def on_message(client, userdata, msg):
# 打印訂閱消息主題
print("topic:", msg.topic)
# print('msg.payload:', msg.payload)
# 打印消息數(shù)據(jù)
try:
jsondata = json.loads(msg.payload)
except Exception as e:
print('數(shù)據(jù)格式錯(cuò)誤', e)
return
運(yùn)行程序,同時(shí)將溫室上電打開(kāi),系統(tǒng)開(kāi)始接收溫室控制器發(fā)送過(guò)來(lái)的數(shù)據(jù):
三、總結(jié)
飛騰派功能強(qiáng)大,各種外設(shè)接口一應(yīng)俱全,軟件資源非常豐富。特別是是其搭配了很多國(guó)產(chǎn)芯片,最大限度的實(shí)現(xiàn)了開(kāi)源硬件的國(guó)產(chǎn)化。目前,飛騰派已經(jīng)在智能機(jī)械臂、教學(xué)實(shí)驗(yàn)箱、自動(dòng)化控制、邊緣計(jì)算網(wǎng)關(guān)等領(lǐng)域嶄露頭角。相信在不久的將來(lái),飛騰派將會(huì)成為國(guó)產(chǎn)信創(chuàng)領(lǐng)域的核心力量。