航仔 发表于 2022-7-28 20:24:20

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

本帖最后由 航仔 于 2022-7-30 22:17 编辑

❤【灵感来源】前段时间在抖音上刷到百分百会在恶劣天气下出现在街头漫步的柴犬,感觉好笑又可爱。很幸运地在漂流活动中申请到了一块行空板,用Python编写了一个简单的宠物计步器,主要具有天气预报和计步两大功能,给自家的可爱狗狗用起来吧!
❤【功能简介】1️⃣计步——通过测量加速度强度计算运动步数2️⃣运动量分档提示——柴犬的不同运动状态,合理控制运动量3️⃣天气预报——连接气象信息API,合理规划行程


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

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

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




step2:WiFi连接

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

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





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

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





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





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

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

根据提示注册开发账号;


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




❤【完整代码】from pinpong.board import Board # 从pinpong.board包中导入Board模块
from pinpong.extension.unihiker import * # 导入pinpong.extension.unihiker包中所有模块
Board('UNIHIKER').begin() # 初始化,选择板型和端口号,不输入则进行自动识别

import requests
import json

from unihiker import GUI# 导入unihiker库
gui=GUI()

tianqichaxun=requests.get('https://v0.yiketianqi.com/api?unescape=1&version=v61&cityid=101170201&appid=63582814&appsecret=Iuk987v1')
tianqichaxun.encoding='utf-8'
data = json.loads(tianqichaxun.text)
print(data)

run = 0 #添加变量用以计步
bushu = gui.draw_digit(x=120,y=40,color="red",origin = "center",font_size=12) # draw_digit方法
img = gui.draw_image(x=120,y=200,w=120, h=160,origin = "center", image='好久没遛人家的哀怨柴柴.jpg')
city_wea= gui.draw_digit(x=52, y=60,color="green",font_size=12) # draw_digit方法
nianyueri=gui.draw_text(x=10,y=75,color="blue",font_size=12)

if data['wea']=='晴':
img.config(image="天气不错想出去转的柴柴.jfif")

else:
    img.config(image="天气不好拒绝出门的柴柴.jfif")


while True:#永久循环
    strength = accelerometer.get_strength()#获取强度值
    bushu.config(text='柴柴今天已经走了%d步'%run)
    city_wea.config(text=data['city']+' '+data['wea']+' '+data['win'])
    nianyueri.config(text=data['date']+''+data['week']+''+data['update_time'])
    if strength > 1.5:#强度判别
      run += 1 #记录一次步数
      time.sleep(1)

    if 0<run <10000:
      img.config(image="运动量未过载开心到飞起的柴柴.jfif")
    if run>10000:
      img.config(image="运动过量怀疑人生的柴柴.jfif")

   

❤【演示视频】




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




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

{:6_203:}                  

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

创意不错

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

666,你太厲害了
页: [1]
查看完整版本: 具有天气播报功能的宠物计步器|《勇敢柴柴爱遛弯》