×

使用Blot IOT的天气警报

消耗积分:0 | 格式:zip | 大小:0.03 MB | 2023-02-06

张英

分享资料个

描述

关于工作的解释

 

 

 

程序逻辑

该项目的代码简单易懂。首先,我们安排所有必要的 API、硬件和软件服务。

该程序将获取您所在地区的实时天气详细信息并向您指示天气

让我们一步步了解它

设置软件服务

  • 设置 Bolt 云并获取 API 和设备 ID

登录到螺栓云

在 API 部分,您可以获得 API 和设备 ID

  • 设置 Twilio

登录/注册 Twilio

验证您的电子邮件和电话号码

遵循入职流程

Twilio1-2-1024x561.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
7__Onboarding_2-3-1024x561.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
8__Onboarding_3-2-1024x560.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
9__Onboarding_4-2-1024x561.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

试用号是FROM号。FROM 号码是您将从中接收短信的号码

11__Dashboard_2-1-1024x561.png?auto=compress%2Cformat&w=740&h=555&fit=max
 
12__Dashboard_3-1-1024x561.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

现在获取 SID、AUTH_TOKEN 和 FROM 号码。

  • 设置 OpenWeatherMap

验证您的帐户

 

screenshot_(163)_qxP1qR0e4v.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

 

转到 API 部分并订阅当前天气数据

一旦您订阅了当前天气数据,您就可以使用它来实时跟踪您所在地区的天气

转到 Current Weather Data 的 Api Docs 部分,您将看到有关 API 使用和 API 的 Json 格式的所有信息

 

screenshot_(164)_3aRlZHyV8e.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

 

找出你所在位置的经度和纬度,并在你的 API 参数中提及它

让我们看看 API 的响应

 

screenshot_(165)_ZfqpkHrNrF.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

 

这是我们 API 的响应,如 JSON 格式所示

设置硬件连接

IMG_20220809_021507-min-1024x768.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

使用面包板形成电路

my_circuit_mts3Vmynxl.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
 

但是,您可以将蜂鸣器和 LED 的正极连接到任何引脚('0''1''2''3''4')。但请确保您在代码中提及正确的密码

了解代码

  • 创建包含所有 API 和 ID 的 conf.py 文件
SID = "Write your twillio SSID here" #generated when you have created your twillio account"

AUTH_TOKEN = "write your twillio auth_token here" #you can access it from your twillio account dashboard

FROM_NUMBER = "This is the number generated by twillio"

TO_NUMBER = "This is your personal mobile number"#must add +91 in the beginning 

BOLT_API = "This your bolt api key"
DEVICE_ID = "This your bolt device id like BOLTXXXXXXXX"
  • 从导入库和文件开始
Screenshot-166.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

将 API_KEY 和 DEVICE_ID 从conf.py文件传递​​给Bolt并使用mybolt变量

AUTH_TOKEN TO_NUMBERFROM_NUMBER从 conf.py 文件传递​​给Sms并使用sms变量

  • 使用 OpenWeatherMap 站点 API 获取实时天气报告
Screenshot-167.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

使用requests.get( )方法获取实时数据。我们知道 OpenWeather 站点会以 json 格式为我们获取天气数据。所以我们使用api_data=api_link.json( )来通过api_data变量获取每个天气数据。

如果需要,您可以打印api_data并查看数据显示方式的结果。

  • 现在我们得到了我们需要的数据
Screenshot-168.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

因为我们得到的是 json 格式的数据,它只不过是对象表示法。所以我们访问对象的Value并将其存储到与其对应的不同变量中。

https://www.w3schools.com/js/js_json_intro.asp您可以访问此站点以了解有关 Json 以及如何访问对象的值的更多信息。

  • 程序主要逻辑
Screenshot-169.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

现在我们来到了主要的逻辑部分。这段代码是简单的python的If、Else-If方法。我们首先检查天气状态是否为“下雨”或“毛毛雨”或“雷雨”,如果条件真,则将执行此代码块并且蜂鸣器开始发出蜂鸣声,因此将打印以下内容。

Else-如果我们检查天气状态是“ Clouds ”还是“ Clear ”并打印以下内容。如果这种情况属实,则表明天气适合晾干我们的衣服,因此LED开始发光。

  • 现在是最后一段代码
Screenshot-170.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

如果没有except方法,我们的try方法将无法工作,所以要小心这一点。except Exception as e 语句是定义 except 语句参数的语句后一条语句中的 e 用于在代码中创建给定 Exception 的实例,并使用户可以访问给定 Exception 对象的所有属性。

我已经给了time.sleep以引起时间延迟。然后最后mybolt.digitalWrite('4, 'LOW')用于关闭蜂鸣器或 LED

完整代码视图

Screenshot-171.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

代码的输出

Screenshot-172.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

来自 Twilio 的警报消息

Screenshot_20220809-194711-576x1024.png?auto=compress%2Cformat&w=740&h=555&fit=max
 

我们已经完成了我们的项目。您可以使用相同的逻辑和方法来完成其他各种项目。我希望你发现它有帮助。

谢谢


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !