Category Archives: Arduino

ブラウザプログラミングができるESP8266モジュールのWebduinoを入手して動かしてみた!


WiFi接続が簡単にできるESP8266を使った製品で、Webブラウザを使ってプログラミングができる「Webduino」というものがある。

2016/11/06に「WebからプログラミングができるESP8266モジュールWebduinoが送料込み$5.88で発売開始」という記事を書いたが、発注から8日で製品が到着。

webdiuno-1
白い箱に袋に入った基板が入っているだけ、という簡易梱包。

基板の裏面はこんな感じで「3色LED」と「明度センサー」が付いています
webdiuno-2

設定手順は「Webduino Smart Wi-Fi Setup」にあるので開きながら実施していきます。

まずはmicroUSBケーブルをさして電源を入れます。
webdiuno-3
青LEDが点灯し、また裏面の3色LEDは赤点灯します。

この状態でスマホなどからWiFi APを検索すると「Smart」というAPがいますので、そこに接続します。
webdiuno-4
接続パスワードは「12345678」です。

接続したらブラウザから「http://192.168.4.1」にアクセスします。
webdiuno-5

WiFi SSID/WiFI PWDは、自宅などのWiFI APを指定します。
また、Device IDは識別できるようなものを指定します。
「SUBMIT」ボタンをクリックし、変更を反映したら、電源を抜きます。

電源を入れ直すと、裏面の3色LEDは、赤点灯したあと、一瞬緑点灯し、消灯します。
この状態で、自宅WiFI APに接続された状態となります。

Webdiunoに割り当てられたIPアドレスを確認するには、スマホなどでWiFi AP検索をします。
webdiuno-8
上記の様に「Smart_<IPアドレス>」という形でIPアドレスが表示されるので確認します。

まずは動作確認として、パソコンから「http://<IPアドレス>」にアクセスできることを確認します。

次にWebブラウザを使ったプログラミングを行います。

サンプルコード」を使いましょう。
webdiuno-10

IPアドレスを指定し、また、「Set color」の横をクリックすると点灯させたいLEDの色を指定できます。

指定が終わったら右上の再生ボタン▶をクリックすると、プログラムが転送され、WebdiunoのLEDが点灯するはずです。
うまく行かない場合は、一度Webdiunoの電源を入れ直してみましょう。

以上のような感じで結構お手軽にプログラミングができます。

なお、手順にはStep5としてfirmwareアップデートがあるのですが、ちゃんと動作しているのかどうかが判断できなかったので、記事には含めていません。
Ver3.0.07より新しいバージョンがあるんだろうか??

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


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

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

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

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

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

ハードウェア版マウスふるふる(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パソコンに接続してみる。
devicemanager-1

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

USBキーボードとマウスが認識されてはいるんだが、期待通りにマウスが小刻みに動いている場合と、全然動かない場合が・・・というか、動かないことの方が多い・・・
また、赤いLEDランプが点灯期間が長めの点滅でちょっとうざい。

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

準備1:Arduino IDEをインストール
準備2:ボード「Arduino Leonardo」を選択
準備3:CJMCU beetleをUSBポートにさして認識されるのを待つ(ドライバにより認識が変わる)
 devicemanager-2
準備4:シリアルポートで適切なものを選ぶ
準備5:「Get Board Info」で「BN:Arduino Leonardo」と表示されることを確認
 2016-09-02 (4)

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

#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を短時間点灯させる、というものになっています。
点灯させたくなければ「digitalWrite」の行を削除すればokです。