7667浏览
查看: 7667|回复: 8

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

[复制链接]
本帖最后由 航仔 于 2022-7-30 22:17 编辑
❤【灵感来源】
前段时间在抖音上刷到百分百会在恶劣天气下出现在街头漫步的柴犬,感觉好笑又可爱。很幸运地在漂流活动中申请到了一块行空板,用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


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




ASH腻  管理员

发表于 2022-7-29 10:34:30

哇好可爱的柴柴
回复

使用道具 举报

俺是胡胡  初级技师

发表于 2022-7-29 10:56:29

给赞一个
回复

使用道具 举报

muzyli  管理员

发表于 2022-7-29 16:53:40

勇敢柴柴 不怕困难
回复

使用道具 举报

派大星ym  初级技匠

发表于 2022-8-1 09:10:40

脑洞大开
回复

使用道具 举报

俺是胡胡  初级技师

发表于 2022-8-9 11:33:12

66666666666666
回复

使用道具 举报

俺是胡胡  初级技师

发表于 2022-8-12 11:36:21

                  
回复

使用道具 举报

 初级技匠

发表于 2022-8-18 12:07:59

创意不错
回复

使用道具 举报

罗卡  初级技师

发表于 2022-9-3 20:43:04

666,你太厲害了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail