USB2.0-Serialのドライバ(esp8266の安ボードで使っていたシリアル)はCH341


esp8266搭載の安いボードを買って、Windows7パソコンにつなげるとドライバが標準認識せず「USB2.0-Serial」となる。

VID 1A86, PID 7523 (VID_1A86&PID_7523) のドライバは何であるのかを調べると、江苏沁恒股份有限公司(WCH)CH340らしい。

ドライバは下記のメーカページからダウンロードできる。
CH341SER.EXE(実行形式のドライバインストーラ)
CH341SER.ZIP(ZIP形式のドライバ)

どちらもバージョンは3.4(2015/10/30 or 2015/11/02)なので、好みに応じてどうぞ

インストールするとドライバのバージョンは 3.4.2014.8 (2014/08/08) でした。


2019/06/27追記

現在は、2019/01/30付けのバージョン3.5が配布されています。

WeMos社のESP8266プロダクトD1 mini V2とD1 mini Pro



最近、WiFi接続のちょっとしたデバイスをESP8266で作る、という風潮があります(偏見)

ただ、この「ESP8266」という定義が2つある、というのがちょっとわかりにくい点だと思っています。

まず、本来の「ESP8266」というのはチップ(SoC)としての名称です。
これは「Espressif社(乐鑫信息科技)」が作っています。

これを使いやす基板に組み込んでモジュールとして販売しているものが一般的な「ESP8266」と呼ばれているものです。本来であれば「ESP8266モジュール」と呼ぶべきでしょうか?

この「ESP8266モジュール」には、オリジナルの「Espressif社(乐鑫信息科技)」が作成している「ESP-WROOM-02」が有名です。
このほかに、後発の「Ai-thinker社(安信可科技)」が作成しているものがあります。
どちらも上に乗っているチップ(SoC)は、Espressif社が製造したESP8266もしくはESP8266EXが使われています。

日本で販売しており、また、技適も取得されているのはEspressif社の「ESP-WROOM-02」です。
Kickstarter案件だとコスト面から、安いAi-thiker社のものを使っていることが多いようです。
技適はモジュール全体として取得されるものであるため、Ai-thinker社のものは技適外となります。

で・・・いろいろ見ていたら、さらに「WeMos Electronic」というところからもESP8266モジュールが出ているようです。

・「WEMOS D1 mini Pro」
 Flash 16MB
 WiFiアンテナは外付けのものを取り付ける必要あり
 シールド(電波遮蔽)が省略されているので薄い
 (電波遮蔽をしなくても使える、というわけではなく別途ケースで遮蔽して、ケースの外側にWiFiアンテナ取り付けろ、という意図)
 we-002a

・「WEMOS D1 mini V2」
 Flash 4MB
 WiFiアンテナは基板上にあり
 シールド(電波遮蔽)部分があるので、ちょっと厚い
 we-001

価格は・・・$5$4

↓な感じで普通の基板に取り付けやすい状態なのが利点ではあるものの・・・まぁ、技適がないというあたりが問題で・・・
HTB1KY8NLpXXXXXvaXXXq6xXFXXXd

ハードウェア版マウスふるふる(Arduino Leonardo互換のCJMCU beetleの工作例)


CJMCU Beetleという小型のUSB接続のマイコンボードに標準で書かれているプログラムは、USBキーボード/マウスとして認識し、マウスをランダムで動かすという機能となっているらしいので入手してみた。

ネタ元: Okiraku Programing「USB直結のスクリーンセーバーブロッカー

購入はAliexpressの「Beetle ard Leonardo USB ATMEGA32U4 mini development board」から行った。
送料込みで$7.78で、8/22発注、8/25発送、9/1到着、という感じで届きました。


とりあえずWindows10パソコンに接続してみる。

標準でfirmware書き換え用のUSBシリアルポートを認識するというのも驚いた。(Windows7ではドライバ認識はしなかった)

USBキーボードとマウスが認識されてはいるんだが、期待通りにマウスが小刻みに動いている場合と、全然動かない場合が・・・というか、動かないことの方が多い・・・

また、赤いLEDランプが点灯期間が長めの点滅でちょっとうざい。

もうちょっとなんとかならないかとカスタマイズを実施。

準備1:Arduino IDEをインストール

Arduino IDEをインストールする。

準備2:ボード「Arduino Leonardo」を選択

Arduino IDEでボートとして「Arduino Leonardo」を選択する。

準備3:CJMCU beetleをUSBポートにさす

CJMCU beetleをUSBポートにさして認識されるのを待つ(ドライバにより認識が変わる)

準備4:シリアルポートを選択

Arduino IDEで使用するシリアルポートを適切なものに設定する。具体的には「Arduino Leonardo (COM?)」と認識された番号のものを選択する。

準備5:IDE上のボード認識を確認

Arduio IDEの「Get Board Info」で「BN:Arduino Leonardo」と表示されることを確認

プログラミング実施

コードとして以下を入力する。

#include <Mouse.h>
#define LEDPIN 13

void setup() {
  pinMode(LEDPIN, OUTPUT);
  Mouse.begin();
}

int x=4;

void loop() {
  // put your main code here, to run repeatedly:
  Mouse.move(x, 0, 0);
  digitalWrite(LEDPIN, HIGH);   // turn the LED on
  delay(500);
  digitalWrite(LEDPIN, LOW);   // turn the LED off
  x = -x;
  delay(4500);
}

ボードへの書き込みを実施

スケッチ-マイコンボードに書き込むで書き込みを実施する。

なお、今回のこのコードは5秒間隔でマウスを動かし、動かす際にLEDを短時間点灯させる、というものになっています。

LEDの点灯をさせたくなければ「digitalWrite」の行を削除すればokです。

USBコネクタサイズに収まるESP8285搭載ボード



cnx-softwareで興味深い小型のESP8285ボードが紹介されていた。

USB Fun – Tiny USB WiFi and Hub Boards and micro USB Hub
esp8285-1

作成例として下記が紹介されている。

このボードをUSBキーボード/マウスとしてラズパイに認識させて、
Webブラウザ経由で操作を行うことができる、というもの
esp8285-2

ソフトウェアとしてはESP8266でも実装できるらしい
というか、先日公開された、ESP8266でUSBを喋らすことに成功した人が作ったものだった・・・

ESP8266 USB Software Driver

USBメモリサイズのESP8266搭載スティックWiThumbとvESPrino



cnx-softwareでUSBメモリサイズのESP8266という記事が掲載され、その情報を調べたら、2プロダクトあるのを発見

元ネタ1:「vESPrino ESP8266 USB WiFi Dongle Supports Add-on Boards (Crowdfunding)」(2016/08/01)
元ネタ2:「WiThumb is an ESP8266 WiFi USB Adapter with Motion and Temperature Sensors (Crowdfunding)

・先行するkickstareter案件「WiThumb」
・あとからきたけど、出るのは先のindigogo案件「vESPrino」

どっちも、やりたいことはほぼ同じ
・USBコネクタ搭載で、開発や書き換え時のパソコンとの接続が簡単
・USB電源にそのままさせば電源が入るので、バッテリー駆動などの展開が容易
・ESP8266搭載なので、いろいろカスタマイズができる
・GPIO端子を用意しているので拡張できる

それぞれで異なる点

・「WiThumb」の利点
各種センサーが搭載済み(Temperature sensor (+/- 0.25C typical accuracy, -40 to 125 C range), 6-axis gyroscope + accelerometer)
Web経由で温度推移などが取得できるというなfirmwareが用意されているようだ。
17ドルで11月発送予定。

eaf6b04a2a22d2acaf3466deae0517f1_original

・「vESPrio」の利点
オンボードで搭載されてる機能はなく、ESP8266以外の機能は全てGPIO経由で別機器を接続して使う形。
ただ、接続するモジュールを多種にわたり用意しており、組み立てて遊ぶには事足りるもよう
申し込みの仕方も、ほしいと思うモジュールに設定されているクレジット数をカウントして、必要となるクレジット数分購入する、という感じになっている。
vESPrinoのベースは10ユーロもしくは3クレジットで9月発送予定。(なお、6クレジット=19ユーロ)

下記の画像にある「L2」とか「L3」というのは購入に必要なクレジット数のこと。
p1_uzg8ci
p2_qnrb8s
p3_jzu8jj