สารบัญ:
- ขั้นตอนที่ 1: ต้องใช้ฮาร์ดแวร์และซอฟต์แวร์
- ขั้นตอนที่ 2: การอัปโหลดโค้ดไปยัง ESP32 โดยใช้ Arduino IDE
- ขั้นตอนที่ 3: เอาต์พุตมอนิเตอร์แบบอนุกรม
- ขั้นตอนที่ 4: เอาท์พุต
- ขั้นตอนที่ 5: สร้าง IFTTT Applet
- ขั้นตอนที่ 6: สร้างการวิเคราะห์ MATLAB
- ขั้นตอนที่ 7: สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
วีดีโอ: ThingSpeak, IFTTT, เซ็นเซอร์อุณหภูมิและความชื้น และ Google ชีต: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:04
ในโครงการนี้ เราจะวัดอุณหภูมิและความชื้นโดยใช้เซ็นเซอร์อุณหภูมิและความชื้น NCD, ESP32 และ ThingSpeak เราจะส่งการอ่านค่าอุณหภูมิและความชื้นที่แตกต่างกันไปยัง Google ชีตโดยใช้ ThingSpeak และ IFTTT เพื่อวิเคราะห์ข้อมูลเซ็นเซอร์
ขั้นตอนที่ 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
- ในการส่งข้อมูลไปยัง ThingSpeak คุณสามารถดูได้ที่ลิงค์นี้
- IFTTT เป็นบริการเว็บที่ให้คุณสร้างแอปเพล็ตที่ตอบสนองต่อการกระทำอื่น คุณสามารถใช้บริการ IFTTT Webhooks เพื่อสร้างคำขอเว็บเพื่อทริกเกอร์การดำเนินการ การดำเนินการขาเข้าคือคำขอ HTTP ไปยังเว็บเซิร์ฟเวอร์ และการดำเนินการขาออกคือข้อความอีเมล
- ขั้นแรก สร้างบัญชี IFTTT
- สร้างแอปเพล็ต เลือกแอปเพล็ตของฉัน
- คลิกปุ่มแอปเพล็ตใหม่
- เลือกการดำเนินการอินพุต คลิกคำนี้
- คลิกบริการ Webhooks ป้อน Webhooks ในช่องค้นหา เลือกเว็บฮุค
- เลือกทริกเกอร์
- กรอกข้อมูลในฟิลด์ทริกเกอร์ หลังจากที่คุณเลือก Webhooks เป็นทริกเกอร์ ให้คลิกกล่องรับคำขอเว็บเพื่อดำเนินการต่อ ป้อนชื่อกิจกรรม
- สร้างทริกเกอร์
- ตอนนี้ทริกเกอร์จะถูกสร้างขึ้นสำหรับการดำเนินการที่เกิดขึ้นให้คลิกที่
- ป้อน "Google ชีต" ในแถบค้นหา แล้วเลือกช่อง "Google ชีต"
- หากคุณไม่ได้เชื่อมต่อกับ Google ชีต ให้เชื่อมต่อก่อน ตอนนี้เลือกการกระทำ เลือกเพิ่มแถวในสเปรดชีต
- จากนั้น กรอกข้อมูลในช่องการดำเนินการ
- แอปเพล็ตของคุณควรถูกสร้างขึ้นหลังจากที่คุณกดเสร็จสิ้น
- ดึงข้อมูลทริกเกอร์ Webhooks ของคุณ เลือก My Applets, Services และค้นหา Webhooks คลิกปุ่มเว็บฮุคและเอกสารประกอบ คุณเห็นคีย์และรูปแบบการส่งคำขอของคุณ ป้อนชื่อกิจกรรม ชื่อเหตุการณ์สำหรับตัวอย่างนี้คือ VibrationAndTempData คุณสามารถทดสอบบริการโดยใช้ปุ่มทดสอบหรือโดยการวาง URL ลงในเบราว์เซอร์ของคุณ
ขั้นตอนที่ 6: สร้างการวิเคราะห์ MATLAB
คุณสามารถใช้ผลการวิเคราะห์เพื่อทริกเกอร์คำขอเว็บ เช่น การเขียนทริกเกอร์ไปยัง IFTTT
- คลิกแอพ การวิเคราะห์ MATLAB และเลือกใหม่
- เลือกทริกเกอร์อีเมลจาก IFTTT ในส่วนตัวอย่าง โค้ดด้านล่างได้รับการเติมข้อมูลล่วงหน้าในหน้าต่างการวิเคราะห์ MATLAB ของคุณ
- ตั้งชื่อการวิเคราะห์ของคุณและแก้ไขโค้ด
- บันทึกการวิเคราะห์ MATLAB ของคุณ
ขั้นตอนที่ 7: สร้างการควบคุมเวลาเพื่อเรียกใช้การวิเคราะห์ของคุณ
ประเมินข้อมูลช่องสัญญาณ ThingSpeak ของคุณและทริกเกอร์กิจกรรมอื่นๆ
- คลิก Apps, TimeControl แล้วคลิก New TimeControl
- บันทึก TimeControl ของคุณ
แนะนำ:
เพิ่มฟังก์ชันที่กำหนดเองใน Google ชีต: 5 ขั้นตอน
เพิ่มฟังก์ชันที่กำหนดเองใน Google ชีต: ฉันแน่ใจว่าในบางช่วงของชีวิต คุณต้องใช้ซอฟต์แวร์สเปรดชีต เช่น Microsoft Excel หรือ Google ชีต พวกเขาค่อนข้างเรียบง่ายและตรงไปตรงมาในการใช้งาน แต่ยังทรงพลังและสามารถขยายได้ง่าย วันนี้เราจะมาดู Goo
การวิเคราะห์ข้อมูลอุณหภูมิ/ความชื้นโดยใช้ Ubidots และ Google ชีต: 6 ขั้นตอน
การวิเคราะห์ข้อมูลอุณหภูมิ/ความชื้นโดยใช้ Ubidots และ Google-ชีต: ในบทช่วยสอนนี้ เราจะวัดข้อมูลอุณหภูมิและความชื้นต่างๆ โดยใช้เซ็นเซอร์อุณหภูมิและความชื้น คุณจะได้เรียนรู้วิธีส่งข้อมูลนี้ไปยัง Ubidots เพื่อให้คุณสามารถวิเคราะห์ได้จากทุกที่สำหรับแอปพลิเคชันต่างๆ โดย sendin
โพลรายวันด้วย Makey Makey และ Google ชีต: 5 ขั้นตอน
โพลรายวันด้วย Makey Makey และ Google ชีต: ฉันต้องการสร้างวิธีการบันทึกข้อมูลของนักเรียนเมื่อพวกเขาเข้ามาในห้องเรียน รวมทั้งมีวิธีแสดงผลในห้องบนหน้าจอโปรเจ็กเตอร์ได้อย่างง่ายดาย ในขณะที่ฉันสามารถทำให้สิ่งนี้ง่ายขึ้นโดยใช้ Scratch ฉันต้องการวิธีง่ายๆ ในการบันทึกและบันทึก
ตัวติดตามเครื่องชงกาแฟพร้อม Raspberry Pi และ Google ชีต: 5 ขั้นตอน
ตัวติดตามเครื่องชงกาแฟด้วย Raspberry Pi และ Google ชีต: คำแนะนำนี้จะแสดงวิธีสร้างตัวติดตามที่ใช้ Raspberry Pi สำหรับเครื่องชงกาแฟที่ใช้ร่วมกันในพื้นที่สำนักงานของคุณ ผู้ใช้สามารถบันทึกการบริโภคกาแฟ ดูความสมดุลและ
IoT Cat Feeder โดยใช้อนุภาคโฟตอนรวมกับ Alexa, SmartThings, IFTTT, Google ชีต: 7 ขั้นตอน (พร้อมรูปภาพ)
IoT Cat Feeder โดยใช้อนุภาคโฟตอนผสานรวมกับ Alexa, SmartThings, IFTTT, Google ชีต: ความจำเป็นในการให้อาหารแมวอัตโนมัติเป็นสิ่งที่อธิบายได้ด้วยตนเอง แมว (แมวเราชื่อ เบลล่า) เวลาหิวจะน่าสะอิดสะเอียน และถ้าแมวของคุณเป็นเหมือนของฉันก็จะกินชามให้แห้งทุกครั้ง ฉันต้องการวิธีจ่ายอาหารตามปริมาณที่ควบคุมได้โดยอัตโนมัติ