สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12
คำแนะนำนี้แสดงวิธีเผยแพร่ข้อมูลของคุณไปยังแพลตฟอร์ม AskSensors IoT โดยใช้ Arduino Ethernet Shield Ethernet Shield ช่วยให้ Arduino ของคุณเชื่อมต่อกับระบบคลาวด์ ส่งและรับข้อมูลได้อย่างง่ายดายด้วยการเชื่อมต่ออินเทอร์เน็ต
สิ่งที่เราจะได้เรียนรู้:
เราจะเรียนรู้พื้นฐานของการเชื่อมต่อ Arduino Ethernet shield กับเว็บเซิร์ฟเวอร์ AskSensors และส่งข้อมูลจำลองผ่านคำขอ HTTP ในตอนท้ายจะแสดงภาพสตรีมข้อมูลสดในระบบคลาวด์ AskSensors
ทำไมต้อง HTTP และไม่ใช่
AskSensors รองรับ HTTPS อย่างไรก็ตาม MCU ที่ติดตั้งบน Arduinos จะไม่รองรับการเชื่อมต่อ HTTPS ด้วยเหตุนี้ เราจะใช้ HTTP แทน
หมายเหตุ: หากคุณต้องการโปรโตคอล MQTT โปรดไปที่หน้านี้: เชื่อมต่อ Arduino Ethernet กับ AskSensors ผ่าน MQTT
ขั้นตอนที่ 1: Arduino Ethernet Shield
คุณสมบัติฮาร์ดแวร์:
- ต้องใช้บอร์ด Arduino
- แรงดันไฟทำงาน 5V จ่ายจากบอร์ด Arduino
- ตัวควบคุมอีเทอร์เน็ต: ตัวควบคุม Wiznet Ethernet W5100 พร้อมบัฟเฟอร์ 16K ภายใน
- Wiznet W5100 จัดเตรียมสแต็กเครือข่าย (IP) ที่มีความสามารถทั้ง TCP และ UDP
- ความเร็วในการเชื่อมต่อ: สูงสุด 10/100Mb
-
การเชื่อมต่อกับ Arduino บนพอร์ต SPI: ใช้หมุดส่วนหัวของ ICSP และพิน 10 เป็นชิปที่เลือกสำหรับการเชื่อมต่อ SPI กับชิปควบคุมอีเทอร์เน็ต
- การแก้ไขล่าสุดของ Ethernet Shield มีช่องเสียบการ์ด micro-SD บนเครื่อง ซึ่งสามารถใช้เพื่อจัดเก็บไฟล์สำหรับให้บริการผ่านเครือข่าย
- โมดูลอีเทอร์เน็ตมีการเชื่อมต่อ RJ45 มาตรฐาน พร้อมหม้อแปลงไฟฟ้าในตัว
- การเชื่อมต่อกับเครือข่ายทำด้วยสายเคเบิลอีเทอร์เน็ต RJ45
ไลบรารีซอฟต์แวร์:
อีเธอร์เน็ตชิลด์อาศัยไลบรารี Arduino Ethernet
ไลบรารี่มาพร้อมกับ Arduino IDE
เราจะต้องเปลี่ยนการตั้งค่าเครือข่ายบางอย่างในโปรแกรมเพื่อให้สอดคล้องกับเครือข่ายของเรา
ไฟ LED ให้ข้อมูล:
ภายหลัง คุณอาจต้องตรวจสอบสถานะอีเทอร์เน็ตโดยใช้ไฟ LED แสดงข้อมูล:
- PWR: แสดงว่าบอร์ดและโล่มีกำลัง
- LINK: ระบุว่ามีลิงก์เครือข่ายและกะพริบเมื่อโล่ส่งหรือรับข้อมูล
- FULLD: แสดงว่าการเชื่อมต่อเครือข่ายเป็นแบบฟูลดูเพล็กซ์
- 100M: บ่งชี้ว่ามีการเชื่อมต่อเครือข่าย 100 Mb/s (ตรงข้ามกับ 10 Mb/s)
- RX: กะพริบเมื่อโล่ได้รับข้อมูล
- TX: กะพริบเมื่อโล่ส่งข้อมูล
- COLL: กะพริบเมื่อตรวจพบการชนกันของเครือข่าย
ขั้นตอนที่ 2: วัสดุที่เราต้องการ
ฮาร์ดแวร์ที่จำเป็นสำหรับบทช่วยสอนนี้คือ:
- คอมพิวเตอร์ที่ใช้ซอฟต์แวร์ Arduino IDE
- บอร์ด Arduino เช่น Arduino Uno
- ชิลด์ Arduino Ethernet
- สาย USB สำหรับจ่ายไฟและตั้งโปรแกรม Arduino
- สาย Ethernet สำหรับเชื่อมต่อกับเราเตอร์เครือข่ายของคุณ
ขั้นตอนที่ 3: ตั้งค่า AskSensors
AskSensors ต้องการสิ่งต่อไปนี้:
- สร้างบัญชีผู้ใช้: คุณสามารถรับได้ฟรี (https://asksensors.com)
- สร้างเซ็นเซอร์: เซ็นเซอร์เป็นช่องทางการสื่อสารที่มีคีย์ Api เฉพาะที่ AskSensors รวบรวมและจัดเก็บข้อมูลของผู้ใช้
เซ็นเซอร์แต่ละตัวมีโมดูลหลายตัวที่ผู้ใช้สามารถส่งข้อมูลไปยังโมดูลเหล่านี้แยกกันได้ ผู้ใช้ยังสามารถเห็นภาพข้อมูลที่เก็บรวบรวมของแต่ละโมดูลในกราฟ AskSensors มีตัวเลือกกราฟหลายแบบรวมถึง Line, Bar, Scatter และ gauge
ขั้นตอนที่ 4: การเข้ารหัส
ในตอนนี้ เราสามารถลงทะเบียนเซนเซอร์ใหม่ในแพลตฟอร์ม AskSensors ได้แล้ว ตอนนี้เรากำลังจะเขียนโค้ดบางส่วนใน Arduino สำหรับการเชื่อมต่อกับแพลตฟอร์ม มีบทช่วยสอนนับร้อยเกี่ยวกับการเชื่อมต่อ Arduino กับเว็บผ่าน Ethernet Shields ดังนั้นฉันจะไม่อธิบายส่วนนี้
ดาวน์โหลดตัวอย่างร่าง Arduino นี้จาก github รหัสนี้ใช้ DHCP และ DNS สำหรับเซิร์ฟเวอร์และควรใช้งานได้ทันทีโดยมีการเปลี่ยนแปลงเล็กน้อย:
- หากคุณใช้อีเทอร์เน็ตชีลด์มากกว่าหนึ่งตัวในเครือข่าย ตรวจสอบให้แน่ใจว่าอีเทอร์เน็ตชีลด์แต่ละตัวบนเครือข่ายต้องมีที่อยู่ mac ที่ไม่ซ้ำกัน
- เปลี่ยนที่อยู่ IP ในแบบร่างเพื่อให้ตรงกับช่วงที่อยู่ IP ของเครือข่ายของคุณ
- ตั้งค่า Api Key In ของเซ็นเซอร์ของคุณ (กำหนดโดย AskSensors ในขั้นตอนก่อนหน้า)
- ตั้งค่าข้อมูลจำลองของคุณ
// MAC
ไบต์ mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // ตั้งค่าที่อยู่ IP แบบคงที่เพื่อใช้หาก DHCP ไม่สามารถกำหนด IPAddress ip (192, 168, 1, 177); // การกำหนดค่า ASKSENSORS อักขระ const* apiKeyIn = "MTWN7AQOLWJNEIF8RGMAW5EGKQFAHN2K"; // เปลี่ยนด้วยคีย์ API ของคุณ // ข้อมูลจำลอง int dumData = 100; // ตั้งค่าข้อมูลของคุณ
ขั้นตอนที่ 5: การเขียนโปรแกรม
- เสียบอีเธอร์เน็ตชิลด์เข้ากับบอร์ด Arduino Uno
- เชื่อมต่ออีเทอร์เน็ตชิลด์กับเราเตอร์/เครือข่ายของคุณผ่านสายอีเทอร์เน็ต
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ผ่านสาย USB พลังงานจะถูกส่งไปยังบอร์ดทั้งสองผ่านสาย USB
- เปิดรหัสของคุณใน Arduino IDE เลือกบอร์ด Arduino และพอร์ต COM ที่ถูกต้อง จากนั้นอัปโหลดโค้ดไปยังบอร์ด Arduino ของคุณ ตรวจสอบให้แน่ใจว่าได้อัปโหลดรหัสสำเร็จแล้ว
ขั้นตอนที่ 6: เรียกใช้โค้ด
- รีเซ็ต: คุณสามารถใช้ปุ่มรีเซ็ตบนแผงป้องกันเพื่อรีเซ็ตทั้ง Ethernet Controller และบอร์ด Arduino
- เรียกใช้รหัส: หลังจากรีเซ็ต/เปิดเครื่องแล้ว เปิดเทอร์มินัลอนุกรม คุณจะเห็น Arduino พิมพ์สถานะโปรแกรม: Arduino เชื่อมต่อกับเครือข่าย (ใช้เวลาสองสามวินาที) จากนั้นส่งข้อมูลจำลองไปยัง AskSensors ผ่าน HTTP รับคำขอ
- การตอบสนองของเซิร์ฟเวอร์: หลังจากได้รับคำขอให้เขียนข้อมูลไปยังเซ็นเซอร์เฉพาะจากไคลเอ็นต์ เซิร์ฟเวอร์จะส่งการตอบสนอง HTTP ก่อน โดยบอกจำนวนโมดูลที่อัปเดตสำเร็จ ('1' ในกรณีของเรา)
ขั้นตอนที่ 7: แสดงภาพข้อมูล
ตอนนี้ข้อมูลของคุณได้รับการเผยแพร่ไปยังระบบคลาวด์ AskSensors อย่างดีแล้ว คุณสามารถดูข้อมูลนี้ในรูปแบบกราฟหรือส่งออกเป็นไฟล์ CSV
เซ็นเซอร์แต่ละตัวมีแดชบอร์ดของตัวเองซึ่งขณะนี้อนุญาตให้ตรวจสอบสถานะได้แบบเรียลไทม์ (วันที่อัปเดตล่าสุด สถานะการเชื่อมต่อ..)
คลิกเซนเซอร์ของคุณจากรายการ ตั้งค่ากราฟให้กับโมดูลของคุณ (โมดูล 1) ภาพด้านบนแสดงตัวอย่างการแสดงผลโดยใช้ประเภทกราฟเกจ
ขั้นตอนที่ 8: ทำได้ดีมาก
ขอบคุณสำหรับการอ่าน. คุณสามารถหาบทแนะนำเพิ่มเติมได้ที่นี่
หากคุณมีคำถามใดๆ เข้าร่วมชุมชน AskSensors!
แนะนำ:
เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: 5 ขั้นตอน
เครื่องวัดอุณหภูมิความชื้น - Arduino Mega + Ethernet W5100: โมดูล 1 - FLAT - ฮาร์ดแวร์: Arduino Mega 2560 Wiznet W5100 Ethernet shield 8x DS18B20 เซ็นเซอร์อุณหภูมิบนบัส OneWire - แบ่งออกเป็น 4 บัส OneWire (2,4,1,1) 2x อุณหภูมิดิจิตอล และเซ็นเซอร์ความชื้น DHT22 (AM2302) 1x อุณหภูมิและความชื้น
Room Thermostat - Arduino + Ethernet: 3 ขั้นตอน
Room Thermostat - Arduino + Ethernet: ในแง่ของฮาร์ดแวร์ โครงการใช้: Arduino Uno / Mega 2560 Ethernet shield Wiznet W5100 / โมดูล Ethernet Wiznet W5200-W5500 DS18B20 เซ็นเซอร์อุณหภูมิบนรีเลย์บัส OneWire SRD-5VDC-SL-C ที่ใช้สำหรับหม้อไอน้ำ เปลี่ยน
Cascade of Shift Registers 74HC595 ควบคุมผ่าน Arduino และ Ethernet: 3 ขั้นตอน
Cascade of Shift Registers 74HC595 ควบคุมผ่าน Arduino และ Ethernet: วันนี้ฉันอยากจะนำเสนอโครงการที่ฉันดำเนินการในสองเวอร์ชัน โครงการนี้ใช้ 12 shift register 74HC595 และ 96 LEDs, Arduino Uno board พร้อม Ethernet shield Wiznet W5100 8 LEDs เชื่อมต่อกับ shift register แต่ละอัน ตัวเลข 0
Arduino Ethernet DHT11 การบันทึกอุณหภูมิและความชื้น สถิติมือถือ: 4 ขั้นตอน
Arduino Ethernet DHT11 การบันทึกอุณหภูมิและความชื้น สถิติมือถือ: ด้วย Arduino UNO R3, Ethernet Shield และ DHT11 คุณสามารถบันทึกข้อมูลอุณหภูมิและความชื้นภายนอก ในห้อง เรือนกระจก ห้องปฏิบัติการ ห้องเย็น หรือสถานที่อื่น ๆ ได้ฟรี ตัวอย่างนี้เราจะใช้เพื่อบันทึกอุณหภูมิและความชื้นในห้อง อุปกรณ์
ระบบการเข้าร่วมประชุมพร้อมการจัดเก็บข้อมูลบน Google Spreadsheet โดยใช้ RFID และ Arduino Ethernet Shield: 6 ขั้นตอน
ระบบการเข้าร่วมประชุมพร้อมการจัดเก็บข้อมูลบน Google สเปรดชีตโดยใช้ RFID และ Arduino Ethernet Shield: สวัสดีทุกคน เรามากับโครงการที่น่าตื่นเต้นมากและนั่นคือวิธีการส่งข้อมูล rfid ไปยัง Google สเปรดชีตโดยใช้ Arduino ในระยะสั้นเรากำลังจะสร้างระบบการเข้างานโดยใช้เครื่องอ่าน rfid ซึ่งจะบันทึกข้อมูลการเข้างานตามเวลาจริงไปที่ goog