วิธีส่งข้อมูลไปยังคลาวด์ด้วย Arduino Ethernet: 8 ขั้นตอน
วิธีส่งข้อมูลไปยังคลาวด์ด้วย Arduino Ethernet: 8 ขั้นตอน
Anonim
วิธีส่งข้อมูลไปยังคลาวด์ด้วย Arduino Ethernet
วิธีส่งข้อมูลไปยังคลาวด์ด้วย Arduino Ethernet

คำแนะนำนี้แสดงวิธีเผยแพร่ข้อมูลของคุณไปยังแพลตฟอร์ม 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: วัสดุที่เราต้องการ

ฮาร์ดแวร์ที่จำเป็นสำหรับบทช่วยสอนนี้คือ:

  1. คอมพิวเตอร์ที่ใช้ซอฟต์แวร์ Arduino IDE
  2. บอร์ด Arduino เช่น Arduino Uno
  3. ชิลด์ Arduino Ethernet
  4. สาย USB สำหรับจ่ายไฟและตั้งโปรแกรม Arduino
  5. สาย Ethernet สำหรับเชื่อมต่อกับเราเตอร์เครือข่ายของคุณ

ขั้นตอนที่ 3: ตั้งค่า AskSensors

AskSensors ต้องการสิ่งต่อไปนี้:

  • สร้างบัญชีผู้ใช้: คุณสามารถรับได้ฟรี (https://asksensors.com)
  • สร้างเซ็นเซอร์: เซ็นเซอร์เป็นช่องทางการสื่อสารที่มีคีย์ Api เฉพาะที่ AskSensors รวบรวมและจัดเก็บข้อมูลของผู้ใช้

เซ็นเซอร์แต่ละตัวมีโมดูลหลายตัวที่ผู้ใช้สามารถส่งข้อมูลไปยังโมดูลเหล่านี้แยกกันได้ ผู้ใช้ยังสามารถเห็นภาพข้อมูลที่เก็บรวบรวมของแต่ละโมดูลในกราฟ AskSensors มีตัวเลือกกราฟหลายแบบรวมถึง Line, Bar, Scatter และ gauge

ขั้นตอนที่ 4: การเข้ารหัส

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

ดาวน์โหลดตัวอย่างร่าง Arduino นี้จาก github รหัสนี้ใช้ DHCP และ DNS สำหรับเซิร์ฟเวอร์และควรใช้งานได้ทันทีโดยมีการเปลี่ยนแปลงเล็กน้อย:

  1. หากคุณใช้อีเทอร์เน็ตชีลด์มากกว่าหนึ่งตัวในเครือข่าย ตรวจสอบให้แน่ใจว่าอีเทอร์เน็ตชีลด์แต่ละตัวบนเครือข่ายต้องมีที่อยู่ mac ที่ไม่ซ้ำกัน
  2. เปลี่ยนที่อยู่ IP ในแบบร่างเพื่อให้ตรงกับช่วงที่อยู่ IP ของเครือข่ายของคุณ
  3. ตั้งค่า Api Key In ของเซ็นเซอร์ของคุณ (กำหนดโดย AskSensors ในขั้นตอนก่อนหน้า)
  4. ตั้งค่าข้อมูลจำลองของคุณ

// 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: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม
  1. เสียบอีเธอร์เน็ตชิลด์เข้ากับบอร์ด Arduino Uno
  2. เชื่อมต่ออีเทอร์เน็ตชิลด์กับเราเตอร์/เครือข่ายของคุณผ่านสายอีเทอร์เน็ต
  3. เชื่อมต่อ Arduino กับคอมพิวเตอร์ผ่านสาย USB พลังงานจะถูกส่งไปยังบอร์ดทั้งสองผ่านสาย USB
  4. เปิดรหัสของคุณใน Arduino IDE เลือกบอร์ด Arduino และพอร์ต COM ที่ถูกต้อง จากนั้นอัปโหลดโค้ดไปยังบอร์ด Arduino ของคุณ ตรวจสอบให้แน่ใจว่าได้อัปโหลดรหัสสำเร็จแล้ว

ขั้นตอนที่ 6: เรียกใช้โค้ด

  • รีเซ็ต: คุณสามารถใช้ปุ่มรีเซ็ตบนแผงป้องกันเพื่อรีเซ็ตทั้ง Ethernet Controller และบอร์ด Arduino
  • เรียกใช้รหัส: หลังจากรีเซ็ต/เปิดเครื่องแล้ว เปิดเทอร์มินัลอนุกรม คุณจะเห็น Arduino พิมพ์สถานะโปรแกรม: Arduino เชื่อมต่อกับเครือข่าย (ใช้เวลาสองสามวินาที) จากนั้นส่งข้อมูลจำลองไปยัง AskSensors ผ่าน HTTP รับคำขอ
  • การตอบสนองของเซิร์ฟเวอร์: หลังจากได้รับคำขอให้เขียนข้อมูลไปยังเซ็นเซอร์เฉพาะจากไคลเอ็นต์ เซิร์ฟเวอร์จะส่งการตอบสนอง HTTP ก่อน โดยบอกจำนวนโมดูลที่อัปเดตสำเร็จ ('1' ในกรณีของเรา)

ขั้นตอนที่ 7: แสดงภาพข้อมูล

สร้างภาพข้อมูล
สร้างภาพข้อมูล

ตอนนี้ข้อมูลของคุณได้รับการเผยแพร่ไปยังระบบคลาวด์ AskSensors อย่างดีแล้ว คุณสามารถดูข้อมูลนี้ในรูปแบบกราฟหรือส่งออกเป็นไฟล์ CSV

เซ็นเซอร์แต่ละตัวมีแดชบอร์ดของตัวเองซึ่งขณะนี้อนุญาตให้ตรวจสอบสถานะได้แบบเรียลไทม์ (วันที่อัปเดตล่าสุด สถานะการเชื่อมต่อ..)

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

ขั้นตอนที่ 8: ทำได้ดีมาก

ขอบคุณสำหรับการอ่าน. คุณสามารถหาบทแนะนำเพิ่มเติมได้ที่นี่

หากคุณมีคำถามใดๆ เข้าร่วมชุมชน AskSensors!

แนะนำ: