技術とエンタメと、その他・・・

主に、技術ネタ、エンタメ系のネタを書いていく予定です。また、自分が参加したイベントに関する記事も投稿予定。

技術評論社さんから発売予定の #M5Stack の本で作例パートの一部を書きました( #UIFlow + ネット通信関連)

※ 出版情報の調整が入ることになり、調整で変更されるかもしれない部分の記載は、少し修正しました【2022/1/24】

出版社の方から、「本の章・節に書かれる予定の内容(+ そこから容易に推測できる範囲の内容)は、SNS の投稿・ツイートなど広く見えるところに出しても良い」という話が出たので、ブログ記事を書いてみます。

発売は 3/25 の予定です。今のところは Amazon の書籍情報ページに掲載されている情報は、まだ準備中のところがあるという状況です (いったん調整が入ることになり、リンクが無効化されました)

紙媒体の執筆について

これまで、紙媒体での執筆については、以下に書いたような技術書典に出す技術同人誌を合同で書いたり、出版社さんが出している月刊の技術雑誌で単発・連載の記事を書いたり、ということはやったことがありました。

しかし、今回のように出版社さんから出る技術書を書く、というのは初めて取り組んだ内容になります。

作例を書くことになった経緯

最初の依頼

今回の話は、M5Stack User Group の主催メンバーの方から連絡をいただきました。
(↑書籍情報の調整が入ることになったため、当初の著書名に関わる部分は修正しました)

その際に、以下のような依頼内容を連絡いただきました。

  • 書籍を発行する企画が進んでいて、そこで10ページほど執筆できないか
  • 初心者向けではあるが、Arduino など何らかのデバイスは触ったことがあるくらいのレベル感の方が想定読者
  • 担当分の執筆の方向性は、「ビジュアルプログラミング(UIFlow)を使ったユースケース・開発の話(機能概要、コード、開発方法など)」に加え、例えば「ビジュアルプログラミングを普段使う理由やメリットなど」というような作り方以外の話も含めてほしい

おおよそこのような感じの内容でした。

コロナ禍前にはリアル開催イベントでよくご一緒していたり、SNS に投稿している私の技術コミュニティの活動・開発内容の話を見ていただいていたりして、私がよくやっていることに沿った感じの内容案をいただきました。

上記のやりとりの後に決まったこと

その後は、出版社の方や関係メンバーと Slack でやりとりをしつつ、自分のパートに関してはさらに以下のような方向性となりました。

  • UIFlow は安定版かつ、Web版を使う(※ 安定版を使う話に関しては、ベータ版は新機能をどんどん試せる一方で突然大きな変更が入ったりするので、出版後に早い段階で掲載内容との乖離が生じやすいのが懸念されて、それは避けたいということで)
  • UIFlow 安定版を使うが、ベータ版でも共通で試せる方向性が良い

その流れの中で、「M5Stackデバイスの基本機能を使う + ネット経由で通信をする機能を使う方向を考えていたが、それについて基本的なブロックのみでできる作例にする」という方向を提案して、この流れで進めることとなりました。

【余談】普段扱っている開発環境・言語

ここで少し話がそれるかもですが、プライベートでのコミュニティ活動で扱っている開発環境・言語の話についてなどについて少し書いてみます。

よく、自分の TwitterYouTube のチャンネルに試作したもの・お試しなどの動画をアップしたり、Qiita に記事を書いたりなどしているのに、よく使っているのが「ビジュアルプログラミング」と「JavaScript」になります。

そして、ビジュアルプログラミングに関してはゆるく単独主催のコミュニティをやっていたり、それと別に共同主催という形で IoTLT というコミュニティのスピンオフコミュニティをやっていたり、というのがあったりもします。

直近で、2つ目のほうのコミュニティはイベントを開催予定です(私のツイートをリツイートしてもらっている@1ft_seabass さんと共同主催でやっています)。

おわりに

冒頭に書いた「本の章・節に書かれる予定の内容(+ そこから容易に推測できる範囲の内容)」で書けそうな範囲の情報で、まずはブログを書いてみました。

また追加情報が出た時や、発売されたあたりなどで、また追加の記事を書けたらと思っています。

他の執筆者の方

今のところ、執筆者情報は出てないようにも見えるので(情報発信は OK となってはいるものの)、執筆メンバーでご一緒している方がご自身でツイートされているものを引用する形で、掲載をしてみようと思います。

こちら、Maker Faire のリアル開催の会場でお会いしたことなどもある、ミクミンP/Kazuhiro Sasao さん(@ksasao さん)のツイートです。
(※ いったん書籍情報に調整が入ることになり、当初の Amazon のリンクは無効化されています)

【Advent Calendar 2021】2021年12月に書いたアドベントカレンダー用記事のまとめ(全26記事を19のカレンダーに登録)

はじめに

ここ数年、アドベントカレンダー用に書いている記事の数・登録先のカレンダー数が、過去の自分と比較するとバグり気味な感じですが、今年も似たような結果となりました。この記事は、その振り返りというか、書いた記事のリンク集的な内容となっています。

ちなみに、2019年と2020年にも似たようなまとめ記事を書いたりしていました。

アドベントカレンダーの登録先と過去2年間との比較

登録先

自分が登録したアドベントカレンダーが作成されていた先は、以下の 2つ「Qiita と Adventar」でした(去年・一昨年も同じでした)。

adventar.org f:id:youtoy:20211225011120j:plain

qiita.com f:id:youtoy:20211225011220j:plain

数としては、Adventar 用の登録記事が 4つで、残り 22記事は Qiita 用の登録という結果に。

過去2年間との比較

今回の投稿先のカレンダーをまとめると以下の通りで、全部で 19 のカレンダーに記事を登録していました。 f:id:youtoy:20211225013518p:plain

それに対して、2019年と2020年のは状況は以下のとおりです。 f:id:youtoy:20210502165730p:plain

記事の数では最多ではないですが、登録先カレンダーの数は今回が過去2年を含めた中で最多となりました。

12/25 までにアドベントカレンダー用に書いた記事の一覧

以下、12/25 までに書いた記事の一覧です。ひたすら記事のタイトルと URL をはっていきます。

12/1 toio

●【toio 2021】 #toio の姿勢角(ロール・ピッチ・ヨー)をブラウザ上で可視化(Web Bluetooth API、Smoothie Charts を利用) - Qiita
 https://qiita.com/youtoy/items/9b3b39b3f91b36821305

12/2 M5Stack

●【M5Stack 2021】 #M5Stack Core2 + #UIFlow で音を鳴らすのに手間が少なそうな方法(+ ffmpeg での音声ファイルの処理の話) - Qiita
 https://qiita.com/youtoy/items/57fce216e2f74dff2452

12/3 がじぇるねGR

●【がじぇるねGR 2021】GR-ROSE IoTシステム開発コンテスト向けに作品を作った話 - 技術とエンタメと、その他・・・
 https://yo-to.hatenablog.com/entry/20211203/1638541912

12/4 ベストバイガジェット2021

●【ベストバイガジェット2021】リモートワークやオンラインイベントで大活躍!: AfterShokz の「OpenComm」 - 技術とエンタメと、その他・・・
 https://yo-to.hatenablog.com/entry/20211204/1638547688

12/5 IoTLT

●【IoTLT 2021】 ZIG SIM から送られるデータを p5.js Web Editor上で活用してみる - Qiita
 https://qiita.com/youtoy/items/caca41a68ab3bff6ffa6

12/6 micro:bit

●【micro:bit 2021】 PC と micro:bit を通信させる方法: Node.js・MakeCode でのシンプルなシリアル通信(USBケーブル接続) - Qiita
 https://qiita.com/youtoy/items/889f8ee3a3bd884f5df8

12/7 JavaScript

●【JavaScript 2021】 Googleスプレッドシート を簡単に API化してくれる SSSAPI を JavaScript で扱う - Qiita
 https://qiita.com/youtoy/items/3a0accba1f0ca5cbfd33

12/8 Node.js

●【Node.js 2021】 WAVファイルを Node.js で再生する(Mac で node-wav-player を利用する) - Qiita
 https://qiita.com/youtoy/items/ea270d180d17094807f5

12/9 micro:bit

●【micro:bit 2021(2つ目)】 PC と micro:bit で送受の両方を行う通信: Node.js・MakeCode でのシンプルなシリアル通信2(USBケーブル接続) - Qiita
 https://qiita.com/youtoy/items/136f379b86da54b9f249

12/10 Node.js

●【Node.js 2021(2つ目)】 Node.js での UDPTCP通信をシンプルに試す(2021年12月) - Qiita
 https://qiita.com/youtoy/items/385feead64ff905e9f76

12/11【11日の1つ目】 toio

●【toio 2021(2つ目)】 #toioDo の新バージョンで追加された #toio の姿勢角ブロックを試す - Qiita
 https://qiita.com/youtoy/items/eca7a5202962ce566586

12/11【11日の2つ目】 micro:bit

●【micro:bit 2021(3つ目)】 micro:bit v2.0 と Scratch:「Microbit More v2」を使う(2021年12月版) - Qiita
 https://qiita.com/youtoy/items/56f8bbaf9ee0d689f58d

12/12 p5.js

●【p5.js 2021】Magenta.js の MusicVAE を使った音作りを試す(p5.js Web Editor上で扱う) - Qiita
 https://qiita.com/youtoy/items/2d329cfa9b66386dd6f8

12/13 JavaScript

●【JavaScript 2021(2つ目)】Web Bluetooth API で PLAYBULB candle を扱う(2021年12月版、async/await での実装) - Qiita
 https://qiita.com/youtoy/items/5916c98f935ecfac4cba

12/14 p5.js

●【p5.js 2021(2つ目)】 Leap Motion(leap.js)を p5.js Web Editor上(JavaScript)で扱う - Qiita
 https://qiita.com/youtoy/items/3fa599ed872dfe7ab1da

12/15 Processing

●【Processing 2021】 #p5js で #MediaPipe (JavaScript版)を使った高精度な認識を利用する - Qiita
 https://qiita.com/youtoy/items/70571c7066d41729c2bd

12/16 toio

●【toio 2021(3つ目)】 #toioDo の新バージョンで追加されたコスチュームをチェックしたり衝突検知を試したりなど - Qiita
 https://qiita.com/youtoy/items/dc6ad852236b01cd4f9d

12/17 obniz

●【obniz 2021】 #obniz で複数台の #toio を同時に扱うための試行錯誤と 2台同時制御 - Qiita
 https://qiita.com/youtoy/items/d8772da22c16ca054cde

12/18 ProtoPedia

●【ProtoPedia 2021】 ProtoPedia に今年登録したものを振り返る(登録数 37作品)|豊田 陽介|note
 https://note.com/youtoy/n/naec696a4a639

12/19 CoderDojo

●【CoderDojo 2021】2021年の #CoderDojo でのメンター参加やその他の CoderDojoつながりの活動を振り返る(2021/12/19) - 技術とエンタメと、その他・・・
 https://yo-to.hatenablog.com/entry/20211219/1639889614

12/20 enebular

●【enebular 2021】 enebular editor をMacで試してみる(2021年12月版):ダッシュボードと WebSocket - Qiita
 https://qiita.com/youtoy/items/fa3b9d55cfd8fe6e6ef4

12/21 Node-RED

●【Node-RED 2021】 Node.js との間でシンプルな UDPTCP通信をやってみる - Qiita
 https://qiita.com/youtoy/items/b5c790900c79be26082b

12/22 MAヒーローズ・リーグ

●【MAヒーローズ・リーグ 2021】 2021年の #ヒーローズリーグ との関わり|豊田 陽介|note
 https://note.com/youtoy/n/n4ec7296e36d4

12/23 LINE DC

●【LINE DC 2021】 Azure Functions と SSSAPI(スプレッドシートAPI化)を組み合わせて作る LINE Bot - Qiita  https://qiita.com/youtoy/items/0ad86afa896de9f8c8e3

12/24 Backlog

●【Backlog 2021】 Googleさんの zx で Backlog API を扱う(JavaScript で課題を追加する) - Qiita
 https://qiita.com/youtoy/items/36ea84e09332d4e6815a

12/25 Seeed UG

●【Seeed UG 2021】 micro:bit と Groveモジュールの話(2021年12月) - Qiita
 https://qiita.com/youtoy/items/25f9167f56343492b457

余談

余談1

今年は、11月に Qiita にわりとたくさん記事を書いていて、全部で 23記事ありました。この時も、書いたトピックはわりとばらけていた状況。

f:id:youtoy:20211225014305j:plain

ただし、言語は JavaScript に偏っていて、それは 12月のカレンダー用に書いた記事も同じかもしれないところ...

余談2

あと、アドベントカレンダーの記事で使うデータの集計をするのに、treeコマンドや grepコマンドを使ったりしたことがあったのですが、それをメモしておきたくて、この期間中に書いたカレンダー用でない記事も 1つありました。

Mac で treeコマンドを使った時のメモ(grepコマンドとの組み合わせも) - Qiita
 https://qiita.com/youtoy/items/74d9265972958bf9b0a0

おわりに

とりあえず、2021年の12月25日まででアドベントカレンダー用に書いた記事のまとめを作りました。

あと今朝方以下の記事を見て、アドベントカレンダー関連だけでなく、今年1年のプライベートでの各種活動(LT・セッション登壇、イベント主催、商業雑誌の寄稿、コンテスト応募など)をまとめたいな、ということも思ったりなど。

karaage.hatenadiary.jp

【CoderDojo 2021】2021年の #CoderDojo でのメンター参加やその他の CoderDojoつながりの活動を振り返る(2021/12/19)

この記事は CoderDojo Advent Calendar 2021 の 19日目の記事です。

f:id:youtoy:20211219141031j:plain

はじめに

過去 3年連続で以下の記事を投稿している CoderDojo のアドベントカレンダー

今年も記事を書こうと思います。

CoderDojo関連のメンターとしての活動

昨年に引き続き、今年もコロナ禍での CoderDojo の活動でした。

2021年の参加数・参加した Dojo・初来訪や現地参加について

コロナ禍での活動となった中、まずはメンターとして参加した活動の情報を集計してみました。
CoderDojo関連の活動について、CoderDojoつながりで行った活動を含めると、大きなイベント・ある程度の一定期間続くようなもの等の2〜3時間の Dojo 内のメンター活動以外にもいくつか行ったものがありますが、ここでは 2〜3時間ほどの時間で開催される Dojo でメンター参加したものの振り返りになります。

活動参加数

2021年の1月1日から、12月19日時点までで参加数をカウントすると、「49回」の活動を行っていました。
12ヶ月で単純に割り算すると、1ヶ月に4回以上はメンターをやっていて、さらに 4週間で単純に割り算をすると毎週どこかでメンターをしているという形です。
(実際は、参加してない週もあったり、土日の午前午後の中で 複数の Dojo に行っている時もあります)

上記で参加した Dojo

コロナ禍のため、基本的にはオンラインの Dojo への参加が多いのですが、2021年にメンターで訪れた Dojo をリストにしてみました。
以下、参加した Dojo を参加した時系列順で書いています(複数回参加しているものは、今年 1回目のタイミングをカウント)。

全部で 16 の Dojo にメンター参加させていただいてました。

  • Kodaira
  • 瑞穂
  • 久留米
  • 喜多方
  • 池袋
  • 御茶ノ水
  • 香椎
  • 五反田
  • 瀬戸
  • 福岡
  • 吉祥寺
  • 新座志木
  • 小机
  • 太宰府
  • 春日
  • 伊予

2021年の最初の参加は、元旦 1月1日から以下に参加していました(帰省をしない年末年始だったのもあり)。

月ごとに見てみたら、割とばらつきがあったようでした(そして、12月は DojoCon Japan に参加してたけど、メンター活動はできてなかった月だった)。

参加回数
1月 6回
2月 4回
3月 5回
4月 8回
5月 3回
6月 5回
7月 2回
8月 5回
9月 4回
10月 5回
11月 2回
12月 0回
2021年に初参加だった Dojo

2020年もコロナ禍だったため、オンラインで普段は参加が難しい遠方の Dojo にもメンター参加していましたが、2021年に初来訪だった Dojo もありました。

時系列順で書いていくと、以下が最初で福岡県の久留米の Dojo になります。

その次は、福島県の喜多方の Dojo でした。

その次は、上記の久留米と同じ福岡県にある、香椎の Dojo

そして上記から 3つ目になる福岡県の Dojo

こちらは東京にある吉祥寺の Dojo に初参加だった時の話。

そして、また福岡県になりますが、太宰府Dojo

また福岡県の Dojo が続きますが、こちらは新しくできた春日の Dojo です。
(上記の久留米の Dojo に参加した際、こちらの春日のチャンピオンと初対面でした)

ちなみに、春日の Dojo に関しては、DojoCon Japan のセッションで立ち上げの経緯について等が話されていました。

現地開催だったもの

コロナ禍ではありましたが、上記の参加の中で 4回は現地開催のものに参加していました。

coderdojo-ikebukuro.hatenablog.com

メンター活動以外で CoderDojoつながりのイベント等

メンター参加以外のもので 2021年に参加したイベント等について、CoderDojo関連のもの、また CoderDojo でご一緒する方が多く参加してたもの等もピックアップしてみました(こちら、並びは実施・参加の時系列順で)。

CoderDojo瑞穂の Technovation Girls 2021参加メンバーのメンター

DojoCon Japan 2021 の以下のツイートにある佐原さんのセッションで話されていた「 Technovation Girls 2021」。 そこに参加していたメンバーの、高校生チームのメンターをしていました(主に技術の部分)。

きっかけは、佐原さんが Facebook に投稿していた「画像を使った機械学習の相談をしたい」という話にコメントをして、2月ごろに 1度 Zoom で話をする会が開かれて、という流れでした。
そこから、関係者がやりとりしている Discord に参加して、主に「画像の機械学習」に関する部分と「機械学習を使ったスマホアプリ開発」の部分の技術サポートをする形に。

スマホアプリ開発は Swift による iPhoneアプリ開発になったので、自分が普段扱っていないものでもあり、CoderDojo瀬戸の中谷さんを巻きこませていただきました。
(2021年に CoderDojo瀬戸にメンター参加した中の雑談で、iPhone用アプリを業務外で開発・リリースされた、という話を聞いていたのがきっかけ)

アプリ開発の部分は、特に 3月・4月に、高校生チームの開発担当のメンバーと中谷さん・自分で、Discord・Zoom でやりとりをしていたのがあったりなど。

ちなみに、最終的に自分は関わっていないビジネスプラン作成・動画作成という部分も合わさって、以下の動画にあるような内容ができていました。

www.youtube.com

(動画の中やコメント欄で名前を掲載してくれていて、CoderDojo関係者では上記メンバー以外にも、動画作成関連のメンターだった CoderDojo Owari の上野さんも名前が出ていたりします)

DojoHouse

DojoCon Japan 2021 の中で関連企画がありつつ、以下のツイートなどでも書かれていた「DojoHouse」に、2021年3月開催の第1回から第3回を除いて参加していました。
どの回も Discord の中でボイスチャンネルに入って、ゆるく雑談という感じに。

たしか、上記の Discord に参加した経緯は、2020年の DojoCon Japan の流れだったように思います(2020年はセッション登壇をしつつ、ワークショップ主催・サポーターなども合わせてやっていて、運営スタッフとしても関わっていた形で、その中で聞いたという流れだった気がします)。

子どもプログラミング喫茶主催のイベント 2つ

5月と 10月にそれぞれ、「子どもプログラミングパーク」と「子どもクリエイティブパーク」のスタッフをやりました。

CoderDojo関係のイベントというわけではないですが、CoderDojo のチャンピオン・メンター・ニンジャも、多数スタッフで参加していたものです。
DojoCon Japan 2020・2021 でも利用されていた oVice を使っての開催でした。

子どもプログラミング喫茶の詳細については、以下の公式ページの説明などをご参照ください。

pgmsaloon4kids.github.io

でかドージョー with みんコワ

こちらはスタッフではなく参加者として、というもので、「小平・津山・光(山口県)の 3つの Dojo」が共催していたオンラインでのでかドージョーです。

開催の様子は、以下のレポートに。

coderdojo-hikari.com

でかドージョーについて余談ですが、コロナ禍前には神奈川・埼玉で行われたものにスタッフで参加していたことがありましたが、参加者としてというのはこの時が初でした。

CoderDojo瑞穂の Technovation Girls 2022参加メンバーのメンター

2021年は主に高校生メンバーの技術サポートをしていた Technovation Girls、2022年に向けても CoderDojo瑞穂から参加するメンバーのサポートで関わり始めました。
「Beginner Division」という 8歳から 12歳の枠の参加メンバーの技術的なフォローといったあたりを今のところ行っています。

DojoCon Japan 2021

2020年は、セッション登壇・ワークショップ主催・ワークショップサポーターといった複数の役割で参加していた DojoCon Japan。
2021年は一般参加者としての参加でした。

セッションを聞いたり、oVice上で色々と話をしたり、懇親会に参加したりと、とても楽しい時間を過ごせました。

あとは、懇親会のビストロプログラミングで以下のバトルをやったり(その時作ったものは、こちらのスタジオで共有済み)、「コロナ渦のノウハウパネルディスカッション on oVice」というセッションで、少し話をしたりということがあったりしました。

おわりに

また、2022年も引き続き CoderDojo に関する活動を続けていければと思います!

【ベストバイガジェット2021】リモートワークやオンラインイベントで大活躍!: AfterShokz の「OpenComm」

この記事は 今年のベストバイガジェット Advent Calendar 2021 の 4日目 の記事です。

はじめに

ガジェット好きとしてはカレンダーのテーマを見たら登録せずにはいられず、4年連続で登録しました you(@youtoy)です。
過去3年間は、以下の記事を書きました。

今年のカレンダー の 4日目を担当させていただきます。

今年も過去に引き続き、いろいろとガジェットを購入したのですが、その中でのベストバイガジェット2021。 選んだものは
AfterShokz の OpenComm
です。

f:id:youtoy:20211114210444j:plain

選んだ理由とその背景

選定理由

「OpenComm」を選んだ理由は、コロナ禍でのリモートワークやオンラインイベントでの圧倒的な活躍度合いです。

仕事のオンラインミーティングで利用するシーンも多く、また、プライベートでのオンラインイベント登壇(LT や 15分・20分のセッション登壇など)、その他の多数のイベントでも大活躍でした。

元々、プライベートで関わっている複数の技術コミュニティで良い評判を聞いて気になっていたところ(だけど、ポチるのはどうしようか迷ってた...)、6月のプライムデーで 20% OFF になっていた話を見かけてポチりました。

使ってみて良かったポイントは、前評判でも聞いていた「長時間つけていても疲れにくい」・「電池持ちが良い」という点です。
オンラインで終日で開催されるイベントでもよく使ったのですが、その開催時間中にずっとつけていても疲れにくく 1度も途中で充電切れになることがないです(イベント前に満充電にして利用していて)。

人によって、また設定したボリュームの大きさによっては、むずがゆいような感じがする等ということもあったりするようです(自分の場合は、室内で普通に使うボリュームでは大丈夫で、大きめにすると確かにそのような感じがしてきます)。

その後

AfterShokz の別のデバイス骨伝導ヘッドフォンの「OpenMove」も最近ポチりました。
こちらが、OpenComm と違う点はマイクのないヘッドフォンのみという点です。

耳を塞がず音楽を運動中・散歩中に聞く、というのに良いかなと思って買ってみました。
同じようなことができるものとして、ambie のワイヤレスのものを持っていたりしたのですが、こちらのほうが着脱が楽そうかな、というのもあったりして。

OpenMove は、Amazonブラックフライデーでセール対象になっている、という情報を見かけてポチり、受領できたのが本記事を投稿する数時間前という感じです。
これから使用感など確かめていこうと思っています。

【がじぇるねGR 2021】GR-ROSE IoTシステム開発コンテスト向けに作品を作った話

この記事は 2021年のがじぇるねGR のアドベントカレンダー の 3日目の記事です。

はじめに

この記事では、今年参加した以下のコンテストに関する記事を書こうと思います。

algyan.connpass.com

algyan.connpass.com

コンテストに参加したきっかけ

このコンテストでは、上記 2つの関連イベントが開かれていました。
その 1つ目のイベントの参加枠の中に、【プレゼント枠】という枠が設けられており、以下のセットをゲットできるというものでした。

  • GR-ROSE
  • PMOD HS3001 温湿度センサ (※)
  • PMOD ケーブル
  • 6 x 2 ピンソケット
  • 書籍

f:id:youtoy:20211204003116j:plain

一方で、「プレゼント品のGR-ROSEと、Azureのなんらかの機能を使って、IoT作品を仕立てる」というのも、この【プレゼント枠】に申し込む条件でした(さらに、上記 2つ目のイベントで LT による発表をする話も)。

自分は、GR-ROSE や Azure を使う機会にもなるかな、と思い申し込みました。
この時点で、何を作るかは全く思いつけてなかったのですが...

コンテストに応募した作品の情報

今回のコンテストに応募した作品の詳細は、LT資料の内容をご覧ください。

speakerdeck.com

以下で、いくつか情報をピックアップ書いていきます。

作った仕組みの構成

作った仕組みの、最終的な構成の概要はこのようになります。

f:id:youtoy:20211204003600j:plain

入力の部分は、以下のように「Grove - CO2 & Temperature & Humidity Sensor (SCD30) 」を使っています。
スルーホール用テストワイヤを使ってつなげました(ハンダ付けをせず...)。

このセンサーは、二酸化炭素濃度と温湿度を計測することができるものです。
センサーがつながっている GR-ROSE からは、MQTT を使って値をネットワーク経由で送信、という構成です。

それを 3種類の出力へとつなげています。

M5Stack Core2 との連携

こちらは、二酸化炭素濃度が一定の値を超えると、音や光で教えてくれるというものです。

www.youtube.com

M5Stack Core2 を動作させるプログラムは、ビジュアルプログラミングの UIFlow で作っています。

f:id:youtoy:20211204004154j:plain

MQTTブローカーは、Node.js で書いたプログラムがローカルネットワーク内にある PC で動いていて、そこを介して GR-ROSE と通信する構成にしました。

LINEアプリへの通知

こちらは、別のお知らせの仕組みです(発表では、こちらを先に紹介したので、スライドの記載で 1つ目 となっています)。

f:id:youtoy:20211204004316j:plain

Azure IoT Hub で「Grove - CO2 & Temperature & Humidity Sensor (SCD30) 」の二酸化炭素濃度の測定値を取得し、それを Azure Functions で取得して特定の条件になった時に(二酸化炭素濃度の測定値が特定の値を超えたりした場合に)LINE Notify を使った LINEアプリへの通知を行います。

Azure Functions の部分は Node.js でプログラムを書き、axios を使って HTTPリクエスト(POST)を送ったりしています。

可視化

また、センサーで取得した値の可視化もやってみていました。

f:id:youtoy:20211204004630j:plain

こちらは、先ほどと同様に Azure IoT Hub を使っているのですが、その先が Azure Stream Analytics になり、そこから Power BI につながっています。
とりあえず、グラフでセンサーで取得した値を折れ線で描画する、ということをやってみました。

実装した内容について

実装した内容は自分の Qiita の記事に、複数の記事に分かれていますが書いています。

おわりに

今回のコンテストに参加して、今まで触ったことがなかったデバイス・サービスを使う良い機会になりました。
また、「Azure の何らかのサービスを使う」という条件が、Azure のサービスで IoT に使えるものを探してみる、という動機にもなりました。

その試行錯誤の過程は、コンテストで実装した内容を書いたのと同様に、どんどん記事にしていってました。
発表前に views数を確認してみたら、見ていただいた方がけっこういらっしゃったようで、また今後もやったことをどんどん記事化していこうというモチベーションにもなりました。

f:id:youtoy:20211204004955j:plain