Azure 仮想マシンで Arduino 開発をする方法(実際にはAzureに限らず&Arduinoに限らず)

久しぶりに IoT っぽい話です。(正しくは今回はマイコンボードの開発環境の話で IoT 成分はゼロです)

Arduino を USB 接続したものとは別のマシンで開発をするための手順です。

マイコンボードの対象は Arduino とか ESP32 とかの PC に USB 接続して開発を行うものです。
開発時に USB 接続しなくていいものは今回の話には該当しません。
またマシンは仮想マシンでも物理マシンでも変わらないはずですが、以下の説明では “仮想マシン” と呼びます。

ポイントは

  • 接続元(手元の PC) のグループポリシーで [RemoveFX USB デバイスの~] を有効化
  • リモートデスクトップ接続の [ローカルリソースとデバイス] で Arduino の COM ポートを選択
  • 仮想マシンのグループポリシーで [COM ポートのリダイレクト を許可しない] を無効化、および [サポートされている プラグアンドプレイ デバイスのリダイレクト を許可しない] を無効化

です。

普通は手元の PC に接続して、そこで開発すると思うので常に必要な Tips というわけではありません。
こういうこともできるよという参考として。


■ 手元の PC のグループポリシー変更

接続元とする手元の PC で、グループポリシーを変更します。

  1. グループポリシーエディターを開いて [コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [リモートデスクトップ接続のクライアント] – [RemoteFX USB デバイスリダイレクト] を開く(階層深い)
  2. [サポートされている他の RemoteFX USB デバイスの、このコンピューターからの RDP リダイレクトを許可する] を選択
  3. [有効] を選択して [管理者とユーザー] を選択
  4. [OK] して Windows を再起動

■ rdp ファイルの変更

リモートデスクトップ接続の rdp ファイルで設定を変更します。

  1. rdp ファイルを右クリックして [編集] を選択
  2. [ローカルリソース] タブで [ローカルデバイスとリソース] の [詳細] を選択
  3. [その他のサポートされている RemoteFX USB デバイス] で、Arduino (マイコンボード) の COM ポートを選択
  4. [接続] で仮想マシンに接続
    仮想マシン側のポリシー変更も必要なので、実はこのタイミングでは未完了です。以降は接続時にはこのチェックを忘れずに

■ 仮想マシンのグループポリシー変更

仮想マシン側でもグループポリシーの変更が必要です。

  1. 仮想マシンのグループポリシーエディターを開いて [コンピューターの構成] – [管理用テンプレート] – [Windows コンポーネント] – [リモートデスクトップ サービス] – [デバイスとリソースのリダイレクト] を開く
    ローカル PC 側は [リモートデスクトップ接続のクライアント] ですが、仮想マシン側は [リモートデスクトップ サービス] なので注意(というほど難しい話ではありませんが)
  2. [COM ポートのリダイレクトを許可しない] を [無効] に変更
  3. [サポートされているプラグアンドプレイ デバイスのリダイレクトを許可しない] を [無効] に変更

設定項目が「~を許可しない」なので [無効] にするのが正解です。

これで仮想マシンを再起動して、改めてリモートデスクトップ接続すれば OK です。
あとは普通に Arduino IDE なり VSCode なりの開発環境をインストールします。


■ 補足)互換機でデバイスドライバーが必要な場合

Arduino だと IDE インストール時に一緒にデバイスドライバーがインストールされます。
それで仮想マシン上の開発環境で、ローカル PC で USB 接続された Arduino を操作できます。

互換機で別のデバイスドライバーが必要な場合も、同じように仮想マシン側に指定のドライバーをインストールします。これはそれぞれのボードのインストール手順通りのものを仮想マシンに入れれば OK なはず。
例えば Silicon Labs CP210x ドライバーが必要な場合も、ボードの指定通りインストールすればちゃんと認識してくれます。


この手順が必要になるシナリオがどのくらいあるのかは分かりませんが、いざという時に使える技かもしれません。

Arduino (互換機) を使うハンズオン資料を作っていて、コンテンツ開発自体は実機で行うけどハンズオンの手順が正しいのかを確認するために新しいマシンがほしいなと思ったのが今回の経緯。
とはいえ他の PC を潰すのもちょっとやりたくないし、必要な時にいつでも手順を再現できるほうがいいよなと思って調べてみました。

余談ですが、やはりマイコンボードとか IoT って楽しいですね。
AI と組み合わせて何かやらねば。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中