สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
เฮ้ ว่าไงพวก! Akarsh ที่นี่จาก CETech
โครงการของฉันนี้เป็นช่วงการเรียนรู้มากกว่าที่จะเข้าใจแพลตฟอร์มของ thingspeak ควบคู่ไปกับแนวคิดของ MQTT จากนั้นจึงใช้ Thingspeak กับ ESP8266
ในช่วงท้ายของบทความ เราจะเชื่อมต่อ ESP8266 กับ DHT11 และจะส่งข้อมูลอุณหภูมิและความชื้นไปยังแพลตฟอร์ม Thingspeak ทางอินเทอร์เน็ต เราจะดูรหัสสำหรับควบคุมฮาร์ดแวร์บนอินเทอร์เน็ตอีกครั้งโดยใช้ Thingspeak
ในตอนท้ายของบทช่วยสอน เราจะสามารถส่ง/รับข้อมูลทางอินเทอร์เน็ตไปยัง ESP8266/ESP32
มาเริ่มกันที่ความสนุกตอนนี้เลย…
ขั้นตอนที่ 1: รับ PCB สำหรับโครงการของคุณที่ผลิต
คุณต้องตรวจสอบ PCBGOGO เพื่อสั่งซื้อ PCBs ออนไลน์ในราคาถูก!
คุณได้รับ PCB คุณภาพดี 10 ชิ้นที่ผลิตและจัดส่งถึงหน้าบ้านคุณในราคา 5 ดอลลาร์และค่าจัดส่งบางส่วน คุณยังจะได้รับส่วนลดสำหรับการจัดส่งในการสั่งซื้อครั้งแรกของคุณ
PCBGOGO มีความสามารถในการประกอบ PCB และการผลิตลายฉลุรวมถึงการรักษามาตรฐานคุณภาพที่ดี
ตรวจสอบพวกเขาออกถ้าคุณต้องการที่จะได้รับ PCBs ที่ผลิตหรือประกอบ
ขั้นตอนที่ 2: ดูแพลตฟอร์ม Thingspeak:
แพลตฟอร์มนี้มุ่งเป้าไปที่โครงการ IoT และการวิเคราะห์ข้อมูลโดยใช้ภาพเป็นหลัก
ในการเริ่มต้นใช้บริการฟรีของ Thingspeak ก่อนอื่นคุณต้องสมัครใช้งานโดยใช้ ID อีเมลของคุณ เมื่อดำเนินการเสร็จแล้วพร้อมกับการยืนยันอีเมล คุณจะพบหน้าเพจที่ดูคล้ายคลึงกัน:
ตอนนี้การดูคำศัพท์บางอย่างที่อาจช่วยให้คุณเข้าใจสิ่งนี้ได้ดีขึ้น และทำให้การทำงานกับเว็บเซิร์ฟเวอร์ของคุณราบรื่นยิ่งขึ้น:
1) การอ่าน/ดาวน์โหลดข้อมูล: การรับข้อมูลบน ESP8266/ESP32 จากเซิร์ฟเวอร์เป็นการดำเนินการอ่าน
2) การเขียน/อัปโหลดข้อมูล: การส่งข้อมูลจาก ESP8266/ESP32 ของคุณไปยังเซิร์ฟเวอร์เป็นการดำเนินการเขียน
3) คีย์ API: เพื่อให้มีความปลอดภัยของข้อมูลและป้องกันไม่ให้ใครก็ตามสุ่มอ่าน/เขียนข้อมูลไปยังเซิร์ฟเวอร์ของคุณ จำเป็นต้องมีการรักษาความปลอดภัย/รหัสผ่าน และคีย์ API ก็มีไว้เพื่อสิ่งนี้ คีย์ API เป็นคีย์ตัวอักษรและตัวเลขแบบยาวซึ่งจำเป็นสำหรับการอ่าน/ข้อมูลไปยังเซิร์ฟเวอร์ มีปุ่มแยกสำหรับอ่านและเขียนข้อมูล
4) ช่องสัญญาณ: ช่องสัญญาณใน Thingspeak เป็นซอฟต์แวร์คู่กับอุปกรณ์ฮาร์ดแวร์ IoT ที่คุณเชื่อมต่อกับ Thingspeak ในกรณีของเรา ESP8266 จะใช้แบนด์วิดท์ทั้งหมดช่องเดียวของเรา ในบัญชีฟรีของ thingspeak คุณสามารถมีได้สูงสุด 4 ช่อง
5) ฟิลด์: แต่ละช่องมี 8 ช่อง ฟิลด์เป็นตัวแปรและจัดเก็บ/แบ่งปันประเภทข้อมูล เช่น เมื่อเราส่งอุณหภูมิและความชื้นจากอุปกรณ์ของเราไปยังเซิร์ฟเวอร์ พารามิเตอร์ทั้งสองจะใช้หนึ่งฟิลด์แต่ละช่อง
ที่สวยมากเกี่ยวกับ thingspeak!
คัดลอกและเก็บคีย์ API เขียนไว้ เราจะต้องใช้ในภายหลังขณะทดสอบลิงก์ไปยัง Thingspeak
ขั้นตอนที่ 3: MQTT โดย Mosquitto
MQTT เป็นโปรโตคอลการถ่ายโอนข้อมูลที่มีน้ำหนักเบาซึ่งเราสามารถใช้เพื่อวัตถุประสงค์ที่คล้ายคลึงกันซึ่งเราใช้ Thingspeak สำหรับ Mosquitto เป็นองค์กรที่ให้บริการเซิร์ฟเวอร์/โบรกเกอร์ MQTT ฟรีสำหรับวัตถุประสงค์ในการทดสอบ
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Mosquitto.org ได้ที่ลิงค์นี้
ฉันจะไม่ลงลึกเกี่ยวกับ MQTT ในบทความนี้ และจะกล่าวถึง MQTT ในบทความ/วิดีโอแยกต่างหาก!
ขั้นตอนที่ 4: การตั้งค่า ESP8266 สำหรับการทดสอบ
เชื่อมต่อ DHT11 กับโมดูล ESP8266 บนขา D0 และสายไฟไปที่ 3.3v บนโมดูล ESP
เมื่อขั้นตอนนี้เสร็จสมบูรณ์ คุณสามารถย้ายไปยังส่วนซอฟต์แวร์ได้
ขั้นตอนที่ 5: ดาวน์โหลดและตั้งค่า Arduino IDE
ดาวน์โหลด Arduino IDE จากที่นี่
1. ติดตั้ง Arduino IDE แล้วเปิดขึ้นมา
2. ไปที่ ไฟล์ > การตั้งค่า
3. เพิ่ม https://arduino.esp8266.com/stable/package_esp8266com_index.json ไปยัง URL ของตัวจัดการบอร์ดเพิ่มเติม
4. ไปที่ เครื่องมือ > บอร์ด > ตัวจัดการบอร์ด
5. ค้นหา esp8266 แล้วติดตั้งบอร์ด
6. รีสตาร์ท IDE
ขั้นตอนที่ 6: การเข้ารหัสโมดูล
1. ดาวน์โหลดโค้ดสำหรับเขียนถึง Thingspeak จากที่นี่:
2. เปิดโค้ดใน Arduino IDE และทำการเปลี่ยนแปลงที่จำเป็นกับ API Key/SSID/Password ที่ด้านบนของโค้ด
3. ไปที่ เครื่องมือ > บอร์ด เลือกบอร์ดที่เหมาะสมที่คุณใช้ NodeMCU(12E) ได้เกือบทุกกรณี
5. เลือกคอมเมนต์ที่ถูกต้อง port โดยไปที่ Tools > Port
6. กดปุ่มอัปโหลด
7. เมื่อแท็บแจ้งว่าเสร็จสิ้นการอัปโหลด แสดงว่าคุณพร้อมที่จะใช้อุปกรณ์แล้ว
ขั้นตอนที่ 7: ESP8266 ส่งข้อมูลไปยัง Thingspeak
ทันทีที่รหัสถูกอัปโหลดและคุณเปิดจอภาพแบบอนุกรม คุณจะได้รับข้อความต้อนรับตามที่ฉันได้รับในภาพด้านบน โมดูลเชื่อมต่อตัวเองกับ WiFi ก่อนแล้วจึงส่งข้อมูลไปยังเซิร์ฟเวอร์หลังจากอ่านพารามิเตอร์จาก DHT11
ในหน้า Thingspeak คุณจะพบรายการดังรูปด้านล่าง:
นั่นคือจากการสาธิตนี้!
หากคุณต้องการใช้เส้นทางอื่นและควบคุมสิ่งต่าง ๆ จาก Thingspeak โดยใช้ ESP8266 และอ่านข้อมูลเซิร์ฟเวอร์ คุณสามารถใช้รหัสนี้: