行空板之上海确诊小区查询器

2022-04-122.9万
精华项目
AI 快速预览详细 收起
该项目是一款基于行空板的上海确诊小区查询器。通过爬取上海卫健委官网的数据,并实时显示在行空板屏幕上,帮助用户便捷地了解自己小区的情况。项目涉及行空板的基本使用、Mind+软件的配置、网页数据的爬取与存储、以及百度AI开放平台的语音识别功能。最终效果是用户可以通过语音指令查询特定小区的确诊情况,大大提高了查询效率。

创意起源

我是一个普普通通的打工人,受疫情影响导致在在家办公,再此期间最关心无非就是病例的增加以及自身小区是否有阳性病例!!

因为每次在上海发布看大区确诊名单都要翻好久才能确认自己小区是否上榜,因此做了一款快捷方便查询器。

效果预览




行空板介绍以及Mind+使用

https://makelog.dfrobot.com.cn/article-311576.html

大家可以先看看这篇帖子,大致了解什么是行空板,以及使用行空板的主要软件。然后再具体学习以下内容。

功能介绍

此项目主要功能是查询上海卫健委官网确诊新冠数据,实时显示屏幕上面。

注册账号

具体步骤如下:

1、登录百度AI开放平台,https://ai.baidu.com,点击页面右上角“控制台”,然后注册或者登录自己的百度账号。

从上面可以看到我们应用(APP_ID,API_KEY ,SECRET_KEY)等信息,这个要留着我们后面会用到。

爬取内容

一定要先让板子连接WIFI,不然爬取不了网上内容的

爬取网页信息存储到txt文本中

from urllib import request
from urllib import parse
import re
def get_url(word,url):
  url = url

  #此处使用urlencode()进行编码
  params = parse.urlencode({'wd':word})

  url = url.format(params)
  return url

def request_url(url,filename):
  headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0'}
  # 请求对象 + 响应对象 + 提取内容
  req = request.Request(url=url,headers=headers)
  res = request.urlopen(req)
  html = res.read().decode('utf-8')
  # 保存文件至本地
  with open(filename,'w+',encoding='utf-8') as f:
    f.write(html)

while True:

    word = "上海多日数据"
    url = get_url(word1,'https://wsjkw.sh.gov.cn/xwfb/index.html')
    #print(url)
    filename1 = word + '.txt'
    request_url(url,filename1)

    f1 = open(filename1,"r",encoding='utf-8')#设置文件对象
    data = f1.read()  # 读取信息
    # print(data)

    parrern = re.compile('<a href="(https://mp.weixin.qq.com/s/.+)" title="') # 用正则匹配所需要的信息
    str2 = re.findall(parrern, data)  # 查找所有符合条件的信息
    # print(str2)
    f2 = open("各区确诊信息.txt", "w+", encoding="utf-8")  # 打开并写入信息
    # print(";".join(str2).replace(";", "\n"))
    f2.write(";".join(str2).replace(";", "\n") + "\n")  # 先转为非数组类型,再用分行输出

    f2.close()  # 有开就有关
    f1.close()  # 有开就有关

结果如下

语音识别

部分代码

下面代码中APP_ID、API_KEY、SECRET_KEY填写自己注册即可

from unihiker import GUI,Audio  #导入包
from aip import AipSpeech

gui=GUI()  #实例化GUI类
audio = Audio() # 实例化Audio类

APP_ID = '*****'
API_KEY = ''*****'
SECRET_KEY = ''*****'

client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

def voiceToText():
    res = client.asr(get_file_content('3s.wav'), 'wav', 16000, {
            'dev_pid': 1537,
        })
    #print(res)
    return res.get('result')[0][:-1]

def Record():
    print("开始进行录音(5秒时间)")
    audio.record('3s.wav', 5)

def Recognition():
    print("开始进行语音识别")
    msg = voiceToText()

    #print(msg)
    return msg
gui.draw_text(x=120, y=150, text='录音(A键)',origin='bottom' ,onclick=lambda: Record())

gui.draw_text(x=120, y=240, text='识别(B键)',origin='bottom' ,onclick=lambda: Recognition())    
while True:
    if  gui.wait_a_click()==None:

        Record() 

    if  gui.wait_b_click()==None:

        data = Recognition()

        print(data)

结果如下

效果展示

电脑远程桌面

1、利用电脑自带的远程桌面连接行空板,操作如下:

2、输出行空板地址,默认地址:10.1.2.3

3、连接成功显示,行空板主页面

界面显示

查询演示

全部代码见附件

总结

目前只是做了最基础的效果,后续要丰富功能。还要对外观进行美观,加个外壳看起来美观。大家对这个功能页面有什么更好的建议提出来,进行改进。

7.png (18.64 KB, 下载次数: 10397)

行空板 · 上海确诊小区查询器_image_3.webp

效果演示.gif (24.94 KB, 下载次数: 10628)

行空板 · 上海确诊小区查询器_image_6.webp

行空板之上海确诊小区查询器.zip

331.35 KB, 下载次数: 13443

更新查询方式

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(20)
三春牛-创客
三春牛-创客
学习了!
三春牛-创客
三春牛-创客
谢谢分享
三春牛-创客
三春牛-创客
非常非常实用
三春牛-创客
三春牛-创客
非常好!
三春牛-创客
三春牛-创客
好好好好好
三春牛-创客
三春牛-创客
这个查询病例很方便。
三春牛-创客
三春牛-创客
赞赞赞赞赞
三春牛-创客
三春牛-创客
哈哈哈哈
三春牛-创客
三春牛-创客
呵呵呵呵
三春牛-创客
三春牛-创客
666666666666666666
三春牛-创客
三春牛-创客
厉害厉害
rzegkly
rzegkly
很好的案例,喜欢
bobbi
bobbi
厉害厉害
诩
很实用的东东,我这青云谱区也是。。。
muzyli
muzyli
身处重灾区的小编默默点上一个赞
IvanDMido
IvanDMido
少了额度的领取。
IvanDMido
IvanDMido
不提供APP_ID,差评
Nick-ccq
Nick-ccq
作者
回复IvanDMido
要告诉他们如何注册和领取即可
IvanDMido
IvanDMido回复Nick-ccq
emmmm,看来我得把智能小管家这几节课里的接口参数也删了,不提供了
共5条回复,已加载2条,点击查看更多共5条回复,已加载全部
Ski
Ski
凉凉+10086
诩
回复Ski
哈哈
Forgotten
Forgotten
查了一下,凉凉
Hockel
Hockel
沙发
Hockel
Hockel回复Nick-ccq
问题不大
Nick-ccq
Nick-ccq
作者
回复Hockel

百度注册图片直接使用你微信文章里面的
- 没有更多了 -