Nick-ccq 发表于 2022-4-12 14:23:11

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

## 创意起源

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

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


https://www.bilibili.com/video/BV1sT4y1Y7F5?t=1.9


## 行空板介绍以及Mind+使用

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

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


## 功能介绍

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

## 注册账号




### 具体步骤如下:

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

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/a78d22b961a7371c2b2a774aaf1789c8.png)

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/d7e844055fb5a1799b28082370f71526.png)

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/7ab29c5e0a24b11f8637db0fd9d22c0b.png)

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/6e76414080fd8b40a0fd6088ac35fdcd.png)

**从上面可以看到我们应用(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()# 有开就有关
```
### 结果如下

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/6b0339ed70c5de7857faa8885530e155.png)

## 语音识别

### 部分代码

**下面代码中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')[:-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:
    ifgui.wait_a_click()==None:
                        
      Record()
               
    ifgui.wait_b_click()==None:

      data = Recognition()

      print(data)
               
```
### 结果如下

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/1ade63d7b721096496961a5766230288.png)

## 效果展示

### 电脑远程桌面

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

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/e9f2220981e70efe8f7e29cc6d9034ed.png)

2、输出行空板地址,默认地址:10.1.2.3
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/d368577a854996417b7b4e124d364fcc.png)

3、连接成功显示,行空板主页面
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/5348e94df45a9e4ceda34fb318704353.gif)

### 界面显示

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/0371e23903cccac187b4d8d07cbc8045.png)

### 查询演示

![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/7377b072421e9e7f6a89fbf2e96719c6.gif)


## 全部代码见附件

## 总结

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

Nick-ccq 发表于 2022-4-12 17:48:56

IvanDMido 发表于 2022-4-12 16:03
emmmm,看来我得把智能小管家这几节课里的接口参数也删了,不提供了 ...

要告诉他们如何注册和领取即可

IvanDMido 发表于 2022-4-12 16:03:56

Nick-ccq 发表于 2022-4-12 15:56
不是,有额度限制的

emmmm,看来我得把智能小管家这几节课里的接口参数也删了,不提供了{:7_224:}

IvanDMido 发表于 2022-4-12 15:55:50

Nick-ccq 发表于 2022-4-12 15:52
自己注册去,要提供了一天额度就没有了

语音额度不是随便用的吗,半年内

Hockel 发表于 2022-4-12 14:46:25

沙发{:5_116:}

Nick-ccq 发表于 2022-4-12 14:47:23

Hockel 发表于 2022-4-12 14:46
沙发
百度注册图片直接使用你微信文章里面的

Hockel 发表于 2022-4-12 14:50:01

Nick-ccq 发表于 2022-4-12 14:47
百度注册图片直接使用你微信文章里面的

问题不大{:7_216:}

Forgotten 发表于 2022-4-12 14:58:14

查了一下,凉凉{:5_199:}

Ski 发表于 2022-4-12 15:46:44

{:5_135:}凉凉+10086

IvanDMido 发表于 2022-4-12 15:50:50

不提供APP_ID,差评{:5_123:}

Nick-ccq 发表于 2022-4-12 15:52:36

IvanDMido 发表于 2022-4-12 15:50
不提供APP_ID,差评

自己注册去,要提供了一天额度就没有了

IvanDMido 发表于 2022-4-12 15:54:33

少了额度的领取。

Nick-ccq 发表于 2022-4-12 15:56:54

IvanDMido 发表于 2022-4-12 15:55
语音额度不是随便用的吗,半年内

不是,有额度限制的

muzyli 发表于 2022-4-12 16:08:28

身处重灾区的小编默默点上一个赞

发表于 2022-4-13 10:47:48

Ski 发表于 2022-4-12 15:46
凉凉+10086

哈哈         

发表于 2022-4-13 10:51:56

很实用的东东,我这青云谱区也是。。。

bobbi 发表于 2022-4-15 17:23:35

厉害厉害

rzegkly 发表于 2022-4-16 07:06:53

很好的案例,喜欢

赤星三春牛! 发表于 2022-4-17 21:42:08

厉害厉害

赤星三春牛! 发表于 2022-4-17 21:43:17

666666666666666666

赤星三春牛! 发表于 2022-4-17 21:44:52

呵呵呵呵
页: [1] 2
查看完整版本: 行空板之上海确诊小区查询器