สารบัญ:

เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266: 21 ขั้นตอน
เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266: 21 ขั้นตอน

วีดีโอ: เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266: 21 ขั้นตอน

วีดีโอ: เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266: 21 ขั้นตอน
วีดีโอ: Amazon AWS IoT Core using ESP8266 || Creating Thing, Policies & Certificates 2024, กรกฎาคม
Anonim
เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266
เริ่มต้นใช้งาน Amazon AWS IoT และ ESP8266

โปรเจ็กต์นี้แสดงวิธีใช้โมดูล ESP8266 และเชื่อมต่อโดยตรงกับ AWS IOT โดยใช้ Mongoose OS Mongoose OS เป็นระบบปฏิบัติการโอเพ่นซอร์สสำหรับไมโครคอนโทรลเลอร์ที่เน้นการเชื่อมต่อบนคลาวด์ ได้รับการพัฒนาโดย Cesanta บริษัทซอฟต์แวร์ฝังตัวในดับลิน และเมื่อสิ้นสุดโครงการ คุณควรจะสามารถวัดอุณหภูมิและค่าความชื้นจากเซ็นเซอร์อุณหภูมิ DHT11 และเผยแพร่บนแพลตฟอร์ม AWS IOT

สำหรับโครงการนี้ เราต้องการ:

 บอร์ด NodeMCU ที่ใช้ ESP8266

 เซ็นเซอร์อุณหภูมิ DHT 11

 เครื่องมือกระพริบ Mongoose OS

 สาย USB เพื่อเชื่อมต่อบอร์ด NodeMCU กับคอมพิวเตอร์

 สายจัมเบอร์

 บัญชี AWS ที่คุณต้องการใช้

ขั้นตอนที่ 1: บอร์ด NodeMCU ที่ใช้ ESP8266

บอร์ด NodeMCU ที่ใช้ ESP8266
บอร์ด NodeMCU ที่ใช้ ESP8266

ESP8266 เป็นชื่อของไมโครคอนโทรลเลอร์ที่ออกแบบโดย Espressif Systems ESP8266 เองเป็นโซลูชันเครือข่าย Wi Fi ในตัวที่นำเสนอในฐานะสะพานเชื่อมจากไมโครคอนโทรลเลอร์ที่มีอยู่ไปยัง Wi Fi และยังสามารถเรียกใช้แอพพลิเคชั่นที่มีอยู่ในตัวเองได้ โมดูลนี้มาพร้อมกับขั้วต่อ USB ในตัวและพินเอาท์ที่หลากหลาย ด้วยสายไมโคร USB คุณสามารถเชื่อมต่อ NodeMCU devkit กับแล็ปท็อปของคุณและแฟลชได้โดยไม่มีปัญหาใดๆ เช่นเดียวกับ Arduino

ข้อมูลจำเพาะ

• แรงดันไฟฟ้า: 3.3V.

• Wi-Fi Direct (P2P), soft-AP.

• การบริโภคในปัจจุบัน: 10uA~170mA.

• หน่วยความจำแฟลชที่ต่อได้: สูงสุด 16MB (ปกติ 512K)

• สแต็คโปรโตคอล TCP/IP แบบบูรณาการ

• โปรเซสเซอร์: Tensilica L106 32 บิต

• ความเร็วโปรเซสเซอร์: 80~160MHz.

• แรม: 32K + 80K

• GPIO: 17 (มัลติเพล็กซ์กับฟังก์ชันอื่นๆ)

• อนาล็อกเป็นดิจิตอล: 1 อินพุตที่มีความละเอียด 1024 ขั้น

• กำลังขับ +19.5dBm ในโหมด 802.11b

• รองรับ 802.11: b/g/n

• การเชื่อมต่อ TCP พร้อมกันสูงสุด: 5

ขั้นตอนที่ 2: ปักหมุดไดอะแกรม

พินไดอะแกรม
พินไดอะแกรม

ขั้นตอนที่ 3: DHT11 - เซ็นเซอร์ความชื้นและอุณหภูมิ

DHT11 - เซ็นเซอร์ความชื้นและอุณหภูมิ
DHT11 - เซ็นเซอร์ความชื้นและอุณหภูมิ

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

คุณสมบัติ

 ชดเชยอุณหภูมิเต็มช่วง

 การวัดความชื้นสัมพัทธ์และอุณหภูมิ

 ปรับเทียบสัญญาณดิจิตอล

 เสถียรภาพระยะยาวที่โดดเด่น

 ส่วนประกอบเพิ่มเติมไม่จำเป็น

 ระยะการส่งข้อมูลไกล

 กินไฟน้อย

กระบวนการสื่อสาร (สายเดี่ยวสองทาง)

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

1) คำขอ

2) การตอบสนอง

3) การอ่านข้อมูล

ขั้นตอนที่ 4: รู้เบื้องต้นเกี่ยวกับ Mongoose OS

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

เครื่องมือกระพริบ OS Mongoose

เครื่องมือกะพริบใช้เพื่อแฟลช Mongoose OS ใน ESP8266 ขั้นแรก ให้รับหนึ่งในบอร์ดที่รองรับ เช่น ESP8266 NodeMCU แล้วเชื่อมต่อกับคอมพิวเตอร์ของคุณ จากนั้นทำตามขั้นตอนเหล่านี้:

 ไปที่หน้าเว็บดาวน์โหลด Mongoose OS และดาวน์โหลดเครื่องมือ Mos (แต่ในโครงการนี้ เราจะใช้ Mongoose OS เวอร์ชันเก่ากว่า)

 เรียกใช้ไฟล์การติดตั้ง Mos (Mongoose OS) และทำตามวิซาร์ดการตั้งค่า:

ขั้นตอนที่ 5: ตัวช่วยสร้างการตั้งค่าพังพอน

วิซาร์ดการตั้งค่าพังพอน
วิซาร์ดการตั้งค่าพังพอน
วิซาร์ดการตั้งค่าพังพอน
วิซาร์ดการตั้งค่าพังพอน
วิซาร์ดการตั้งค่าพังพอน
วิซาร์ดการตั้งค่าพังพอน

ขั้นตอนที่ 6: สถานะอุปกรณ์ - ออนไลน์

สถานะอุปกรณ์ - ออนไลน์
สถานะอุปกรณ์ - ออนไลน์

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

ขั้นตอนที่ 7: จัดเตรียมอุปกรณ์บน AWS IOT

จัดเตรียมอุปกรณ์บน AWS IOT
จัดเตรียมอุปกรณ์บน AWS IOT

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

บันทึก:

ผู้ใช้สามารถเลือกภูมิภาคของ AWS และนโยบายของ AWS ได้ ในสถานการณ์สมมติของเรา เราเลือกภูมิภาคของ AWS เป็น ap-southeast-1 และนโยบายของ AWS เป็น mos-default

หลังจากเสร็จสิ้นการจัดหาอุปกรณ์บน AWS IOT ตอนนี้โมดูล esp8266 Wi-Fi สามารถสื่อสารกับ AWS -IOT ได้

ขั้นตอนที่ 8: การโหลดโค้ดตัวอย่างลงในบอร์ด NodeMCU

กำลังโหลดโค้ดตัวอย่างลงในบอร์ด NodeMCU
กำลังโหลดโค้ดตัวอย่างลงในบอร์ด NodeMCU

หลังจากที่คุณเรียกใช้วิซาร์ดการตั้งค่า Mongoose หากคุณคลิกเมนูไฟล์อุปกรณ์ จะมีไฟล์ชื่อ init.js ภายในไฟล์นั้นมีโค้ดตัวอย่าง หากคุณคลิกปุ่ม บันทึก +รีบูต ระบบจะโหลดโค้ดตัวอย่างและ สามารถดูเอาต์พุตได้จากบันทึกอุปกรณ์

ขั้นตอนที่ 9: เริ่มต้นใช้งานบัญชี AWS

AWS คืออะไร?

Amazon Web Services (AWS) เป็นผู้ให้บริการระบบคลาวด์จาก Amazon ซึ่งให้บริการในรูปแบบของการสร้างบล็อค บล็อคการสร้างเหล่านี้สามารถใช้เพื่อสร้างและปรับใช้แอปพลิเคชันประเภทใดก็ได้ในระบบคลาวด์ บริการหรือหน่วยการสร้างเหล่านี้ได้รับการออกแบบมาให้ทำงานร่วมกัน และส่งผลให้แอปพลิเคชันมีความซับซ้อนและสามารถปรับขนาดได้สูง

วิธีการตั้งค่า?

มีสองวิธีในการตั้งค่าบริการของ AWS

 การใช้ยูทิลิตี้บรรทัดคำสั่ง AWS CLI

 การใช้ AWS GUI

ขั้นตอนที่ 10: ยูทิลิตี้บรรทัดคำสั่ง AWS CLI (ไม่บังคับ)

ก่อนอื่นเราต้องติดตั้ง AWS CLI AWS CLI เป็นเครื่องมือบรรทัดคำสั่งที่ให้คำสั่งสำหรับการโต้ตอบกับบริการของ AWS ช่วยให้คุณใช้ฟังก์ชันที่มีให้โดย AWS Management Console จากเทอร์มินัล Mongoose ใช้เครื่องมือนี้เพื่อจัดเตรียมอุปกรณ์ IOT บน AWS IOT AWS CLI ต้องการข้อมูลประจำตัวของคุณเพื่อให้สามารถเชื่อมต่อกับ AWS ได้ ในการตั้งค่าให้รัน aws กำหนดค่าจากบรรทัดคำสั่งและป้อนข้อมูลการเข้าถึงของคุณ (ข้อมูลประจำตัวของคุณ) พูดง่ายๆ ก็คือ คุณสามารถเข้าถึงและจัดการ Amazon Web Services ผ่านอินเทอร์เฟซผู้ใช้บนเว็บที่ใช้งานง่าย หากข้อกังวลของคุณคือการเข้าถึงคุณสมบัติบางอย่างโดยใช้โทรศัพท์มือถือ แอปมือถือ AWS Console ช่วยให้คุณดูทรัพยากรได้อย่างรวดเร็วในขณะเดินทาง

ขั้นตอนที่ 11: Amazon Web Services (GUI)

บริการเว็บ Amazon (GUI)
บริการเว็บ Amazon (GUI)

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

ขั้นตอนที่ 12: AWS IOT Core

AWS IOT Core
AWS IOT Core

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

ขั้นตอนที่ 13: AWS IOT - มอนิเตอร์

AWS IOT - มอนิเตอร์
AWS IOT - มอนิเตอร์

เมื่อคุณเลือกแกน IOT แล้ว หน้าด้านบนจะปรากฏขึ้น จากนั้นเลือกเมนูทดสอบ

ขั้นตอนที่ 14: AWS IOT - การสมัครสมาชิก

AWS IOT - การสมัครสมาชิก
AWS IOT - การสมัครสมาชิก

หลังจากเลือกเมนูทดสอบแล้ว ระบบจะนำคุณไปที่การสมัครรับข้อมูล ในหัวข้อการสมัคร ให้ระบุหัวข้อที่เหมาะสมที่คุณใช้และคลิกปุ่มสมัครรับข้อมูลหัวข้อ

ขั้นตอนที่ 15: เผยแพร่ข้อความเริ่มต้น

การเผยแพร่ข้อความเริ่มต้น
การเผยแพร่ข้อความเริ่มต้น

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

หมายเหตุ: หากคุณต้องการเขียนโค้ดใหม่และโหลดลงในบอร์ด NodeMCU (ควรโหลดโค้ดที่เราเขียนไว้ในตัวจัดการไฟล์ของอุปกรณ์ > ไฟล์ init.js คุณควรใส่ชื่อหัวข้อในโค้ดด้วย หลังจากใส่ชื่อหัวข้อแล้ว คุณต้องใช้ชื่อหัวข้อเดียวกันในส่วนการสมัครเพื่อเผยแพร่ผลลัพธ์

ขั้นตอนที่ 16: การเผยแพร่ปุ่มข้อมูลที่กด

การเผยแพร่ข้อมูลปุ่มกด
การเผยแพร่ข้อมูลปุ่มกด

ขั้นตอนที่ 17: เผยแพร่ค่าอุณหภูมิและความชื้นไปยังแพลตฟอร์ม AWS IOT

เผยแพร่ค่าอุณหภูมิและความชื้นไปยังแพลตฟอร์ม AWS IOT
เผยแพร่ค่าอุณหภูมิและความชื้นไปยังแพลตฟอร์ม AWS IOT

ขั้นตอนที่ 18: งาน

เชื่อมต่อวงจรตามที่แสดงด้านล่าง

 แฟลช OS พังพอนบนโมดูล ESP8266

 อุปกรณ์จัดเตรียมบน AWS IOT

 โหลดโค้ดโปรแกรมลงในบอร์ด NodeMCU

 ตรวจสอบเอาต์พุตในบันทึกอุปกรณ์ (ดูรูปที่ 9)

 เข้าสู่ระบบบัญชี AWS

 เลือกเมนูย่อยหลักของ IOT

 เลือกตัวเลือกการทดสอบจากส่วนไคลเอนต์ MQTT

 ระบุหัวข้อที่เหมาะสมในการสมัครสมาชิก

 คลิกปุ่มเผยแพร่ไปยังหัวข้อ

 ตรวจสอบให้แน่ใจว่าทุกครั้งที่คุณกดปุ่มแฟลช คุณจะได้รับค่าอุณหภูมิ ความชื้นเป็นข้อความ

แนะนำ: