สารบัญ:

Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor: 7 ขั้นตอน
Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor: 7 ขั้นตอน

วีดีโอ: Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor: 7 ขั้นตอน

วีดีโอ: Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor: 7 ขั้นตอน
วีดีโอ: DHT11 & NodeMCU Tutorial || Humidity & Temperature Monitoring over Thingspeak 2024, พฤศจิกายน
Anonim
Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor
Alert-using-ThingSpeak+ESP32-Wireless-Temp- Humidity-Sensor

ในบทช่วยสอนนี้ เราจะวัดข้อมูลอุณหภูมิและความชื้นต่างๆ โดยใช้เซ็นเซอร์อุณหภูมิและความชื้น คุณจะได้เรียนรู้วิธีการส่งข้อมูลนี้ไปยัง ThingSpeak เพื่อให้คุณสามารถสร้างการแจ้งเตือนชั่วคราวในอีเมลของคุณตามค่าที่กำหนด

ขั้นตอนที่ 1: ต้องใช้ฮาร์ดแวร์และซอฟต์แวร์

ฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็น
ฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็น
ฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็น
ฮาร์ดแวร์และซอฟต์แวร์ที่จำเป็น

ฮาร์ดแวร์:

  • ESP-32: ESP32 ทำให้ง่ายต่อการใช้ Arduino IDE และ Arduino Wire Language สำหรับแอปพลิเคชัน IoT โมดูล ESp32 IoT นี้รวม Wi-Fi, Bluetooth และ Bluetooth BLE เพื่อการใช้งานที่หลากหลาย โมดูลนี้มาพร้อมกับคอร์ CPU 2 คอร์ที่สามารถควบคุมและขับเคลื่อนแยกกันได้ และด้วยความถี่สัญญาณนาฬิกาที่ปรับได้ตั้งแต่ 80 MHz ถึง 240 MHz โมดูล ESP32 IoT WiFi BLE พร้อม USB ในตัวนี้ได้รับการออกแบบมาให้พอดีกับผลิตภัณฑ์ ncd.io IoT ทั้งหมด ตรวจสอบเซ็นเซอร์และรีเลย์ควบคุม, FET, ตัวควบคุม PWM, โซลินอยด์, วาล์ว, มอเตอร์ และอื่นๆ อีกมากมายจากทุกที่ในโลกโดยใช้หน้าเว็บหรือเซิร์ฟเวอร์เฉพาะ เราผลิต ESP32 เวอร์ชันของเราเองเพื่อให้พอดีกับอุปกรณ์ NCD IoT โดยมีตัวเลือกการขยายมากกว่าอุปกรณ์อื่นๆ ในโลก! พอร์ต USB ในตัวช่วยให้ตั้งโปรแกรม ESP32 ได้ง่าย โมดูล ESP32 IoT WiFi BLE เป็นแพลตฟอร์มที่น่าทึ่งสำหรับการพัฒนาแอปพลิเคชัน IoT โมดูล ESP32 IoT WiFi BLE นี้สามารถตั้งโปรแกรมได้โดยใช้ Arduino IDE
  • IoT Long Range Wireless Temperature and Humidity Sensor:เซ็นเซอร์ความชื้นอุณหภูมิไร้สายระยะไกลอุตสาหกรรม เกรดที่มีความละเอียดของเซนเซอร์ ±1.7%RH ±0.5°C มากถึง 500,000 การส่งสัญญาณจากแบตเตอรี่ AA 2 ก้อน วัด -40 ° C ถึง 125 ° C ด้วยแบตเตอรี่ที่รอดชีวิตจากการจัดอันดับเหล่านี้ ช่วง LOS ที่เหนือกว่า 2 ไมล์และ 28 ไมล์ด้วยเสาอากาศกำลังสูง เชื่อมต่อกับ Raspberry Pi, Microsoft Azure, Arduino และอื่นๆ
  • โมเด็มตาข่ายไร้สายระยะไกลพร้อมอินเทอร์เฟซ USB

ซอฟต์แวร์ที่ใช้

  • Arduino IDE
  • ThingSpeak
  • IFTTT

ห้องสมุดที่ใช้

  • PubSubClient Library
  • Wire.h

ไคลเอนต์ Arduino สำหรับ MQTT

  • ไลบรารีนี้จัดเตรียมไคลเอ็นต์สำหรับการส่งข้อความแบบเผยแพร่/สมัครรับข้อมูลอย่างง่ายด้วยเซิร์ฟเวอร์ที่รองรับ MQTT
  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ MQTT โปรดไปที่ mqtt.org

ดาวน์โหลด

ดาวน์โหลดไลบรารีเวอร์ชันล่าสุดได้จาก GitHub

เอกสาร

ห้องสมุดมีภาพสเก็ตช์ตัวอย่างมากมาย ดูไฟล์ > ตัวอย่าง > PubSubClient ภายในแอปพลิเคชัน Arduino เอกสาร API แบบเต็ม

ฮาร์ดแวร์ที่เข้ากันได้

ไลบรารีใช้ Arduino Ethernet Client API สำหรับการโต้ตอบกับฮาร์ดแวร์เครือข่ายพื้นฐาน ซึ่งหมายความว่ามันใช้งานได้กับบอร์ดและโล่จำนวนมากขึ้นเรื่อยๆ ซึ่งรวมถึง:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN – ใช้ YunClient ที่รวมไว้แทน EthernetClient และอย่าลืมทำ Bridge.begin() ก่อน
  • Arduino WiFi Shield - หากคุณต้องการส่งแพ็กเก็ตที่มีขนาดใหญ่กว่า 90 ไบต์ด้วยโล่นี้ ให้เปิดใช้งานตัวเลือก MQTT_MAX_TRANSFER_SIZE ใน PubSubClient.h
  • SparkFun WiFly Shield – เมื่อใช้กับห้องสมุดนี้
  • อินเทล กาลิเลโอ/เอดิสัน
  • ESP8266
  • ขณะนี้ ESP32 ห้องสมุดไม่สามารถใช้กับฮาร์ดแวร์ที่ใช้ชิป ENC28J60 เช่น Nanode หรือ Nuelectronics Ethernet Shield สำหรับสิ่งเหล่านี้ มีห้องสมุดสำรองให้เลือก

ห้องสมุดสาย

ไลบรารี Wire ช่วยให้คุณสามารถสื่อสารกับอุปกรณ์ I2C ซึ่งมักเรียกว่า "2 wire" หรือ "TWI" (Two Wire Interface) สามารถดาวน์โหลดได้จาก Wire.h

การใช้งานพื้นฐาน

  • Wire.begin() เริ่มใช้ Wire ในโหมดมาสเตอร์ ซึ่งคุณจะเริ่มต้นและควบคุมการถ่ายโอนข้อมูล นี่เป็นการใช้งานทั่วไปเมื่อเชื่อมต่อกับชิปอุปกรณ์ต่อพ่วง I2C ส่วนใหญ่
  • Wire.begin(ที่อยู่)เริ่มใช้ Wire ในโหมดทาส ซึ่งคุณจะตอบกลับที่ "ที่อยู่" เมื่อชิปต้นแบบ I2C อื่นเริ่มการสื่อสาร กำลังส่งสัญญาณ Wire.beginTransmission(ที่อยู่)เริ่มต้นการส่งใหม่ไปยังอุปกรณ์ที่ "ที่อยู่" ใช้โหมดมาสเตอร์
  • Wire.write(ข้อมูล)ส่งข้อมูล ในโหมดมาสเตอร์ ต้องเรียก startTransmission ก่อน
  • Wire.endTransmission() ในโหมดมาสเตอร์ จะสิ้นสุดการส่งและทำให้ข้อมูลที่บัฟเฟอร์ทั้งหมดถูกส่ง

รับ

  • Wire.requestFrom(address, count) อ่าน "นับ" ไบต์จากอุปกรณ์ที่ "ที่อยู่" ใช้โหมดมาสเตอร์
  • Wire.available() ส่งกลับจำนวนไบต์ที่พร้อมใช้งานโดยการโทรรับ
  • Wire.read() รับ 1 ไบต์

ขั้นตอนที่ 2: การอัปโหลดโค้ดไปยัง ESP32 โดยใช้ Arduino IDE

  • ก่อนอัปโหลดโค้ด คุณสามารถดูการทำงานของเซ็นเซอร์นี้ได้ที่ลิงก์ที่ให้ไว้
  • ดาวน์โหลดและรวม PubSubClient Library และ Wire.h Library
  • คุณต้องกำหนดคีย์ API, SSID (ชื่อ WiFi) และรหัสผ่านของเครือข่ายที่ใช้ได้
  • รวบรวมและอัปโหลดรหัส Temp-ThinSpeak.ino
  • หากต้องการตรวจสอบการเชื่อมต่อของอุปกรณ์และข้อมูลที่ส่ง ให้เปิดจอภาพอนุกรม หากไม่เห็นการตอบสนอง ให้ลองถอดปลั๊ก ESP32 แล้วเสียบใหม่อีกครั้ง ตรวจสอบให้แน่ใจว่าอัตราบอดของจอภาพแบบอนุกรมถูกตั้งค่าเป็นอัตราเดียวกับที่ระบุไว้ในรหัส 115200 ของคุณ

ขั้นตอนที่ 3: เอาต์พุตมอนิเตอร์แบบอนุกรม

เอาต์พุตมอนิเตอร์แบบอนุกรม
เอาต์พุตมอนิเตอร์แบบอนุกรม

ขั้นตอนที่ 4: ผลลัพธ์

ผลผลิต
ผลผลิต

ขั้นตอนที่ 5: สร้าง IFTTT Applet

สร้าง IFTTT Applet
สร้าง IFTTT Applet
สร้าง IFTTT Applet
สร้าง IFTTT Applet
สร้าง IFTTT Applet
สร้าง IFTTT Applet
  • ในการส่งข้อมูลไปยัง ThingSpeak คุณสามารถดูได้ที่ลิงค์นี้
  • IFTTT เป็นบริการเว็บที่ให้คุณสร้างแอปเพล็ตที่ตอบสนองต่อการกระทำอื่น คุณสามารถใช้บริการ IFTTT Webhooks เพื่อสร้างคำขอเว็บเพื่อทริกเกอร์การดำเนินการ การดำเนินการขาเข้าคือคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ และการดำเนินการขาออกคือข้อความอีเมล
  • ขั้นแรก สร้างบัญชี IFTTT
  • สร้างแอปเพล็ต เลือกแอปเพล็ตของฉัน
  • คลิกปุ่มแอปเพล็ตใหม่
  • เลือกการดำเนินการอินพุต คลิกคำนี้
  • คลิกบริการ Webhooks ป้อน Webhooks ในช่องค้นหา เลือกเว็บฮุค
  • เลือกทริกเกอร์
  • กรอกข้อมูลในฟิลด์ทริกเกอร์ หลังจากที่คุณเลือก Webhooks เป็นทริกเกอร์ ให้คลิกกล่องรับคำขอเว็บเพื่อดำเนินการต่อ ป้อนชื่อกิจกรรม
  • สร้างทริกเกอร์
  • ตอนนี้ทริกเกอร์จะถูกสร้างขึ้นสำหรับการดำเนินการที่เกิดขึ้นให้คลิกที่
  • ป้อนอีเมลในแถบค้นหา แล้วเลือกกล่องอีเมล
  • ตอนนี้เลือกการกระทำ เลือกกล่อง ส่งอีเมลถึงฉัน แล้วป้อนข้อมูลข้อความ
  • ดึงข้อมูลทริกเกอร์ Webhooks ของคุณ เลือก My Applets, Services และค้นหา Webhooks คลิกปุ่มเว็บฮุคและเอกสารประกอบ คุณเห็นคีย์และรูปแบบการส่งคำขอของคุณ ป้อนชื่อกิจกรรม ชื่อเหตุการณ์สำหรับตัวอย่างนี้คือ Vibration And TempData คุณสามารถทดสอบบริการโดยใช้ปุ่มทดสอบหรือโดยการวาง URL ลงในเบราว์เซอร์ของคุณ

ขั้นตอนที่ 6: สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ

สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ

ประเมินข้อมูลช่องสัญญาณ ThingSpeak ของคุณและทริกเกอร์กิจกรรมอื่นๆ

  • คลิก Apps, TimeControl แล้วคลิก New TimeControl
  • บันทึก TimeControl ของคุณ

แนะนำ: