树莓派 + 墨水屏 DIY METAR 显示器 | 您所在的位置:网站首页 › 电脑墨水屏设置 › 树莓派 + 墨水屏 DIY METAR 显示器 |
树莓派 + 墨水屏 DIY METAR 显示器 2022年11月24日 Spoony 未分类 0
这款复古的 METAR(航空例行天气报告)三色墨水屏显示器,不仅怀旧感十足,还可以同时显示十多种信息。尽管这类小装备是飞行员们才需要用到的,但这也并不妨碍飞行爱好者们 DIY 一件摆放在自己的书桌上。
树莓派 Zero W x 1(其他树莓派主板亦可) MicroSD 卡 x 1 Waveshare 7×5 三色电子墨水屏 x 1 外框 x 1 METAR 简介METARhttps://en.wikipedia.org/wiki/METAR,它可以为机场环境提供动态的报告,也可以为飞行员提供有关机场天气和其他状况信息的平台。它为进出机场的飞行员传递重要信息,以便飞行员做出正确的选择。 对于飞行员来说,机场的飞行类别是非常的重要。选择有:VFR、MVFR、IFR 和 LIFR。这些类别由云层或能见度决定的。 VFR:目视飞行规则,云层高度超过 3,000 英尺,或能见度超过 5 英里。 MVFR:边际目视飞行规则,云层高度 1,000 至 3,000 英尺 AGL,或 3 到 5 英里的能见度。 IFR:仪表飞行规则,云层高度 500 至低于 1,000 英尺 AGL,或 1 英里至低于 3 英里的能见度。 LIFR:低仪表飞行规则,云层高度 500 英尺 AGL,或小于 1 英里的能见度。 AGL表示地面以上。 通常,这些类别都会有特定的颜色,如 VFR 为绿色。由于这款显示屏可以显示的颜色有限,如图所示,我用以下颜色来表示。 VFR:白底黑色字体。 MVFR:黑底白色字体。 IFR:白底红色字体。 LIFR:红底白色字体。 METAR 实际上是一串需要解码的神秘字符和数字。下面我们将原始的 METAR 文本进行解码。 METAR 文本格式为:KFPK(Charotte/Beach Fld,MI,US) 例如:KFPK 271935Z AUTO 32012G17KT 10SM BKN044 M02/M13 A3005 RMK AO2 T10211133,解码后信息如下。 M02-温度:-2.1°C (28°F) M13-露点:-13.3°C (8°F) [RH=42%] A3005-压力(高度计):30.05 英寸 Hg(1017.7 mb) 32012G17KT-风速:从 NW(320 度)14 MPH(12 节)阵风至 20 MPH(17 节) 10SM-能见度:10 或更多英里(16+ 公里) BKN044-云层高度:4400 英尺 AGL 的断层云 AO2-QC 标志:无需人类增强的自动观察 RMK-备注:备注附加信息 更多关于 METAR 的解读链接,你可以参考https://www.thinkaviation.net/understanding-metars-part-1/。 墨水屏文件可在本项目文件库中下载: https://make.quwj.com/project/429 安装硬件将 7×5 三色电子墨水屏 HAT 与树莓派 Zero W 相连。树莓派 Zero W 的启动和更新时间稍慢,但方便安装在外框内。 有两种方法可以将显示屏连接到主板。 1、如图所示,将 HAT 直接连接到树莓派的引脚上。 2、如图所示,使用连接器将 HAT 连接到树莓派的引脚上。这种方式不占主板引脚,可为其他功能留用,安装时请确保连接牢固。 HAT 上有两个可拨动开关,都位于右边并且方向朝上。“Display Config” 开关在“B”位置,“Interface Config” 开关在 “0” 位置。 可选添加一个开机开关。将主板通电,可以通过引脚 5 连接到 6 来重新启动它(GPIO 3 接地),引脚接口可参考https://pinout.xyz/。 如果你直接将 HAT 连接到引脚,则需要将一根电线焊接到主板下方的引脚 5 和 6 上。连接时请注意不要使另一个引脚上的电线短路。开机开关使用起来很方便,我将开关安装在外壳的后盖处。 如果这个开关对你来说太麻烦,你可以如上图一样在 USB 插头上添加一个开关。 将显示器安装在外框中,并使主板保持正常运转。 安装软件有两种安装软件的方式。 1、第一种方式 在 Dropbox https://www.dropbox.com/s/u8zt8nw22mxvta8/7in5e-inkMetar.zip?dl=0 上下载软件,并将其复制到 SD 卡,无需安装。请将最新版本存储在 Github 上,可以在这里复制所需安装的软件。软件不能一直确保正常使用,但可以下载后解压缩保存文件,请按照链接中的方法https://www.how2shout.com/how-to/balenaetcher-how-to-create-a-bootable-usb-flash-drive-using-etcher.html 将软件复制到 SF 卡中。 Berrylan https://berrylan.org/ 请将 Berrylan 应用程序下载到手机,以便你设置 WiFi 网络。访问 Apple Store 或 Android Play 商店。 应用程序的主机名和密码都已修改为 “epaper”。 温馨提示:如果在安装镜像后你想从 github.com 更新到最新版本,请输入以下内容: cd metar sudo git reset --hard sudo git pull2、第二种方式 请在这个链接中下载软件 https://github.com/markyharris/metar, README.md 文件中有详细的安装说明,请按照以下说明正确设置镜像。 下载所需的应用程序 Balena Etcher https://www.balena.io/etcher/。 Berrylan Unix Bullseye 镜像 https://berrylan.org/。 从 Apple App Store 或 Android Play Store 下载 Berrylan App 到你的手机。 注意:Berrylan 镜像要求不严。它提供了一种简单的方法来设置 WiFi 并可在无桌面树莓派的系统上启用 SSH。当然也可以使用临时的键盘和显示器连接到树莓派并将其启动。但是,通过 Berrylan 手机应用程序更改 WiFi 是最方便。如果不需要 Berrylan,请访问;https://www.raspberrypi.com/software/operating-systems/ 下载最新镜像。 如果 Berrylan 不能使用,https://desertbot.io/blog/headless-raspberry-pi-4-ssh-wifi-setup 请参考无桌面系统设置 WiFi 的步骤。 将镜像写入 SD 卡 使用 Balena Etcher,将镜像写入 Micro SD 卡。访问此处https://www.how2shout.com/how-to/balenaetcher-how-to-create-a-bootable-usb-flash-drive-using-etcher.html 了解和使用 Belena Etcher 的信息。 将 SD 卡放入树莓派并启动。等待 1-2 分钟,观察 SD 卡启动树莓派后 LED 的反馈。当它启动后会停止闪烁(大部分情况下)。 使用 BERRYLAN 设置 WIFI 在手机上打开 Berrylan 应用程序,然后选择 “BT WLAN 设置” 或 “BT WLAN” 或 “raspberrypi”。最常见的是 “BT WLAN”。如果有多个选择,请选择第一个并完成以下步骤。如果连接不到树莓派,请重启再试。 选择使用 WiFi SSID 输入 WiFi 密码,记下 Berrylan 显示的 IP 地址,你稍后会使用到。 使用 SSH 客户端登录 打开 SSH 客户端并输入 “pi@IP address” 然后登录,例如 “[email protected]” 。 使用用户名 “pi” 和密码 “raspberry” 登录。如果使用的是普通映像,则必须先启用 SSH,然后客户端才能工作。 Berrylan 自动启用 SSH。如果不行,请将显示器和键盘连接到树莓派并使用 “raspi-config” 来执行。 有关 “raspi-config” 的信息,可点击查阅 ,https://www.raspberrypi.com/documentation/computers/configuration.html 以下列举一些 SSH 客户端: KiTTY PuTTY and other PuTTY versions MobaXterm WinSCP SmarTTY Bitvise SSH Client Terminal (for Mac) Chrome SSH extension 设置 SPI 接口 与显示器连接,请执行以下命令。请在 “pi@raspberrypi:~ $” 行输入以下内容 sudo raspi-config 3 - Interface Options I4 SPI Enable this? Yes注意:你可以根据需要更改主机名和密码(可选)。 点击 “Yes”,退出“raspi-config”,然后重启树莓派。 在树莓派上设置 GitHub 树莓派启动后,通过 SSH 客户端登录后,输入: sudo apt update sudo apt-get install git git --version如果你收到一个 git 版本号码,就可以开始了。 从 GITHUB 复制文件: 进入后输入 sudo git clone https://github.com/markyharris/metar.git cd metar ls -la这时会列出从 github 复制到目录 “metar” 的文件,验证是否正常工作。 依赖项 该软件大多数依赖项都已随图像一起安装。但少许还需要手动安装。如 PIL、Numpy 和 Flask。 安装软件所需的必要依赖项 sudo apt-get install python3-setuptools sudo apt install python3-pil sudo apt-get install python3-numpy sudo pip3 install Flask字体 代码是使用 “NotoMono-Regular.ttf” 和 “LiberationMono-Bold.ttf” 编写,这需要将它们安装到“/usr/share/fonts/truetype/” 的目录中。请在 cmd 行输入以下内容: cd /usr/share/fonts/truetype/ sudo mkdir noto sudo mkdir liberation2 cd noto sudo wget https://github.com/markyharris/metar/raw/f1858d85ad3b79864fb6e082cd083346828661ef/fonts/noto/NotoMono-Regular.ttf cd .. cd liberation2 sudo wget https://github.com/markyharris/metar/raw/f1858d85ad3b79864fb6e082cd083346828661ef/fonts/liberation2/LiberationMono-Bold.ttf测试运行 METAR 显示 现在是关键时刻,从 cmd 行手动运行主脚本。 输入 cd ~ cd metar sudo python3 metar_main.py一切正常,cmd 行将显示调试数据,包括原始元字符串。请观察显示屏,看它是否在更新时开始闪烁,完全刷新可能需要几秒钟,所以请耐心等待。如果出现 “metar_settings.py” 中的默认机场,那么你就成功了。 现在根据需要编辑 “metar_settings.py” 文件。如果在 cmd 行上没有传递其他参数,这些值是脚本回退的默认值。下面显示了 “metar_settings.py” 文件的一部分。可以进行机场更改,例如首选机场 ID。 # Default User Settings airport = "KFLG" # enter default airport identifier to display. Be sure to use quotes interval = 1800 # enter default time in seconds between METAR updates - 3600 = 1 hour, no quotes use_disp_format = 7 # Choose which display layout to use. -1 = Random layout, -2 = Cycle layouts use_remarks = 1 # 0 = display airport information, 1 = display metar remarks info random_airports = ["KEYW","KDFW","KSEA","KORD", "KLAS","KCMR","KABQ","KDEN", \ "KPHX","KNBC","KBKV","KTTS"]注意:“random_airports” 列表可显示多个机场,它包含 12 个机场。如果列表中的机场超过 12 个,脚本将从列表中随机选择 12 个,默认的机场将在显示屏中显示为本国机场。 测试 CMD 线控制 该脚本最多写入四行 cmd 行参数 第一个参数-机场标识符-必须为 4 个字符的 ICAO 格式。 第二个参数-布局编号-将接受 -2、-1 和 0-7。 第三个参数-以秒为单位的更新间隔-60=1 分钟,3600=1 小时。 第四个参数-使用备注-1=显示元备注关键信息,0=显示机场信息。 它们将按顺序排列,但并非全部显示的。例如,当只能输入机场 ID 时,默认设置将显示最后三个参数。 例如输入 sudo python3 metar_main.py kflg 7 60 0从这例子中可以看到,显示屏将使用第七种布局显示弗拉格斯塔夫机场 60 秒内的信息,然后更新机场信息。 检测工作是否正常,可以使用“webapp.py”和“metar.html”下面的脚本就可以了。 测试 WEBAPP.PY 在“metar”目录中输入 sudo python3 webapp.py它将运行一个 Flask 模块,该模块将使用上次保存的配置运行“metar_main.py”。 Flask 设置了一个网络服务器,因此我们还可以运行 html 文件来控制来自同一 WiFi 网络上的任何计算机、平板电脑或手机的显示。 你的显示器应该可以显示信息。 请注意,当 webapp.py 启动时,信息将显示到 SSH 客户端中。你需要它提供的 URL。例如(你的可能不一样), 在 [http://192.168.86.71:5000/](http://192.168.86.71:5000/) 上运行(按 CTRL+C 退出)。 测试 METAR.HTML 使用上一步中的 URL,打开网络浏览器并输入 URL。如果一切顺利,会看到一个允许控制显示的网页。 注意:运行的 html 文件,必须使用最初设置 WiFi 时提供的 URL,并连接到同一 WiFi 网络的计算机、平板电脑或手机。 URL 的 IP 地址后附加 ‘:5000’,即。http://192.168.86.71:5000/ (你的可能不一样)。 为启动设置 RC.LOCAL(可选) 如果你希望显示器在关机或意外断电后自动重新启动,可以参考这个步骤。必须运行 webapp.py 才能使网络界面正常工作。它在自动启动时很有帮助。 进入 cd ~ cd /etc sudo nano rc.local在“Exit”前添加。 sudo python3 /home/pi/metar/webapp.py &保存编辑好的文件并重启 ctrl-x y sudo reboot now注意:如果你不需要“webapp.py”自动启动,你只需再次打开“rc.local”并注释掉添加的行,然后重新保存并重新启动。这将要求你在 cmd 行中手动运行“webapp.py”以使网络界面正常运行。 设置 POWEROFF.SERVICE 关机(可选) 当设备关闭时,它可以让墨水屏显示空白。停电也不会黑屏,但是如果你在“rc.local”做以下设置,当电源恢复时,它将重置显示。 将“poweroff.service”复制到“/lib/systemd/system” cd ~ cd /lib/systemd/system sudo wget https://raw.githubusercontent.com/markyharris/metar/main/poweroff.service通过输入启用服务 sudo systemctl enable poweroff.service将 python 脚本“metar_poweroff.py”复制到“/opt/metar_poweroff” cd ~ cd /opt sudo mkdir metar_poweroff cd metar_poweroff sudo wget https://raw.githubusercontent.com/markyharris/metar/main/metar_poweroff.py其他项 到目前为止,软件的安装已完成,建议你将 SD 卡备份镜像。 步骤如下: 1、点击链接下载 Win32DiskImager https://sourceforge.net/projects/win32diskimager/。 2、将 SD 卡插入计算机的读卡器。 3、单击文件夹图标并找到一个目录来存储镜像,命名为 metar_display.img。 4、单击“只读分配的分区”。 5、单击“读取”然后等待完成。 6、完成后安全弹出 SD 卡并将其重新安装到树莓派。 故障排除在完成这个显示屏时,我遇到许多故障问题,在这里给大家分享出来,以便帮助可能遇到同样问题的人。 无显示的情况 首先点击了解 HAT 的功能 https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B),然后运行提供的测试脚本。 请单击顶部的“资源”选项卡,然后单击“演示代码”的 github 链接。https://github.com/waveshare/e-Paper/tree/master/RaspberryPi_JetsonNano/python/examples。 选择正确的测试版本,我使用的是 “epd_7in5b_V2_test.py” https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/python/examples/epd_7in5b_V2_test.py。 当树莓派的电源中断时,可能会发生这种情况,请仔细检查树莓派板上的 LED 并确保其亮起。 也有可能是 SD 卡损坏,需要重新安装镜像,这时就可以启用备份的资料。 待命 当树莓派尝试从 weather.org 更新数据时,会时常发生错误。当网站未返回机场数据,或输入的机场后当前未提供 METAR 数据,或机场 ID 未被识别时,将显示错误。一分钟后它会再次尝试获取数据。在大多数情况下,它将成功接收数据,然后正确显示。 如果多次尝试后显示屏没有更新,请检查 WiFi 网络是否正常。 错误发生 大多数其他的错误,在发出“发生错误”的消息提示时会与错误描述一起显示。这些将比无法从互联网访问数据更为严重。请参考以下内容,以便在相应的情况下对其进行调试。 网络界面未加载 1、确保在网络浏览器中输入了正确的 URL。例如,http://192.168.84.79:5000/ 。 请注意将“:5000”附加到树莓派的 IP 地址。如果没有,将看不到网络界面。 此外,请确保你使用的计算机与树莓派连接在同一网络。请及早检查。 网络界面依赖于树莓派上运行的 “webapp.py”。这也是为什么建议将 rc.local 设置为在启动时运行 “webapp.py”。如果未设置,则必须在加载网络界面之前从 cmd 行手动运行 “webapp.py”。 更新时间长 1、本身墨水屏更新稍长,请耐心等待。 2、Layout5-多个机场显示需要轮询 weather.gov 13 次以获取 13 个机场的数据,与其他显示布局相比会发生延迟。 3、如果机场 ID 出现拼写错误,可能会导致显示屏闪烁且不显示任何数据。通常会显示错误提醒,如果没有,只需重新输入机场 ID,并确保其为有效的 4 字符 ICAO ID。 阴影部分 使用墨水屏出现这种情况很普遍,通常更新显示几次将消除这个问题。网络界面中“Clear E-Paper Display”的功能,可以帮助删除这些阴影。让阴影最小化的方法是使用“循环”或“随机”显示功能,它可以在每次更新间隔时更改布局。 via 文章标题:树莓派 + 墨水屏 DIY METAR 显示器 - 树莓派实验室 固定链接:https://shumeipai.nxez.com/2022/11/24/7x5-e-paper-metar-display.html![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |