当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]室内数据来自电路板上的真实传感器,而户外数据则来自开放天气API Open-Meteo。电路板通过以太网连接互联网,仅将电脑用作桥接设备(Wi-Fi共享至以太网端口)。正常使用时无需手机应用或电脑“推送天气”程序。

我想要一个小巧的桌面显示屏,无需解锁手机即可回答两个简单问题:

1. 我旁边这里有多暖和潮湿啊?

2. 目前香港的户外天气如何?

室内数据来自电路板上的真实传感器,而户外数据则来自开放天气API Open-Meteo。电路板通过以太网连接互联网,仅将电脑用作桥接设备(Wi-Fi共享至以太网端口)。正常使用时无需手机应用或电脑“推送天气”程序。

它做什么

•室内模式(左键,PA8):来自AHT20的实时温度和湿度。

•室外模式(右键,PC7):来自Open-Meteo的香港天气数据。

•屏幕顶部显示一个大型时钟。

•温度和湿度以两个清晰的卡片形式呈现。

•当Open-Meteo报告有降雨时,两页都会切换为灰色的雨天背景,并带有雨迹;晴天则保持蓝天和阳光。

室内数据每两秒更新一次。室外天气在启动时获取,之后每五分钟更新一次。

为什么使用以太网+电脑?

许多开发板通过Wi-Fi联网。本设计采用W55MH32的以太网接口替代Wi-Fi。

该开发板连接至电脑的以太网端口,而电脑仍保持Wi-Fi连接。Windows的互联网连接共享(ICS)功能为开发板分配DHCP地址,并将网络流量通过电脑转发。这是在桌面上无需额外添加路由器跳转的情况下,快速实现开发板联网的实用方法。

一旦DHCP正常工作,开发板便会建立一个普通的HTTP连接到Open-Meteo,读取温度、湿度、天气代码和降水情况,然后更新显示屏内容。

硬件

主板

•W55MH32-ADK 运行 MicroPython

•内置以太网(固件使用的 W5500 风格接口)

•两个用户按钮,用于室内外切换

传感器

软件

代码位于 `micropython` 下。

流程:

1. main.py 读取传感器和按钮,调用 net_weather 获取户外数据,并将数值传递给 UI 进行绘图。

2. main.py 先启动室内模式,然后开启以太网。每约2秒更新一次AHT20;每约5分钟重新获取一次Open-Meteo数据。PA8 = 室内,PC7 = 户外。

3. net_weather.py 会重置 W5500,通过 DHCP 获取 IP 地址,使用普通 HTTP 请求获取 Open-Meteo 数据,解析温度、湿度、天气和降水信息,并将最后的结果保存到 `/outdoor.txt` 文件中。

4. ui.py 负责绘制页面。Rain 是两种模式共用的主题,仅重新绘制已更改的部分,以保持 SPI 更新的轻量。

5. tools/rain_test.py 可在无网络的情况下预览雨景图形。

源代码中的逐步指导

上述每个主文件都包含代码内的详细步骤说明(启动顺序、以太网/DHCP、HTTP获取、UI重绘)。打开 .py 文件,按照这些注释进行引导式操作。

请阅读注释和 README 文件以获取更多信息。

如何从电脑共享互联网

1. 在 Windows 上,打开 `ncpa.cpl`。

2. 打开 Wi-Fi → 属性 → 共享。

3. 允许其他用户通过此计算机的互联网连接进行连接。

4. 选择以太网作为家庭网络连接。

5. 确认以太网地址约为 `192.168.137.1`。

6. 将板子的以太网线连接到电脑。

当板子启动时,你应该能看到DHCP成功,然后在串行控制台中看到Open-Meteo获取数据成功。

如何日常使用

1. 通过USB为电路板供电。

2. 等待室内页面出现。

3. 按下右侧按钮查看香港户外天气。

4. 按下左键返回室内。

5. 如果香港正在下雨,就尽情享受(或忍受)两页中那灰蒙蒙的雨景吧。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭