Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「M5Stack」をGUIとMicroPythonで動かしてみた

2514d6ed8469bdfbcd94eff18a98246e?s=47 Arisa
March 13, 2019

 「M5Stack」をGUIとMicroPythonで動かしてみた

2514d6ed8469bdfbcd94eff18a98246e?s=128

Arisa

March 13, 2019
Tweet

Transcript

  1. 「M5Stack」をGUIとMicroPythonで動かしてみた Arisa @arinyanm 2019年3月13日みんなのPython勉強会#43

  2. 自己紹介

  3. こんなことをしています 名 前 所 属 職 種 運 営 Pythonきっかけ

    IT系企業で新規事業の立ち上げ 企画、マーケティング、事業広報 SIerIoTLT~楽しいIoT全員集合~ Chainer User Group AIの勉強をしたい(in 2017年) Arisa @arinyanm
  4. 今の悩み と やりたい こと

  5. 今の悩みとやりたいこと ✔今の悩み ✔やりたいこと ・初対面の人と話す時緊張する ・話しのネタに尽きると困る ・沈黙をどう過ごして良いか分からない ・初対面の人と話をする時もネタに困 らないようにIoTガジェットがネタを 提供してくれる

  6. やりたいことと欲しい機能 ✔やりたいこと ・初対面の人と話をする時もネタに困らないようにIoTガジェットがネ タを提供してくれる ✔欲しい機能 ・FacebookのQRコードの表示 ・自己紹介文の表示 ・話しのネタリストの表示 ・ボタンで表示内容の切替え

  7. Pythonが使えるマイコン Raspberry Pi(ラズベリーパイ) Raspberry Pi(ラズベリー パイ)は、ARMプロセッサ を搭載したシングルボードコンピューター。イギリス のラズベリーパイ財団によって開発されている。日本 では略称としてラズパイとも呼ばれる。 主に教育で利用することを想定しているが、IoTが隆盛

    した2010年代後半以降は、安価に入手できるIoT機器 として趣味や業務に広く用いられている。IoT教育にお いては、ソフトウェア開発に強いRaspberry Piと、 ハードウェア開発に強いArduinoの組み合わせが一般 的である。 (Wikiより) スイッチサイエンスホームページより https://www.switch-science.com/ IT Media
  8. Pythonが使えるマイコン micro:bit(マイクロビット) イギリスのBBCが主体となって作った教育向けのマイコン ボードです。英国では11歳~12歳の子供全員に無償で配布さ れており、授業の中で活用が進んでいます。 ユーザーが動作をプログラミングできる25個のLEDと2個のボ タンスイッチのほか、加速度センサと磁力センサ、無線通信 機能(BLE)を搭載しています。mbedのように、USBケーブ ルでPCと接続し、プログラムをドラッグアンドドロップで書 き込むことが可能です。

    全ての開発環境がウェブブラウザ上で動作するため、初心者 にとってハードルとなりがちな環境構築を行う必要がありま せん。パソコンがオフラインになってしまった場合でも動作 が止まらないように工夫されているため、学校の授業など ネットワーク環境が不安定であってもスムーズに開発を続け ることができます。 スイッチサイエンスホームページより https://www.switch-science.com/
  9. Pythonが使えるマイコン MicroPython pyboard 【開発元】 micropython.org 【仕様】 ・搭載MPU:STM32F405RG(168MHz浮動小数点付きCortex-M4) 1024KBフラッシュROM、192KB RAM ・microUSBコネクタ(電源とシリアル通信用)

    ・microSDカードスロット ・センサ:MMA7660(3軸加速度センサ) ・リアルタイムクロック(オプションでバッテリバックアップ可能) ・GPIO×56 ・12ビットA/Dコンバータ×3、アナロググラウンドシールド×4 ・12ビットD/Aコンバータ×2 ・LED×4(赤、緑、黄、青) ・リセットボタン、ユーザスイッチ ・3.3V LDO電圧レギュレータ(最大250mA、入力電圧範囲3.6V~16V) ・ファームウェアアップグレード用のROM内のDFUブートローダ 【価格】 MicroPython pyboard ヘッダー付き【DEV-14413】 6,432円 MicroPython pyboard ヘッダーなし【2390】 5,782円 マルツホームページより http://select.marutsu.co.jp/list/detail.php?id=733
  10. Pythonが使えるマイコン obniz(オブナイズ) この小さなobniz board1台あれば、インターネット(API) 経由であらゆる言語・環境から簡単に、ハードウェアプログ ラムや高度なIoT製品の製作ができます。 スマートフォンでQRコードをスキャンしたらすぐにプログラ ムページへ。 HTMLの中のjavascriptだけですべてプログラムできます。 Python

    SDKをβ版で提供中。 obniz製品ページより https://obniz.io/
  11. Pythonが使えるマイコン M5Stack(エムゴスタック) ▪M5Stackの特長 M5Stackは、320 x 240 TFTカラーディスプレイ、microSD カードスロット、スピーカーを備えたコンパクトで便利な開 発モジュールです。ESP32を搭載しているため、Wi-Fiおよび Bluetooth通信を扱え、Arduino、MicroPythonでの開発が可

    能です。 ※ESP32とは ESP32シリーズは Wi-FiとBluetoothを内蔵する低コスト、 低消費電力なSoCのマイクロコントローラ(Wikiより) スイッチサイエンスホームページより https://www.switch-science.com/
  12. M5Stackの種類 スイッチサイエンスホームページより https://www.switch-science.com/ M5Stackは、320 x 240 TFT カラーディスプレイ、 microSDカードスロット、ス ピーカーを備えたコンパクト

    で便利な開発モジュールです。 ESP32を搭載しているため、 Wi-FiおよびBluetooth通信を 扱え、Arduino環境での開発 が可能です。 M5Stack Basic 本製品はM5Stack Basicに、 加速度、ジャイロ、磁気を計 測可能な9軸センサ、 MPU9250を搭載したモデル です。 M5Stack Gray (9軸IMU搭載) M5Stack FIRE M5GOに近い仕様です。 M5GOと比較すると、 PSRAMが追加され、9DoFの センサが変わっています。 M5GO IoTスターターキット M5Stack本体と、すぐに使え る六つのGROVE互換モジュー ルが付属した、IoTをはじめる のにピッタリなキットです。 本体裏はLEGO互換の特別 バージョンとなっており、 LEGO互換のパーツも付属し ます。
  13. M5Stackの種類 スイッチサイエンスホームページより https://www.switch-science.com/ ▪M5Stack Facesの特長 9軸センサMPU9250搭載のM5Stack Grayに、キーボード、 テンキー、ゲーム機風のインターフェイス・パネルを揃 えたポケットコンピュータです。これらのカバーパネル を着け換えることで多岐にわたる使用が可能となります。

    M5Stack Faces (9軸IMU搭載、各種カバー付き)
  14. M5Stackの開発環境 ▪Arudino、UIFlowが選べます。

  15. M5Stackの開発環境 ▪MicroPythonの場合、オフライン・オンラインを選択できます。 Arudino MicroPython M5UIFlow M5Cloud オフライン オンライン

  16. MicroPythonとは MicroPythonは、オーストラリアのDamien George氏が開発し、2014 年に公開されたpyboardに付属する形で最初のバージョンがリリースさ れました。マイコンで動作するように最適化されたPython 3の処理系 であり、最近ではMicro:bit用のプログラミング言語としても注目され ています。MicroPythonは、パソコンからマイコンや組み込みシステム に簡単にコードを転送できるように、Pythonとの互換性が保たれてい ます。

    マルツホームページより http://select.marutsu.co.jp/list/detail.php?id=733
  17. MicroPythonとCpythonの違い ▪MicroPythonのホームページに記載があります。

  18. M5Stackの購入 ▪国内であれば、「スイッチサイエンス」から購入できます。

  19. M5Stack Community ▪フォーラム内で質問ができます。

  20. M5Stackの環境構築 ▪まずはM5Cloudを試しました。 Arudino MicroPython M5UIFlow M5Cloud オフライン オンライン

  21. M5Stack Communityで質問してみました① ▪現在は、M5Cloudの代わりにM5UIFlowを推奨しているそうです。 When I used M5Could for my M5Stack

    Faces, the IDE shows the comment, "File Syscing...", for a long time. Thus I pressed button A and power button to reset as the IDE mentioned "(If there is no response for a long time, press and hold the button A and press the reset button to enter safe mode and try again)", however, still shows the comment, "File Syscing...". How can I deal this trouble? Should I try another day? We suggest you program FACES with flow.m5stack.com We are developing and promoting this programming platform instead of M5Cloud. Here's the getting started documentation. https://docs.m5stack.com/#/en/quick_start/m5core/m5stack_cor e_get_started_MicroPython
  22. M5Stackの環境構築 ▪次にオフラインを試しました。 Arudino MicroPython M5UIFlow M5Cloud オフライン オンライン

  23. M5Stack Communityで質問してみました② ▪M5UIFlowは独自のファームウェアが必要なようです。 Is it possible to rewrite the firmware

    from for offline to cloud? I rewrote the firmware for cloud with "m5cloud-20180516-v0.4.0.bin". However, the display of M5Stack didn't show anything information such as Wi-Fi setting. And I have heard gggggg sounds from M5Stack. Have you tried the UIFlow Firmware?
  24. M5Stackの環境構築 ▪次にオフラインを試しました。 Arudino MicroPython M5UIFlow M5Cloud オフライン オンライン

  25. M5Burner ▪実行ファイルを実行し、ファームウェアを書き込みます。

  26. M5Burner ▪実行ファイルの処理が終わるとこのような画面になります。

  27. M5UIFlow ▪設定画面で、API keyの入力、言語とデバイスの選択をします。

  28. M5UIFlow ▪開発ができるGUI画面にアクセスできます。

  29. M5UIFlow ▪画面を切り替えるとコードが入力できる画面へ移ります。

  30. M5UIFlow Forum Docs Examples Undo Redo Manager Run

  31. M5UIFlow ▪自己紹介文とFacebookのQRコードを表示させました。

  32. これからやりたいこと ▪今回はできませんでしたが 以下の様な動きをさせたいと考えています。 【パターン1 ボタン単押しによる機能切換え】 ✔ボタンAを押したらQR CodeのJPEGを表示 ✔ボタンBを押したら紹介文を表示 ✔ボタンCを押したら追加情報を表示 【パターン2

    メニュー表示による機能切換え】 ✔ボタンAを押したらQR CodeのJPEGを表示 ✔ボタンBを押したらメニュー画面を表示 ✔ボタンA/Cでセレクトボタン ✔ボタンBを押したら決定 ▶Facebook QR ▶Company QR ▶Sentence 1 ▶Sentence 2 ▶Sentence 3
  33. 大変だったこと ▪デバイスの扱い ▪ファームウェアのバージョン

  34. Thank you for your attention!! Arisa @arinyanm