CH340Driver install to HighSierra

この記事は過去に運用していたブログから移行したものです

はじめに
CH340はwchという会社のUSB-シリアル変換チップです。
Arduino互換機などによく搭載されています。
 
今回は Arduino pro mini 互換機
“Maruino”をMacOSHighSierra上のArduinoIDEで開発するために、
ドライバーをインストールしようとして格闘した記録です。
 
 
インストール失敗
まず、Maruinoの公式ページにあったリンクからドライバーインストールを試みました。
 
リンクをクリックするとファイルがインストールされたので、
内包されていたpkgを実行して、インストーラを起動します。
指示に従って作業を進めると、再起動を求められたので、再起動しました。
 
再起動してボードを接続…音沙汰がありません。
どうも変な感じだったので、システムレポートを確認しました。
すると、こんな感じ。
インストール前に確認した時と同じ状態でした。
インストールしたはずのCH340ドライバーが正常に機能していないようです。
 
ArduinoIDEでの書き込みを試そうとすると、MacOSが強制終了して
異常が発生したためコンピュータを再起動しますとの警告が。
カーネルパニックになってしまったようです。
 
 
MacOSSierra用ドライバー
ネットサーフィンで解決策を探したところ、自分の状況に似たものを見つけました。
 
MacOS10.13(HighSierra)でドライバー関連のセキュリティがアップデートされて
OSX時代のCH340ドライバーは使用できなくなったとのこと。
 
ぼくのiMacにインストールされているのはMacOS10.13.3(HighSierra)でも使えない。
Maruinoの公式ページにあったものはこのOSX時代のモノだったのでしょう。
 
MacOS10.13(HighSierra)に対応したCH340ドライバーは
世界の誰かさんが開発していて、インストールすることで
CH340を認識するだろうとの情報。
 
 
このリンク先にドライバーがあります。
 
 
いざインストール!
まず、古いドライバーを完全にアンインストールします。
管理者権限で削除コマンドをターミナルで実行。
 
sudo rm -rf /System/Library/Extensions/usb.kext
sudo rm -rf /Library/Extensions/usbserial.kext
 
この2つのどちらかで削除できます。
 
上記リンクよりMacOS10.13対応のドライバーのファイルをダウンロードします。
インストールしたディレクトリの中にpkgがあるので実行。
インストーラーの指示に従ってインストール。
再起動を求められたので、再起動。
 
新しいドライバーにインストールし直したので
ここですんなりうまく行くものだと思っていました。
しかし相変わらずシステムレポートには変わりなし。
 
代わりにシステム環境設定にセキュリティ警告が出ました。
スクリーンショット取り忘れたのでAppleのページから
同じ警告を載せておきます。
何か怒ってるのだなーと思い、許可をクリックしますが、反応がありませんでした。
システム環境設定を再起動しても警告は消えません。
 
 
セーフブート
この警告が出た時には、MacOSをセーフブートした環境でインストール
するとドライバーが警告出ずにインストールできることがあるらしい
という情報があったので試してみました。
 
まず、先ほどと同じように前のドライバーを完全に削除。
 
sudo rm -rf /System/Library/Extensions/usb.kext
sudo rm -rf /Library/Extensions/usbserial.kext
 
この2つのどちらかで削除できます。
 
その後、MacOSシステム終了します。
Macがシャットダウンされたことを確認したら、
 
“Shift”キーを押しながら電源ボタンを押し、Macをセーフモードで起動します。
メニューバーに”セーフモード”と書かれた状態で起動したらOKです。
 
先ほどと同じ手順を踏んでいきます。
MacOS10.13対応のドライバーの中のpkg実行。
インストーラーの指示に従ってインストール。
再起動を求められるので、許可。
 
再起動して、通常モードでMacOSが起動しました。
ボードを接続して、システムレポートを開きます。
 
すると、今までUSB2.0-Serialだったボードの表示が
Vendor-Specific Device となりました。
 
インストールできたようです。
 
 
終わりに
あとで知りましたが、CH340はMacOSと
相性が悪いと有名だったようです。
 
結構ハマりましたが、とりあえずドライバーのインストールはできました。
これから開発していきたいと思います。

今後1年間の展望

この記事は過去に運用していたブログから移行したものです

はじめに
今日は3月3日、ひな祭りです。
最近私の身の回りで、たくさんの計画ができてきたので、
今後一年間のレベルで展望を書いていこうと思います。
 
 
ものづくり学園つばめ
現在ものづくり学園つばめでは、施設のスマート化が進んでいます。
その第一段階が、もともとカウンターだった場所を照らすために設置された
11個のPowerLEDのダウンライトの制御です。
 
「もともとカウンターだった」ということについて
疑問に思われた方もいらっしゃるかもしれません。
 
ものづくり学園つばめは “TSUBAME HACK!” や “Code for Niigata” の
有志チームで結成されたコミニュティで、
そのテーマは違う世界に住む人と交流することで、課題を解決しようというものです。
 
そのメインの施設が、通称「焼鳥屋」その名の通り焼き鳥屋をリノベーションして
生まれた施設です。巨大スクリーンやライブ配信機材、小型CNCなどがあります。
 
焼き鳥屋は、今も最新の技術でより良い環境へとアップデートされています。
新しい技術を実際に組み込み、テストする実験室の役割も兼ねている場所です。
 
さて、11個のLEDを制御するというブログは
前にも書きました。
今は、GoogleHomeによる音声制御機能を追加した
テスト回路が完成しています。
実際にPowerLEDを点灯させるためには
トランジスタアレイを用意する必要があります。
 
 
 
ただIFTTTを使ったGoogleHomeとの連携方法では、一方通行のため
GoogleHomeにセンサーの値を読み上げさせたりすることはできません。
 
問題を解決する方法として、「しゃべるハブ」を作ってしまうというものがあります。
今の仕組みで使っているBlynkサーバーの特徴を生かして
音声ICや各種センサーを搭載したハブを作り、ライトの点灯状況データ等
常に情報をBlynkサーバーにアップロードするもの。
他のシステムから情報が更新された時は指定のブログラムによって発声する。
 
それなら、BlynkのURLにアクセスできればAlexaやSiriでも制御できるようになる。
 
今後製作予定の、焼き鳥屋遠隔解錠にも役立つでしょう。
焼き鳥屋遠隔解錠システムは、Bluetoothを使った識別を行う予定なので、
しゃべるハブにはBluetooth対応したものを選びたい。
処理能力があってネットワークにも繋ぎやすいとなると….
メインボードはGR-LYCHEEかな。
ただ製作は、まだ機材が足りないので、もう少し後になりそうです。
 
ハブから制御される末端の方では、現在ロボット掃除機制御が計画されています。
赤外線信号での操作です。
赤外線発信機をハブに搭載できればいいですね。
 
顔認証を使った自動撮影ロボットも、プロトタイプではロボット掃除機を
移動系に流用することで、自動充電や安全装置を使う予定です。
 
尚、焼き鳥屋のライブ配信用iPhoneアプリも現在私が開発中でそろそろ完成です。
 
 
AppleWatch
ここからは完全に私が個人的にやりたいことです。
AppleWatch、人気があるのかないのかいまいちよくわからない端末ですが
いまかなり興味を持っています。
 
AppleWatchにはWatchOSというOSが搭載されていてSwiftでアプリが作れます。
WatchOS 4からはCoreBluetoothへのアクセスができるようになり、
iPhoneがなくても単体でデバイスとペアリングできます。
焼き鳥屋自動解錠システムにも使えるはずです。
 
SiriKitにも対応していてSiriをアプリに組み込むこともできて
デバイス音声操作もできるかも。
 
心拍を計測して、寝たら自動で明かりが消えるとか、おやすみモードで
鍵がかかるとか、本当にいろいろできそうです。
 
ただ、iPhoneとの連携などにはApple Developer Programへの登録が必要で
18歳以下は同プログラムに申請できない。
誰かに共同開発者登録させてもらうなど考えないと
AppleWatch App開発は難しいのが現実です。
 
まあ、おそらくAppleWatch Series 4 が9月ぐらいに出るだろうと思うので
それを目指していろいろ作ってお金を貯めようと思います。
 
学生の中ではSwift開発者はAndroid開発者よりずっと少ないです。
原因はApple Developer Programへの登録や、
無料版での実機デバックAppが1週間で消えることなど。
そんな中でWatchに手を出す人は本当に僅かでしょう。
なんでそんな変なこと始めるんだという人はいるでしょうが。
おもしろそうだから
 
まとめ
頑張ります。