准确的天气预测对于计划我们的日常活动很重要。 例如,农民需要信息来帮助他们计划农作物的种植和收割。 对我们来说,它可以帮助我们准备出门时带的东西,例如如果知道会下雨的话,可以带上雨伞。 天气预报可以帮助我们做出更明智的日常决策,甚至可以帮助我们摆脱危险。
该应用程序不仅限于天气预报显示。 它可以从任何网站上获取信息。 遵循本指南可以使您大致了解如何使其工作。
硬件
软件
使用库
工作方式
Raspberry Pi 引脚图
RPi的工作方式与Arduino类似,但是两者之间存在一些差异。 所有的Raspberry Pi开发板都使用Python作为主要语言,但也支持Ruby和C,而Arduino仅支持C。此外,对于希望进入电子项目的初学者来说,RPi更加昂贵且更加复杂。 但是,由于其更高的处理能力,它一次可以处理多个程序。
TFT液晶显示器ILI9341
TFT LCD屏幕上的所有像素均以行和列的格式配置,并且每个像素都附加到一个非常小的硅晶体管上,该晶体管直接位于玻璃面板上。 这种设置允许给每个像素充电,并且即使刷新屏幕以产生新图像也可以保持该电荷。
硬件设置
Raspberry Pi设置
启用SPI
为了使TFT LCD能够正常工作,我们必须通过Raspberry Pi配置启用SPI。 假设您已经连接到Raspberry Pi,请单击左下角的raspberry图标,将鼠标悬停在“首选项”上,然后单击“ Raspberry Pi配置”。
窗口弹出时,单击“接口”并确保已启用SPI。完成后,单击“确定”。
安装库
ThingHTTP设置
要获取数据,我们必须请求一个API。 假设您已经按照上述说明安装了请求库,则下一步是为网站中的特定数据制作API。 我们将使用ThingSpeak的ThingHTTP应用程序,因此您必须在其网站上注册https://thingspeak.com/。 如果您已经有一个帐户,请登录并单击“应用程序”,然后单击“ ThingHTTP”。
这样做时,应将您定向到ThingHTTP页面。点击“ New ThingHTTP”创建一个。
加载后,将显示其设置。更改名称以便于识别,然后输入您要从中获取数据的网站的URL。其余设置保持默认。
下一步,您需要转到要从中获取数据的网站,将鼠标悬停在要获取的特定数据上,然后选择“检查”。
在右侧窗口弹出窗口中右键单击数据,将鼠标悬停在“复制”上,然后选择“复制XPath”。
复制XPath之后,返回ThingHTTP设置并将其粘贴到“解析字符串”框中,然后点击保存。
保存后,您可以在页面右侧获得API链接。您稍后将在代码中使用它。
对所需的其他数据重复该过程,例如温度,降水量,湿度等。
代码
对于代码,您可以在计算机上通过Python IDLE,Notepad ++或任何支持Python的文本编辑软件或IDE进行处理,然后通过VNC Viewer将其传输到Raspberry Pi。 您也可以在RPi本身内部进行编码,我发现这很容易。
要运行代码,请打开终端并使用命令cd 将目录更改为文件所在的目录,然后运行命令python .py。
代码分解
库导入
预初始化
然后,我们分别将DC和RESET引脚分配给RPi板的引脚18和23。 SPI端口和设备默认情况下应为0。 之后,我们创建TFT LCD显示器并初始化显示器。 已经创建了两个字体设置,以供以后在TFT LCD上显示我们的文本。 由于该库的默认字体只有8个像素,这非常小,因此我从https://www.dafont.com/下载了最高字体样式,并将.tff文件放置在与代码相同的目录中。 如果愿意,可以使用默认字体,方法是从代码中删除注释,或者从上述同一网站下载其他字体。 可以在ImageFont.truetype()的第二个参数中指定字体大小。
绘制旋转文字函数
由于PIL对旋转字体没有很好的原生支持,因此创建了此函数来解决这一问题。 在代码中注释了每行如何贡献的具体细节。
显示循环
这是通过API请求从网站获取数据的地方。确保request.get()中的URL是要获取的数据,并将其存储在变量中。要获取当前日期和时间,我们可以使用datetime.datetime.now()。
在绘制文字之前,首先我们必须清除显示内容以刷新其内容。 调用draw_rotated_text()函数将单词和数据绘制到TFT LCD屏幕上。 只需遵循给定的格式并更改相对于TFT LCD屏幕的坐标或位置。 我将其设置为相隔30-40像素。 您甚至可以更改文本的旋转度,字体和颜色。 对于时间显示格式,我们必须使用time.strftime来获取表示日期和时间的字符串。 %b代表月份,%d代表白天,%H代表小时,%M代表分钟,%S代表秒。 绘制单词后,我们然后使用disp.display()显示它,并设置一个延迟,使其不发送垃圾邮件。
详情参阅 - 亚图跨际