行空板第一帖,行空牌天气时钟(基础版)
## 创意起源
在刷B站时刷到过一个有意思的项目,具体功能是显示时间、天气等组件。在大家平常生活这种也常见,比如小米手表,apple watch等,都是集成到一个小小的屏幕上面,实时显示天气、时间等功能。
疫情期间想起手里有一款DFrobot之前发布的新品-行空板,做一款桌面摆件-行空牌天气时钟。
效果预览
https://www.bilibili.com/video/BV1L44y1P7AS
## 行空板介绍以及Mind+使用
https://makelog.dfrobot.com.cn/article-311576.html
大家可以先看看这篇帖子,大致了解什么是行空板,以及使用行空板的主要软件。然后再具体学习以下内容。
## 功能介绍
此项目主要功能实时天气状况、实时时间显示,可以摆放在办公区域。
## 显示圆盘时钟
实时显示时间,以圆盘形式呈现到行空板屏幕上。
部分代码如下:
```
import time
from unihiker import GUI #导入包
gui=GUI()#实例化GUI类
clock = gui.draw_clock(x=120, y=160, r=100, h=3, m=4, s=5, color=(255, 0, 0), onclick=lambda: print("clock clicked"))
def clock_update():
while True: #循环执行
timestrH = time.strftime("%H")
timestrM = time.strftime("%M")
timestrS = time.strftime("%S")
clock.config(h=timestrH, m=timestrM, s=timestrS)
time.sleep(0.5)
## 线程1启动
clock_thread = gui.start_thread(clock_update)
while True:
time.sleep(0.1)
```
## 获取天气
获取天气各个参数,然后显示所需参数即可。
### 特别说明
这里需要大家找一下合适的请求天气Api,也可以看下面的连接,具体操作
http://www.tianqiapi.com/index/doc
**一定要先让板子连接WIFI,然后代码里面**appi**和**appsecret**改成自己的才可以正常运行。 **
**cityid是城市代码,这个可自行百度搜索<天气城市代码>即可**
部分代码如下:
```
from unihiker import GUI #导入包
import requests
import json
gui=GUI()#实例化GUI类
rb=requests.get('https://v0.yiketianqi.com/api?unescape=1&version=v61&cityid=101020100&appid=xxxx&appsecret=xxx')
rb.encoding='utf-8'
data = json.loads(rb.text)
print(data) #显示所有数据
print(data) #显示单个数据数据
```
结果如下:
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/a0158284d57c43541773a02d54e4f5bc.png)
### 获取实时时间
获取实时时间,显示到行空板屏幕上。
部分代码如下:
```
import time
import datetime
def clock_update():
timestrHMS = time.strftime("%H:%M:%S")
return timestrHMS
while True:
print(clock_update())
time.sleep(1)
```
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/7ad07db9e50ca83eb1ee7cbfb30ddfb6.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/39cd573268ce9e22450564ab4d82f1fb.gif)
## 天气时间
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/137148ea282f35cbab857aa8de8aa347.gif)
## 整合效果
默认效果是圆盘时钟,按着A键显示天气状况,按下B键返回默认状态。
![](https://img.dfrobot.com.cn/wiki/5d11bab74db88f1df9d7e8fb/472b8676697c8e4af8356672d9a91073.gif)
## 总结
目前只是做了最基础的效果,后续要丰富功能,例如:语音唤醒、触摸切换等。还要设计外壳,加个外壳看起来会更美观。大家对这个功能页面有什么更好的建议提出来,进行改进。
# 全部代码见附件
本帖最后由 Forgotten 于 2022-9-24 16:45 编辑
帖子里面代码用了一段时间发现第二天不会自动更新,做了点优化,打开自启动之后用个充电头供电挂到桌面上长期运行了。
- 开始的地方加上了15秒等待,防止启动的时候网络还没连接成功就运行出错。
- 增加了ip地址显示方便随时远程编程
- 增加了更新时间显示- 去掉了时钟显示,直接显示天气时间界面
- 代码简化,去掉了各种函数的调用,优化了定时任务
202209更新:
这个专业版接口只有2000次免费次数,改了下代码,改为使用免费接口
诩 发表于 2022-4-12 09:36
行空板的功能确实很多,
但是我作为一个初中生,感觉现在玩这个,就好像
一个还没很厉害的人就开始玩Lattep ...
不过话说回来,这个编程倒是挺简单的 行空板的功能确实很多,
但是我作为一个初中生,感觉现在玩这个,就好像
一个还没很厉害的人就开始玩Lattepanda,Raspberry Pi
所以,要不这个还是我以后再接触吧 哇!看起来不错,学起来,学起来! Hockel 发表于 2022-4-2 20:28
哇!看起来不错,学起来,学起来!
搞起来{:5_116:} 不错不错,已经用起来了{:5_190:} 一定要先让板子连接WIFI,然后代码里面appid和appsecret改成自己的才可以正常运行{:5_148:} 谢谢分享 漂亮
一起创造起来 城市ID也要修改! 啥时候能买到行空板,非常期待! 哇!看起来好好玩的样子 感觉很不错 不错不错 6666666666666666666666 厉害厉害 赞赞赞赞 呵呵呵呵 学习一下 搞起来
页:
[1]
2