# **Green House** 花園種植小幫手 --- 這個作品是利用樹莓派(Raspberry pi)所做的植物種植小幫手。主要操作介面是Line。透過跟小幫手聊天,就可以得到溫室數據,並請他幫你澆花、開風扇、電燈等等。 --- ## 溫室圖片  --- ## 影片連結 https://youtu.be/cuabR8u0d0E --- ## 需要材料 * Raspiberry pi * 5V 沈水馬達 * 內徑7.5mm 透明水管 * 5V 2Pin風扇 * 5V Grove WS2813燈條 * Moisture Sensor 土壤濕度傳感器模組(類比信號輸出 ) * MCP3008 * CJMCU-HTU21D+BMP180+BH1750FVI 溫濕度氣壓光照感測器 * 溫室外殼 * 外接電池座3個 * 1.5V電池12顆 * 4路繼電器 * 竹筷子12根、橡皮筋數條。 * 膠帶、鐵絲、掛鉤。 --- ## Step1 感測器安裝 ### <font color=red> ### CJMCU-HTU21D+BMP180+BH1750FVI 溫濕度氣壓光照感測器三合一 ### </font> HTU21D,BP180,BH1750是三種不同的感測器,只是將三者集合在一塊板子上方便感測,因此仍然需要將程式分開來寫。 ### <font color=red> ### Moisture Sensor 土壤濕度傳感器模組(類比信號輸出 ) ### </font> 因為樹莓派上無法接收類比信號輸入,所以我們需要MCP3008,那個像蟑螂一樣的東西,把類比信號轉成樹莓派可以使用的資料。 --- ## Step2 風扇、抽水馬達、燈條安裝 若需要控制物品的開關,就需要使用繼電器(relay),因此這裡我們使用4路繼電器來控制這三樣物品。而若由樹莓派本身供電,其電力將不足以控制三者,所以這裡我們繼續外接了三組電池,以保持電力充足。 <font color=orange> 繼電器中間 > 接到電池負極 繼電器左邊 > 接到物品的地極(負極) 物品的正極 > 接到電池的正極 </font> 這樣便會形成一個迴路。 我們將會使用GPIO來控制物件的供電與否。 由本作品為例子, * IN1 - 控制抽水馬達 * IN2 - 無 * IN3 - 控制風扇 * IN4 - 控制燈條 --- ## Step3 Flask,Linebot,ngrok 1. 先去Line Developer申請一個Channel 2. 取得Channel access token 跟Channel secret ,之後要加在程式當中,以便取得連結。 3. 下載&申請一個ngrok帳號,然後在樹莓派上輸入:(依照你的flask port改變數字,我是使用4444),<font color=red>記得請勿關閉這個Terminal!試用版沒有永久的網址可以使用。</font> ``` ./ngrok http 4444 ``` 4. 取得https開頭的整串網址,並回到Line Developer,在Message API中更改 Webhook URL,<font color=red>記得要確認輸入正確的網址!</font>  5. 執行你的主程式(控制Linebot&flask的),然後回到Line Developer按下<font color=red>『Verify』</font>,這時候才會出現Success!代表你已經成功連接兩者。 當你在用Line跟機器人互動的時候,每一次的互動,都會出現在ngrok的那個Terminal當中, * <font color=green>200</font> 代表成功互動。 * <font color=green>500 INTERNEL ERROR</font> 通常是程式寫錯了。 * <font color=green>502 BAD GATEWAY</font> 通常是連接的問題,請檢查Webhook URL,Token,Secret。 若在設定Webhook後Verify時出現,可能是你沒有同時執行main程式。 --- ## Step4 溫室架設 1. 在溫室本體,要放樹莓派的位置上挖一個洞,連接樹莓派電源線使用。(我挖了一個小時半才挖了一個1cm*0.5cm的洞)  2. 為了讓燈條、感測器介於植物上方,我用了12根竹筷子&橡皮筋,架出一個正立方體,確定感測器數據跟植物附近環境相近,也確保植物葉片吸收得到燈光。  4. 因為水箱我並沒有特別拉出溫室外,所以我找到一個跟杯子口徑接近的杯蓋,只讓電線&水管穿過,防止水灑出碰到電路。 5. 架好風扇、水管、燈條位置,就完成啦! --- ## 未完成、可改進部分 * 水箱應該額外拉出,確保有足夠的水源能夠澆花。 * 我沒有寫到定時檢測的部分,可透過定時檢測,推薦應採取動作(澆花、開燈等等),達到更接近「智能溫室」。(利用Line廣播) * 電路應該與溫室本體獨立,但由於無法將線焊死在麵包板上,電線長度有限,因此放在溫室中(較危險) * 因為IKEA溫室外殼太硬了,沒有適當的切割工具,所以沒有幫電扇挖出個洞,接通溫室內外,達到空氣實際流通。 --- ## 我的程式碼 https://drive.google.com/drive/folders/1V7kpNjv935Rg7HrVwrKjZwYilblMRl9a?usp=sharing --- ## Reference * 感測器: https://github.com/nickoala/sensor * Linebot:https://github.com/line/line-bot-sdk-python * 土壤檢測:https://www.mdeditor.tw/pl/pyhR/zh-tw * MCP3008: https://drive.google.com/file/d/0B2qc-F3WpYxWTkR5Vzg0LXdPT00/view * 燈條: https://learn.adafruit.com/getting-started-with-flora/blink-onboard-neopixel
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up