書籍「M5Stack/M5Stickではじめる かんたんプログラミング」を書きました

内容紹介

中身はM5StickC Plusを使ったUIFlow解説本になります。UIFlowメインの本はいままでなかったと思いますので、興味のあるひとは読んでいただければと思います。ターゲットはプログラム経験の無い中高生向けになっていますが、M5Stackファンの方も楽しめる内容になっています。

注意事項

出版されてからM5Burnerのバージョンが変更になっています。2系から3系に更新されたのですが、自動更新されません。2系を利用している人は3系を別途インストールする必要があります。

上記が2系のM5Burnerになります。UIFlowは古い1.98までしかありません。

上記が3系のM5Burnerになります。UIFlowは1.10.5.1と現在の最新まであります。

上記の記事に、書籍と現在の違いをまとめてあるので参考にしてください。

Chapter1 プログラムの基本を理解しよう

プログラム初学者向けの章になります。プログラムとはどのようなものかから解説しています。私はプログラムを文系として捉えていますので、母国語で説明できないものはプログラムもできないと思っています。プログラミングはコンピューターに教えるために特化した言語という説明になっています。

また、数学は多くの場合必要ではないが、ゲームを作るときにはできたほうがいいよと実例を出しながら解説をしています。2進数の計算方法とか、ちょっと他の本とは違う私なりの考えを書かせてもらいました。

Chapter2 M5StackとUIFlowの基本を知ろう

M5Stackの説明から、UIFlowを利用できるボードの紹介をしています。他の書籍に比べるとページ数を割り振って解説をしているはずです。ボードの選び方や、注意点なども記載しています。この本を執筆中にStampなどが販売されたり、M5StickCが販売終了になったりといろいろ大変でした。。。

たまたま、M5StickC Plusを題材にしていたので助かったのですが、M5StickCで本を書いていたらかなりの書き直しになるところでした。

Chapter3 プログラミングの環境を作ろう

この章も他の書籍より丁寧に解説しています。結構がんばってねという感じの書籍が多いのですが、この書籍は画面キャプチャ付きのステップバイステップなのでわかりやすいと思います。ただし、こちらも執筆中に2.6系のボードが発売されて、大変でした。

必要な機材の説明からUSBドライバーの入れ方、M5Burnerを使ったUIFlowの転送の仕方とトラブルシューティングが書いてあります。

Chapter4 UIFlowでのプログラミングの基本をやってみよう

基本的なUIFlowを使ったプログラム方法を解説しています。画面操作やタイマー、ボタンなどM5StickC Plusの基本的な操作が可能になります。

内蔵ブザーで音を出しつつ、関数まで踏み込んで書いてあります。

Chapter5 グラフィック機能を使ってみよう

基本的なグラフィックに関するクリアと塗りつぶしの違いから、全グラフィック描画ブロックの解説をしています。そして、加速度センサーなどを実際に画面に出しながら実用的なグラフィック描画を学んでいきます。

Chapter6 ユニットを使って機能を拡張してみよう

ここものすごく力を入れたのですが、思ったよりページ数が少ないです。40ページ強なのでユニットカタログとしても利用できると思います。

最初はユニットごとに改ページが入ると思っていたのですが、ギチギチに30種類以上のユニットの使い方を詰め込んであります。写真撮影が一番たいへんだった章となります。

Chapter7 通信をやってみよう

天気予報をインターネットから取得して、JSONのパースを行ったり。シリアルデバッグの方法を書いていたりと少し実践的な内容です。天気予報のパースはちょっとむずかしい内容があるので、同じ内容のカスタムブロックの使い方なども解説してあります。

Ambientを利用させてもらい、センサーデータをアップデートする方法をサインアップから丁寧に解説しています。グラフの設定方法まで書いてある本はほとんどないはず!

その他ESP-NOW使った端末間通信と、リモコンを使ったブラウザからの操作も解説しています。

Chapter8 応用的な機能を知ろう

最後の章はプラスアルファの使い方を解説しています。ダウンロードモードに間違って入った場合に戻し方や、トラブルシューティング。複数のユニットを接続するハブの紹介や、基礎的なロジックを再度復習したりしています。

最後にUIFlow以外の紹介と、次にどのような勉強をすればいいのかを書いてみました。

本の購入

Amazonのページは上記になります。

公式サイトは上記になります。

このページのトップにある画像が実際の表紙なのですが、まだAmazonなどは仮画像のままになっているようです。

本の紹介記事

上記にて紹介いただきました。ありがとうございます。

ちなみにM5Stackのユニットコレクションですが、現在はこんな感じの収納になっています。ユニットだけで1箱あって、M5Stack全体で3箱ちょっとあります。。。

昔はMDケースに入れていたのですが、箱が増えすぎたために大きい箱に移動しました。ただM5StickCメインに触ってきたのでモジュールは少なくって、ユニット中心なので持っているものは少し偏っています。

見本誌届きました

届いたのは8冊でした。コミックとかだともう少し多いのを聞いたことがあるんですが、技術書だと少ないみたいですね。

中身はこんな漢字で画像中心にステップバイステップで解説文章が並んでいます。すこし踏み込んだ内容の解説をするようにしています。

さいごに

非常に貴重な経験でした。機会をくださった担当者と編集者の方に感謝です。この本は去年の春ごろに声をかけていただき、7月ぐらいから正式にスタートして年内を目指していたのですが、完成間近で年末は出版社側で他の本の校正も溜まっていたので年越し。

年始そうそう完成の予定でしたが担当者さんが急遽入院をして、出版が2ヶ月ぐらい遅れるトラブルがありましたがなんとか完成しました。

ちなみにタイトルはAmazonに登録されたのをみてはじめて知りました。表紙とかタイトルは担当の人に任せていたのでそんなもんですよね。個人的にはM5Stickという表記には違和感があります。。。

コメント

  1. たーじー より:

    貴「M5Stack・・」購入しました。UIFlowのサンプルが沢山あって実行が楽しみです。
    M5StickはWeb版UIFlowに容易に接続して進めることが出来そうです。   一方
    M5Stackはローカル・アクセス・ポイントM5-88A0に接続してもブラウザにうまくアクセスすることが出来ません。
    私のM5StackはUIFlow DesktopのUSBでしか接続した経験がありません。
    M5Stack(GRAY)のUIFlowはV1.9.8です。
    UIFlowのM5Stackに対する使用法に関しアドバイスをよろしくお願いいたします。

    • たなかまさゆき より:

      購入ありがとうございます
      M5StickCとM5Stack GrayはUIFlowを使う限りはほぼ同じように扱えるはずです

      通常のUIFlowはインターネットに接続できる必要があり、MQTT(TCP/1883)の利用が許可されている必要があります。明示的にブロックしていない限り大丈夫なのですが、学校とかの場合にはブロックしていることがあるようです。

      https://github.com/akita11/uiflow_checker

      上記でチェックするツールもありました。

      UIFlow DesktopでのUSB接続でも、ほぼ同じことができると思います。ただし、若干バージョンが古いので最新の機能などは使えないことがあります。

  2. たーじー より:

    先日M5StackのUIFlowに関して質問をした「たーじー」です。
    M5Stack(GRAY)のUIFlowはVER1.9.8ですが。M5BurnerのConfigurationでは
    COM.Xをfalseに設定しているのですが、InternetモードではWait COM.X
    状態でUIFlowに接続することは出来ません。
    M5StackでUIFlowを使用する簡単な方法に関してアドバイスをよろしくお願
    い致します。

  3. 西島 正 より:

    回答を頂いていることに気づかずメールを再送してしまいました。
    しかしブラウザ版UIFlowでM5Stickは即接続可能ですが。M5Stackの
    InternetモードはWait COM.XとなってUIFlowが接続できません。
    またUIFlow CheckerをDownloadすると警告が発生しました。
    M5Stick PlusではUIFlowが使用できるのでMQTTは許可されているので
    問題はないと考えて良いのではないでしょうか?
    お手数をおかけして申し訳ありません。

    • たなかまさゆき より:

      https://docs.m5stack.com/en/download

      ひとつ気になるテントしてはM5Burnerのバージョンが3にアップしています
      2からは自動アップデートできないので、新しくダウンロードし直す必要があります
      そして2系だと古いUIFlowしかダウンロードできません