具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》

2022-07-281.6万
精华项目
AI 快速预览详细 收起
《勇敢柴柴爱遛弯》是一个基于行空板和Python编写的宠物计步器项目。硬件清单包括行空板、typeC连接线和电脑。项目主要功能包括通过加速度传感器计算步数、根据运动量分档提示以及连接天气API进行天气预报。最终效果是能够实时监测狗狗的运动量并提供天气信息。难度适中,适合STEM教育场景下的亲子共学。

❤【灵感来源】
前段时间在抖音上刷到百分百会在恶劣天气下出现在街头漫步的柴犬,感觉好笑又可爱。很幸运地在漂流活动中申请到了一块行空板,用Python编写了一个简单的宠物计步器,主要具有天气预报和计步两大功能,给自家的可爱狗狗用起来吧!

❤【功能简介
1️⃣计步——通过测量加速度强度计算运动步数
2️⃣运动量分档提示——柴犬的不同运动状态,合理控制运动量
3️⃣天气预报——连接气象信息API,合理规划行程

具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图1具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图2


❤【器材清单&环境准备
电脑一台;
typeC连接线一根;
行空板一块;
Mind+软件Python模式。

❤【准备工作】

step1:行空板的连接与Mind+代码模式的选择

行空板连接Mind+教程:https://wiki.unihiker.com/mindplus_code

具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图4


step2:WiFi连接

wifi连接教程:https://wiki.unihiker.com/webmenu#target_3

打开电脑浏览器,输入板子的ip10.1.2.3,即可打开wifi连接界面。


具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图3


step3:不同状态提示图片的导入与显示

将所需图片保存至随意路径,将图片拖拽至列表。


具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图5


图片可根据需要自行在网上下载,本项目用到的柴犬图片如下:


下载附件柴犬图片.zip


step4:通过连接天气API获取天气信息

提供天气查询API的网站:http://www.tianqiapi.com/index/doc

根据提示注册开发账号;
具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图7

登录账号后,在控制台获取并记录appid与appsecret,后续会用到;

具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图8


❤【完整代码】
  1. from pinpong.board import Board # 从pinpong.board包中导入Board模块
  2. from pinpong.extension.unihiker import * # 导入pinpong.extension.unihiker包中所有模块
  3. Board('UNIHIKER').begin() # 初始化,选择板型和端口号,不输入则进行自动识别
  4. import requests
  5. import json
  6. from unihiker import GUI  # 导入unihiker库
  7. gui=GUI()
  8. tianqichaxun=requests.get('https://v0.yiketianqi.com/api?unescape=1&version=v61&cityid=101170201&appid=63582814&appsecret=Iuk987v1')
  9. tianqichaxun.encoding='utf-8'
  10. data = json.loads(tianqichaxun.text)
  11. print(data)
  12. run = 0 #添加变量用以计步
  13. bushu = gui.draw_digit(x=120,y=40,color="red",origin = "center",font_size=12) # draw_digit方法
  14. img = gui.draw_image(x=120,y=200,w=120, h=160,origin = "center", image='好久没遛人家的哀怨柴柴.jpg')
  15. city_wea= gui.draw_digit(x=52, y=60,color="green",font_size=12) # draw_digit方法
  16. nianyueri=gui.draw_text(x=10,y=75,color="blue",font_size=12)
  17. if data['wea']=='晴':
  18. img.config(image="天气不错想出去转的柴柴.jfif")
  19. else:
  20.     img.config(image="天气不好拒绝出门的柴柴.jfif")
  21. while True:#永久循环
  22.     strength = accelerometer.get_strength()#获取强度值
  23.     bushu.config(text='柴柴今天已经走了%d步'%run)
  24.     city_wea.config(text=data['city']+' '+data['wea']+' '+data['win'])
  25.     nianyueri.config(text=data['date']+'  '+data['week']+'  '+data['update_time'])
  26.     if strength > 1.5:#强度判别
  27.         run += 1 #记录一次步数
  28.         time.sleep(1)
  29.     if 0<run <10000:
  30.         img.config(image="运动量未过载开心到飞起的柴柴.jfif")
  31.     if run>10000:
  32.         img.config(image="运动过量怀疑人生的柴柴.jfif")
  33.    
复制代码


❤【演示视频】

具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》图8


    如有任何疑问,欢迎一起讨论!




创作许可协议

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

评论(9)
Lm3ATbjtIcjl
Lm3ATbjtIcjl
好【漂亮的冯hlpggfdkopqore-goy90-4yo4959ry0eohptyk56i5otr让退哦itoers;
罗卡
罗卡
666,你太厲害了
诩
创意不错
俺是胡胡
俺是胡胡
评论内容
俺是胡胡
俺是胡胡
66666666666666
派大星ym
派大星ym
脑洞大开
muzyli
muzyli
勇敢柴柴 不怕困难
俺是胡胡
俺是胡胡
给赞一个
Ash1
Ash1
哇好可爱的柴柴
- 没有更多了 -