TL; DR-
ワイヤレスアップロードには、BlueToothまたはXBee(特にIRなど)のオプションがあります。ただし、一度にアップロードできるボードは1つだけなので、ボードを1つずつ循環させる必要があります。複数のATMegas / Arduinoを一度にプログラミングするを参照してください。
スケッチをアップロードするとき、またはプログラマー(スケッチまたはブートローダー用)を使用するとき、ソフトウェアはコードを記述するだけでなく、実際にはマイクロコントローラーと通信します。
一度にすべてをプログラムすることはできません。しかし、それらを1つずつ自動的にプログラムすることができます。
あなたの質問は非常に興味深いものであり、私が考えたことはないと思いますが、特に、私がそうであるように、周囲に多くのArduino制御センサーポイントがある場合は、非常に便利で省力化されます。家。試してみる価値のある、かなり洗練されていない解決策を1つ示します。
ワイヤレスアップロードハードウェア
BlueToothを使用してスケッチをワイヤレスでアップロードする場合、このソリューションは役に立ちます。USBケーブルなしでArduinoにワイヤレスアップロードプログラムを使用します。このソリューションはピンD0とD1を結び付けることに注意してください。
ただし、D0およびD1をハードウェアUART TX、RXとして使用する必要がある一部のプロジェクトと互換性がない可能性があることに注意してください。ワイヤレスプログラマは2つのピンを永久に占有する必要があるためです。
これを見ると、カスタムArduinoワイヤレスプログラマーが採用されています。ただし、名前に騙されないでください。これは単なるBluetoothシールドです。基本的にはBT HC-05(または同様の)デバイスであり、Arduinoにボルトで固定されています。Bluetooth ワイヤレスアップロードも参照してください。
または、BlueToothの代わりに、XBeeデバイスを使用することもできます。Arduinoのワイヤレスプログラミングを参照してください。XBeesを使用する利点は、BTを使用する場合に必要となるペアリングの新しいデバイスループ(下記を参照)を経由する必要がないことです。代わりに、XBeeネットワークIDを循環させるだけで済みます。
ただし、それに加えて、スケッチをブロードキャストできないため、BTデバイスの切り替えを自動化し、適切なポートを選択して各Arduinoに順番にアップロードする必要があります。(私が間違っている場合、誰かが私を訂正してくれますか?)
ポートを選択してスケッチをアップロードする
スクリプトをArduino IDEのコマンドラインバージョンと一緒に使用して、各アップロードの前に、BTデバイスが接続されているポートを選択できます。これをどのように行うかは、コンパイルするプラットフォームによって異なります。コマンドラインArduinoのコンパイルとダウンロードを参照してください。これは、環境変数ARDUINO_COMPORT
(おそらく古いWindowsコマンドラインビルドを参照)、またはarduino cmdラインオプション--port <portname>
(マニュアルページを参照)を使用して行うことができます。次に、オプションを使用してスケッチをアップロードします--upload <filename>
。あなたはこれを一気に行うことができます:
arduino --upload --port <portname> FILE.ino
Windowsではを使用する必要があることに注意してくださいarduino_debug.exe
。
または、Windows PCを使用していない場合はInoを使用することもできますが、ループ処理が必要以上に複雑になる次の部分になる可能性があります。
各Arduino(つまり、BTデバイス)の選択
次に、スクリプトにループを追加して、PCを各BTデバイスに順番にペアリングしてから、ポートの選択とアップロードのためにArduino IDEを呼び出す必要があります。残念ながら、これはプラットフォームにとらわれないわけではなく、使用しているどのプラットフォームにも異なるソリューションが必要になります。コマンドラインからBluetoothを見てください。ただし、Windowsの場合は、Blue Toothコマンドラインツールスイートが必要になるでしょう。
OS Xでは、AppleScriptを使用するのが最善の方法です。BTを制御するためのコマンドラインツールが少し不足しているように見えるため、MacOSXのコマンドラインを介してBluetoothデバイス(iPhone)に接続するを参照してください。BlueUtilがあり、Bluetoothワイヤレスを制御する方法を参照してください。コマンドラインからラジオ?しかし、それはBTをオンまたはオフにするだけのようです。ただし、AppleScriptをArduino IDE制御スクリプトの残りの部分にボルトで固定すると、ArduinoコマンドをAppleScript内に配置することはできても、状況はより複雑になります。