TL; DR -
คุณมีตัวเลือกของ BlueTooth หรือ XBee (เช่นอื่น ๆ : IR หรือไม่?) สำหรับการอัพโหลดแบบไร้สาย อย่างไรก็ตามฉันเชื่อว่าสามารถอัปโหลดบอร์ดได้ครั้งละหนึ่งบอร์ดเท่านั้นดังนั้นคุณจะต้องวนรอบบอร์ดครั้งละหนึ่งครั้งดูการเขียนโปรแกรม ATMegas / Arduinos หลายรายการพร้อมกัน
เมื่ออัปโหลดแบบร่างหรือใช้โปรแกรมเมอร์ (สำหรับแบบร่างหรือ bootloader) ซอฟต์แวร์ไม่เพียง แต่เขียนรหัส แต่จริงๆแล้วมันสื่อสารกับไมโครคอนโทรลเลอร์
คุณไม่สามารถตั้งโปรแกรมทั้งหมดในครั้งเดียว แต่คุณสามารถตั้งโปรแกรมทีละตัวในแบบอัตโนมัติ
คำถามของคุณน่าสนใจมากและถามคำถามที่ฉันแน่ใจว่าฉันจะไม่เคยนึกถึง แต่จะมีประโยชน์อย่างมากและประหยัดแรงงานโดยเฉพาะอย่างยิ่งถ้ามีอย่างที่ฉันทำอยู่จุดตรวจจับ Arduino ที่ควบคุมอยู่หลายแห่ง บ้าน. นี่เป็นวิธีแก้ปัญหาที่ไม่สมควรอย่างหนึ่งที่อาจคุ้มค่าที่จะลอง
ฮาร์ดแวร์อัพโหลดไร้สาย
ถ้าคุณใช้บลูทู ธไร้สายอัปโหลดภาพวาดของคุณแล้ววิธีนี้อาจจะมีการใช้งานแบบไร้สายโปรแกรมอัปโหลดไปยัง Arduino โดยไม่ต้องสาย โปรดทราบว่าวิธีนี้จะเชื่อมโยงพิน D0 และ D1:
แต่ระวังว่าอาจเข้ากันไม่ได้กับบางโครงการที่จำเป็นต้องใช้ D0 และ D1 เป็นฮาร์ดแวร์ UART TX, RX เนื่องจากโปรแกรมเมอร์ไร้สายจำเป็นต้องใช้หมุดทั้งสองอย่างถาวร
เมื่อมองดูแล้วจะใช้Arduino Wireless Programmer ที่กำหนดเองซึ่งคุณอาจได้รับการอ้างอิงในคำถามของคุณ อย่างไรก็ตามอย่าหลงกลโดยชื่อมันเป็นเพียงเกราะบลูทู ธ มันเป็นพื้น BT HC-05 (หรือคล้ายกัน) อุปกรณ์ยึดติดลงบน Arduino เห็นบลูทู ธ ไร้สายอัพโหลด
อีกทางเลือกหนึ่งในตัวแทนบลูทู ธ , คุณสามารถใช้XBeeอุปกรณ์ดูการเขียนโปรแกรมแบบไร้สายของ Arduino ข้อดีของการใช้ XBees คือคุณไม่จำเป็นต้องผ่านการวนลูปอุปกรณ์ใหม่ (ดูด้านล่าง) ซึ่งจะต้องใช้เมื่อใช้ BT แต่คุณเพียงแค่ต้องวนผ่าน ID เครือข่าย XBee
อย่างไรก็ตามในนอกจากนี้การที่คุณจะต้องเปลี่ยนโดยอัตโนมัติของอุปกรณ์ BT ที่เลือกพอร์ตที่เหมาะสมและอัปโหลดไปยังแต่ละ Arduino ในการเปิดเป็นคุณไม่สามารถที่จะสเก็ตช์ออกอากาศ (ถ้าฉันผิดคนจะโปรดแก้ไขให้ฉัน)
การเลือกพอร์ตและอัพโหลดภาพร่าง
คุณสามารถใช้สคริปต์พร้อมกับรุ่นบรรทัดคำสั่งของ Arduino IDE เพื่อเลือกพอร์ตที่อุปกรณ์ BT เชื่อมต่อก่อนที่จะอัปโหลดแต่ละครั้ง วิธีการที่คุณทำจะแตกต่างกันไปสำหรับแพลตฟอร์มที่คุณรวบรวมดูที่บรรทัดคำสั่ง Arduino สำหรับการรวบรวมและดาวน์โหลด สิ่งนี้สามารถทำได้โดยใช้ตัวแปรสภาพแวดล้อมARDUINO_COMPORT
(ดูการสร้างบรรทัดคำสั่งของWindowsที่ล้าสมัย) หรือตัวเลือกบรรทัด arduino cmd --port <portname>
(ดูหน้า man ) --upload <filename>
ร่างนั้นก็จะถูกอัปโหลดโดยใช้ตัวเลือก คุณสามารถทำได้ในคราวเดียว:
arduino --upload --port <portname> FILE.ino
โปรดทราบว่าใน Windows arduino_debug.exe
คุณควรใช้
หรือคุณสามารถใช้Inoหากคุณไม่ได้ใช้ Windows PC ... แต่นั่นอาจทำให้ส่วนถัดไปซึ่งเกี่ยวข้องกับการวนลูปที่ซับซ้อนกว่าที่มันต้องการ
การเลือก Arduinos แต่ละอัน (เช่นอุปกรณ์ BT)
ถัดไปคุณจะต้องเพิ่มการวนซ้ำสคริปต์ที่จับคู่พีซีกับอุปกรณ์ BT แต่ละอันและหลังจากนั้นจึงเรียก Arduino IDE สำหรับการเลือกพอร์ตและการอัพโหลด น่าเสียดายที่นี่ไม่ได้เป็นแพลตฟอร์มที่ไม่เชื่อเรื่องพระเจ้าเลยและจะต้องการโซลูชันที่แตกต่างสำหรับแพลตฟอร์มที่คุณใช้อยู่ ลองดูที่บลูทู ธ จากบรรทัดคำสั่งแต่สำหรับ Windows ที่คุณอาจจะต้องใช้ฟัน Blue บรรทัดคำสั่งเครื่องมือชุด
ใน OS X คุณอาจใช้วิธี AppleScript ได้ดีที่สุดโปรดดูที่เชื่อมต่อกับอุปกรณ์บลูทู ธ (iPhone) ผ่านทางบรรทัดคำสั่งบน MacOSXเนื่องจากเครื่องมือบรรทัด cmd สำหรับควบคุม BT ดูเหมือนจะมีเพียงเล็กน้อย - มีBlueUtilดูวิธีควบคุมบลูทู ธ ไร้สาย วิทยุจากบรรทัดคำสั่ง? แต่ดูเหมือนว่าจะปิด BT เท่านั้น อย่างไรก็ตามการใส่ AppleScript เข้ากับสคริปต์ควบคุม Arduino IDE ที่เหลือทำให้มันซับซ้อนขึ้นอย่างรวดเร็วแม้ว่าคุณจะสามารถใส่คำสั่ง Arduino ภายใน AppleScript ได้