0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【新技能Get】小伙写了个Python脚本,用高性能RISC-V开发板监测B站未读消息

StarFive 2022-04-22 13:39 次阅读

RVspace.org

本文转自B站up主Powersee,博客地址:https://powersee.github.io/。另外,RVspace.org社区开通了昉·星光VisionFive中文讨论区,欢迎大家来玩~

最近一直在折腾昉·星光VisionFive这块开发板,这是赛昉推出的可运行LinuxRISC-V单板计算机,处理器是赛昉的昉·惊鸿7100 SoC(JH7100),这是一颗RISC-V架构的处理器,工作频率1.0GHz,64位双核,内核性能对标ARM A55。

62ee1afe-bce5-11ec-82f6-dac502259ad0.jpg

写入镜像

这块板子的系统运行和树莓派一样,需要先将系统镜像写入内存卡,再插到板子上来运行。目前官方提供的只有 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可以快速达到。


6304cac4-bce5-11ec-82f6-dac502259ad0.jpg

我是在win10进行操作的,将下载好的解压工具从压缩包里解压出来,和zst文件放在一起。


631cea8c-bce5-11ec-82f6-dac502259ad0.jpg

此时在这个文件夹里的空白处,一只手按住键盘上的Shift键,另一只手按一下鼠标的右键,在此处打开powershell,就可以快速在当前文件夹打开一个命令行窗口。(此处我的 powershell 是自己升级过的,系统自带的是没有带preview的)


6330cf52-bce5-11ec-82f6-dac502259ad0.jpg

执行这条命令就可以解压了,

./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来控制它。


6343ad20-bce5-11ec-82f6-dac502259ad0.jpg

通过GPIO控制LED

通过这个网页,我们可以了解到这块板子的GPIO信息

https://rvspace.org/en/Product/General/StarFive_40-Pin_GPIO_Header_User_Guide


6358d48e-bce5-11ec-82f6-dac502259ad0.jpg

准备一颗LED灯,一头连接34号的GND,一头连接40号的GPIO0;


636c95dc-bce5-11ec-82f6-dac502259ad0.jpg

在终端里进行如下的操作(需要 root 身份来执行);

cd /sys/class/gpio
echo 448 > export
cd gpio448
echo out > direction
echo1>value

这样便能点亮LED灯;


63815ad0-bce5-11ec-82f6-dac502259ad0.jpg

如果想熄灭它,只需执行

echo 0 > value

官方文档里的这个表格非常重要,刚才我们控制 GPIO0,操作的是 448,如果现在我们想控制 GPIO4,从表格可以查到是 452,那么只需将刚才的 448 换成452 即可让 GPIO4 输出高电平。


6395e126-bce5-11ec-82f6-dac502259ad0.jpg

Python脚本监测B站未读消息

我写了一个Python脚本,作用是监测哔哩哔哩上面是否有人给我发私信,也就是我是否有未读消息,如果有的话,则点亮LED灯。而当我看我消息后,脚本检测到目前没有未读消息了,则会将LED灯熄灭。

脚本已放在GitHub 上面,有兴趣的朋友可以参考一下。

https://github.com/powersee/bilibili_unread/blob/master/bili-for-visionfive.py

import requests
import time
import os
# 使用time模块的sleep来控制亮灯熄灯时间间隔

#使用哪一个针脚,例如448、450、452等
gpio = 452
led = '/sys/class/gpio/gpio' + str(gpio)

# 通过浏览器的 F12 获取cookie
cookie = ""

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):
pass
else:
    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开源软件安装与编译内核,感兴趣的朋友可自行查看~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4441

    浏览量

    94128
  • RISC
    +关注

    关注

    6

    文章

    431

    浏览量

    83260
收藏 人收藏

    评论

    相关推荐

    RISC-V最新开发板

    最近市面上有啥新出的RISC-V开发板,可以介绍学习下
    发表于 04-28 22:12

    国产RISC-V MCU推荐

    的控制能力。 高性能低功耗的RISC-V MCU GD32VF103是曾经获得国际大奖的RISC-V MCU,备受网友瞩目。bigbat表示测试过这颗芯片。就开发环境来说还算不错,因
    发表于 04-17 11:00

    RISC-V Linux开发环境脚本

    比较多的RISC-V SOC Linux开发环境使用CMake/Makefile,虽然也知道些怎么,但有没完整系统的这方面学习资料?如语法、脚本链接结构等,可以分享下深入学习
    发表于 03-31 12:48

    【昉·星光 2 高性能RISC-V单板计算机体验】为 Ubuntu 安装 Docker 及常用软件

    : 获取镜像 通常来说,RISC-V 架构的开发板不能使用基于其他架构开发的镜像,下面是一些基于 RISC-V 镜像的合集:https://hub.docker.com/u/risc
    发表于 02-21 17:54

    【昉·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu

    【昉·星光 2 高性能RISC-V单板计算机体验】VisionFive2开箱+安装Ubuntu 前言 很感谢赛昉科技及iCeasy提供的样片,让我第一次接触高性能RISC-V
    发表于 02-21 17:49

    润开鸿基于高性能RISC-V开源架构DAYU800通过OpenHarmony兼容性测评

    近期,江苏润开鸿数字科技有限公司(以下简称“润开鸿”)基于高性能RISC-V开源架构处理器研发的OpenHarmony标准系统开发平台HH-SCDAYU800通过OpenHarmony 3.2.2
    发表于 12-14 17:33

    最近有哪些新出的RISC-V开发板试用

    最近有哪些RISC-V开发板试用呀?或者有关的活动。
    发表于 11-10 20:26

    《玄铁RISC-V处理器入门与实战》

    系统,有YoC、Linux、Android,各系统的运用方向、框架、特色核心服务。 书籍的核心部分则是“RISC-V玄铁系列开发板实践”,该章节介绍非常详细,从D1 Dock Pro开发板的硬件接口
    发表于 09-28 11:58

    BeagleV-Ahead | 全球首款高性能RISC-V开发板

    前言 非常荣幸参与这次的开发板评测,感谢杭州平头哥半导体有限公司和Beagle社区的支持,我拿到了全球首款高性能 TH1520 RISC-V SBC开发板 BeagleV-Ahead。
    的头像 发表于 08-10 18:01 973次阅读
    BeagleV-Ahead | 全球首款<b class='flag-5'>高性能</b><b class='flag-5'>RISC-V</b><b class='flag-5'>开发板</b>

    risc-v开发板那种比较好 高性能RISC-V开发板BeagleV-Ahead评测

    非常荣幸参与这次的开发板评测,感谢杭州平头哥半导体有限公司和Beagle社区的支持,我拿到了全球首款高性能 TH1520 RISC-V SBC开发板 BeagleV-Ahead。Bea
    的头像 发表于 07-18 12:31 3692次阅读
    <b class='flag-5'>risc-v</b><b class='flag-5'>开发板</b>那种比较好 <b class='flag-5'>高性能</b><b class='flag-5'>RISC-V</b><b class='flag-5'>开发板</b>BeagleV-Ahead评测

    RISC-V新进展!deepin 成功适配VisionFive 2

    的设计、完整的工具链、易于移植Unix系统,以及大量的开源实现和流片案例。 近期,deepin官方RISC-V SIG组成功在VisionFive 2开发板上适配deepin操作系统,目前已经在官网
    发表于 07-10 09:23

    RISC-V,正在摆脱低端

    ,基于RISC-V架构已经开发包括N、NX、UX三系列的CPU IP产品及相关软硬件解决方案,包括32位和64位架构,覆盖从低功耗到高性能的各种应用需求。其中,目前
    发表于 05-30 14:11

    RISC-V 专题】中科昊芯Start_DSC28034PNT湖人开发板免费试用

    Start_DSC28034PNT开发板使用了昊芯HXS320F28034PNT RISC-V DSP芯片,该芯片集成了昊芯自主研发的H28x内核,基于昊芯高性能H28x内核
    发表于 05-19 10:50

    RISC-V专题】昉·星光 2(VisionFive 2)RISC-V单板计算机免费试用

    。优越的性能和合理的价格使VisionFive 2成为有史以来性价比最高的RISC-V开发板。了解更多>>
    发表于 05-16 11:26

    openEuler RISC-V 成功适配 LicheePi 4A 开发板

    近期,RISC-V SIG 在 LicheePi 4A 开发板上成功实现了欧拉操作系统的适配。目前,最新版本的 openEuler RISC-V 23.03 V1 镜像已在 Liche
    发表于 05-04 22:22