ฉันสามารถ reprogram Arduino ผ่านอุปกรณ์ป้องกัน wifi ได้หรือไม่


9

Arduino ของฉันติดอยู่กับไฟบนตู้ปลาของฉันและฉันสามารถควบคุมมันได้จากเว็บเบราว์เซอร์บน LAN ของฉัน ฉันสงสัยว่าฉันสามารถปรับเปลี่ยนโปรแกรมใน Arduino ได้หรือไม่โดยไม่ต้องเสียบเข้ากับเครื่องผ่านทาง USB ซึ่งจะไม่สะดวกเล็กน้อย จะต้องมีวิธีที่ฉันสามารถใช้ประโยชน์จากการเชื่อมต่อ wifi

ฉันใช้ตัวป้องกันพิกเซลของ Pololu เพื่อส่งโปรแกรมแบบไร้สาย (มันทำหน้าที่เป็นวิทยุพอร์ตอนุกรม) แต่นั่นเป็นเทคโนโลยีที่แตกต่างจากตัวป้องกัน WiFi ของฉัน

ไม่มีใครรู้วิธีที่ฉันสามารถทำได้ผ่าน WiFi? บางทีถ้าฉันอัปโหลดรหัสใหม่ไปยังหน่วยความจำแฟลชในแผงป้องกัน WiFi มันสามารถโหลดจากหน่วยความจำแฟลชได้หรือไม่ ฉันไม่แน่ใจว่าจะทำเช่นนั้นได้อย่างไรหรือถ้าเป็นไปได้

บางทีวิธีการที่แตกต่างอย่างสิ้นเชิงอาจง่ายกว่านี้?

คำตอบ:


8

เป็นไปได้ในทางทฤษฎี แต่ไม่น่าสนใจในทางปฏิบัติ ชิ้นส่วนของรหัสที่รับผิดชอบในการโหลดภาพร่างใหม่ของคุณกับ Arduino เรียกว่าbootloader bootloaders เวอร์ชันยอดนิยมทั้งหมดที่ฉันรู้จักนั้นใช้พอร์ตอนุกรม / USB เพื่อที่จะโหลดภาพร่างไปที่แผงป้องกัน WiFi, bootloader จะต้องมีการเขียนใหม่เพื่อสื่อสารกับแผงป้องกัน WiFi แทนอนุกรม นี่จะใช้งานบางอย่าง แต่ก็เป็นไปไม่ได้ในทางปฏิบัติ

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


มีวิธีในการ reprogram Arduino ของคุณแบบไร้สายได้อย่างง่ายดายและนั่นคือบลูทู ธ คุณจะต้องได้รับโมดูลบลูทู ธ (ฉันไม่ทราบว่าโล่บลูทู ธ จะทำงานได้) และเชื่อมต่อกับพอร์ตอนุกรมของฮาร์ดแวร์ bootloader ที่อยู่ใน Arduino ของคุณสามารถพูดคุยแบบอนุกรมได้แล้วดังนั้นปัญหาจะได้รับการแก้ไข คุณจะต้อง (อาจ) แก้ไขปัญหาอื่น ๆ อีกสองแม้ว่า:

  • โมดูลบลูทู ธ ราคาต่ำสุดที่คุณพบใน eBay คือ 3.3V หมายความว่าคุณจะต้องจ่ายไฟ 3.3 โวลต์และสายส่งจาก Arduino ของคุณจะต้องเปลี่ยนแรงดันไฟฟ้าจาก 5V เป็น 3.3V คุณสามารถแก้ปัญหาย่อย (พลังงาน) ครั้งแรกได้ด้วยการซื้อโมดูลบลูทู ธ ที่ทำขึ้นสำหรับการสื่อสาร 5V หรือหาก Arduino ของคุณมีกำลังไฟ 3V3 โดยใช้เพื่อจ่ายไฟให้กับโมดูลบลูทู ธ โมดูล 5V พร้อมแก้ไขปัญหาที่สอง; หรือคุณสามารถเปลี่ยนแรงดัน 5V จาก Arduino โดยใช้เทคนิคใด ๆ ที่อธิบายในคำถามนี้
  • ในการโปรแกรม Arduino ของคุณโดยอัตโนมัติจำเป็นต้องรีเซ็ต Arduino ก่อนที่จะอัพโหลดภาพร่าง: เมื่อ Arduino ทำงานตามปกติ bootloader จะไม่ทำงาน การรีเซ็ต Arduino จะเปิดใช้งาน bootloader เพื่อเปิดใช้งานการอัปโหลดภาพร่างใหม่ บน Arduino USB อย่างชาญฉลาดใช้สาย DTR เพื่อรีเซ็ตอุปกรณ์ อย่างไรก็ตามโมดูลบลูทู ธ อนุกรมส่วนใหญ่จะให้ TS / RX out เท่านั้นดังนั้นคุณอาจต้องรีเซ็ต Arduino ด้วยตนเองเพื่ออัปโหลดภาพร่างเว้นแต่คุณจะพบสัญญาณออกบางส่วนในโมดูล Bluetooth ที่คุณสามารถเชื่อมต่อกับวงจรรีเซ็ต .

2

วันนี้ฉันเริ่มตระหนักถึงผลิตภัณฑ์ที่สามารถบรรลุสิ่งนี้: ESP8266 มันจะช่วยให้คุณสามารถตั้งโปรแกรม / reprogram arduino ของคุณผ่านการเชื่อมต่อ wifi บริษัท ต่าง ๆ ผลิตชิปรุ่นต่าง ๆ ในการจัดเรียงกระดานฝ่าวงล้อมต่างๆ โดยเฉพาะมันสามารถเป็น WiFi AVRISP สำหรับ Arduino

นอกจากนี้คุณยังสามารถตั้งโปรแกรม ESP8266 ด้วย Arduino SDK และมีพลังมากมาย

ดูที่นี่ใน whatimadetoday (ไม่ใช่โพสต์ของฉัน) สำหรับการแนะนำที่ดีของวิธีการไปกับ ESP8266 และ Arduino SDK เมื่อตั้งค่า SDK เป็นโปรแกรม ESP8266 คุณสามารถเรียกดูตัวอย่างของ IDE และค้นหา "Arduino_Wifi_AVRISP"

คุณสามารถค้นหากระดานสำหรับราคาที่มีตั้งแต่ประมาณ $ 5- $ 15

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.