สารบัญ:

การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน: 8 ขั้นตอน
การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน: 8 ขั้นตอน

วีดีโอ: การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน: 8 ขั้นตอน

วีดีโอ: การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน: 8 ขั้นตอน
วีดีโอ: DIY Advanced IOT based Real Time Earthquake Detector & early warning system using WSN in ioT Ubidots 2024, กรกฎาคม
Anonim
การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน
การสร้าง-การแจ้งเตือน-การใช้-Ubidots+ESP32 และเซ็นเซอร์การสั่นสะเทือน

ในโครงการนี้ เราจะสร้างการแจ้งเตือนทางอีเมลเกี่ยวกับการสั่นสะเทือนและอุณหภูมิของเครื่องโดยใช้เซ็นเซอร์การสั่นสะเทือน Ubidots และ ESP32

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

ขั้นตอนที่ 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 ทั้งหมด
  • IoT Long Range Wireless Vibration And Temperature Sensor: IoT Long Range Wireless Vibration And Temperature Sensor ทำงานโดยใช้แบตเตอรี่และไร้สาย ซึ่งหมายความว่าไม่จำเป็นต้องดึงสายไฟหรือสายสื่อสารเพื่อเริ่มต้นใช้งาน ติดตามข้อมูลการสั่นของเครื่องของคุณอย่างต่อเนื่อง และบันทึกชั่วโมงการทำงานที่ความละเอียดเต็มที่พร้อมกับพารามิเตอร์อุณหภูมิอื่นๆ ในเรื่องนี้ เรากำลังใช้เซ็นเซอร์ตรวจจับอุณหภูมิและการสั่นสะเทือนแบบไร้สาย IoT Industrial ระยะไกลของ NCD ซึ่งสามารถขยายได้ถึง 2 ไมล์โดยใช้สถาปัตยกรรมเครือข่ายแบบเมชแบบไร้สาย
  • โมเด็มตาข่ายไร้สายระยะไกล ZigBee Coordinator พร้อมอินเทอร์เฟซ USB

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

  • Arduino IDE
  • Ubidots

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

  • 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: ขั้นตอนในการส่งข้อมูลไปยังแพลตฟอร์มการสั่นสะเทือนและอุณหภูมิของ Labview โดยใช้เซ็นเซอร์ตรวจจับการสั่นสะเทือนและอุณหภูมิแบบไร้สายระยะไกล IoT และโมเด็มตาข่ายไร้สายระยะไกลของผู้ประสานงาน ZigBee พร้อมอินเทอร์เฟซ USB:

  • อันดับแรก เราต้องการโปรแกรมอรรถประโยชน์ Labview ซึ่งเป็นไฟล์ ncd.io Wireless Vibration and Temperature Sensor.exe ที่สามารถดูข้อมูลได้
  • ซอฟต์แวร์ Labview นี้จะทำงานร่วมกับเซ็นเซอร์อุณหภูมิการสั่นสะเทือนแบบไร้สาย ncd.io เท่านั้น
  • ในการใช้ UI นี้ คุณจะต้องติดตั้งไดรเวอร์ต่อไปนี้ ติดตั้งรันไทม์เอ็นจิ้นจากที่นี่ 64bit
  • 32 บิต
  • ติดตั้งไดรเวอร์ NI Visa
  • ติดตั้ง LabVIEW Run-Time Engine และ NI-Serial Runtime
  • คู่มือเริ่มต้นใช้งานสำหรับผลิตภัณฑ์นี้

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

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

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

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

ขั้นตอนที่ 5: ทำให้ Ubidots ทำงาน

ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
ทำให้อุบิดอททำงาน
  • สร้างบัญชีบน Ubidots
  • ไปที่โปรไฟล์ของฉันและจดรหัสโทเค็นซึ่งเป็นรหัสเฉพาะสำหรับทุกบัญชีแล้ววางลงในรหัส ESP32 ของคุณก่อนที่จะอัปโหลด
  • เพิ่มอุปกรณ์ใหม่ให้กับชื่อแดชบอร์ด Ubidot ESP32 ของคุณ
  • คลิกที่อุปกรณ์และเลือกอุปกรณ์ใน Ubidots ตอนนี้คุณควรเห็นข้อมูลที่เผยแพร่ในบัญชี Ubidots ของคุณ ภายในอุปกรณ์ที่เรียกว่า "ESP32"
  • ภายในอุปกรณ์สร้างเซ็นเซอร์ชื่อตัวแปรใหม่ซึ่งจะแสดงการอ่านอุณหภูมิของคุณ
  • ตอนนี้คุณสามารถดูข้อมูลอุณหภูมิและเซ็นเซอร์อื่นๆ ที่เคยดูในจอภาพแบบอนุกรมได้ สิ่งนี้เกิดขึ้นเนื่องจากค่าของการอ่านเซ็นเซอร์ต่างๆ ถูกส่งผ่านเป็นสตริงและจัดเก็บในตัวแปรและเผยแพร่ไปยังตัวแปรภายในอุปกรณ์ esp32 ไปที่แดชบอร์ดเลือกข้อมูลและแดชบอร์ดภายในสร้างวิดเจ็ตที่แตกต่างกันและเพิ่มวิดเจ็ตใหม่ไปที่หน้าจอแดชบอร์ดของคุณ
  • สร้างแดชบอร์ดใน Ubidots

ขั้นตอนที่ 6: เอาท์พุต

เอาท์พุต
เอาท์พุต

ขั้นตอนที่ 7: การสร้างกิจกรรมใน Ubidots

การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
การสร้างกิจกรรมใน Ubidots
  • เลือกเหตุการณ์ (จากดรอปดาวน์ข้อมูล
  • หากต้องการสร้างกิจกรรมใหม่ ให้คลิกไอคอนเครื่องหมายบวกสีเหลืองที่มุมบนขวาของหน้าจอ

ประเภทของเหตุการณ์ Ubidots รองรับกิจกรรมที่รวมไว้แล้วเพื่อให้คุณสามารถส่งกิจกรรม การแจ้งเตือน และการแจ้งเตือนไปยังผู้ที่จำเป็นต้องรู้เมื่อจำเป็นต้องรู้ การผสานรวมที่สร้างไว้ล่วงหน้าของ Ubidots รวมถึง:

1. การแจ้งเตือนทางอีเมล

2. SMS แจ้งเตือน

3. กิจกรรม Webhook - เรียนรู้เพิ่มเติม

4. การแจ้งเตือนทางโทรเลข

5. การแจ้งเตือนหย่อน - เรียนรู้เพิ่มเติม

6. การแจ้งเตือนการโทร - เรียนรู้เพิ่มเติม

7. กลับสู่การแจ้งเตือนปกติ - เรียนรู้เพิ่มเติม

8. การแจ้งเตือน Geofence - เรียนรู้เพิ่มเติม

  • จากนั้นเลือกอุปกรณ์และตัวแปรเชื่อมโยงที่ระบุ "ค่า" ของอุปกรณ์
  • ตอนนี้ เลือกค่าเกณฑ์สำหรับเหตุการณ์ของคุณเพื่อทริกเกอร์และเปรียบเทียบกับค่าอุปกรณ์ และเลือกเวลาที่จะทริกเกอร์เหตุการณ์ของคุณ
  • สร้างและกำหนดค่าการดำเนินการที่จะดำเนินการและข้อความไปยังผู้รับ: ส่ง SMS, อีเมล, Webhooks, โทรเลข, การโทรศัพท์, SLACK และเว็บฮุคให้กับผู้ที่จำเป็นต้องรู้
  • กำหนดค่าการแจ้งเตือนเหตุการณ์
  • กำหนดหน้าต่างกิจกรรมที่เหตุการณ์อาจ/อาจไม่สามารถดำเนินการได้
  • ยืนยันกิจกรรมของคุณ

แนะนำ: