這是一篇完整的「建置植物生長監控網站的架設教學」。

這裡,我將會手把手帶你從零開始「 架設植物生長監控」網站,章節如下。
要建置一個植物生長監控的物聯網網站,可以分為以下幾個步驟來進行,包括硬體選擇、軟體設計、資料傳輸以及網站開發。以下是具體的步驟與建議:
1. 感測器(Sensors)
|
|
2. 微控制器
|
|
3. 網站伺服器主機 - 這裡我用樹莓派(Raspberry Pi 4 Model B)
|
|
說明
把土壤濕度感測器插入土壤時,利用泥土內所含水分電解質的導電度,改變感測器兩端電壓的數值,來顯示土壤含有的水分多寡。
搭配ESP32所顯示的數值為 0-4095。越乾的土壤,數值越高;反之,越濕的土壤,數值越低。
一般乾溼判斷的數值為3000。若數值在3000以上代表土壤較為乾燥,需開啟灑水系統灑水;當數值在3000以下,則可以關閉灑水系統。
說明
一款含有已校準數位信號輸出的溫濕度複合感測器。它應用專用的數位模組採集技術和溫濕度傳感技術,確保產品具有極 高的可靠性與卓越的長期穩定性。 DHT22 感測器包括一個電容式感濕元件和一個NTC 測溫元件,並與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快回應、抗干擾能力強、性價比極高等優點。
說明
特色
說明
說明
ESP32 結合了天線開關、射頻 balun、功率放大器、低噪放大器、篩檢程式和電源管理模組,整體佔用了最少的印刷電路板面積。2.4 GHz Wi-Fi 加藍牙雙模晶片
採用 TSMC 低功耗 40nm 技術,功耗性能和射頻性能最佳,安全可靠,易於擴展至各種應用。
特色
說明
ESP32-CAM是一款基於ESP32的低成本開發板,配有板載攝像頭,體積小巧。它是物聯網應用,原型構建和DIY項目的理想解決方案。該板集成了WiFi,傳統藍牙和低功耗BLE,以及2個高性能32位LX6 CPU。主頻調節範圍為80MHz至240MHz。
完全符合WiFi 802.11b / g / n / e / i和藍牙4.2標準,它可以用作主模式來建構獨立的網路控制器,或作為其他主機MCU的從屬設備,為現有設備添加網路功能。
ESP32 -CAM可廣泛用於各種物聯網應用。它適用於家庭智能設備,工業無線控制,無線監控,QR無線識別,無線定位系統信號和其他物聯網應用。它是物聯網應用的理想解決方案。
注意
Pin 接線
說明
資料傳輸是物聯網應用的關鍵部分,選擇合適的通訊協議可以提高系統的穩定性與效率。
1. 通訊協議
|
|
2. 資料存儲與處理
|
|
MQTT 是一種以標準為基礎的訊息傳遞協定或規則集,用於機器對機器的通訊。智慧型感應器、可穿戴裝置和其他物聯網 (IoT) 裝置,通常必須透過頻寬有限的資源受限網路來傳輸和接收資料。這些 IoT 裝置使用 MQTT 進行資料傳輸,因為它易於實作並且可有效地傳輸 IoT 資料。MQTT 支援裝置到雲端和雲端到裝置間的訊息傳遞。
下面概述了 MQTT 的運作方式。
我們來分解細節以進一步了解。
術語「主題」是指 MQTT 代理程式用於針對 MQTT 用戶端篩選訊息的關鍵字。主題依階層整理,類似於檔案或資料夾目錄。例如,假設在多層房屋中運作的智慧型家居系統,每層都有不同的智慧型裝置。在這種情況下,MQTT 代理程式可按以下方式整理主題:
家/一樓/客廳/燈
家/一樓/廚房/溫度
MQTT 用戶端以位元組格式發佈包含主題和資料的訊息。用戶端確定資料格式,如文字資料、二進位資料、XML 或 JSON 檔案。例如,智慧型家居系統中的一盞燈可能會針對主題客廳/燈,發佈亮起訊息。
MQTT 用戶端向 MQTT 代理程式傳送 SUBSCRIBE 訊息,以接收有關感興趣主題的訊息。此訊息包含不重複識別符和訂閱清單。例如,您手機上的智慧型家居應用程式想要顯示您家中有多少盞燈亮著。它將訂閱主題燈,並增加所有亮起訊息的計數器。
最後,這裡我們使用的是免費測試用的test.mosquitto.org:1883 port作為測試MQTT通訊協議的連線運作。
在物聯網系統中,資料的來源主要是來自於感應器或設備(如 ESP32),這些感應器會持續監測植物的生長狀況,包括土壤濕度、溫度、光照等參數。這些數據會通過網路傳輸,經由 MQTT 或 HTTP 協議傳輸到您的 WordPress 網站資料庫中。
在 WordPress 環境中,數據存儲通常使用 MySQL 或 MariaDB 資料庫進行。以下是針對資料存儲的具體設計:
當數據從感應器傳輸到網站時,需要處理這些數據並進行儲存。可以通過以下步驟來完成這個過程:

儲存數據的同時,後端應提供對這些數據的即時處理和歷史數據的分析功能。可以通過以下方式進行資料處理:
資料展示是用戶體驗中的關鍵部分,通過視覺化的方式可以更好地幫助用戶理解數據。
最後,為了確保系統的穩定性與安全性,應該定期對資料進行備份。可以透過 WordPress 外掛如 UpdraftPlus 進行自動備份,確保數據不會因意外丟失。
網站是用戶進行數據監控和管理的主要介面,您需要建立一個友好且直觀的網站來展示和分析植物生長的數據。使用 WordPress 的好處在於,它是一個靈活且易於擴展的平台,並且擁有豐富的插件和主題資源,能夠快速構建並整合各種物聯網應用。
1. WordPress 安裝與配置
|
|
2. 使用外掛進行物聯網整合
|
|
3. 資料庫管理
|
|
4. 即時數據顯示與控制
|
|
5. 安全與效能優化
|
|
WordPress 是全球知名的網頁設計軟體,全球有 40 % 以上的網站,都來自於 WordPress。
擁有上萬個佈景主題(樣板)和功能外掛,只需一鍵安裝即可成為多功能網站。
WordPress 可完成多種網頁設計,如:部落格架設、個人品牌或公司企業官網、購物網站架設 等 ..
最大好處是,它是免費開源的軟體,可完全掌握自己網站資料,不需被任何網路平台、網頁設計公司牽制。
且不會因為任一網頁製作平台的營運問題,造成網站消失(舉例來說,無名小站結束營運,原來的內容也隨著關站而消失,但這不會發生在 WordPress 身上)。
選擇合適的主機(如 Hostinger、Bluehost 或其他支持 WordPress 的主機),這裡我選擇自架雲端主機,然後安裝最新版本的 WordPress。自架主機我是以樹莓派(Raspberry Pi)做為網站伺服器主機,首先會在樹莓派上灌Raspberry Pi OS作業總統,接著在上面灌Docker,然後再分別灌上WordPress、MySQL、Node-RED。
選擇一個簡潔且適合物聯網應用的 WordPress 主題,例如 Elementor、Astra 或 GeneratePress,這些主題支持高度的自定義並能夠提供優秀的用戶體驗。
這邊我個人習慣用Astra當作網站的主題,頁面編輯器我使用Elementor、因為需要將自己的php程式放置在頁面裡,所以我需要使用Insert PHP Code Snippet這個外掛,方便我可以將自己寫好的php code 放置在頁面中。另外,因物聯網的數據透過MQTT上傳到Node-RED後,再寫入MySQL資料庫,而前端的WordPress要即時優化資料庫的數據,所以需要另外安裝AJAX這樣功能可以實現即時更新數據的外掛。
上面三點中的前二點是我問AI的回覆,而我自己則是用第三點建議,自己寫外掛,再配合自己寫的php程式,利用外掛將自己寫的php程式放在頁面中及/var/www/html/目錄下,然後做到物聯網跟WordPress網站的整合。

大致的作法為在安裝WordPress後,在它的外掛目錄下,自己新增一個資料夾,作為安裝MQTTClient程式用。我們會在該目錄下用composer來建立。待建立完成後,接著會將MQTTClient函式庫放在phpMQTT.php程式中。最後就是像物聯網端呼叫MQTT一樣,我們也另外再寫php程式,呼叫MQTTClient。可以利用在WordPress上的按鈕,當按下該按鈕後,它會呼叫phpMQTT.php程式,然後下命令給物聯網端,最後啟動繼電器開關。
物聯網數據傳輸到WordPress自帶的資料庫(通常是MySQL)資料表。因若是要檢視資料庫資料,需要另安裝phpMyAdmin來檢視編輯MySQL上的資料欄位。如下圖示:

只是一般的使用者或未學過資料庫語言的朋友,應該會不知所措。且若是操作不當,很容易變更了資料庫端的設定,造成無法恢復就不好了。
所以一般我們會在 WordPress 的外掛中,安裝 WP Data Access ,來存取和顯示數據。


使用外掛如 Visualizer: Tables and Charts Manager for WordPress 或 wpDataTables,將植物生長數據以圖表或圖形的方式顯示在網站頁面上,提供用戶直觀的資料視覺化效果。
Visualizer: Tables and Charts Manager for WordPress



wpDataTables



即時數據顯示與控制是智慧物聯網應用中的重要功能,讓使用者可以不間斷地監控植物生長環境中的各項數據(如溫度、濕度、光照強度等),並可以通過網頁界面即時控制相關設備(如灑水系統、燈光控制等)。以下是這個系統的作業內容:
即時數據顯示的目標是確保網站頁面能夠持續不斷地更新感測器的數據,而不需要使用者手動刷新網頁。
遠端控制功能允許使用者從網站上對各種設備進行即時操作,無論身處何地,都能通過網站來控制灑水系統、調整溫控設備、控制燈光等。
為了使數據顯示和控制更加人性化,介面設計必須簡潔明瞭,方便使用者快速查閱數據或控制設備。
除了在網站上即時查看數據和進行控制外,還可以設計一個數據推送系統,當某些數據超過設定的範圍時,自動向使用者推送通知(例如:溫度過高、濕度過低等情況)。

如果感測器或控制設備出現異常,系統可以通過自動診斷功能,提供即時反饋並顯示錯誤訊息。
安裝 Wordfence Security 或 Sucuri Security 外掛來保護網站安全,防止駭客攻擊或資料外洩。



用快取外掛如 W3 Total Cache 或 LiteSpeed Cache 來提升網站的載入速度,提供流暢的用戶體驗。


為了使您的網站能夠與物聯網裝置進行無縫整合,您需要進行以下配置:
1. 設備連接與控制
|
|
2. 智能自動化
|
|
設備連接是物聯網系統的基礎,指的是網站與各種感測器和控制器之間建立穩定的數據傳輸通道。植物監控系統需要連接各種物聯網設備(如溫度、濕度感測器,光照傳感器,水泵控制器等),以獲取實時數據並控制操作。



下面是在WordPress網站中,將自己撰寫的php程式碼,可以在使用者按下按鈕後,去呼叫MQTTClient API的片斷程式碼。

智能自動化是物聯網架構的一大優勢,能夠在不需要人工干預的情況下,自動執行預設的操作。智慧植物監控系統中的智能自動化功能能讓使用者預設觸發條件,並根據這些條件自動執行相應操作,從而提升管理效率並確保植物在最適宜的環境下生長。
為了提高用戶體驗和增加用戶的使用黏性,可以考慮以下的功能設計:
1. 用戶通知
|
|
2. 歷史數據與報告
|
|
3. 社群功能
|
|
用戶體驗與優化 是智慧植物監控物聯網網站的重要部分,直接關係到使用者如何與網站互動,並確保使用者可以順暢、直觀地操作系統,獲取他們需要的數據或功能。下面我們來詳細說明 用戶通知、歷史數據與報告 以及 社群功能 這三個主要方面。
用戶通知 功能在物聯網系統中至關重要,旨在即時向使用者傳遞重要信息,確保他們能夠及時了解植物的生長狀況或系統的異常情況。
歷史數據與報告 功能讓使用者能夠查看並分析長期累積的數據,從而了解植物的生長趨勢和環境變化,為未來的管理和決策提供依據。
社群功能 可以幫助使用者在網站上互動和交流,分享經驗與知識,並建立一個關於植物養護與物聯網應用的社群,進一步提升用戶的參與感和忠誠度。
為了讓您的網站能夠吸引更多的使用者,並將其商業化,可以考慮以下策略:
1. 行銷策略
|
|
2. 產品套餐
|
|
行銷策略和產品套餐是智慧植物監控網站商業化的兩個核心部分,這兩者有助於提高產品的市場認知度、吸引潛在客戶並最終促進銷售。以下就行銷策略及產品套餐分別詳細分析這兩個要點。
行銷策略是針對智慧植物監控網站進行市場推廣的計劃,目的是讓更多的人了解該產品的價值,並且吸引潛在客戶購買或使用該產品。以下是幾個關鍵行銷策略的具體操作和優化方向:
目標市場:首先要清楚識別出產品的目標客戶群體。智慧植物監控網站的潛在用戶可能包括:
對這些目標群體進行深入分析,瞭解他們的需求、興趣以及購買行為,可以幫助制定更精確的行銷活動。
產品套餐指的是針對不同用戶需求,提供多樣化的產品方案,讓用戶可以選擇最適合他們的購買計劃,這也有助於提升銷售轉換率。以下是設計產品套餐時的具體考量:
根據不同的客戶需求,提供從基礎到高階的不同產品方案,讓每位客戶都能夠找到符合他們需求和預算的選擇。例如:
基礎版套餐:
進階版套餐:
專業版套餐:
除了基本的套餐方案,還可以提供附加的硬體設備或服務,增強產品的吸引力:
硬體組合包:
雲端服務:
架設一個智慧植物生長監控網站平台,是將物聯網技術與網站系統結合,提供用戶即時掌握植物生長狀況的高效解決方案。總結以下幾個主要步驟和要點:
硬體準備與感測器連接:首先,準備所需的硬體設備,如ESP32微控制器和各種感測器(溫度、濕度、光照等)。這些感測器將收集植物環境中的關鍵數據,並透過物聯網技術傳送到伺服器或雲端。
資料傳輸與儲存:透過通訊協議(如MQTT),感測器收集的數據會被傳輸到後端伺服器或雲端資料庫進行儲存與處理。確保選擇可靠且具備擴展性的資料庫架構,以便儲存大量即時數據。
WordPress網站設計與整合:使用WordPress作為網站架設的基礎平台,並透過相關的外掛實現即時數據更新和呈現。可以運用AJAX技術實現即時數據顯示,讓用戶無需重新載入網頁即可查看最新的植物數據。
即時數據顯示與自動化控制:在網站前端顯示各種感測器收集到的數據,如植物周圍的溫度、濕度等,並加入自動化控制功能,如自動灌溉或調整環境條件,從而提升系統的智能化。
用戶體驗與行銷推廣:透過用戶通知、歷史數據分析和社群分享等功能,提升網站的互動性與易用性,並藉由行銷推廣和產品套餐設計,吸引更多潛在用戶了解與購買該系統。
整體來說,架設植物生長監控網站平台的過程不僅涉及到物聯網設備與資料處理的整合,還需要透過網站技術來實現數據的即時呈現和控制功能。通過合理的設計與架構,這樣的系統可以有效提升植物管理的智能化,讓用戶輕鬆掌握植物生長狀況並進行適時調控,最終實現智慧農業或園藝的目標。