- 文/曹永忠
本篇是「物聯網開發系列」系列中的第六篇,前文在此:1、2、3、4、5。
接下來會使用 DHT22 溫濕度感測器,配合 Wifi 開發版,連接 Wifi 熱點,透過 php 連接資料的方式,將溫濕度逐一著墨,請讀者拭目以待。不過本文主要先介紹資料庫使用,資料表建立與建立對應資料庫使用者與對應權限設定。
建立mySql連線程式
首先,我們參照:【物聯網開發系列】雲端主機資料表建置與權限設定篇之內容,在網頁主機目錄;/ Connections,新增一個 iotcnn.php 檔案,內容如下。
如下表所示,主要內容是使用 iot 使用者,建立 $connection 的 mysql 連線,並切換目前使用的資料庫到 iot 資料庫。
建立資料上傳程式
首先,我們參照:如何使用 Linkit 7697 建立智慧溫度監控平台(上)(曹永忠, 2017b)與如何使用LinkIt 7697建立智慧溫度監控平台(下)內容,例用 php 撰寫在網頁主機目錄;/ dht22p,新增一個 dht22add.php 檔案,內容如下。
如下表所示,主要內容利用 http get 的方法,將感測裝置的溫度用 f1 參數傳回,另一個是將感測裝置的濕度用 f2 參數傳回,在 dht22p 程式中,將這兩個變數組成 SQL 新增資料的字串,用 mysql_query ($query,$link) 的方式送到 mySQL 資料庫。
我們將上面程式,上傳到雲端主機上,如下圖所示,請在瀏覽器網址列輸入網址:http://192.168.88.88:8888/dht22p/dht22add.php?f1=21&f2=98.5。
如下圖所示,我們可以得到畫面回應「INSERT INTO dhttbl (temperature,humidity) VALUES (21,98.5)」的字串。
如下圖所示,我們將畫面回應「INSERT INTO dhttbl (temperature,humidity) VALUES (21,98.5)」的字串,在 phpmyadmin 的 SQL 測試輸入這些字串,在 phpmyadmin 測試 SQL 字串。
如下圖所示,如果在 phpmyadmin 測試 SQL 字串正常執行,我們就可以確定裝置上傳程式正確無誤。
組立電路
如下圖所示,我們將 DHT22 溫濕度感測模組,整合 Arduino MKR1000 開發版,如下所示,組立電路。
如下圖所示,我們將 Arduino 開發板的驅動程式安裝好之後,我們打開 Arduino 開發板的開發工具:Sketch IDE 整合開發軟體,撰寫一段程式,如下表所示之溫濕度裝置上傳程式與 include 檔,編譯完成後上傳到 Arduino MKR1000 開發版。
接下來我們透過 phpmysql 軟體,是否已經把資料上傳到雲端,如下圖所示,我們看到溫濕度裝置已經上傳感測資料到雲端了。
如果我們可以看到dhttbl資料表執行「SELECT * FROM `dhttbl`」成功回傳許多資料,代表我們已經讓溫濕度裝置上傳感測資料到雲端了。
後續
本篇是「物聯網開發系列」系列中的第六篇:感測裝置上傳雲端主機篇,筆者已經告訴讀者,從建立感測器資料上傳的對應的資料表與對應權限設定,到 php 連接資料的方式,最後整合出溫濕度裝置,並完成上傳感測資料到雲端。
後續筆者還會繼續發表「物聯網開發」系列的文章,在未來我們可以創造出更優質,更具未來性的物聯網 (Internet of Thing:IOT) 產品開發相關技術。
敬請期待更多的文章。
作者介紹
曹永忠 (Yung-Chung Tsao):目前為自由作家,專注於軟體工程、軟體開發與設計、物件導向程式設計、物聯網系統開發、Arduino 開發、嵌入式系統開發,商品攝影及人像攝影。長期投入資訊系統設計與開發、企業應用系統開發、軟體工程、物聯網系統開發、軟硬體技術整合等領域,並持續發表作品及相關專業著作。
Email:prgbruce@gmail.com/Line ID:dr.brucetsao/作者網頁/臉書社群(Arduino.Taiwan)/Github 網站/Youtube
參考文獻
- 曹永忠. (2016). 智慧家庭:如何安裝各類感測器的函式庫. 智慧家庭. Retrieved from https://vmaker.tw/archives/3730
- 曹永忠. (2017a). 【Tutorial】溫濕度感測模組與大型顯示裝置的整合應用. Retrieved from https://makerpro.cc/2017/11/integration-of-temperature-and-humidity-sensing-module-and-large-display/
- 曹永忠. (2017b). 如何使用Linkit 7697建立智慧溫度監控平台(上). Retrieved from http://makerpro.cc/2017/07/make-a-smart-temperature-monitor-platform-by-linkit7697-part-one/
- 曹永忠. (2017c). 如何使用LinkIt 7697建立智慧溫度監控平台(下). Retrieved from http://makerpro.cc/2017/08/make-a-smart-temperature-monitor-platform-by-linkit7697-part-two/
- 曹永忠. (2018a). 【物聯網開發系列】雲端主機資料表建置與權限設定篇. 智慧家庭. Retrieved from https://vmaker.tw/archives/28209
- 曹永忠. (2018b). 語音連接技巧大探索-語音播放溫溼度感測資料設計實務. Circuit Cellar嵌入式科技(國際中文版 NO.9), 90-103.
- 曹永忠, 吳佳駿, 許智誠, & 蔡英德. (2017a). 【物聯網開發系列】雲端平台開發篇:資料庫基礎篇. 智慧家庭. Retrieved from https://vmaker.tw/archives/18421
- 曹永忠, 吳佳駿, 許智誠, & 蔡英德. (2017b). 【物聯網開發系列】雲端平台開發篇:資料新增篇. 智慧家庭. Retrieved from https://vmaker.tw/archives/19114
- 曹永忠, 許智誠, & 蔡英德. (2015a). Maker物聯網實作:用DHx溫濕度感測模組回傳天氣溫溼度. 物聯網. Retrieved from http://www.techbang.com/posts/26208-the-internet-of-things-daily-life-how-to-know-the-temperature-and-humidity
- 曹永忠, 許智誠, & 蔡英德. (2015b). 「物聯網」的生活應用實作:用DS18B20溫度感測器偵測天氣溫度. Retrieved from http://www.techbang.com/posts/26208-the-internet-of-things-daily-life-how-to-know-the-temperature-and-humidity
- 曹永忠, 許智誠, & 蔡英德. (2017a). 【物聯網開發系列】溫溼度裝置連線篇:傳送溫溼度資料到雲端. 智慧家庭. Retrieved from https://vmaker.tw/archives/25613
- 曹永忠, 許智誠, & 蔡英德. (2017b). 【物聯網開發系列】溫溼度裝置開發篇:讀取溫溼度資料. 智慧家庭. Retrieved from https://vmaker.tw/archives/25153
- 曹永忠, 許智誠, & 蔡英德. (2017c). 【家居物聯網】使用智慧行動裝置監控家居溫溼度(上篇). 智慧家庭. Retrieved from https://vmaker.tw/archives/21957
- 曹永忠, 許智誠, & 蔡英德. (2017d). 【家居物聯網】使用智慧行動裝置監控家居溫溼度(下篇之手機系統開發篇). 智慧家庭. Retrieved from https://vmaker.tw/archives/22707
- 曹永忠, 許智誠, & 蔡英德. (2017e). 【家居物聯網】使用智慧行動裝置監控家居溫溼度(下篇之藍芽開發篇). 智慧家庭. Retrieved from https://vmaker.tw/archives/22477
- 曹永忠, 許智誠, & 蔡英德. (2017f). 【家居物聯網】使用智慧行動裝置監控家居溫溼度(中篇). 智慧家庭. Retrieved from https://vmaker.tw/archives/22262