今天分享一朵預報天氣的雲,通過顏色變化來告知天氣情況。雲朵使用樹莓派Zero W製作,連接到 Yahoo Weather API 獲取天氣信息,通過變化的顏色告訴你天氣情況。
我覺得把雲朵懸掛在家中的牆壁上會非常的好看,雲朵顏色與天氣變化對應如下:
需要注意的是,項目中使用的雅虎API會更新,更多的信息可以訪問:https://developer.yahoo.com/weather/
用於切割的圖紙都在svg文件中。如上圖所示,雲朵共有4層。在第2層和第4層,內部路徑和中間路徑之間必須有1/8寸深的凹槽。這樣可以將擴散層和背板插入其中。擴散層使用了半透明亞克力板,背板使用了硬質纖維板。
如上圖所示,這是我的Shapeoko3上的預覽圖像。我們稍後會在重複使用,因此要保存好。
切割文件在文末獲取。
零件切割後即可將其粘在一起,僅需兩件即可。然後將 1/8″ 木銷釘插入孔中以幫助對齊。木銷沒有使用膠水固定,因此一旦使用就無法自由取下來了。
乾燥時,使用夾子將零件固定在一起,擦去從接縫溢出的多餘膠水。
在膠水乾燥的過程中,我從內部取下了組件,並先用150粒度的砂紙,然後是220粒度的砂紙將它們磨碎。擦拭乾淨後,使用深核桃色的木製油漆刷滿表面,使其表面光滑並保持乾燥。
這也是給頂層上色的好時機。這樣不會在整個擴散層弄髒。
膠水晾乾後,使用木製油漆對主要雲朵進行打磨和上色。
為了確定所需的燈帶長度,我將其放入內部並確保燈帶覆蓋整個雲朵。測量發現使用了19個燈的長度是可以的,但考慮到粘合部分,最終使用20個燈的長度。
然後拆下燈帶周圍的橡膠護套。將電線添加到插排上以連接到樹莓派Zero W。
將焊條的末端與電線的末端焊接在一起,效果會更好。
將電線焊接到燈帶。
在背面插板上塗一點熱熔膠,以將燈帶固定到雲朵的邊緣。將燈帶儘可能靠近背板。
將擴散層放置在圖中位置,並在頂部周圍塗抹少量膠水。
將頂層固定好,確保其儘可能的與其他層對齊,並擦去多餘的膠水。
接線非常簡單。
Pi to Din Neopixel上的GPIO 18
從Pi到5V Neopixel的5V
從Pi到GND的GND Neopixel
如電路圖所示,接線方式非常簡單。
在焊接USB電線之前,我們需要為其鑽孔。根據電線直徑,我用3mm的鑽頭鑽了一個洞,以確保不要鑽到燈帶上。
切斷沒有插入計算機的公頭的一端。然後去掉一些不需要的線。只需要紅線(5V)和黑線(GND)。
焊接完成的樣子如上圖所示。
下載樹莓派系統,我是用的是:https://www.raspberrypi.org/downloads/raspbian/
使用諸如etcher.io的程序將系統鏡像刻錄到SD卡。完成後在啟動目錄中添加兩個文件,以便樹莓派啟用ssh並提供正確的wifi信息。
使用文本編輯器打開wpa_supplicant.conf文件,輸入wifi的ssid和密碼。然後將文件添加到sd卡。啟用ssh,我們只需要建立一個名為ssh的文件而不需要擴展名。
在樹莓派中使用 putty 和 SSH 的程序。你可以訪問以下網址,找到相關的操作文檔。
https://www.raspberrypi.org/documentation/remote-access/ssh/windows.md
唯一的區別是,你可以找到樹莓派的 IP。我發現使用 raspberrypi.local 連接到主機更容易。
安裝pip,運行如下命令:
sudo apt-get install python-pip安裝requests模塊:
pip install requests安裝 NeoPixels 所需的項目。這些步驟的說明來源於:https://learn.adafruit.com/neopixels-on-raspberry-pi?view=all#software
sudo apt-get install build-essential python-dev git scons swig運行命令:
git clone https://github.com/jgarff/rpi_ws281x.git
cd rpi_ws281x
scons接下來
cd python
sudo python setup.py install現在,所需的庫都已安裝完畢。
從 GitHub 庫中獲取文件:https://github.com/keebie81/Weather-Forecast-Cloud
你可以將內容剪切並粘貼到新文件中,或使用 WinSCP 傳輸文件:https://winscp.net/eng/download.php
如果你需要剪切和粘貼,就要使用此命令製作一個新文件。
sudo nano cloud.py然後粘貼內容到 cloud.py。
下一步,你可能需要更改一些數值。如果你使用了不同數量的 NeoPixels 或 GPIO 引腳。
如果 NeoPixels 的使用量不同,則更改 LED_COUNT。如果使用的 GPIO 引腳不同,請更改 LED_PIN。
在第 72 行,你需要更改位置,如果你使用了 sheboygan 來預測天氣。運行代碼更改完畢後,就可以測試代碼。
sudo python cloud.py現在,雲朵應該會亮起來,在終端窗口中,你看到它輸出了今天和明天的最高溫度和最低溫度。
配置自動啟動,添加下面的代碼到 rc.local 文件中。
python /home/pi/cloud.py &所有項目代碼在文末獲取。
使用記號筆找到中心做好標記。然後,我將鋸齒框架掛鈎和兩個橡膠墊安裝到位。
使用熱熔膠將樹莓派固定到位。將一小撮熱膠放在樹莓派的背面,然後將其連接到背面板上。
用螺絲刀給釘書釘留出空間。
將彎曲的訂書釘固定背板。
給每朵雲添加掛鈎和兩個橡膠墊,所有的雲朵就完成了。
如果你沒有木工 CNC 工具機,下面提供了STL文件。其中括Autodesk Fusion 360 的設計文件。你也可以修改設計並優化列印。
文件在文末獲取。
我原本想用 esp8266 開發板來實現這個項目,但是我在 Arduino IDE 和 JSON 方面的技能不如樹莓派。未來這個項目還會增加一些功能,例如在擴散層後的七段顯示器上顯示當前溫度。
我將把文件放在 GitHub 上並添加代碼,如果你採用了 Pimoroni Blinkt,Pimoroni Unicorn PHAT 或 Raspberry PI Sense Hat,就可以去使用。https://github.com/keebie81/Weather-Forecast-Cloud
原文地址:https://www.instructables.com/id/Weather-Forecast-Cloud/
免責聲明:版權歸原作者所有。如涉及作品版權問題,請與我聯繫刪除。