สารบัญ:

ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub: 9 ขั้นตอน (พร้อมรูปภาพ)
ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Blynk IOT EP.32 DS18B20 เซ็นเซอร์วัดอุณหภูมิ ทนทานเหมาะกับการใช้งานทุกๆที่ DS18B20 +ESP8266 +Blynk 2024, พฤศจิกายน
Anonim
ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub
ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub
ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub
ศูนย์รวบรวมข้อมูลเซ็นเซอร์ที่เปิดใช้งาน IoT พร้อม ESP8266 & PubNub

บทช่วยสอนส่วนใหญ่ใน ESP8266 นั้นอยู่ในระดับมือใหม่ (กะพริบไฟ LED จากระยะไกล) หรือซับซ้อนเกินไปสำหรับบางคนที่กำลังมองหาบางสิ่งที่จะปรับปรุงและอัปเกรดตามทักษะการกะพริบของเขา คำแนะนำนี้มีจุดมุ่งหมายเพื่อลดช่องว่างนี้เพื่อสร้างฮับเซ็นเซอร์ ใช้ ESP8266 และโพสต์ข้อมูลที่รวบรวมไปยัง PubNub เป้าหมายหลัก/วัตถุประสงค์คือเพื่อลดเวลาที่ผู้คนใช้ในการสร้างฮาร์ดแวร์ และแทนที่จะเน้นเวลาของพวกเขาในการวิเคราะห์ข้อมูลและการแสดงภาพด้วยข้อมูลที่รวบรวม

สำหรับผู้ที่ไม่คุ้นเคยกับ ESP8266/NodeMCU เราขอแนะนำให้คุณทำความเข้าใจพื้นฐานเกี่ยวกับวิธีการแฟลชและโปรแกรมผ่าน ESPLORER มีบทช่วยสอน/คำแนะนำมากมายที่นำเสนอสิ่งนี้ เช่น Get-Started-with-ESP8266-Using-AT -คำสั่ง-NodeMCU

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

ยินดีต้อนรับสู่บทเรียน ESP8266-NodeMCU - 102!!

ขั้นตอนที่ 1: ส่วนประกอบที่ใช้ในโครงการ

ส่วนประกอบที่ใช้ในโครงการ
ส่วนประกอบที่ใช้ในโครงการ

ส่วนประกอบต่อไปนี้จำเป็นต่อการทำโครงการให้เสร็จ

  • บอร์ด ESP8266 บอร์ดที่ใช้สำหรับคำแนะนำนี้คือ NodeMCU devKit v1.0 (ใส่ลิงก์โมดูล 143 ที่นี่)
  • เซ็นเซอร์ใด ๆ ที่จำเป็นต้องรวบรวมและบันทึกข้อมูล โพเทนชิออมิเตอร์แบบง่ายนี้ใช้เป็นเซ็นเซอร์อะนาล็อก
  • สวิตช์สไลด์
  • สายเคเบิล micro to USB (ตัวผู้) เพื่ออัปโหลดรหัสไปยัง NodeMCU devKit v1.0 และจ่ายไฟให้กับอุปกรณ์
  • ไฟ LED 2 ดวงสำหรับตัวบ่งชี้โหมด
  • สายเคเบิลและเขียงหั่นขนมจากตัวผู้ถึงตัวผู้
  • บัญชี PubNub พร้อมคีย์เผยแพร่ คีย์สมัครรับข้อมูล และช่อง

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

ขั้นตอนที่ 2: การออกแบบวงจร

หากคุณซื้อแล้ว (ใส่ลิงก์ของผลิตภัณฑ์ขั้นสุดท้ายที่นี่) คุณสามารถข้ามขั้นตอนนี้ได้

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

การอัปโหลดโค้ดไปยัง NodeMCU Kit โดยใช้ ESPlorer
การอัปโหลดโค้ดไปยัง NodeMCU Kit โดยใช้ ESPlorer
การอัปโหลดโค้ดไปยัง NodeMCU Kit โดยใช้ ESPlorer
การอัปโหลดโค้ดไปยัง NodeMCU Kit โดยใช้ ESPlorer

เมื่อคุณเปิดแอปพลิเคชัน ESPlorer หน้าจอเริ่มต้นจะมีลักษณะเหมือนภาพแรก เลือกพอร์ต COM จากดรอปดาวน์ที่ด้านบน หากพอร์ต COM ไม่ปรากฏขึ้นแม้ว่าอุปกรณ์จะเชื่อมต่ออยู่ ให้เปิดแอปพลิเคชันอีกครั้ง

ขณะนี้มีสองวิธีที่คุณสามารถดำเนินการตามคำแนะนำนี้ให้เสร็จสิ้น

เสร็จสิ้นส่วนฮาร์ดแวร์ฮับเซ็นเซอร์โดยเร็วที่สุดและไปเล่นกับ data

ทำความเข้าใจวิธีการทำงานของ NodeMCU และ lua script และปรับแต่งตามความต้องการของคุณ

ถ้า(ตัวเลือก==1)

อัปโหลดไฟล์ที่คอมไพล์แล้วทั้งหมด (ไฟล์.lc) และไปยังขั้นตอนถัดไป

อื่น ๆ ถ้า (ตัวเลือก ==2)

เพียงเปิดไฟล์ซอร์สโค้ด (.lua) ใน ESPlorer และเริ่มเล่นกับโค้ด ข้ามไปที่ขั้นตอนที่ 5 เพื่อดูคำอธิบาย

ขั้นตอนที่ 4: การกำหนดค่า Sensor Hub

การกำหนดค่า Sensor Hub
การกำหนดค่า Sensor Hub
การกำหนดค่า Sensor Hub
การกำหนดค่า Sensor Hub

ตอนนี้เลื่อนสวิตช์ไปที่โหมด config และรีสตาร์ทโมดูล ไฟ LED แสดงสถานะโหมด Config ควรสว่าง

ดังที่แสดงในภาพแรกและเครือข่ายไร้สายที่มีชื่อ "configMode" จะถูกสร้างขึ้นและมองเห็นได้ เชื่อมต่อกับเครือข่ายนั้นด้วยรหัสผ่านเป็น "password1234" จากคอมพิวเตอร์ แล็ปท็อป หรือมือถือเครื่องใดก็ได้

เปิดเบราส์ใดก็ได้แล้วป้อน url ต่อไปนี้

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

แทนที่พารามิเตอร์ในเครื่องหมายคำพูดด้วยรหัสผ่านชื่อผู้ใช้ wifi ของคุณเอง (พร้อมการเข้าถึงอินเทอร์เน็ต) และคีย์ PubNub URL สุดท้ายควรมีลักษณะดังนี้

192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&sensorOneName=sensor1&check=1'

หากฮับเซ็นเซอร์ได้รับการกำหนดค่าอย่างเหมาะสม คุณนำโหมดการกำหนดค่าที่นำจะดับลงและไฟ LED โหมดข้อมูลจะเปิดขึ้นและเครือข่ายไร้สาย "configMode" จะหายไป หากคุณต้องการเข้าใจวิธีการทำงานหรือต้องการเปลี่ยนพารามิเตอร์ ให้ไปที่ขั้นตอนถัดไป ข้ามไปที่ขั้นตอนที่8

ขั้นตอนที่ 5: การปรับแต่งการกำหนดค่า

การปรับแต่งการกำหนดค่า
การปรับแต่งการกำหนดค่า

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

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

เปิดไฟล์ ap.lua ใน ESPlorer สคริปต์นี้มีหน้าที่ในการกำหนดค่าเริ่มต้นของฮับเซ็นเซอร์ โดยสร้างไฟล์สองไฟล์ตามข้อมูลที่ผู้ใช้ให้มา

  • station.lua (ประกอบด้วย ssid เครือข่ายและรหัสผ่านที่มีการเข้าถึงอินเทอร์เน็ตเพื่อโพสต์ข้อมูล)
  • api_file.lua (มีคีย์ PubNub ชื่อช่องที่มีชื่อเซ็นเซอร์)

ในการปรับแต่งที่อยู่ IP:

ip สามารถตั้งค่าเป็น vaild address ใด ๆ ที่ควรเปลี่ยนใน url ที่อยู่เริ่มต้นจะเป็น "192.168.4.1" ดังที่เห็นในภาพแรก 3 บรรทัดแรกมีหน้าที่กำหนดที่อยู่ IP และเกตเวย์คุณสามารถตรวจสอบได้ หากที่อยู่นั้นถูกต้องโดยส่งคำสั่ง "=wifi.sta.getip()"

ในการปรับแต่งชื่อ ssid

รหัสชุดถัดไปในภาพเดียวกันมีหน้าที่ตั้งค่า ssid และรหัสผ่านสำหรับเครือข่ายไร้สาย

จำไว้ว่าถ้าคุณได้ทำการเปลี่ยนแปลงใด ๆ ในไฟล์.lua คุณต้องคอมไพล์มันเพื่อให้การเปลี่ยนแปลงมีผลหลังจากรีสตาร์ท

  1. อัปโหลดไฟล์.lua ที่แก้ไขแล้ว..เช่น ไฟล์ ap.lua
  2. ส่งคำสั่ง "node.compile(ap.lua)" โดยคลิกที่ปุ่มส่งที่ด้านล่างของ ESPlorer
  3. ตอนนี้ไฟล์ lua ของคุณได้รับการคอมไพล์แล้ว และไฟล์.lc ใหม่จะถูกสร้างขึ้น

ขั้นตอนที่ 6: การเพิ่มเซ็นเซอร์ไปยังฮับและ PubNub

การเพิ่มเซ็นเซอร์ไปยังฮับและ PubNub
การเพิ่มเซ็นเซอร์ไปยังฮับและ PubNub
การเพิ่มเซ็นเซอร์ไปยังฮับและ PubNub
การเพิ่มเซ็นเซอร์ไปยังฮับและ PubNub

เพื่อเพิ่มเซ็นเซอร์

โดยค่าเริ่มต้น โค้ดจะส่งข้อมูลเซ็นเซอร์เพียงตัวเดียวซึ่งเชื่อมต่อกับพินอะนาล็อก 0 คุณสามารถเพิ่มเซ็นเซอร์เพิ่มเติมเพื่อส่งข้อมูลพร้อมกันได้ทำตามขั้นตอนด้านล่าง

  1. เพิ่มชื่อเซ็นเซอร์ใน url ตามที่แสดงเป็นตัวหนา ดังนั้นตอนนี้ url จะเป็นดังนี้https://192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel=' Channel_name'&sensorOneName='Sensor_1_name'&sensorTwoName='Sensor_2_name'&check=1
  2. ควรเพิ่มชื่อที่เกี่ยวข้องลงในไฟล์ ap.lua ดังแสดงในภาพที่ 1sensorTwo=_GET.sensorTwoName print(sensorTwo).(นี่เป็นเพียงการดูและตรวจสอบข้อมูล)
  3. ขั้นตอนสุดท้ายคือการเพิ่มไปยังส่วนการสร้าง api_file ในตอนท้ายดังแสดงในภาพที่ 2{ "eon": { "'..sensorOne..'":\'..adc.read(0)..\', "'..sensorTwo..'":\'..gpio.read(2)..\' }} ทำซ้ำขั้นตอนเดียวกันสำหรับการเพิ่มเซ็นเซอร์แต่ละครั้ง อย่าลืมใช้ gpio.read(pin#) สำหรับ digital และ adc.read(pin#) สำหรับสัญญาณอนาล็อกเป็นดิจิตอล

จำไว้ว่าถ้าคุณได้ทำการเปลี่ยนแปลงใด ๆ ในไฟล์.lua คุณต้องคอมไพล์มันเพื่อให้การเปลี่ยนแปลงมีผลหลังจากรีสตาร์ท

  1. อัปโหลดไฟล์.lua ที่แก้ไขแล้ว..เช่น ไฟล์ ap.lua
  2. ส่งคำสั่ง "node.compile(ap.lua)" โดยคลิกที่ปุ่มส่งที่ด้านล่างของ ESPlorer
  3. ตอนนี้ไฟล์ lua ของคุณได้รับการคอมไพล์แล้ว และไฟล์.lc ใหม่จะถูกสร้างขึ้น

ขั้นตอนที่ 7: เริ่มต้นการรวบรวมข้อมูลและส่งไปยัง PubNub

การเริ่มต้นการเก็บรวบรวมข้อมูลและส่งไปยัง PubNub
การเริ่มต้นการเก็บรวบรวมข้อมูลและส่งไปยัง PubNub

เมื่อการกำหนดค่าเสร็จสิ้นอย่างถูกต้อง ไฟ LED ของโหมดข้อมูลจะเปิดขึ้น

โดยทั่วไปหมายความว่าข้อมูลเซ็นเซอร์ถูกส่งไปยัง PubNub ตามการตั้งค่าที่คุณได้ให้ไว้ในขั้นตอนก่อนหน้านี้

โดยค่าเริ่มต้น ฮับจะส่งข้อมูลไปยัง PubNub ทุกๆ 5 วินาที หากคุณต้องการกำหนดค่าให้ทำตามขั้นตอนด้านล่าง

ในการปรับแต่งความถี่ของการรวบรวมข้อมูล:

  • เปิด main.lua ใน ESPlorer
  • ไปที่บรรทัดที่ไฮไลท์ในภาพ
  • ค่าที่ระบุควรมีหน่วยเป็นมิลลิวินาที ขอแนะนำให้เว้นช่วงเวลาอย่างน้อย 2 วินาทีเพื่อหลีกเลี่ยงการสูญหายของข้อมูล
  • อัพโหลดไฟล์ main.lua ไปที่ esp และคอมไพล์ไฟล์เพื่อสร้าง.lc file
  • รีสตาร์ทโมดูลและตรวจสอบ

ขั้นตอนที่ 8: หน้า Html อย่างง่ายสำหรับการแสดงข้อมูลจาก PubNub. แบบเรียลไทม์

หน้า HTML อย่างง่ายสำหรับการแสดงข้อมูลจาก PubNub. แบบเรียลไทม์
หน้า HTML อย่างง่ายสำหรับการแสดงข้อมูลจาก PubNub. แบบเรียลไทม์
หน้า HTML อย่างง่ายสำหรับการแสดงข้อมูลจาก PubNub. แบบเรียลไทม์
หน้า HTML อย่างง่ายสำหรับการแสดงข้อมูลจาก PubNub. แบบเรียลไทม์

เปิดไฟล์ Sample.html จากไฟล์ที่ดาวน์โหลด นี่เป็นเพียงหน้า html ธรรมดาเพื่อดูกราฟเรียลไทม์ของข้อมูลที่รวบรวม

ดังที่เห็นในภาพที่ 1 คุณเพียงแค่ต้องกำหนดค่าด้วยคีย์ PubNub และชื่อช่องของคุณเอง

คุณยังสามารถเพิ่มข้อมูลนี้ลงในเว็บไซต์ใดๆ ที่คุณพัฒนาและสร้างภาพที่สวยงามยิ่งขึ้นได้ โปรดดูข้อมูลเพิ่มเติมที่ PunNub EON

ขั้นตอนที่ 9: การแก้ไขปัญหา & คำถามที่พบบ่อย

จะอัพเดทเร็วๆนี้ครับ

แนะนำ: