独特的桌面气象站

2020-12-102.6万
精华项目
AI 快速预览详细 收起
这个项目是一个使用ESP8266和WS2812 LED制作的独特桌面气象站。通过OpenWeatherMap API获取天气数据,并通过LED灯条展示不同的天气效果。硬件清单包括NodeMCU (ESP8266)、WS2812 LED灯条、5V Micro USB充电器和3D打印部件。最终效果是根据时间和气候变化展示多种颜色组合,例如晚上下雨时云朵的颜色变为红色、橙色、黄色的组合,展示出雷暴的效果。难度适中,适合STEM教育和编程启蒙。


独特的桌面气象站图1
独特的桌面气象站图2

独特的桌面气象站图3


(腾讯视频审核的非常快,几分钟就审核通过了)


独特的桌面气象站

关于:我是计算机科学专业的学生。我喜欢玩电子产品,喜欢写代码,制作全新项目。

大家好!在本月项目中,我以桌面植物的形式制作了一个气象站,你也可以称其为桌面展品。这个气象站通过openwethermap.org的网站将数据提取到ESP8266中,并改变展品的RGB颜色。展品根据时间和气候而变化可以有许多不同的颜色组合。例如,如果晚上下雨,则云朵的颜色变为红色、橙色、黄色的组合,展示出雷暴的效果。这样它就有许多不同的颜色组合。

步骤1:必要的组件

  • Node MCU(ESP8266)

  • WS2812 LED灯条

  • 5v Micro USB 充电器

  • 3D打印部件

步骤2:电路连接

  • 如电路图所示进行连接。

  • 可以使用WS2812B LED灯条代替单个LED。

  • 数据引脚连接到ESP8266的D4引脚,GND接GND,5v接NodeMCU的Vin。(如电路图)

  • 每面墙使用4个LED(4个LED x 4面墙= 16个LED),7个LED用于云朵,2个LED灯用于太阳/月亮(3D打印的圆形)。

  • ESP8266开发板放在底座下方,底座上有3D打印的盒子盖住它。

步骤3:种下植物

  • 将塑料片放入容器下面。

  • 将土壤和植物放入容器中。

步骤4:程序编写

  • Arduino IDE中打开下面给出的代码。

  • 代码:请在附件中下载程序。

  • 确保已包含代码中提到的每个库。

  • 编辑下面的代码

String OPEN_WEATHER_MAP_APP_ID = "<u>App_ID</u>";

String OPEN_WEATHER_MAP_LOCATION_ID = "<u>Location_ID</u>";

  • 打开浏览器并搜索 www.openweathermap.org。

  • 创建一个帐户并登录该网站。

  • 单击API密钥,将密钥复制并替换到上方代码中的APP_ID部分。

  • 在同一个网站中搜索你的位置,打开结果,然后复制URL中的最后一个数字并将其粘贴到LOCATION_ID。

  • MAP_ID和LOCATION_ID与我的相似。

  • 在ssid输入你的Wifi_name和你的Wifi密码。

const char * ssid ="<u>Wifi_name</u>";

const char * password ="<u>password</u>";

  • 现在根据你所在国家的时区更改时区

int timezone = <u>5.5</u> * 3600;

印度的时区为5:30,所以我输入了5.5,你也可以输入自己的时区。

  • 如我上面的代码所示,所有下划线的部分都由你编辑。(译注:Markdown转到社区里好像不支持下划线,文中<u></u>之间的部分即为下划线)

  • 现在将ESP8266连接到你的电脑,选择端口并上传代码。

 步骤5:最后一步

插入Micro USB充电器即可完成。

谢谢!

原文链接:https://www.instructables.com/Desk-Weather-Station-Showpiece/
作者:Mukesh_Sankhla
翻译:szjuliet



回答大家的部分留言:
  • 关于Jsonlistern.h的下载:

在Arduino IDE中,点击菜单中 项目--加载库--管理库,搜索 Json streaming parser,在弹出的选项中安装即可。
独特的桌面气象站图5独特的桌面气象站图4

  • 云朵的3D打印文件在附件里有的,是.glb格式的
独特的桌面气象站图6

原作者的提示:要打印云朵,需要将“填充”设置为0%。

  • 关于ESP8266WiFi.h的下载:
下载地址:https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/src/ESP8266WiFi.h





3D打印部件文件.zip

952.23 KB, 下载次数: 27

售价: 1 创造力  [记录]

3D打印部件文件

weather_code.zip

2.44 KB, 下载次数: 30

售价: 1 创造力  [记录]

程序代码

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(12)
lx
lx
C:\Users\HP\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:28:10: fatal error: wl_definitions.h: No such file or directory #include ^~~~~~~~~~~~~~~~~~ compilation terminated.Arduino编译时出现以上错误,有没有人可以帮帮忙,解答一下。谢谢谢谢
szjuliet
szjuliet
作者
回复lx
你可能没有下载完整的esp8288wifi相关文件
把ESP8266wifi下面所有文件都下载并存放到arduino的库文件夹中
https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi
lx
lx
求求了,谁能告诉我在哪能下载esp8266wifi.h库啊
lx
lx回复szjuliet
谢谢谢谢大佬
阳54678
阳54678
请问第二行的ESP8266WiFi.h怎么显示的有错误呀?要下载库吗?怎么下载呀
阳54678
阳54678
请问注册OpenWeather账号需要翻墙吗?
MollyChiao
MollyChiao
很有创意的,特别可爱
DFB1Ln1GDCv
DFB1Ln1GDCv
你那独特的桌面气象站3D打印文件少了云朵部分,能不能发份给我,[email]598089072@qq.com[/email] 谢谢
DFB1Ln1GDCv
DFB1Ln1GDCv回复DFB1Ln1GDCv
里面有个colud.glb文件3D打印软件打不开
szjuliet
szjuliet
作者
回复DFB1Ln1GDCv
在附件里有的,是.glb格式
咕叽大虾
咕叽大虾
好赞!可爱还实用!
MRX
MRX
JsonListener.h这个库哪里有呀?
MRX
MRX回复szjuliet
收到,感谢大佬
szjuliet
szjuliet
作者
回复MRX
https://github.com/squix78/json-streaming-parser/find/master,这里下载。或者在Arduino IDE中的项目--加载库--管理库,搜索json streaming parser,安装好了在文档中的Arduino目录下就可以找到。
7777777
7777777
不错,有创意
TuTu
TuTu
哇呜 好棒!
DFHk-Iek-iD
DFHk-Iek-iD
有打印文件么
szjuliet
szjuliet
作者
回复lx
https://www.seniverse.com/api,可以用心知天气的api
lx
lx回复szjuliet
但是这个邮箱也不行。可不可以换个气象网站,有什么推荐吗?
共5条回复,已加载2条,点击查看更多共5条回复,已加载全部
屌丝王小明
屌丝王小明
讨喜讨喜讨喜
- 没有更多了 -