2018年11月21日水曜日

Arduinoでビジュアルプログラミングを試す

どうもMokerです。

ソフトウェア入門界隈ではScratchというのはある種の定番になりつつありますが、Maker界隈では似たようなものを聞かないなということに気づきました。

ということでArduinoのビジュアルプログラミングについてまとめておこうと思います。
今回選んだ基準は次の通り。

  • Blocklyベースであること(次期Scratchのベースらしいので移行が楽そう)
  • Githubに上がってること

という感じで検索かけた結果が次の通り。

  • BlocklyDuino
  • ardublockly
  • Mixly_Arduino
  • Blockly@RDUINO

一つずつ試していきたいと思います。

BlocklyDuino


最終更新日:2017年11月

一番Star数多かったやつです。古いだけあってデザインはとてもシンプル。
うちの環境ではオフライン版でもアップロードがうまくいきませんでした。Pythonのバージョンの問題かもしれません。
欠点としては、digitalwriteのHIGH/LOWに変数を使うことができません。
あとsetupとloopという概念がblockly上では存在しません。
Arduinoのコードとblocklyが並列で表示されないのが個人的にはあまり好きになれませんでした・・・

ardublockly


最終更新日:2018年2月

デザインがめちゃめちゃいいです。wikiとかも充実しててすげー好みです。
ただArduinoとの連携が若干うまくいってないのか、めちゃくちゃupload・verifyに時間かかりました。
個人的にはこれにarduinoのCLI統合して、さらにピン番号を変数で指定できるようになったらもう完成形だと思います。

Mixly_Arduino


オンライン版:なし
最終更新日:2018年11月

blocklyベースなのにオンライン版がないという異色のソフト。めちゃめちゃ展開に時間かかりました。
Microbitとかの開発もできるようです。
中華でちょっと怖さはありますが、ピン数を変数で指定できるなどかなり高度です。
デザインもかなりいい感じで、arduinoとの連携もうまくできそうです。
wikiが中国語しかないのと完全なオープンソースでないのが残念な感じですね・・・

Blockly@RDUINO

オンライン版:なし?
レポジトリ:https://github.com/technologiescollege/Blockly-at-rduino
最終更新日:2018年11月

デザインを見る感じは良さそうなのですが、ブロックが全然表示されません。
しかもreadmeなどがフランス語というおまけつき。結局使い方は全く分からず。


というわけで見てきました。
全部微妙といえなくもない結果ですが、使うとしたらardublocklyでしょうか・・・?
性能だけで見ればおそらくmixlyが一番なのですがね・・・、中華というだけで恐怖が・・・

2018年11月3日土曜日

esp-wroom-02にEsp-Linkを導入する vol.2

前回(その1)はesp-linkの導入法について説明しました。
今回は、実際に使ってみた感想とか書き込んでいこうと思います。

Esp-Linkに接続する

Wifiのアクセスポイント一覧からespを探して接続します。
僕の場合は、前回他のプロジェクトで書き込んだ設定が残っていたらしく、そのAP名とパスワードで接続しました。
さらにespのipアドレスを調べます。
コマンドプロンプトから"ipconfig"を実行しました。

ipアドレスをブラウザのURLに打ち込むと次の画面が出て来るはずです。

Espをインターネットに接続する

このままだとメインPCがインターネットに接続できず、作業上不便なので設定をいじっていきます。
まずはmDNSを有効化します。
まずはトップページのSystem overviewにある"Hostname"を"arduino"へと変更します(これがmDNS名となります。arduinoにしたのは後々ArduinoIDEから扱えるようにするためです)。
次に、mDNSのService名を変更します。ServiceタブのmDNSにある"Enable mDNS"にチェックを入れ、"Service Name"を"arduino"へと変更してください(上と同様にArduinoIDEから扱うためです)。
最後に、espをLANへと接続します。
まずはSTA+APモードに変更。
すると次の画面が出るはずです。WifiのAPを選んでパスワードを入力し、Connectをクリックしました。

ブラウザ上でESPのシリアルを触る

さて、本命の一つであるシリアルの無線化を試してみましょう。
幸い、esp-linkではブラウザ経由でシリアルを書き込めるので、それをやってみようと思います。

まず、ESPから出力されたシリアル信号をパソコン側で受信するために、ESPとPCをUSB-シリアル変換で接続します。
そして、シリアルを送受信できるソフトウェアを立ち上げましょう。

続いて、実際にブラウザからシリアルを送ってみます。
まずは、左のメニューから「μC Console」をクリック。

この画面からシリアルを送ることができます。
実際の映像がこちら。
ブラウザで送信してるときの方はほぼ遅延がないので、ブラウザで受信のときに遅延してるのはhttp関連の遅延なのかな、と思ってます。真偽は不明。

ローカルからESPのシリアルを触る

後で書く。com0com(https://sourceforge.net/projects/com0com/)とか使えばよさそう。

最後に

次回はArduinoIDEから扱う編をやりたいと思います。