คุณเคยสงสัยเกี่ยวกับการสร้างสถานีตรวจอากาศ Arduino ด้วยตัวเองบ้างไหม? นี่อาจเป็นโอกาสของคุณที่จะได้สร้างสถานีตรวจอากาศ IoT พื้นฐาน นี่จะเป็นโปรเจกต์ที่น่าสนใจ และฉันจะแนะนำคุณตลอดการดำเนินโปรเจกต์นี้ ในโปรเจกต์นี้ คุณจะได้เรียนรู้วิธีการบันทึกค่าการวัดโดยใช้เซ็นเซอร์และจัดเก็บไว้ใน Google Spreadsheets
ฉันได้แนวคิดนี้หลังจากอ้างอิงจากโปรเจกต์ของ Stephen Borsay ที่ชื่อ 'Transmit ESP8266 Data to Google sheets' เช่นเดียวกัน คุณยังสามารถอัปเกรดโปรเจกต์นี้ได้โดยการเพิ่มเซ็นเซอร์เพื่อวัดสภาพอากาศเพิ่มเติม

ส่วนประกอบฮาร์ดแวร์ที่ใช้ในโปรเจกต์นี้
- NodeMCU devkit V1.0
- Solderless Breadboard - Half+
- DS18B20 Digital temperature sensor module
- DHT11 Humidity and Temperature sensor module
- Male-to-Male Jumper wires (x4)
- Jumpers (x4) - เพื่อลดการใช้สายไฟ
ซอฟต์แวร์และบริการออนไลน์
- Arduino IDE
- PushingBox
- Google Sheets
การติดตั้งฮาร์ดแวร์


การเชื่อมต่อ

DS18B20 Temperature sensor module
- S - D4
- (+) - 5V
- (-) - Ground (GND)
DHT11 Humidity and Temperature sensor module
- S - D5
- (+) - 5V
- (-) - Ground (GND)
การเขียนโค้ด
คุณสามารถค้นหาโค้ดสำหรับโปรเจกต์นี้ได้โดยอ้างอิงจากโปรเจกต์ต้นฉบับที่รวมเป็นไฮเปอร์ลิงก์ไว้ตั้งแต่ต้น
คุณจะต้องใช้บริการออนไลน์ PushingBox เพื่อทำหน้าที่เป็นตัวทริกเกอร์ในการส่งข้อมูลจาก NodeMCU ไมโครคอนโทรลเลอร์ของคุณไปยัง Google sheets
Google sheet

- คุณจะต้องใช้อีเมล gmail ของคุณเพื่อสร้าง spreadsheet ใน Google sheets
- ป้อนหัวข้อคอลัมน์ของคุณ ซึ่งได้แก่ Date, Humidity (%), Temperature (in °C), Temperature (in °F), Heat index (in °C), Heat index (in °C) และ More Accurate Temperature (in °C)
- คัดลอกและบันทึก URL key ของ spreadsheet ของคุณ ซึ่งจะพบอยู่ใน URL ระหว่าง "/d/" และ "/edit"
- ไปที่ tools และคลิกที่ 'Script Editor'
- โค้ดที่จะรวมอยู่ใน Gscript ของคุณจะให้ไว้ในโปรเจกต์ต้นฉบับ การเปลี่ยนแปลงเดียวในโค้ดคือการเพิ่มอีกหนึ่ง case สำหรับอุณหภูมิที่แม่นยำยิ่งขึ้น
- บันทึก script
- Deploy เป็น web app ในตอนแรก Google จะส่งคำเตือนบอกว่าไม่ได้รับอนุญาต แต่ก็ไม่เป็นไรเนื่องจากคุณเป็นผู้สร้าง
- บันทึก web app URL
PushingBox
- เข้าสู่ระบบด้วยบัญชี gmail ของคุณ
- สร้าง service ใหม่โดยเลือก 'CustomURL'
- root URL ภายในส่วนการตั้งค่า CustomURL จะเป็น web app URL ที่บันทึกไว้ในขั้นตอนก่อนหน้า
- เลือกเมธอด 'GET'
- ตอนนี้คุณต้องสร้าง scenario โดยใช้ service นี้
- สำหรับเมธอด 'GET' statement จะขึ้นต้นด้วย '?'
ทดสอบ API ของคุณโดยพิมพ์ statement นี้ลงในแถบที่อยู่ของเบราว์เซอร์:
http://api.pushingbox.com/pushingbox?devid="Your device ID"&humidityData=33&celData=44&fehrData=111&hicData=22&hifData=77&tempData=44คุณสามารถส่งคำขอได้เพียง 100 ครั้งต่อวัน
Arduino
อ้างอิงจากบทช่วยสอนนี้เพื่อให้คุ้นเคยกับโมดูล DS18B20 temperature sensor
https://randomnerdtutorials.com/guide-for-ds18b20-temperature-sensor-with-arduino/
หากใครมีคำถามเกี่ยวกับการเขียนโค้ด โปรดแสดงความคิดเห็นด้านล่างได้เลย
ภาพสุดท้าย
หากใครมีคำถามหรือข้อเสนอแนะเกี่ยวกับโปรเจกต์นี้ โปรดแสดงความคิดเห็นด้านล่างได้เลย
EXPANDED TECHNICAL DETAILS
การบันทึกข้อมูลสิ่งแวดล้อมทั่วโลก
สถานี IoT นี้ส่งข้อมูลสภาพอากาศในพื้นที่ไปยัง spreadsheet ระดับมืออาชีพเพื่อการวิเคราะห์สภาพอากาศระยะยาว
- ชุดเซ็นเซอร์: มี DHT22 (อุณหภูมิ/ความชื้น) และ BMP180 (ความดันบรรยากาศ)
- การอัปโหลดข้อมูลผ่าน API: ผ่าน PushingBox API, Arduino จะส่งคำขอ HTTPS ไปยัง Google Sheets คำขอแต่ละครั้งจะเพิ่มแถวใหม่โดยอัตโนมัติพร้อม timestamp และค่าที่อ่านได้ล่าสุดจากเซ็นเซอร์
ประโยชน์ทางการเกษตร
- การแสดงแนวโน้มด้วยภาพ: ด้วยการบันทึกข้อมูลลงใน spreadsheet ผู้ใช้สามารถใช้เครื่องมือสร้างกราฟดั้งเดิมของ Google เพื่อแสดงภาพวงจรความชื้นรายสัปดาห์หรือการลดลงของความดันที่บ่งบอกถึงพายุที่กำลังจะมาถึง ซึ่งเป็นการสร้างโหนดตรวจอากาศระดับมืออาชีพในราคาประหยัด