สารบัญ:

พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS: 5 ขั้นตอน
พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS: 5 ขั้นตอน

วีดีโอ: พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS: 5 ขั้นตอน

วีดีโอ: พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS: 5 ขั้นตอน
วีดีโอ: เร่งสปีดธุรกิจดิจิทัลและ IoT ด้วยคลาวด์ที่คุณวางใจ Microsoft Azure โดย Microsoft 2024, พฤศจิกายน
Anonim
พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS
พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS
พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS
พื้นฐาน IoT: การเชื่อมต่อ IoT ของคุณกับคลาวด์โดยใช้ Mongoose OS

หากคุณเป็นคนที่ชอบซ่อมแซมและอุปกรณ์อิเล็กทรอนิกส์ บ่อยครั้ง คุณจะพบกับคำว่า Internet of Things ซึ่งปกติจะย่อว่า IoT และมันหมายถึงชุดอุปกรณ์ที่สามารถเชื่อมต่อกับอินเทอร์เน็ตได้! ตัวฉันเองเป็นคนแบบนี้ ฉันรู้สึกทึ่งเมื่อได้รู้ว่าอุปกรณ์ดีๆ เหล่านี้เข้าถึงได้ง่ายสำหรับฉัน แค่คิดถึงความสามารถในการเชื่อมต่อโปรเจ็กต์ของฉันกับอินเทอร์เน็ตโดยใช้ฮาร์ดแวร์ชิ้นเล็ก ๆ และเพียงแค่คิดถึงประตูมากมายที่จะเปิดสำหรับแนวคิดโปรเจ็กต์ของฉัน ฉันก็รู้สึกตื่นเต้น

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

ในคำแนะนำนี้ เป็นตัวอย่าง ฉันจะสาธิตวิธีการพล็อตกราฟของการอ่านค่าเซ็นเซอร์อุณหภูมิภายในของบอร์ดพัฒนา ESP32 ซึ่งจะทำให้ผู้อ่านมีความคิดที่ดีเกี่ยวกับกระบวนการ

แม้ว่าคำแนะนำนี้จะใช้ ESP32 และ Mongoose OS แต่ขั้นตอนสามารถขยายไปยัง IoT และเฟิร์มแวร์ทั้งหมดได้!

เสบียง

เพื่อให้สามารถใช้ Instructable นี้ได้ด้วยตนเอง คุณจะต้องมีฮาร์ดแวร์เพียงเล็กน้อยเท่านั้น และพวกเขาคือ:

  • An Internet of Thing (IoT): ฉันใช้โคลนบอร์ดพัฒนา ESP32 ราคาถูกแล้ว หากคุณกำลังวางแผนที่จะซื้อบอร์ดพัฒนา ESP32 ใหม่ คุณต้องตรวจสอบบอร์ด ESP32 ของ DFRobot
  • สายเคเบิลข้อมูล: ใช้สายเคเบิลที่ IoT ของคุณต้องการสำหรับการกะพริบ ฯลฯ
  • แบตเตอรี่ (อุปกรณ์เสริม): ซื้อสิ่งนี้เฉพาะเมื่อคุณตั้งใจจะเพิ่มพลัง IoT ของคุณเป็นระยะเวลานาน
  • เขียงหั่นขนมขนาดเล็ก (อุปกรณ์เสริม)

ฉันแนะนำให้ผู้อ่านใช้ IoT ที่แตกต่างจาก ESP32 เพื่อที่เขา/เธอจะได้เข้าใจอย่างแท้จริงว่ากำลังทำอะไรอยู่ที่นี่ แทนที่จะเพียงแค่เลียนแบบฉัน เชื่อฉันสิ คุณจะสนุกกับการใช้กระบวนการนี้โดยใช้ความคิดของคุณเองใน IoT อื่นๆ เช่น ESP8266 จะเป็นตัวเลือกที่ดี

ขั้นตอนที่ 1: บทนำสู่ MQTT

บทนำสู่ MQTT
บทนำสู่ MQTT

MQTT คืออะไร?

"MQTT เป็นโปรโตคอลการส่งข้อความอย่างง่าย ออกแบบมาสำหรับอุปกรณ์ที่มีข้อจำกัดที่มีแบนด์วิดท์ต่ำ ดังนั้นจึงเป็นโซลูชันที่สมบูรณ์แบบสำหรับแอปพลิเคชัน Internet of Things MQTT ช่วยให้คุณส่งคำสั่งเพื่อควบคุมเอาต์พุต อ่านและเผยแพร่ข้อมูลจากโหนดเซ็นเซอร์ และอื่นๆ อีกมากมาย " (จาก RandomNerdTutorials)

MQTT ทำงานอย่างไร

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

ใน MQTT องค์ประกอบพื้นฐานที่เกี่ยวข้องกับการแลกเปลี่ยนคือผู้เผยแพร่ (Laurel) สมาชิก (คุณ) และนายหน้า (Tom) เวิร์กโฟลว์ของมันยังคล้ายกับตัวอย่างในโลกแห่งความเป็นจริงที่ระบุไว้ข้างต้น ยกเว้นความแตกต่างใหญ่อย่างหนึ่ง! ใน MQTT การแลกเปลี่ยนเริ่มต้นโดยนายหน้า กล่าวคือ ลอเรลจะเป็นคนแรกที่ติดต่อ Tom เพื่อบอกว่าเธอต้องการขายคอลเลกชั่นการ์ดของเธอ หากเราเปรียบเทียบการทำงานของ MQTT กับตัวอย่างในโลกแห่งความเป็นจริง มันจะเป็นดังนี้:

  1. ลอเรลบอกทอมว่าเธอต้องการขายคอลเลกชั่นการ์ดของเธอ (ข้อมูลหรือเพย์โหลด) และมอบการ์ดให้เขา
  2. ทอมถือไพ่เหล่านั้นไว้ในครอบครองและพร้อมที่จะเสนอให้สะสมการ์ด เมื่อคุณและทอมพบกันและเขาพบว่าคุณสนใจการ์ดใบนี้ (สมัครรับข้อมูลหัวข้อ) ทอมจะมอบไพ่ให้คุณ

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

ขั้นตอนที่ 2: บทนำสู่แพลตฟอร์ม IoT

แพลตฟอร์ม IoT คืออะไร?

"ในระดับสูง แพลตฟอร์ม Internet of Things (IoT) เป็นซอฟต์แวร์สนับสนุนที่เชื่อมต่อฮาร์ดแวร์เอดจ์ จุดเชื่อมต่อ และเครือข่ายข้อมูลกับส่วนอื่นๆ ของห่วงโซ่คุณค่า (ซึ่งโดยทั่วไปคือแอปพลิเคชันสำหรับผู้ใช้ปลายทาง) โดยทั่วไปแล้ว แพลตฟอร์ม IoT จัดการงานการจัดการอย่างต่อเนื่องและการแสดงภาพข้อมูล ซึ่งช่วยให้ผู้ใช้สามารถทำให้สภาพแวดล้อมของตนเป็นแบบอัตโนมัติได้" (จาก Link-Labs)

ในทางนามธรรม แพลตฟอร์ม IoT ทำหน้าที่เป็นสื่อกลางระหว่างผู้ใช้กับตัวแทนรวบรวมข้อมูลซึ่งรับผิดชอบในการแสดงข้อมูลที่รวบรวม

ในคำแนะนำนี้ เรากำลังวางแผนที่จะผลักดันการอ่านอุณหภูมิของ ESP32 ทางออนไลน์ ESP32 ของเราจะทำหน้าที่เป็นผู้เผยแพร่ MQTT และโบรกเกอร์ MQTT จะเป็นแพลตฟอร์ม IoT ที่เราเลือก โปรดทราบว่าในโครงการของเรา ไม่มีบทบาทของสมาชิก MQTT เนื่องจากข้อมูลถูกนำเสนอโดยแพลตฟอร์มโดยตรง แพลตฟอร์ม IoT จะรับผิดชอบในการจัดเก็บข้อมูลที่เผยแพร่ของเราและนำเสนออย่างดีที่นี่ในรูปแบบกราฟเส้น ฉันจะใช้ Losant เป็นแพลตฟอร์ม IoT ของฉันที่นี่ เนื่องจากใช้งานได้ฟรีและเสนอวิธีที่ดีในการแสดงข้อมูล ตัวอย่างอื่นๆ ของแพลตฟอร์ม IoT ได้แก่ Google Cloud, Amazon AWS และ Adafruit, Microsoft Azure เป็นต้น ฉันต้องการแนะนำให้ผู้อ่านอ้างอิงถึงเอกสารประกอบของแพลตฟอร์ม IoT ที่พวกเขาเลือก

การตั้งค่าโลซานท์:

  1. เข้าสู่ระบบ Losant
  2. สร้างอุปกรณ์ (แบบสแตนด์อโลน)
  3. เพิ่มข้อมูลบางประเภทลงในอุปกรณ์1 ชื่อ: อุณหภูมิ ชนิดข้อมูล: Number2. ชื่อ: offset ประเภทข้อมูล: Number3 ชื่อ: หน่วย, ชนิดข้อมูล: String
  4. สร้างคีย์การเข้าถึงและจด ID อุปกรณ์และคีย์การเข้าถึง
  5. สร้างกราฟ1. สร้างแดชบอร์ด2. เพิ่มบล็อก "กราฟอนุกรมเวลา" โดยใช้ตัวแปรอุณหภูมิและอุปกรณ์ที่คุณสร้างขึ้น

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

ขั้นตอนที่ 3: เตรียม MQTT Publisher

Image
Image

ตอนนี้เราได้เตรียมแพลตฟอร์ม IoT เพื่อรับและแสดงข้อมูลแล้ว เราต้องเตรียมผู้เผยแพร่ MQTT ซึ่งจะรับผิดชอบในการรวบรวมและส่งข้อมูลไปยังแพลตฟอร์ม

โครงร่างของการเตรียมผู้เผยแพร่ MQTT มีดังนี้:

  • เขียนโค้ด: เพื่อแนะนำผู้เผยแพร่ (IoT) ถึงวิธีการรวบรวมข้อมูล ประมวลผล และส่งไปยังแพลตฟอร์ม IoT คำแนะนำเขียนด้วยภาษาโปรแกรมระดับสูงที่มนุษย์สามารถอ่านได้ ซึ่งปกติจะเรียกว่าโค้ด
  • แฟลชเฟิร์มแวร์: IoT จะไม่เข้าใจคำแนะนำเหล่านี้ในทันที เนื่องจากไม่รู้จักภาษาใดๆ ในตอนแรก เพื่อเชื่อมโยงอุปสรรคทางภาษาระหว่างมนุษย์กับเครื่องจักร โค้ดจะถูกคอมไพล์เป็นชุดคำสั่งคร่าวๆ โดยทั่วไปแล้วจะเป็นชุดค่าฐานสิบหกหรือไบนารีเฉพาะสำหรับตำแหน่งหน่วยความจำภายใน IoT หรือที่เรียกว่าเฟิร์มแวร์ซึ่งจากนั้นจะแฟลชไปยัง IoT

ในคำแนะนำนี้ เนื่องจากฉันใช้ ESP32 ที่มีประโยชน์ ฉันจะแฟลชเฟิร์มแวร์ Mongoose OS ไปที่มัน ซึ่งยอมรับโปรแกรมที่เขียน C และ JavaScript ทั้งคู่ นอกเหนือจากความเข้ากันได้ของ JS แล้ว Mongoose OS ยังมีข้อเสนออีกมากมาย เช่น การอัปเดตผ่านอากาศ สำหรับปรับแต่งโปรแกรมของคุณทางออนไลน์ และแดชบอร์ดเฉพาะสำหรับอุปกรณ์ (mDash) เป็นต้น

ฉันได้พัฒนาแอพโอเพ่นซอร์สสำหรับ Mongoose OS สำหรับคำแนะนำนี้ มันเป็นแอพง่าย ๆ ชื่อ losant-temp-sensor ซึ่งใช้ MQTT เพื่อส่งการอ่านอุณหภูมิโดยรอบโดยประมาณตามการอ่านอุณหภูมิภายในของ ESP32 ไปยัง Losant (แพลตฟอร์ม IoT ที่ใช้งานได้ฟรี) ขอแนะนำให้อ่านโค้ดของแอปเพื่อความเข้าใจที่ดีขึ้น เราจะกระพริบแอพนี้สำหรับคำแนะนำนี้

หากคุณเป็นคนชอบผจญภัย คุณอาจพยายามบรรลุเป้าหมายเดียวกันกับเฟิร์มแวร์ Arduino-ESP32 ซึ่งช่วยให้สามารถใช้ ESP32 เป็น Arduino (พร้อมความสามารถ WiFi)

บทสรุปอย่างรวดเร็วสำหรับแอพที่กระพริบด้วย Mongoose OS:

  1. ติดตั้งเครื่องมือ mos สำหรับระบบปฏิบัติการของคุณ
  2. เปิดเครื่องมือและรันคำสั่งต่อไปนี้:

    1. โคลน mos
    2. cd losant-temp-sensor
    3. mos build -- แพลตฟอร์ม esp32
    4. มอสแฟลช
  3. หลังจากแฟลชสำเร็จแล้ว อนุญาตให้อุปกรณ์รีบูตแล้วรันคำสั่งต่อไปนี้:

    1. mos wifi "wifi ssid ของคุณ" "รหัสผ่าน wifi ของคุณ" เช่น mos wifi "โฮม" "home@123"
    2. mos config-set temperature.basis=

      อุณหภูมิหน่วย="

      "เช่น mos config-set temperature.basis=33 \temperature.unit="celsius"

    3. mos config-set device.id=mqtt.client_id=mqtt.user=mqtt.pass=

หลังจากทำตามขั้นตอนเหล่านี้อย่างถูกต้องแล้ว คุณจะลงเอยด้วย ESP32 ซึ่งจะส่งการอ่านค่าอุณหภูมิไปยัง Losant เป็นระยะๆ ทุกๆ 10 นาที การเผยแพร่ที่ประสบความสำเร็จจะแสดงด้วยไฟ LED สีฟ้า ดังแสดงในวิดีโอด้านบน

ขั้นตอนที่ 4: เชิงอรรถ

Image
Image
เชิงอรรถ
เชิงอรรถ

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

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

แอป losant-temp-sensor-app ได้รับการปรับให้เหมาะสมสำหรับการใช้พลังงานเนื่องจากใช้คุณสมบัติการนอนหลับลึกของ ESP32 ดังนั้นคุณจึงสามารถใช้งานได้เป็นระยะเวลานานโดยไม่ต้องกังวลเรื่องแบตเตอรี่เลย คุณสามารถขยายประสิทธิภาพพลังงานเพิ่มเติมได้โดยการถอด LED บนบอร์ดพัฒนา การวาดภาพปัจจุบันของการตั้งค่าทั้งหมดแสดงไว้ด้านบน

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

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

ขั้นตอนที่ 5: เครดิตและการสนับสนุน

คำแนะนำนี้ประกอบด้วยภาพประกอบเช่น อันที่อธิบายการแลกเปลี่ยน MQTT ซึ่งฉันทำเอง ภาพประกอบเหล่านี้เกิดขึ้นได้ด้วยชุด SVG ที่ใช้งานได้ฟรีดังต่อไปนี้:

  • เวกเตอร์อินโฟกราฟิกที่สร้างโดย freepik - www.freepik.com
  • เวกเตอร์อินโฟกราฟิกที่สร้างโดย starline - www.freepik.com
  • เวกเตอร์คนที่สร้างขึ้นโดย pikisuperstar - www.freepik.com
  • เวกเตอร์นามธรรมที่สร้างโดย macrovector - www.freepik.com
  • เวกเตอร์นามธรรมที่สร้างโดย macrovector - www.freepik.com
  • เวกเตอร์อินโฟกราฟิกที่สร้างโดย pikisuperstar - www.freepik.com

คำแนะนำนี้ได้รับการสนับสนุนโดย DFRobot DFRobot มีคอลเลกชันอุปกรณ์อิเล็กทรอนิกส์ที่ยอดเยี่ยม ดังนั้นอย่าลืมลองดู

หากคุณรู้สึกว่าคุณชอบคำแนะนำนี้และต้องการคำแนะนำเพิ่มเติมเช่นนี้ คุณสามารถสนับสนุนฉันใน Patreon หากคุณไม่สามารถไปได้ไกลขนาดนั้น คุณสามารถติดตามฉันได้ที่ Instructables

แนะนำ: