?RVspace.org?
本文轉自B站up主Powersee,博客地址:https://powersee.github.io/。另外,RVspace.org社區開通了昉·星光VisionFive中文討論區,歡迎大家來玩~
最近一直在折騰昉·星光VisionFive這塊開發板,這是賽昉推出的可運行Linux的RISC-V單板計算機,處理器是賽昉的昉·驚鴻7100 SoC(JH7100),這是一顆RISC-V架構的處理器,工作頻率1.0GHz,64位雙核,內核性能對標ARM A55。

寫入鏡像
這塊板子的系統運行和樹莓派一樣,需要先將系統鏡像寫入內存卡,再插到板子上來運行。目前官方提供的只有 Fedora 這個發行版,可以在GitHub上找到下載鏈接:https://github.com/starfive-tech/Fedora_on_StarFive
下載完是一個特殊的壓縮格式,zst,當前這種zst格式是一種壓縮文件,是由ZStandard研發的,作為一種ZStandard壓縮文件使用,此文件流行程度是50分(0-100滿分)。
需要使用專門的工具才能解壓,稍微麻煩了點。工具在這里有提供:
https://rvspace.org/en/Product/VisionFive/Technical_Documents/VisionFive_Single_Board_Computer_Quick_Start_Guide
點擊RVspace.org網頁左側的Flashing Fedora OS to a Micro-SD Card可以快速達到。

我是在win10進行操作的,將下載好的解壓工具從壓縮包里解壓出來,和zst文件放在一起。

此時在這個文件夾里的空白處,一只手按住鍵盤上的Shift鍵,另一只手按一下鼠標的右鍵,在此處打開powershell,就可以快速在當前文件夾打開一個命令行窗口。(此處我的 powershell 是自己升級過的,系統自帶的是沒有帶preview的)

執行這條命令就可以解壓了,
./zstd.exe -d Fedora-riscv64-jh7100-developer-xfce-Rawhide-20211226-214100.n.0-sda.raw\.zst -o Fedora-riscv64-jh7100-developer-xfce-Rawhide-20211226-214100.n.0-sda.raw解壓出來的文件差不多 13G,可以使用寫盤工具將它寫入內存卡中,例如etcher。
開機
之后將內存卡插入開發板,使用HDMI線連接顯示器,通電開機,便可進入Fedora了。
默認的用戶名是riscv,密碼是starfive。
由于沒有GPU,且本身只是雙核,所以桌面體驗會有一些卡頓。于是我放棄用鼠標來控制它,而是選擇在電腦上通過ssh來控制它。

通過GPIO控制LED燈
通過這個網頁,我們可以了解到這塊板子的GPIO信息;
https://rvspace.org/en/Product/General/StarFive_40-Pin_GPIO_Header_User_Guide

準備一顆LED燈,一頭連接34號的GND,一頭連接40號的GPIO0;

在終端里進行如下的操作(需要 root 身份來執行);
cd /sys/class/gpioecho 448 > exportcd gpio448echo out > directionecho1>value這樣便能點亮LED燈;

如果想熄滅它,只需執行
echo 0 > value官方文檔里的這個表格非常重要,剛才我們控制 GPIO0,操作的是 448,如果現在我們想控制 GPIO4,從表格可以查到是 452,那么只需將剛才的 448 換成452 即可讓 GPIO4 輸出高電平。

用Python腳本監測B站未讀消息
我寫了一個Python腳本,作用是監測嗶哩嗶哩上面是否有人給我發私信,也就是我是否有未讀消息,如果有的話,則點亮LED燈。而當我看我消息后,腳本檢測到目前沒有未讀消息了,則會將LED燈熄滅。
腳本已放在GitHub 上面,有興趣的朋友可以參考一下。
https://github.com/powersee/bilibili_unread/blob/master/bili-for-visionfive.py
import requestsimport timeimport os# 使用time模塊的sleep來控制亮燈熄燈時間間隔
#使用哪一個針腳,例如448、450、452等gpio = 452led = '/sys/class/gpio/gpio' + str(gpio)
# 通過瀏覽器的 F12 獲取cookiecookie = ""
url_mes = 'https://api.vc.bilibili.com/session_svr/v1/session_svr/single_unread?unread_type=0&build=0&mobi_app=web'headers = {'cookie': cookie}
if os.path.exists(led):passelse: os.system(f'echo {gpio} > /sys/class/gpio/export')
os.system(f'echo out > {led}/direction')# 將引腳設置為輸出端
# 獲取未讀消息數量unread = requests.get(url_mes, headers=headers).json()unfollow_unread = unread['data']['unfollow_unread']follow_unread = unread['data']['follow_unread']num = unfollow_unread + follow_unread# 如果有未讀消息,將未讀數量打印出來if num: print(num)#GPIO.output(ioNum, GPIO.HIGH) os.system(f'echo 1 > {led}/value') print(time.asctime(time.localtime(time.time())))# 引腳輸出高電平,LED燈亮起else:# print("No message.")#GPIO.output(ioNum, GPIO.LOW) os.system(f'echo 0 > {led}/value')#引腳設置為低電平,LED燈熄滅此外,Powersee在RVspace.org和他的博客上分享了另外兩篇使用心得,分別是VisionFive串口調試與編譯內核和RISC-V開源軟件安裝與編譯內核,感興趣的朋友可自行查看~
-
開發板
+關注
關注
26文章
6289瀏覽量
118041 -
RISC
+關注
關注
6文章
485瀏覽量
86592
發布評論請先 登錄
探索RISC-V在機器人領域的潛力
RISC-V B擴展介紹及實現
【國慶中秋禮品 Milk-V Duo RISC-V開發板】開箱、介紹、環境搭建、工程測試
【Milk-V Duo S 開發板免費體驗】RISC-V核心NCNN基準測試
【Milk-V Duo S 開發板免費體驗】RISC-V核性能測試
知合計算:RISC-V架構創新,阿基米德系列劍指高性能計算
匠芯創D133CBS RISC-V KunLun Pi V1.0開發板開發資料
矽速科技正式入駐 RuyiSDK 開發者社區,共建 RISC-V 開發者生態!
搭載雙核玄鐵C908 ?RISC-V CPU,BPI-CanMV-K230D-Zero開發板試用
【免費試用】開發板評測大賽開啟!OH 、RISC-V、Rockchip頂級開發板等你試用~
關稅取消后,國產的這款RISC-V開發板能否稱霸市場?進迭時空Muse Pi Pro開發板
Condor使用Cadence托管云服務開發高性能RISC-V微處理器
OrangePi RV來了!香橙派首款高性能開源RISC-V開發板,解鎖神秘技能!
【新技能Get】小伙寫了個Python腳本,用高性能RISC-V開發板監測B站未讀消息
評論