「つくれば工房」で MicroPython 体験会

この記事は たまに広島 Advent Calendar 2016 20日目の記事です。

広島で Python のカンファレンスを開催してきた PyCon mini Hiroshima 実行委員会の西本です。
その他に、オープンソースの Windows 用スクリーンリーダー NVDA の日本の開発者コミュニティ、NVDA日本語チーム、そして広島のコミュニティNVDA ユーザ会広島などをやってきました。

11月12日の PyCon mini Hiroshima の報告は PyCon JP のブログに書きました
また 11月27日 OSC 2016 Hiroshima のセッション『jus研究会広島大会「ITコミュニティの運営を考える」』で NVDA のコミュニティについて喋らせてもらいました。開催レポートで詳しく紹介していただいています。

つくれば工房

広島で「電子工作やLED手芸など自分で自由に作るものづくりの場」=「つくれば工房」を運営しておられる遠藤さんが PyCon mini Hiroshima 2016 に参加され、私が紹介した MicroPython について興味を示してくださったので、MicroPython 体験会を提案しました。

事前に見学をさせていただきました。
会場は広島市西区楠木町のアドウィンテクノ塾です。
お子さんから年配のかたまでいろんな人がいらっしゃって、Arduino や 3D プリンタなど、いろいろなことにそれぞれ取り組んでいらっしゃいました。
毎週土曜日に欠かさず開催されているそうです。ものづくりの「もくもく会」だと思いました。

MicroPython体験会

ということで12月10日の「つくれば工房」にて「MicroPython体験会」を開催していただきました。

つくれば工房のウェブサイトに報告を掲載していただいているので、自分用の記録をここにまとめます。

  • 参加者 17人くらい。やはり年配の方からお子さん(お母さん同伴)まで。マイコン開発経験者もPython経験者もいらっしゃった。Windowsパソコンを持ってきたけどプログラミング未経験、というかたもいらっしゃった。
  • スイッチサイエンスの ESPr One の持参を推奨したが、他の ESP8266 基盤を持参された方もいた。機材によってはLED点滅の実験のためにLEDをGPIOポートにつないでいただく必要があった。
  • ファームウェアの書き込みのためにPCとMicroUSBケーブルで接続していただいた。充電はできるけど通信はできないMicroUSBケーブルもあり、サポートに手間取った。
  • 西本が事前に確認したのは PC 側に Python 2.7 + esptool.py をインストールして書き込みをする手順だった。体験会をした部屋で WiFi がうまく使えなかったため、USB メモリで ESP8266 Flasher と MicroPython のバイナリ、ESPr One のUSBシリアルドライバなどを回覧してセットアップしていただくことになった。
  • Windows に TeraTerm をインストールしていただいたら、バージョン 4.93 に文字化けの不具合があり、4.92 を入れ直していただいた。

説明したこと:

  • nishimotzのサイトで紹介したLED1の点滅を、ターミナルから逐次入力でやってもらった。
  • コンマとピリオド、コロンなど、文法を説明した方が間違えにくいということに気づき、基本的な Python の文法の説明をした。
  • ペーストモードの説明をして、このLEDの点滅を def blink() のように関数として「メモ帳」に書いてもらって、ペーストモードで貼り付けてもらった。そうすると blink() だけで点滅を実行できる。
  • 早くできた人は PWM でだんだん明るくなるコードを自分で試していた。
  • トラブルシューティング:ペーストモードで改行が余分に入る。TeraTermの改行設定を送受信ともにCRにしてもらう。
  • WiFiを触ってもらうと面白いのだろうが、いろいろ難しそうだったので今回は説明を見送り。

質問されたこと:

  • WebREPL が動いてない:MicroPython 1.8.6 から初期化を実行しないと WebREPL が動かない仕様になった。
  • 割り込みは?:ユーザーボタンを押すとメソッドを実行する、といったコードは動作を確認している。
  • 起動すると自動的に実行するコード(main.py)をどうやって書き込むの?:WebREPLでアップロードするか、プログラムをファイルシステムに書き込むためのプログラムをターミナルで実行する。
  • 本格的に使えるの?:処理系を自分でビルドすれば、C言語拡張モジュールを組み込むことができる。CQ出版「インターフェース」2016年10月号に情報あり。

私はいろいろ準備不足でしたが、ベテランのかたが気を利かせてサポートしてくださったおかげで、無事に体験会を行うことができました。

ふだん Arduino でマイコン開発を楽しんでおられるかたも何人かいらっしゃいましたが、MicroPython のメリットや面白さをなにか感じていただければと思います。

広島に Python Boot Camp を誘致する計画も進んでいますが、広島で MicroPython 体験会、いかがでしょうか。こんどやるときはもっと上手にやれると思うので、ご連絡ください。

自分が映ってる写真を撮り忘れたので、「つくれば工房」さんのサイトからお借りしました: