【赛昉·星光2】开发系统安装及 GPIO 点灯
开发板将安装和使用 Debian 操作系统,并基于此系统控制开发板 GPIO 输出高低电平和 LED 的亮灭。
所需硬件包括赛昉·星光 2 开发板、电源适配器(5V 3A)、Micro-SD 卡(32GB)一张、读卡器x1、电脑。
1.下载 Debian 镜像 文件,并选择更新日期最新的 SD 版本;
Debian 是一个广泛用于各种设备的基于 Linux 的操作系统,由免费和开放源代码的软件组成,并将始终保持 100% Free .
2.使用解压软件或代码
bzip2 -d <filename>.img.bz2
解压下载的 *.img.bz2
文件;
3.下载并安装 BalenaEtcher 烧录软件,用以将系统镜像写入 SD 卡;
4.运行 BalenaEtcher 软件,加载解压后的镜像 *.img
文件,选择目标 SD 卡,烧录至 SD 卡。
5.烧录完成后将 SD 卡插入开发板卡槽,连接 HDMI 与显示器,USB 转 TTL 串口工具连接 GPIO 接口(TX 和 RX)如下图所示
6.打开串口助手连接对应端口,电源适配器通过 Type-C 数据线给开发板上电,此时串口输出安装系统的相关信息,并弹出登录提示
7.输入默认用户名 user 或 root,密码 starfive 即可进入 Debian 系统。
8.同理 HDMI 显示器显示登录界面,输入密码进入系统,桌面如下图所示
视频展示如下
从视频中可以获得开发板的硬件信息、CPU模组信息、内存信息等。 系统运行稳定,较为流畅,操作存在略微延迟,系统动画柔和顺畅,UI界面和配色非常舒适,整体的体验感受不错。
分区
对于 fdisk
不可用的情况,需要将 fdisk
路径添加到检索路径中,首先通过如下代码获取检索路径
echo $PATH
再搜索目标命令 fdisk
的路径
whereis fdisk
将 fdisk
命令的路径添加至检索路径
ln -s /usr/bin/sbin/fdisk /usr/local/bin
调整分区大小
通过命令 resize2fs
实现分区大小的调整
安装 pip
apt-get install python3-pip
执行 pip 命令,首先安装依赖包
apt install libxml2-dev libxslt-devpython3 -m pip install requests wget bs4
脚本安装
通过 nano 编辑器新建 py 脚本
1.安装 nano
通过如下代码
apt-get install -y nano
或
sudo apt install nano
检查系统上安装的 nano 版本
nano --version
2.使用时调用 nano
命令,后面添加目标文件名路径即可
nano /home/user/Documents/Install_VisionFive_gpio.py
若目标路径不存在文件,可先编辑之后 Ctrl
+ X
保存并退出 nano 即可。
Install_VisionFive_gpio.py
脚本代码如下
import requestsimport wgetimport sysimport osfrom bs4 import BeautifulSoupdef parse_data(link_addr, class_type, key_str): req = requests.get(url=link_addr) req.encoding = "utf-8" html=req.text soup = BeautifulSoup(req.text,features="html.parser") package_version = soup.find(class_type,class_=key_str) dd = package_version.text.strip() data = dd.split() return datadef parse_link(link_addr, class_type, key_str): req = requests.get(url=link_addr) req.encoding = "utf-8" html=req.text soup = BeautifulSoup(req.text,features="html.parser") search_data = soup.find(class_type,class_=key_str) search_data_2 = search_data.find("a") dl_link_get = search_data_2.get("href") return dl_link_getdef get_dl_addr_page(): link_address = "https://pypi.org/project/VisionFive.gpio/#history" key_str = "release__version" class_key = "p" data_get = parse_data(link_address, class_key, key_str) latest_version = data_get[0] dl_addr_page = "https://pypi.org/project/VisionFive.gpio/{}/#files".format(latest_version) return dl_addr_pagedef get_dl_addr_of_latest_version(link_addr): key_str = "card file__card" class_key = "div" addr_get = parse_link(link_addr, class_key, key_str) return addr_getdef main(): dl_addr_p = get_dl_addr_page() whl_dl_addr = get_dl_addr_of_latest_version(dl_addr_p) whl_name = whl_dl_addr.split("/")[-1] whl_name_suffix = os.path.splitext(whl_name)[-1] whl_name_prefix = os.path.splitext(whl_name)[0] whl_name_prefix_no_platform = whl_name_prefix[0: len(whl_name_prefix) - 3] new_platform = "linux_riscv64" rename_whl_name = "{}{}{}".format(whl_name_prefix_no_platform, new_platform, whl_name_suffix) wget.download(whl_dl_addr, out=rename_whl_name) os.system("pip install " + rename_whl_name) os.system("rm -rf " + rename_whl_name)if __name__ == '__main__': sys.exit(main())
此外还可以新建文档再进行编辑
touch /home/user/new.txt
若文档权限是只读,则需要修改权限,通过如下代码
sudo chmod a+w /home/user/new.txt
运行脚本代码命令如下
python3 Install_VisionFive_gpio.py
执行点灯代码
获取 VisionFive.gpio
所在目录
pip show VisionFive.gpio
进入目录并运行 led.py
脚本
cd /usr/local/lib64/python3.9/site-packagescd ./VisionFive/sample-code/sudo python3 led.py
led.py
脚本代码如下
import VisionFive.gpio as GPIOimport timeled_pin = 22#Configure the direction of led_pin as output.GPIO.setup(led_pin, GPIO.OUT)def light(delay): #Configure the voltage level of led_pin as high. GPIO.output(led_pin, GPIO.HIGH) time.sleep(delay) #Configure the voltage level of led_pin as low. GPIO.output(led_pin, GPIO.LOW) time.sleep(delay)if __name__ == '__main__': try: delay_s = input("Enter delay(seconds): ") delay = float(delay_s) while True: light(delay) finally: GPIO.cleanup()

