树莓派天气助手

Vamei大神<<树莓派开始,玩转Linux>>第35章天气助手的简易复现!!

心知天气API 配置

API控制台官方网站:https://www.seniverse.com/dashboard

  • 如果你使用的是免费订阅,请复制下列链接:
https://api.seniverse.com/v3/weather/now.jsonkey=你的私钥&location=城市&language=zh-Hans&unit=c
  • scheme: https
  • host: api.seniverse.com
  • path:v3/weather/now
  • query parameters:jsonkey=&location=&language=zh-Hans&unit=c

key可以自行注册好,创建免费项目后,在官方项目管理网站上获取:

使用Postman进行请求访问:

树莓派调用API

Linux常常使用curl工具来调用远程API,再使用jq工具来解析返回的天气信息。其中curl树莓派自带,jq工具需要额外的安装。(二者的使用方法自行CSDN)

根据怕postman请求的结果编写脚本:

#!/usr/bin/env bash
city_name=wuxi
private_key_number=***

data=$(curl "https://api.seniverse.com/v3/weather/now.json?key=${private_key_number}&location=${city_name}&language=zh-Hans&unit=c")

weather=$(echo ${data} | jq -r '.results[0].now | .text')
temperature=$(echo ${data} | jq -r '.results[0].now | .temperature')

echo ${weather}
echo ${temperature}

树莓派以邮箱的方式发送天气内容

先安装sendemail

sudo apt-get install sendemail

将前面调用天气API获取到的天气信息编写到发送邮箱代码代码:

#!/usr/bin/env bash
city_name=**
private_key_number=**

data=$(curl "https://api.seniverse.com/v3/weather/now.json?key=${private_key_number}&location=${city_name}&language=zh-Hans&unit=c")

date=$(echo ${data} | jq -r '.results[0].last_update') 
weather=$(echo ${data} | jq -r '.results[0].now | .text')
temperature=$(echo ${data} | jq -r '.results[0].now | .temperature')

SERVER="smtp.qq.com:587" # 这里指发送服务器
FROM="**.com" # 发送邮箱
TO="**.com" # 接收邮箱通过命令行传入QQ号
SUBJECT="${date} 天气 "  # 主题
MESSAGE="今天天气:${weather}, 平均气温为:${temperature}" # 邮件文本内容
CHARSET="utf-8" # 字体
USERNAME="**.com" # 发送邮箱
PASSWD="**" # 发送邮箱密码,非qq密码,需自行在邮箱中查找
#FILE="$1" # 附件

sendemail \
    -f ${FROM}\
    -t ${TO}\
    -u ${SUBJECT}\
    -s ${SERVER}\
    -m ${MESSAGE}\
    -xu ${USERNAME}\
    -xp ${PASSWD}\
    -v -o message-charset=${CHARSET}
    # -a ${FILE}
    # 无法发送多文件 

上面的PASSWD如果是QQ邮箱,查找的界面如下:

运行脚本,界面如下:

接受邮箱成功受到邮箱信息:

设置自动发送

利用cron规划助手,让树莓派在特定的时间发出邮件提醒。

输入crontab -e进入编辑页面,如果我们要设置每天8.30发送邮件,那么增加

30 8 * * * bash 路径/发送右键的sh

运行后每天8.30(树莓派开机)将会给我们的邮箱推送天气情况!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
树莓派4B的串口调试助手是minicom。为了验证树莓派串口是否正常工作,可以通过安装minicom来进行验证。安装minicom的步骤如下: 1. 打开终端,输入命令:sudo apt-get install minicom,回车等待下载和安装。 2. 安装完成后,将USB转TTL连接到树莓派,并打开电脑的串口调试助手,连接到CH340,波特率设置为9600,数据位为8位,停止位为1。 3. 同时打开树莓派的串口助手,在终端输入命令:minicom -D /dev/ttyAMA0 -b 9600,回车进入串口助手。 4. 在电脑端输入abcd,点击发送,可以在树莓派上看到相应的显示,表示串口已成功开启。 5. 退出minicom的步骤为:首先按下Ctrl+A,然后按下Z,再按下X,选择是即可退出。 请注意,如果需要使用串口登录树莓派功能,可以选择不启用串口登录树莓派。当被提示是否打开串口时,选择是,并选择Finish->是来重启树莓派。在终端中再次输入命令ls -l /dev,可以看到serial0映射到了mini串口上,表示mini串口已成功开启。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [树莓派4B学习笔记(11)—— 串口配置与基础用法](https://blog.csdn.net/weixin_44415639/article/details/115004935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [树莓派4B学习笔记——IO通信篇(UART)](https://blog.csdn.net/qq_41954556/article/details/122945322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值