สารบัญ:
- ขั้นตอนที่ 1: การสร้างเซิร์ฟเวอร์บน MKR
- ขั้นตอนที่ 2: การสร้างไคลเอนต์เพื่อส่งคำขอไปยังเซิร์ฟเวอร์
- ขั้นตอนที่ 3: ทดสอบเลย
- ขั้นตอนที่ 4: การแก้ไขปัญหา
วีดีโอ: MKR1000 IoT การสื่อสารไคลเอ็นต์/เซิร์ฟเวอร์: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
โปรเจ็กต์นี้อธิบายวิธีตั้งค่าอุปกรณ์ Arduino/Genuino MKR1000 สองตัวเป็นเซิร์ฟเวอร์และไคลเอนต์
ไคลเอนต์ MKR1000 จะเชื่อมต่อกับ wifi ในพื้นที่ของคุณและฟังอินพุตสองอินพุตที่เชื่อมต่อกับไคลเอนต์ทางกายภาพ อันหนึ่งจากปุ่มและอีกอันจากเซ็นเซอร์การสั่นสะเทือน
เมื่อตรวจจับอินพุต MKR ไคลเอ็นต์จะส่งคำขอ GET ไปยังเซิร์ฟเวอร์ MKR เมื่อได้รับคำขอ GET เซิร์ฟเวอร์ MKR จะได้รับการตั้งค่าให้เปิด/ปิด LED ในตัว (เรียกโดยปุ่มไคลเอนต์) และหรี่ไฟ LED ที่ต่ออยู่ให้จางลง (กระตุ้นโดยเซ็นเซอร์การสั่นสะเทือน)
ขั้นตอนที่ 1: การสร้างเซิร์ฟเวอร์บน 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. ปุ่มไม่แสดงสถานะการเปลี่ยนแปลงในมอนิเตอร์แบบอนุกรม ตรวจสอบรายชื่อเขียงหั่นขนมของคุณ
แนะนำ:
Hoe Maak Je Een Eigen เซิร์ฟเวอร์ Minecraft Windows (NL): 6 ขั้นตอน
Hoe Maak Je Een Eigen Minecraft Server Windows (NL): ก่อนอื่น เซิร์ฟเวอร์ Minecraft สำหรับผู้เริ่มต้น Om je เซิร์ฟเวอร์ altijd ออนไลน์ te houden moet je คอมพิวเตอร์ waarop je de เซิร์ฟเวอร์ draait ook altijd ออนไลน์ zijn.2. เซิร์ฟเวอร์ zal RAM geheugen gebruiken (0,5GB ก่อนอื่น)
เซิร์ฟเวอร์ Minecraft Spigot: 8 ขั้นตอน
เซิร์ฟเวอร์ Minecraft Spigot: เซิร์ฟเวอร์ Minecraft Spigot เหมาะอย่างยิ่งหากคุณต้องการเพิ่มปลั๊กอินในเซิร์ฟเวอร์ของคุณ ชุมชน Spigot มีขนาดใหญ่มากและมีปลั๊กอินฟรีมากมาย การเรียกใช้เซิร์ฟเวอร์ Minecraft นั้นฟรีหากคุณโฮสต์เซิร์ฟเวอร์ด้วยตัวเอง หากคุณเลือกที่จะโฮสต์บน ow
The OreServer - Raspberry Pi เซิร์ฟเวอร์ Minecraft โดยเฉพาะพร้อมไฟ LED แสดงสถานะ: 9 ขั้นตอน (พร้อมรูปภาพ)
The OreServer - เซิร์ฟเวอร์ Minecraft สำหรับ Raspberry Pi โดยเฉพาะพร้อมตัวบ่งชี้ผู้เล่น LED: กรกฎาคม 2020 อัปเดต - ก่อนที่คุณจะเริ่มในโครงการนี้ โปรดทราบว่ามีการเปลี่ยนแปลงและอัปเดตมากมายในเครื่องมือซอฟต์แวร์ต่างๆ ที่ฉันใช้สร้างมากกว่าสองรายการ ปีที่แล้ว เป็นผลให้หลายขั้นตอนไม่ทำงานตามที่เขียนอีกต่อไป
เซิร์ฟเวอร์ AndyMOTE: 12 ขั้นตอน
เซิร์ฟเวอร์ AndyMOTE: ฉันต้องการรีโมตคอนโทรลสากลสำหรับ mancave ของฉัน และคิดว่าฉันน่าจะทำได้ด้วยแอปบนโทรศัพท์มือถือของฉัน (เพื่อให้มีอินเทอร์เฟซผู้ใช้) และ Raspberry PI เพื่อให้ 'Blaster' ของ Infra Red หลังจากการสอบสวนเล็กน้อยฉันไม่
NodeMCU พร้อมแอป/เซิร์ฟเวอร์ Blynk: 4 ขั้นตอน
NodeMCU ด้วยแอป/เซิร์ฟเวอร์ Blynk: Blynk คืออะไรและทำงานอย่างไร ดูวิดีโอแคมเปญของพวกเขา !อันดับแรก เมื่อถึงเวลานั้น คุณสามารถตั้งโปรแกรม NodeMCU ด้วย Arduino IDE ให้ตรวจสอบวิดีโอด้านบน นี่คือบทช่วยสอนสำหรับการตั้งค่า: https:/ /www.teachmemicro.com/intro-nodemcu-arduino