กลับไปหน้ารวมไฟล์
iot-weather-station-using-arduino-120ec2.md

คุณเคยสงสัยเกี่ยวกับการสร้างสถานีตรวจอากาศ 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 เพื่อแสดงภาพวงจรความชื้นรายสัปดาห์หรือการลดลงของความดันที่บ่งบอกถึงพายุที่กำลังจะมาถึง ซึ่งเป็นการสร้างโหนดตรวจอากาศระดับมืออาชีพในราคาประหยัด

ข้อมูล Frontmatter ดั้งเดิม

title: "IoT Weather station using Arduino"
description: "Have you ever wondered about building an Arduino weather station on your own? Well, this might be your chance to build a basic one!"
author: "RucksikaaR"
category: ""
tags:
  - "weather"
  - "temperature"
  - "weather station"
  - "internet of things"
  - "monitoring"
views: 3783
likes: 2
price: 2450
difficulty: "Intermediate"
components:
  - "1x Solderless Breadboard Half Size"
  - "1x Gravity: DS18B20 Temperature Sensor (Arduino Compatible)"
  - "1x Gravity: DHT11 Temperature Humidity Sensor For Arduino"
  - "8x Male/Male Jumper Wires"
  - "1x NodeMCU ESP8266 Breakout Board"
tools: []
apps:
  - "1x Google Sheets"
  - "1x Arduino IDE"
  - "1x PushingBox"
downloadableFiles: []
documentationLinks: []
passwordHash: "7271ba2240eee544afb6e63091da6503c467a37070fce4c0d3d30195c6265b0e"
encryptedPayload: "U2FsdGVkX1+tgK0gZq1cMQUL0+jXolJngviJzqO+Yk1pSO/JJ3fW8gl865dWx9spbmj6NWgjoolSRAuXhI5GSUeoIkhfb+2b8H8638Xq+gDGcs/vETAOlbhGuIJRJPvPpQYIVNSrAivJcCY8BhNcpA=="
seoDescription: "Build a basic IoT weather station using Arduino. Learn how to create your own weather monitoring system with this step-by-step DIY guide."
videoLinks:
  - "https://www.youtube.com/embed/QLxOGwlEBB0"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/iot-weather-station-using-arduino-120ec2_cover.jpg"
lang: "th"