Arduino Nano(互換機)をMac OS X El Capitanと接続する
購入したArduino Nano(互換機)が動作することを確認したので、Mac miniで開発できることを確認します。
ArduinoのWebページから「Arduino Software (IDE)」 をダウンロードして、インストールします。

https://www.arduino.cc/en/Main/Software
IDEを起動し、Mac miniに接続したArduino nanoのシリアルポートを選択したいのですが、選択肢に存在しません。

Arduino IDEにArduino Nanoのシリアルポートが表示されない
こうなることは事前に把握していました。要するに、Arduino互換機は使っているUSBシリアルチップが本家と異なり、USBドライバをインストールしなければいけない(ことが多い)らしいです。今回購入した互換機は「説明書はない。質問には答えない」という商品なので、ここからは自力で問題を解決する必要があります。
商品説明によると、使われているUSBシリアルチップは「CH341/CH340」らしいので、このドライバを探します。
すると、「WCH」という中国企業のWebにそれらしいもの(CH341SER_MAC.ZIP)が見つかりました。どうやらここが本家のサポートページみたいですが、Mac用のドライバは「2013-12-25」と恐ろしく古いのがちょっと不安です。(この不安は的中しました)

http://www.wch.cn/download/CH341SER_MAC_ZIP.html
ダウンロードして展開し、「readme.pdf」(中国語)の指示に従って「システム環境設定」の「セキュリティとプライバシー」の設定を「すべてのアプリケーションを許可」に変更、「ch34xInstall.pkg」をダブルクリックしてインストールして、最後にMacを再起動。
……認識しません。ターミナルで「ls /dev/tty.*」と入力しても、Bluetoothのポートしか出てきません。

「ls /dev/tty.*」を実行しても、Bluetoothのポートしか表示されない
ちょっと厄介なことになってきたな、と思いつつ、ネットを検索してみると、
そこで、ネットで見つけたアドバイスに従って、ターミナルで「sudo nvram boot-args="kext-dev-mode=1"」を実行して、再起動。
……認識しませんでした。「システムレポート」を見ると、「USB2.0-Serial」と表示されているので、ケーブルの問題ではなく、物理的にはつながっているはず。

システムレポートのUSB
で、最終的にこちらのページに辿り着きました。
http://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html
こちらのページでは、「CH341/CH340」の署名のある新しいドライバの配布と、古いドライバを「El Capitan」と「Yosemite」にインストールする方法が解説されていました。

How to use cheap Chinese Arduinos that come with with CH340G / CH341G Serial/USB chip (Windows & Mac OS-X)
怪しい物ではないと信じて、新しいドライバをインストール。
無事、IDEで認識しました。感謝!

Arduino IDEにArduino Nanoのシリアルポートが表示された
一応、「ls /dev/tty.*」も見ておきます。「tty.wchusbserial…」がArduino Nanoのポートです。

「tty.wchusbserial…」がArduino Nanoのポート
ArduinoのWebページから「Arduino Software (IDE)」 をダウンロードして、インストールします。

IDEを起動し、Mac miniに接続したArduino nanoのシリアルポートを選択したいのですが、選択肢に存在しません。

こうなることは事前に把握していました。要するに、Arduino互換機は使っているUSBシリアルチップが本家と異なり、USBドライバをインストールしなければいけない(ことが多い)らしいです。今回購入した互換機は「説明書はない。質問には答えない」という商品なので、ここからは自力で問題を解決する必要があります。
商品説明によると、使われているUSBシリアルチップは「CH341/CH340」らしいので、このドライバを探します。
すると、「WCH」という中国企業のWebにそれらしいもの(CH341SER_MAC.ZIP)が見つかりました。どうやらここが本家のサポートページみたいですが、Mac用のドライバは「2013-12-25」と恐ろしく古いのがちょっと不安です。(この不安は的中しました)

ダウンロードして展開し、「readme.pdf」(中国語)の指示に従って「システム環境設定」の「セキュリティとプライバシー」の設定を「すべてのアプリケーションを許可」に変更、「ch34xInstall.pkg」をダブルクリックしてインストールして、最後にMacを再起動。
……認識しません。ターミナルで「ls /dev/tty.*」と入力しても、Bluetoothのポートしか出てきません。

ちょっと厄介なことになってきたな、と思いつつ、ネットを検索してみると、
- 「OS X Yosemite」以降は、署名のないkernel extensions(kext)を実行できない(らしい)
- 「nvram」を操作して「kext開発モード」にすればいい(らしい)
そこで、ネットで見つけたアドバイスに従って、ターミナルで「sudo nvram boot-args="kext-dev-mode=1"」を実行して、再起動。
……認識しませんでした。「システムレポート」を見ると、「USB2.0-Serial」と表示されているので、ケーブルの問題ではなく、物理的にはつながっているはず。

で、最終的にこちらのページに辿り着きました。
http://kig.re/2014/12/31/how-to-use-arduino-nano-mini-pro-with-CH340G-on-mac-osx-yosemite.html
こちらのページでは、「CH341/CH340」の署名のある新しいドライバの配布と、古いドライバを「El Capitan」と「Yosemite」にインストールする方法が解説されていました。

怪しい物ではないと信じて、新しいドライバをインストール。
無事、IDEで認識しました。感謝!

一応、「ls /dev/tty.*」も見ておきます。「tty.wchusbserial…」がArduino Nanoのポートです。

コメント