Arduino互換のESP8266開発ボード、WeMos D1をMacで使用する覚え書き

買いました。一個500円という安さ。
Amazonで「Wi-Fi Arduino」で検索すると出てくるコレなんですが、こいつってD1 R2じゃなくてD1なんですかね?
どう違うかわからないけど…。

とりあえず、MacOS 10.12.2 Sierraでの動かし方のメモです。
すぐ忘れてしまうのです。

    署名なしkext(Kernel Extension)を使えるようにする

    (2017,1,18追記)
    署名されたドライバが出てました。
    これならば、この署名なしkextを使えるようにするステップは要りません。
    ドライバダウンロードの直リンch34x_install_v1-3
    すでにインストールしていた場合、

    $ sudo rm -rf /System/Library/Extensions/usb.kext
    

    で古いドライバを削除してからインストールしましょう。

    (追記終わり)
    そのときは
    $ sudo nvram boot-args='kext-dev-mode=1'
    
    で済んだらしいですが、10.12 Sierraではできません。
    MacはEl Capitanから、System Integrity Protectionとかいう機能が導入され、好き勝手にするには少し作業が必要になりました。
    command+Rを押しながら電源を入れ、リカバリーモードに。
    メニューバーに「ユーティリティ」があるので、そこからターミナルを起動します。
    $ csrutil status
    
    と打つと、現在の状態が確認できます。
    $ csrutil enable --without kext
    
    とすると、kext関連の認証以外が起動された状態になります。
    それでもダメそうな場合、
    $ csrutil disable
    
    で全部オフにしてください。
    (どっちもセキュリティ上、問題があるので後で戻してくださいね。戻すと署名なしkextは使えなくなりますけどね。)

CH340のドライバのインストール

公式サイト(多分…)から最新版のドライバをダウンロード&インストール。
私が使ったのは2016-09-27に更新されたCH341SER.ZIPでした。
Macの「環境設定」>「セキュリティとプライバシー」>「ダウンロードしたアプリケーションの実行許可」
でこのアプリケーションを許可し、インストールしてください。

正しくドライバが入ったかの確認

開発ボード、D1をUSBで接続した後、ターミナルで
$ ls /dev/tty*
と打ってください。
一覧の中にwchusbserial1420みたいなのが出ましたか?wchusbserial1410だったかもしれませんが…。
この辺はCH340のドライバと一緒に入ってるreadmeに書いてあります。

出なかったらどこかおかしいです!
後、SierraはCH340と相性が悪いらしいく、Macで使うとクラッシュすることがあるようです。再インストールで直るそうです。

Arduino IDEのセットアップ

Arduino IDEのインストールなどは、検索して調べてください。難しくないです。私が使ったのはver.1.8.0でした。
メニューバー>ファイル>preferences…か、Command+, でArduino IDEのPreferencesを開きます。
ここに貼り付けます。

メニューバー>ツール>ボード>ボードマネージャ でESP8266と検索して、インストール。

メニューバー>ツール>ボード>Generic ESP8266 Module
を選択してください。(Generic ESP8266 Moduleの代わりに、Wimos D1を選べば、これ以降の手順は要らないと思います。この記事を書いた当時、なぜGeneric ESP8266 Moduleを選んだのか記憶が定かではない…)
また、ビルドオプションは次のように設定してください。
Flash Mode: QIO
Flash Frequency: 80MHz
CPU Frequency: 160MHz
Flash Size: 4M(3M SPIFFS)
Debug port: Disabled
Debug Level: なし
Reset MEthod: nodemcu
Upload Speed: 115200
シリアルポート: /dev/cu.wchusbserial1420  (環境によって違うかも)
書き込み装置: USBasp
ちょうど下の赤枠のようになります。
ここまでくれば、普通のArduinoみたいに使えるはずです!

コメント