找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 5325|回复: 73

关于玩客云 显示 "天气预报" 的实现

  [复制链接]
发表于 2024-11-18 10:17 | 显示全部楼层 |阅读模式
本帖最后由 smlz1213@qq.com 于 2024-11-18 21:58 编辑

使用玩客云linux系统作为小型服务器的同时,led灯 也不能闲着, 所以有了 用作天气预报的想法. 这里仅作为作为玩法的扩展思路, 不讨论代码水平, 抛砖引玉供大家参考, 不涉及详细教程.

思路:
1. 玩客云 面板的led 等可以通过 命令行控制. 灯的颜色有红、绿、蓝 三种, 不同颜色的组合还能组成 紫、粉、白、黄, 这个大家自己去测试。
2. 使用python  天气api 接口 获取 天气信息, 提取关键信息 如: 大雨、晴、其他天气情况,使用 os模块 调用 命令行 更换灯的颜色.

3. 设置定时启动, 每5分钟 启动一次python 脚本, 获取天气情况,更改灯的颜色就可以了.

我使用的灯光判断是孩子建议的:
为什么没有雪天, 因为孩子说 宁波不下雪。哈哈


大雨、中雨、其他雨天:红灯
小雨:黄灯
其他天气: 绿灯
晴天:蓝灯
网络断开: 白灯






LED灯的 使用命令,颜色组合还会得到其他的颜色,自己去尝试.  开了的灯记得关掉 不关掉就变成组合色了.


开启红色
echo 1 > /sys/class/leds/onecloud\:red\:alive/brightness


开启绿色
echo 1 > /sys/class/leds/onecloud\:green\:alive/brightness

开启蓝色
echo 1 > /sys/class/leds/onecloud\:blue\:alive/brightness



开启黄色(组合)
echo 1 > /sys/class/leds/onecloud\:red\:alive/brightness
echo 1 > /sys/class/leds/onecloud\:green\:alive/brightness


关闭红色
echo 0 > /sys/class/leds/onecloud\:red\:alive/brightness

关闭绿色
echo 0 > /sys/class/leds/onecloud\:green\:alive/brightness
关闭蓝色
echo 0 > /sys/class/leds/onecloud\:blue\:alive/brightness

关灯(组合)
echo 0 > /sys/class/leds/onecloud\:red\:alive/brightness


echo 0 > /sys/class/leds/onecloud\:green\:alive/brightness
echo 0 > /sys/class/leds/onecloud\:blue\:alive/brightness



python 代码如下:


python 代码如下:
#pip install requests

#api地址
#url = 'http://t.weather.sojson.com/api/weather/city/城市的代码'
# 城市代码查询 https://blog.csdn.net/qq_42855293/article/details/103864266


import requests ,os, time


url = 'http://t.weather.sojson.com/api/weather/city/101210412'

#网络请求,传入请求api+城市代码
response = requests.get(url)

#将数据以json形式返回,这个d就是返回的json数据
d = response.json()


def off_led():
print("关闭LED")
os.system("echo 0 > /sys/class/leds/onecloud\:red\:alive/brightness")
os.system("echo 0 > /sys/class/leds/onecloud\:green\:alive/brightness")
os.system("echo 0 > /sys/class/leds/onecloud\:blue\:alive/brightness")
time.sleep(2)


def on_led():
print("白色")
os.system("echo 1 > /sys/class/leds/onecloud\:red\:alive/brightness")
os.system("echo 1 > /sys/class/leds/onecloud\:green\:alive/brightness")
os.system("echo 1 > /sys/class/leds/onecloud\:blue\:alive/brightness")

def red_led():
print("红色")
os.system("echo 1 > /sys/class/leds/onecloud\:red\:alive/brightness")


def Yellow_led():
print("黄色")
os.system("echo 1 > /sys/class/leds/onecloud\:red\:alive/brightness")
os.system("echo 1 > /sys/class/leds/onecloud\:green\:alive/brightness")

def blue_led():
print("蓝色")
os.system("echo 1 > /sys/class/leds/onecloud\:blue\:alive/brightness")

def green_led():
print("绿色")
os.system("echo 1 > /sys/class/leds/onecloud\:green\:alive/brightness")




# 灯光循环一遍后关闭LED
off_led()
time.sleep(1)
red_led()

time.sleep(1)
off_led()
Yellow_led()


off_led()
time.sleep(1)
blue_led()
time.sleep(1)

green_led()
time.sleep(1)

off_led()
time.sleep(2)


#当返回状态码为200,输出天气状况
if(d['status'] == 200):
print("城市:", d["cityInfo"]["parent"], d["cityInfo"]["city"])
print("时间:", d["time"], d["data"]["forecast"][0]["week"])
print("温度:", d["data"]["forecast"][0]["high"], d["data"]["forecast"][0]["low"])
print("天气:", d["data"]["forecast"][0]["type"])
print("------")
weather_condition = d["data"]["forecast"][0]["type"]
if "雨" in weather_condition:
if "小雨" in weather_condition:
print("小雨")
Yellow_led()
else:
print("中雨,大雨,其他雨")
red_led()
elif "晴" in weather_condition:
print("晴")
blue_led()
else:
print("其他天气")
green_led()
else:
print("网络故障")
on_led()










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2024-11-18 10:25 | 显示全部楼层
牛批plus
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 10:34 | 显示全部楼层
天气预报" 的实现
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 10:41 来自手机 | 显示全部楼层
这个牛,虽然我的玩客云是丢在弱电箱里看不见灯的😄
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 10:46 | 显示全部楼层
这个有点6啊
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 11:24 | 显示全部楼层
不错 很有创意~
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 12:33 | 显示全部楼层
查看一下
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 12:46 | 显示全部楼层
这个想法可以啊。方便直观
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 12:55 来自手机 | 显示全部楼层
违禁词语,请勿再发违禁词语,请勿再发
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 13:06 来自手机 | 显示全部楼层
看看
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 13:21 | 显示全部楼层
牛批plus
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 16:04 | 显示全部楼层
顶楼主啦..希望楼主多发精品好帖啦.....
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-18 16:32 | 显示全部楼层
集完七色召唤神龙
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-19 00:07 | 显示全部楼层
可以做成暗号机器,放到她家
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2024-11-19 00:18 | 显示全部楼层
牛逼plus~~~~~~~~~~~~~~~~
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 23:41

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表