สารบัญ:

MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์: 4 ขั้นตอน
MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์: 4 ขั้นตอน

วีดีโอ: MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์: 4 ขั้นตอน

วีดีโอ: MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์: 4 ขั้นตอน
วีดีโอ: Arduino MKR 1000 IoT Level 2 Lesson 1 [Wi-Fi] 2024, พฤศจิกายน
Anonim
MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์
MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์
MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์
MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์

โปรเจ็กต์นี้อธิบายวิธีตั้งค่าอุปกรณ์ Arduino/Genuino MKR1000 สองตัวเป็นเซิร์ฟเวอร์และไคลเอนต์

ไคลเอนต์ MKR1000 จะเชื่อมต่อกับ wifi ในพื้นที่ของคุณและฟังอินพุตสองอินพุตที่เชื่อมต่อกับไคลเอนต์ทางกายภาพ อันหนึ่งจากปุ่มและอีกอันจากเซ็นเซอร์การสั่นสะเทือน

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

ขั้นตอนที่ 1: การสร้างเซิร์ฟเวอร์บน MKR

การสร้างเซิร์ฟเวอร์บน MKR
การสร้างเซิร์ฟเวอร์บน MKR
การสร้างเซิร์ฟเวอร์บน MKR
การสร้างเซิร์ฟเวอร์บน MKR

ตั้งค่า MKR และเขียงหั่นขนมตามภาพ

LED สีแดงเชื่อมต่อผ่านตัวต้านทาน 1K Ohm กับ Pin #5 บน MKR นี่คือพินดิจิตอลที่มีการปรับความกว้างพัลส์ (PWM) ซึ่งช่วยให้เราตั้งค่าตัวแปรสำหรับความสว่างของ LED สีแดง อีกด้านหนึ่งของ LED เชื่อมต่อกับกราวด์

LED อีกดวงที่ใช้ในโปรเจ็กต์นี้คือไฟ LED ออนบอร์ดบน MKR มีเครื่องหมาย "L" และเป็น LED สีเขียวอยู่ใกล้ขา VCC

ตอนนี้ดาวน์โหลด (หรือเพียงแค่คัดลอก) รหัสสำหรับเซิร์ฟเวอร์ MKR จากที่นี่:

github.com/TonyCanning/MKR1000-IoT - ชื่อร่าง Arduino คือ "MKRServerLED.ino"

แก้ไขเพื่อรวมข้อมูลรับรองเครือข่าย wifi ของคุณและอัปโหลดไปยัง MKR1000 ของคุณ

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

ณ จุดนี้ เซิร์ฟเวอร์เริ่มทำงาน - เราจะตั้งค่า MKR1000 อีกเครื่องหนึ่งเป็นไคลเอนต์สำหรับเซิร์ฟเวอร์นี้ อย่างไรก็ตาม เนื่องจากเป็นเซิร์ฟเวอร์ คุณจะเชื่อมต่อได้จากอุปกรณ์ใดๆ ในเครือข่ายของคุณโดยพิมพ์ที่อยู่ https://192.168.*.* ที่ให้ไว้ในเบราว์เซอร์ใดก็ได้

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

หมายเหตุ: มีไลบรารี่ที่คุณอาจต้องติดตั้ง ฉันค่อนข้างแน่ใจว่าคุณจะต้องติดตั้งไลบรารี Wifi101 เป็นอย่างน้อย หลังจากซ่อมแซมเป็นเวลานานฉันไม่แน่ใจว่าคุณต้องการหรือไม่ต้องการอะไรจากการติดตั้งใหม่ โปรดดูข้อมูลที่มีอยู่มากมายเกี่ยวกับการติดตั้งไลบรารี่หรือปัญหาอื่นๆ ที่คุณอาจมีเกี่ยวกับการเชื่อมต่อ/การอัปโหลด ฯลฯ

ขั้นตอนที่ 2: การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์

การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์
การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์
การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์
การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์

อีกครั้งตั้งค่าเขียงหั่นขนมตามที่แสดงในภาพ

ในกรณีนี้ ปุ่มเชื่อมต่อกับพิน 9 และเซ็นเซอร์การสั่นสะเทือนเชื่อมต่อกับพิน 8 พินของบ็อตเป็นพินดิจิทัลเนื่องจากสถานะของอินพุตทั้งสองนี้เป็นไบนารี

เมื่อเสร็จแล้ว คุณสามารถดาวน์โหลด (หรือคัดลอกและวาง) รหัสลูกค้าได้จากที่นี่:

github.com/TonyCanning/MKR1000-IoT - ชื่อไฟล์คือ "MKRClientGET.ino"

ณ จุดนี้ ฉันแนะนำให้ถอดปลั๊กเซิร์ฟเวอร์ MKR ออกจากพีซีของคุณ เนื่องจากคุณจะไม่เห็นความแตกต่างในการตั้งชื่อเมื่อคุณเลือกพอร์ต COM

แก้ไขรหัสเพื่อให้ข้อมูลรับรองเครือข่าย wifi และที่อยู่ IP ของเซิร์ฟเวอร์ MKR ตรวจสอบให้แน่ใจว่าคุณค้นหาแต่ละอินสแตนซ์ของ "192" และเปลี่ยนเป็นที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ อัปโหลดรหัสไปยังไคลเอ็นต์ MKR และเปิดจอภาพแบบอนุกรม

ดูภาพเอาต์พุตของจอภาพอนุกรมและลองกดปุ่มและเรียกเซ็นเซอร์การสั่นสะเทือน

ขั้นตอนที่ 3: ทดสอบเลย

คุณควรจะทำ….

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

ขั้นตอนที่ 4: การแก้ไขปัญหา

ก่อนเข้าสู่การแก้ไขปัญหา - ตรวจสอบพื้นฐาน คุณให้อำนาจแก่ MKR ทั้งสองหรือไม่? คุณแน่ใจหรือไม่ว่ารหัสเซิร์ฟเวอร์อยู่บนเซิร์ฟเวอร์ MKR และรหัสไคลเอนต์สำหรับไคลเอนต์ MKR

ปัญหาและแนวทางแก้ไขที่เป็นไปได้:

1. C:\Users\tony\Documents\Arduino\MKRClientGET\MKRClientGET.ino:11:18: ข้อผิดพลาดร้ายแรง: 1234.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว #include

^

การรวบรวมสิ้นสุดลง

นี่เป็นปัญหาของไลบรารีที่คุณยังไม่ได้ติดตั้ง ตามที่ระบุไว้ในขั้นตอนก่อนหน้านี้มีข้อมูลมากมายเกี่ยวกับเรื่องนี้

2. เซิร์ฟเวอร์หรือไคลเอนต์ไม่ได้ทำการเชื่อมต่อกับ wifi ของคุณ เป็นไปได้ว่าคุณไม่ได้ให้ข้อมูลรับรอง wifi ของคุณ

3. Client Serial Monitor แสดงการเปลี่ยนแปลงสถานะ แต่ไม่มีปฏิกิริยาบนเซิร์ฟเวอร์ อาจเกิดจากการไม่ระบุที่อยู่ IP ของเซิร์ฟเวอร์ในรหัสไคลเอ็นต์ของคุณ

4. ปุ่มไม่แสดงสถานะการเปลี่ยนแปลงในมอนิเตอร์แบบอนุกรม ตรวจสอบรายชื่อเขียงหั่นขนมของคุณ

แนะนำ: