「Microsoft」タグアーカイブ

【PC & Gadget】WIO NODE + AZURE LOGIC APPSでお手軽IOT【データ取得編】

このエントリーは、このエントリーの関連です。

【車DIY】車のエアコンが効かない!!!!!(2)

さて、IoTしてますか?
Office365してますか?
SharePointしてますか?

と、煽りながらのスタートですが、いずれのカテゴリーにしてもそれほど高度な内容ではないので、玄人諸氏はそっとタブの「閉じる」ボタンをクリックがよろしです。

今回は、ずいぶん前にエントリーした本記事の続編とも関連記事とも言うべき内容です。

Wio node + Azure Logic Appsでお手軽IoT【Wio node初期設定編】

以前のエントリーでは、Wio nodeのセットアップについて解説しましたが、本エントリーではセットアップ後、データ取得ができるようになったIoTエッジ(Wio node)からデータを取得し、可視化していく方法を記載しています。

ざっくりいうとこんな感じですね。

  1. Azure Logic appsを利用可能にする。(※1)
  2. Azure Logic apps からWio nodeのAPIにアクセスして、現在の値を取得する
  3. 取得した値をSharePoint Onlineの任意のリストに格納する

※1:Office365のFlowでも可能ですが、今回の要件の場合Flowでは実現できなかったため、Logic  appsを使用しています。(後述)

うーんむ、超簡単。
では実際やってみましょう。

IoTエッジ(Wio node)からの値を取得する

最近IoT関連のデバイスで特にお気に入りなのが、SeeedのWio nodeです。MFTでお手伝いしたからとかそういう政治的な忖度は全くなく、純粋に圧倒的に使いやすいからです。

パッケージを開けて、電源を投入してセットアップすれば、10分後にはWio nodeのセンサに接続されたデータを利用したり、接続された機器を制御できます。
しかもお値段僅か1000円(Wio nodeのみで)。

Wio nodeからのデータ取得(機器制御)は、煩わしいコーディングをすることなく、Seeed社が提供するサーバーに用意されたAPIに、トークンを付与して呼び出すだけ。

反対に、呼び出す頻度やタイミング、呼び出して取得した後のデータの操作はこちら側で用意する必要がありますが、一般的なソフトウェアエンジニアにとって、不慣れなハードウェア操作の煩わしさがなくなるだけでずいぶんと敷居が下がります。

では実際に、値を取得してみましょう。

Microsoft Azure Logic appsから取得する

Micrsoft Azureの利用方法、Logic Appsのセットアップ方法はここでは割愛しますが、要望が多ければ別にエントリー作成します。

Logic Appsがセットアップされて、Logic Apps デザイナー(編集画面)が表示されている状態からWio nodeの値を取得してみます。

2018-08-29_09h07_40

Logic Appsの初期画面から、「一般的なトリガーで開始する」にあるサンプルトリガー「繰り返し」を選択します。

2018-08-29_09h09_26

すると編集画面に遷移します。

2018-08-29_09h14_56

または新規に作成し、トリガーを「スケジュール」で検索して選択します。

2018-08-29_09h16_21

全く同じ機能なのに、見出しが違うものが存在します・・・。
一応どっちでも動作することを確認しています。

Wio APIにリクエストを送る

2018-08-29_09h45_09

Wio APIから情報を取得するために、新しいステップを追加し「HTTP」アクションを選択します。

2018-08-29_09h45_32

「HTTP」にも数種ありますが、シンプルな「HTTP(リクエスト)」を選択。

2018-08-29_09h46_57

いろいろなパラメタが並んでいますが、Wio APIの場合は

  • 方法
  • URL

の二項目だけを入力すればOKです。
方法は「GET」を選択し、URLにはWio APIで表示されるURLを入力します。

2018-08-29_09h59_28

この画面ですね。
(この画面そのものは、前回の記事を参考にアプリから参照してください。)

2018-08-29_09h49_01

最後に、必須ではありませんが該当タスクの名前を変更します。
今回は一つだけなので悩まないんですが、取得するセンサーの数が増えるとホントに困ることになります。

2018-08-29_09h50_07

「Wio nodeからの温度の取得 001」にしました。
こんな感じで、どのセンサーの値からかわかるようにするとよいでしょう。数字で管理も実はやめた方がいいですが。

これで「HTTP」のタスク内での、Wio nodeからの値の取得まではOKです。
ここまでの流れでWio APIに値取得のためのリクエストを投げ、JSONで値が返ってくるところまでが完了です。

JSONを解析する

2018-08-29_09h48_12

続いての処理。
アクションの追加を行い、「JSON」で検索を行うと、「JSONの操作」というアクションが見つかります。
クリックして追加すると

  • コンテンツ
  • スキーマ

の項目が現れます。

2018-08-30_18h28_36

コンテンツは、入力欄をクリックすると現れる「動的なコンテンツの追加」から展開されるダイアログから入力します。

2018-08-29_09h51_34

「Wio nodeからの温度の取得 001」というグループから、「本文」を選択します。
この本文が実はJSONなんですが、それを解析するということですね。

続いて、どのように解析するかを指示してやります。
「スキーマ」に受け取ったJSONのスキーマを設定してやりますが、0からコード書くのはめんどうなので、「スキーマ」入力欄の下にある

「サンプルのペイロードを解析してスキーマを生成する」

を利用します。

2018-08-29_09h59_28

Wio APIのWeb画面には、実際にリクエストを送ってテストする機能まで備わっているので、遠慮なく利用します。
画面上の「GET」ボタンを押すと、実際に接続されたWio nodeから取得した値が表示されます。
(この画面そのものは、前回の記事を参考にアプリから参照してください。)

上手だと下の赤枠内、「Response:」の下ですね。
これをコピーして

2018-08-29_10h01_19

先ほどの「サンプルのペイロードを解析してスキーマを生成する」をクリックして開いたダイアログに張り付け、「完了」ボタンをクリックします。

2018-08-29_10h03_22

すると、「スキーマ」欄に解析されたJSONのスキーマが読みだされます。
うーんむ、超便利。

が、一つここで問題が。
読み取ったセンサーの値によっては、型の判定がうまくいかない場合があるので、一度テストしてみてうまく取得できない場合、肩を変更してやる必要があります。

今回の場合、自動で生成したスキーマでの型は「integer」でしたが、実際は型指定のエラーが発生したため「number」に変更しています。

image

実際のエラー

2018-08-29_10h04_28

型を「number」に変更

これで、リクエスト→値取得までができたことになります。
次以降のステップで、任意のWebサービスなりアクションなりを利用してデータを利用していく形となりますが、今回はOffice365のSharePointで値を収集してみました。

なんというか、使い慣れていて楽なんですよね。

SharePointに値を格納する

SharePoint上には、すでにカスタムリストで「温度測定実験」というデータ格納先を作ってあります。

image

ここにLogic Appsから接続し、値を格納していきます。

2018-08-29_10h09_11

追加したステップで「SharePoint」アクションを検索し、リストから「項目の作成」を選択します。

2018-08-29_10h10_08

「項目の作成」アクションでは、接続先のSharePointのサイトアドレスを求められます。
またサインイン状態にない場合、サインインを求められます。
うまく接続できると、リストの一覧などが表示されるため、該当するリストを選択します。

リストを選択すると、リストに含まれる変更可能な要素が入力欄として表示されるため、値を設定してきます。

今回の場合

  • タイトル
  • 温度
  • 取得時間

が要入力項目です。

2018-08-29_10h07_26

タイトルはとりあえず何でもいいので、今回は「測定値」としました。
次の「温度」」が肝心なのですが、その他のアクションと同じように「動的なコンテンツの追加」から展開されるダイアログから入力します。

2018-08-29_20h41_06

基本的にはこれでOK

2018-08-29_10h22_41

最後にステップ全体を「保存」して終了です。

二つ隣にある「実行」をクリックして、エラーが無いか確認しましょう。うまく動作すれば、SharePointに値が登録されていくはずです。

image

ということで、うまく登録されていますね。

今回のネタ元のエントリーでは、ここからExcel出力してグラフ化しました。

Office365 Flowからの場合

Office365のFlowからの場合でも、大きな手順は変わりません。
ほとんどLogic Appsと同じ感覚で取得できますが、一点だけ異なる点が。

2018-08-29_09h31_39

新たなフローを作成

2018-08-29_09h32_37

イチから作成

2018-08-29_09h33_09 2018-08-29_09h33_35

スケジュールのトリガーを選択

2018-08-29_09h17_33

ここで、10秒ごとのトリガー作成を試みたところ、契約しているプランではこのタイミングの設定はできないとのこと。
私が契約しているのはBusiness Premium のため、E3などならできるかもしれません。

E3で契約しているテナントお持ちの方、誰か試してみてください。

2018-08-29_09h35_10

本当はOffice365で完結させたかったのですが、上記の理由でやむを得ずLogic Appsでの対応となったわけです。
Flowの場合、最低60秒=1分から可能のようです。

ということで終了です。
ちゃちゃっと書くつもりがずいぶんと長くなってしまいました。

そのうち続編書きます。

【PC & Gadget】PowerBI 勉強会 #8に参加してきました。

今日はPowerBI勉強会の日ということで、前日入りして関東界隈の人と親睦含めながら、PowerBIのお勉強をしてきました。

PowerBIとは?て方はこちらをご覧ください。
「PowerBIとは」
https://powerbi.microsoft.com/ja-jp/what-is-power-bi/

今回8回目の開催になりますが、毎回募集開始と同時に100席が瞬殺される人気イベント/コミュニティです。

私はというと、サポート枠(SNS/ブログ)での参加です。
名古屋の運営にもちょっとだけ関わっていたりします。

PowerBI 名古屋勉強会のご紹介と、名古屋のオープンデータを使った名古屋の紹介

さて、今回のPowerBI勉強会も内容盛りだくさん。
以下、セッションやLTなど勉強会の模様を可能な限りお伝えしたいと思います。

PowerBI勉強会を立ち上げたかがたさん

まずはかがたさんからのご挨拶。

WIN_20180602_13_02_53_Pro

PowerBIとはなんぞや?周辺のテクノロジーや製品との連携や、覚えておくべき技術などを説明をしていただきます。
WIN_20180602_13_04_00_Pro

WIN_20180602_13_05_15_Pro

WIN_20180602_13_08_39_Pro

本日の参加者に関する情報を即取得して表示するという、PowerBIらしいデモを交えた前説。
ConnpassのAPI経由で参加者に関するデータを取得して、リアルタイムに更新します・・・ってアレ?w

気を取り直してPowerBIの重要な役割とはなんでしょうか。

WIN_20180602_13_11_57_Pro
1.ビジュアライズ
WIN_20180602_13_12_41_Pro
2 .共有

重要なのは、ビジュアライズされたものを、共有するということ。
むしろ、共有し、理解を深めるためのビジュアライズと言ってもいいのではないでしょうか。
手段の目的化ってよく揶揄されますが、重要ですね。

PowerBIのあらましをかがたさんから説明いただいた後、セッションが始まります。

「セッション内容は参加者の皆様次第!Power BIアンケートでネタ決め!」

小林寿さん

データサイエンティスト(?)の小林さんのセッションです。
なんと、セッション内容を当日冒頭のアンケートから決めてしまおうという野心的な取り組み。

WIN_20180602_13_17_33_Pro

準備の様子が伝わってきます。

データ収集から可視化、分析、判断のスピード化が期待される昨今、とてもためになります。

参加者の皆様によりアンケートから決まったテーマは「データアナリストが語るストーリーテリングとビジュアルの話」。

WIN_20180602_13_26_06_Pro

ストーリーテリングとは、印象的な体験談などの物語を利用して印象付ける手法。
抽象的な話より、具体的な話の方が理解されやすいですね。

WIN_20180602_13_29_49_Pro

さらにデータストーリーテリングとは、具体的なデータを用いて、強く印象付ける手法。

であるから、単なる表データではなく、まずは視覚的にしてわかりやすくすることが大切ですよということのようです。
そこでPowerBIですよ!

その他のポイントとして、以下のようなことが説明されました。
・グラフを先に選ぶのではなく、データに適したグラフを選択しよう
・ビジュアルづくりは5W1Hでしよう
・BIのレポートと普通のレポートの違いを理解しよう
・相手の目線にたって設計しよう

最後に、PowerBIレポートを作るときに気を付けるべきところをまとめられていました。

WIN_20180602_13_48_17_Pro

ところが・・・

せっかくアンケートとって人気コンテンツのセッション始めたのにここで時間が余ってしまうハプニング。

4つのうち2番目にアンケート結果の多かったDAXのコンテンツも発表されていました。

WIN_20180602_13_50_38_Pro

DAXについては割愛しますが、詳しくは下の公開資料をご覧ください!

アンケートから話をいくつも展開する小林さんの底力に脱帽です。(ネタを用意していたなかったわけではなく、4つ用意していたわけなので!)
こういう巧妙な(大胆な?)仕掛けを勉強会に取り入れると、勉強会も楽しくなるし記憶に残るしでいいことずくめですね。

配布資料

「PowerBI + Common Data Service for Analytics + Business Aplication Platfrom 概要」

マイクロソフト/吉田大貴さん

WIN_20180602_14_15_05_Pro

WIN_20180602_14_14_41_Pro

吉田大貴さんのセッションは、大きく分けて三つ、
・PowerBI
・Business Application Platfrom
・Common Data Services
を利用/組み合わせしたアプリ開発とデータ分析について。

まずはアプリの開発環境の進化について
Business Application Platfrom

WIN_20180602_14_18_22_Pro

PowerBI、PowerApps、MicrosoftFlowのような、ノンコーディングでアプリ開発ができる環境が準備されたことで、コードを書けない人でも手軽に本格的なアプリ開発ができるような世界がもうそこに来ています。ホントそうなんですよ!

実際にデモンストレーション。

WIN_20180602_14_26_00_Pro

会社の受付などに設置する、受付代行アプリのデモンストレーション。

WIN_20180602_14_26_29_Pro

アプリはPowerAppsで、データはAzure Blob Storage、Common Data Service、実際の処理はMicrosoft Flowで実現します。
FaceAPI周りの処理でややコード記述が必要ですが、吉田さんの場合1時間ほどで完成するとか。
(うーん、私だと3日はかかるなこりゃ・・・)

WIN_20180602_14_28_45_Pro

これまで多くの人工(にんく)を集めて開発していたアプリケーションを、APIやWebサービス、データストレージの組み合わせで短期間で作れてしまう、ニーズに即応できる環境が驚くほど安価に手に入るんですね。

この事実、なかなかまだエンジニア以外に知られていないのではないかと思います。むしろ非エンジニアに利用してほしいんですが。

今後も要注目なサービス群です!

Common Data Services for Analytics

WIN_20180602_14_41_09_Pro

自分の期待も入れてまとめると・・・「データ分析を驚くほど容易にしてくれるツールとしての機能を含むCDS」というお話だったかと思います。
(思います?!ついていけてないのかよw)

ここでもデモがありましたが、残念ながら実際にリアルタイムで動くデモはタイミングが悪くご用意できなかった様子。スクショで利用方法についてのデモが行われました。

DynamicsやSalesforceといった元々は全く異なるスキーマ、環境にお置かれていたデータが、CDSの共通のスキーマに取り込まれるため、違うデータソースでも統一したビジュアルでのデータの可視化が可能になる。

これはすごいな~。

さらにPowerBi Insights Appsは、その技術を応用してPowerBIを利用した際に、驚くほど容易にデータ分析をしてくれるコンポーネント?サービス?ツール?
データアナリストがいなくても、先に挙げたような一般的なWebサービスであれば自動的に最適なデータを視覚化してくれるというシロモノ。
どんどん便利になりますね。

結構吉田さんが飛ばして説明されたため、ベースとなるテクノロジに対する私の理解が追いついていないところもありうまくまとめきれていません!ゴメンナサイ!
是非是非会場に足を運んでいただいて、直接質問攻めにして差し上げてください!

総合的に、私がいつも口酸っぱくして言う、ユーザー企業でもちょっと(だいぶ)頑張れば、アプリ構築やデータ分析ができてしまうので、ぜひやりましょうと。
毎度SIerやベンダーに高いお金を払ってシステム構築したりしなくてもよくなる世界がどんどん近づいているということですね。

やっと時代が私に追い付いてきた!!!!(ゴメンナサイもう言いません)

「Power BI社内導入まで ~Dynamics NAVと連携~」

クララオンライン/内田さんのセッション

WIN_20180602_15_40_06_Pro

個人的にとても好きなジャンルのセッション。
勉強会って最新の事例やテクノロジー紹介が多いんですが、実は参加者の方も多く求めているんじゃないかと思うのが「事例紹介」なんですよね。

WIN_20180602_15_40_23_Pro

実際営業なんかでお客様先に訪れても、「できることの説明」するよりも「実際あった例」を説明する方がずっと理解が早かったり、求められたりします。(その例が紹介先にハマればなんですが。)

今回はクララオンラインさんへの導入事例をもとに、実際に行ったことなどを紹介されていました。

メインのデータ取得元は最近導入されたERPのDynamics NAV。
PowerBI導入のきっかけは、NAV導入で満足してしまって、データの活用/可視化ができていなかったこと。

また、導入しやすい価格体系やライセンス体系だったことも大きかったようです。

ただし簡単にはいかなかった模様。
(NAVがオンプレなので、クラウドからのデータ接続ができない!など)

WIN_20180602_15_48_15_Pro

それをDynamics NAVに用意されているODataでクリア。
PowerBIのOdataフィードを利用してNAVのデータを取得。
ところがデータ取得が遅い・・・300MBのデータ取得に2時間!

WIN_20180602_15_50_50_Pro

解決策として以下の対応を実施。
・並列読み込み
・セッション上限数の確認
・データのフィルタリング(Odataでのデータ取得時に)

取得速度の問題は概ね解決するもまだまだ効率化の観点で満足せず、次は共有と更新の自働化。
しかし自働化でも困難が。
そんな自働化で引っかかったところでPowrBI王子の救いの手が!

WIN_20180602_15_53_34_Pro

まさにドンピシャなコンテンツ。

WIN_20180602_15_55_19_Pro

事なきを得て、うまくPowerBIを利用したビジュアライズ化を達成できたようです。

導入の結果どうなったのか

・レポート作成や分析に時間がかかっていた
→PowerBIがやってくれる!データ分析に集中できる!
・情報共有ポータルを作成するのにコストがかかっていた
→誰でも便利なツールが作成できるようになった!
・Excelでの共有は、データの新規性、共通性に疑問
→データの一元性が保たれているので、心配無用!
・別の切り口でのデータ分析もしたいが、修正に手間
→PowerBIは自由度が高いため(簡単に変更できるので)
それぞれの部門・部署の自由な視点での分析ができるようになった!

導入のステップについては

ノリが合う人を集めて、勉強会を開催したそう。
ネガティブな人がいるとテンションが下がるので、極力集めないように!とのこと。わかります!

などなど、実際の導入にかかる不安やステップを実例に沿って紹介していただいていました。

個人的には導入の結果にある、高度なビジュアライズを容易にできるため、わざわざ作りこみにコストや時間をかけずにできるところかと思います。

やっと時代が私に追い付いてきた!!!!(ゴメンナサイもう言いません)

 

「グラフ構造のデータモデルをPower BIで可視化してみた」

CData Sotware Japan の桑島さんのセッション

WIN_20180602_16_04_41_Pro

WIN_20180602_16_04_47_Pro
タイトルと

WIN_20180602_16_06_49_Pro
アジェンダ。

まずはグラフ(Graph)とは?ってところから。

WIN_20180602_16_07_49_Pro

日本でなんとなく「グラフ型」がわかりにくいのは解釈が違うからだ!と、モヤついていた方にはありがたい資料。

WIN_20180602_16_09_27_Pro

この図がグラフ型を表すのもっとも最適なもの。

WIN_20180602_16_11_21_Pro

ここでMicrosoftのGraph APIが登場。
これまではRDBでも実現できていると思うんですが、こういうRDBでも実現できそうな構造も、Graph型で再構成して効率化できるという好例なんでしょうか。まだまだ自分の勉強が足りないなぁ。

そして、実際にRDBをGraphっぽく表現する方向へ。

WIN_20180602_16_12_58_Pro

RDBでGraphを表すw
これはすごい・・・想像はするけど実際はやろうと思えないです・・・暇なんですか?(誉め言葉)
さらには、Graph向けのクエリーをRDBのクエリーに置き換えて表現。
これは、Graph型がなぜ今必要とされているか再認識させられる、とても価値のあるアプローチだと思います。ただただ関心。

ここまでが序章。

ここから実際にツール、データ、サービスのリレーションをPowerBIで表現するために調整していきます。

WIN_20180602_16_20_30_Pro

紆余曲折を経て、こんなモデルに!
(経過を見たい方は、是非勉強会にご参加を!)

グラフ型データモデルは新しめのデータモデルですが、これまで特にグラフ型が最適だと思われるようなデータの設計をしてこなかったので、深い理解を得られていなかったってのが正直なところです。

もしかしたらあったかもしれないけど気づけていなかった?

今回は、可視化のために利用するという観点からのお話の組み立ててで、技術紹介とはまた違う形でグラフ型データモデルを理解できたように思います。(そっちかよ)

ももももちろんPowerBIによる可視化についてもとても興味深い内容でしたよ!

というのも、可視化するためのデータソースって基本的に行列で構成されたデータが基本なんですよね。

で、そもそもなんでそんなことを?(さっきの「暇なんですか?」の真意)と思ったら、なるほどCDataさんの接続できるサービスやデータを可視化したり、情報整理するのに必要なんですね!
それはモチベーション高いです。

今回技術的に一番腹落ちが良かったセッションでした。
あとで桑島さんに根掘り葉掘り聞いてみよう。

配布資料

さらにサンプルファイルも公開されています!

「ディスカッション」

Power BI 王子こと、清水優吾さんのセッション

WIN_20180602_17_06_55_Pro

WIN_20180602_17_11_07_Pro

勉強会ではあまり見かけないディスカッション形式!

WIN_20180602_17_07_11_Pro

まずは山手線から始まります。
どんな話かなーと思ったら、簡単なデータも見せ方次第でかっこよく見えるよ!というプレゼンテーション指南!確かに!

そこからは、質問者さんからの質問にPowerBI王子とかがたさん、山田さん、小林さんなどサポーターの方々で回答していくスタイルに。

なかなか質問も出にくい国内の勉強会としては珍しくみなさん活発に質問が飛び交い、大変興味深い内容でした。

個々の細かい内容は割愛しますが、実際の事例の紹介や、本来そこってこだわるべきじゃないよね?というようなアドバイス的なもの、普段のセッションではなかなか聞けない裏話もあり、これまた他のセッションに勝るとも劣らぬ良コンテンツでした。

これは会場に来ないと絶対に損!
なぜなら資料の共有がないから!

次回のPowerBI勉強会の申し込み開始時間は正座して待ちましょう。

LT

LTもなかなかに盛り上がりました。
以下の三名の方のLT。

佐々木さん

WIN_20180602_15_12_34_Pro

データの前処理について。
Excelでダメなデータをどう直し有効利用するかという非常に有益なLT。
神がかり的なExcel操作が印象的でした。

資料も公開されていますよ!

井谷さん

WIN_20180602_15_18_23_Pro WIN_20180602_15_18_34_Pro

可視化系は優秀なPowerBIに任せよう。
Google Data Studioの比較など。
ややデータソースの扱いでGoogleは不便らしい。
その点、PowerBIはデータソースの扱いでかなり使いやすいらしい。

データ共有だけでなくデータ探索でも使えるよ!

岩下さん

WIN_20180602_15_26_00_Pro

・PowerBIは非常に優れたツールだが、フォントサイズの限界がある!(40ポイント)
・では、そのフォントサイズの限界を超えるためにどうするのか
・カスタムビジュアルにInfographic Designerを利用する。
・Infographic Designerなら、限界を超えて、データの向こう側を見ることが可能に!

PowerBIのビジュアライズを強力に補完するお話でした。

さいごに

今回も刺激的な内容がたくさんで大変参考になる勉強会でした。

ただただPowerBIの勉強をするということだけではなく、セッションの構成方法や勉強会そのものをよりよくしていくための手法など、とても参考になりました。

次回の東京開催は未定ですが、名古屋での開催は7月にってことで予定されています。

「Power BI 勉強会@名古屋支部 #2」
https://powerbi.connpass.com/event/90323/

私もフォローしておりますので、名古屋の方はチェックしていてください!

おまけ

私がお手伝いするSharePointの勉強会、JPSPS SharePoint勉強会の第28回開催が来る6月9日(土)、13:00~名古屋/伏見のSCSK様であります。

「[名古屋]Japan SharePoint Group 勉強会 #28」
https://jpsps.doorkeeper.jp/events/74326

まだお席はありますので、名古屋方面の方、また名古屋方面に出張されるかた、ご参加お待ちしております!

Wio node + Azure Logic Appsでお手軽IoT【Wio node初期設定編】

こんにちわ。

先日とうとうインフルBを被弾してしまい、一週間ほど臥せっておりました。この季節ホントいろいろ萎えます。早く夏来ないかな。

さて、そんな冬に差し掛かる昨年秋のころ、SeeedさんからWio LTEという面白いプロダクトのハンズオンが企画され一瞬沸き立ったのですが、その時はそれほどLTEの必要性もなく、またLTEモジュール搭載のせいもあってかややお高めの値段設定もあってスルーしておりました。

が、実はその裏に自分にとってとても要件にフィットしやすいデバイスがすでにラインナップあったことを先日のHack-Chu2018の際に知りました。それがWio node。
巷ではすでに試してみた記事がたくさんあり、ネタ的には今更感がありますが、個人的にちょうどWio nodeの仕様にピタリくる要件があり、あーこれは一度試してみないと!

ってことで試してみました。

Azure 各種サービスとWio nodeでPCを物理制御したい

今回は明確に用途が決まっており、事務所に設置してある特殊用途PC(謎)の・・・

  • 状態監視
  • インターネット経由の電源制御

が目的です。
このPCが結構めんどくさくて、常時動いていてほしいんだけどそこそこの負荷で動いているので時々困ったことにハングアップするという曲者。
ハングアップ状態を検知したうえで、リモート(TeamViewerなりリモデ)での復旧が困難と判断されたときに、電源を強制遮断し再起動するという荒業を担ってもらいます。

構成図はこんな感じ。

matome

AzureのLogicAppsを中心に、いろいろと都合のいいサービスにつなげている状態です。
通常自分が見るUIは、監視用にPowerBIのリポート、緊急時に通知が来たBot経由で電源制御を行うといった感じです。

まずは図の緑枠のWio node単体の動作テストまで。
最終的には、温度センサーからの取得データをAzure上に蓄積し、さらには電源制御をBot経由で実装する予定です。

ということでとにもかくにも物がなけりゃってことで注文しました。今回はマルツオンライン。

https://www.marutsu.co.jp/

で、届いたのがこちら。

IMG_20180302_195911166_HDR

Wio node二つに、温度計測用のセンサーが二つ、電源制御用のリレーが二つです。制御したいPCは3台あるのですが、とりあえず2台でテスト運用してみることに。

Wio nodeの設定

まずはWio nodeをWeb APIから操作するための設定を行います。

これが結構ハマったなぁ・・・

流れはこんな感じ

  1. Wio nodeに電源投入
  2. スイッチ長押しして設定モードに突入
  3. 設定用アプリを立ち上げ設定開始(iOSまたはAndroid)
  4. 設定完了したらREST API叩いてテスト

これだけのはずが・・・当初自宅のWi-fiのセキュリティ設定のまずさもあって苦戦。結局Android版ではNGのまま、iOS版で設定完了。以下その手順

まずはWio nodeに電源投入。
電源用のカプラを用いるか、MicroUSBにモバイル電源を用意する。電源用のカプラに二次電池を搭載した場合、このMicroUSB端子からの充電にも対応する模様。おもしろい。

IMG_20180303_162638742_HDR

Android版設定手順(結局設定完了せず)

Google Playで「Wio link」で検索し、アプリをインストールします。

Screenshot_20180303-162721

上記ではすでに1デバイス登録されていますが、新規登録時は右肩の「+」をクリックします。

Screenshot_20180303-162725

導入するデバイスを選択します。
今回は当然「Wio node」。

Screenshot_20180303-162730

Android版はこのまま「Next」をクリック

Screenshot_20180303-162745

Wio nodeに接続するWi-fiを選択します。

Screenshot_20180303-162750

選択したWi-fiのパスワードを入力します。
(※なぜかこのwi-fiパスワードがうまく通らない瞬間もあった)

Screenshot_20180303-162755

Wi-fi接続が完了すると、該当するWio nodeが表示されるので、クリック。

Screenshot_20180303-162802

AndroidからWio nodeへファームの更新処理が渡されている(と思われる)

Screenshot_20180303-162818

同様にWi-fiのパスワードが渡される(と思われる)
この後、ここまで緩い点滅だった青LEDがはっきりとした短滅に代わるため、Wio node内部ではセットアップができているのではと思われる。
あとはパスワード設定したWi-fi経由でAndroid↔Wio node間で通信が成立すればセットアップ終了と思われるのだが…

Screenshot_20180303-162832

残念ながら何度やってもここで終了。

この時点でコマンドラインツールの存在を知るも、一旦手持ちのiOS機でテストすることを思い立ちiOSで設定実施。

iOS版設定手順(正常に設定完了)

 

 

 

IMG_0678

Android同様右上の「+」から設定開始。

IMG_0679

同じようにWio nodeを選択し

IMG_0680

ただしここでiOS版はちょっと動きが異なる。
Android版は上位接続用のwi-fiの設定が求められるが、まずWio nodeへの接続が必要になる。

しかも、画面の「Goto wifi list」を押しても無情に
「手動でiOSとWi-fi接続してくれ」とダイアログが出るだけ。
仕方がないので、iOSのWi-fi設定からWio nodeを探し出して接続する。

IMG_0682

接続後設定画面に戻って再度「Goto wifi list」をタップすると画面が切り替わり、ようやくWi-fiの接続リストが表示される。

IMG_0683

該当のwi-fiをタップし

IMG_0684

パスワードを入力し「Join」をタップ。

IMG_0685

するとAndroid版と同じようにWio nodeに接続しセットアップを開始するのだが・・・・

IMG_0686

あっけなく設定が完了する。
この時の青LEDの動きはAndroid版と同じなので、検証は必要だがAndroid版の場合、セットアップ後のキャッチアップがうまくいっていないのでは?と思われる。

IMG_0687

すでに一つ目のセットアップが完了しているが、二つ目も無事登録された。(両方とも、Android版で設定→NG→iOS版で設定→OKという流れ。)

 

コマンドラインツール

上記のパターンでiOS版を用意できない場合は、コマンドラインツールも用意されている。

今回はテストしていないが、八方塞がった場合はお試しあれ。

https://github.com/Seeed-Studio/wio-cli

REST API

すでに長くなっているけど、ここからが本番。

Wio nodeの最大の便利ポイントが、Seeed社が運用するクラウドサーバ経由で、セットアップしたWio nodeの操作ができること。
しかもわかりやすいREST API経由。

自分のWio nodeデバイス固有のアクセストークンが含まれたURLを、各デバイスに用意された仕様に基づいて投げてやると・・・

Screenshot_20180303-231318

こいつの場合はリレーの制御。
ON=1なのでパラメタ設定して「POST」。

Screenshot_20180303-231332

ほどなくしてレスポンスあり。
例によってJSONなので、PG処理も簡単。

IMG_20180303_005602791_HDR

実際のHWの動き。
バッテリーに接続されたLEDが、リレーON(1)で点灯。
(基板上の小さなLEDもONしているのがわかる)

IMG_20180303_005616504_HDR

リレーOFF(0)を送ってやると、OFFになる。

ネット経由ということもあり若干の遅延はあるものの、数秒あるかないか。今回の用途では十分なレスポンス。

初期セットアップに手間取ったものの、そこから動作検証まではものの3分。これは便利。

次回は、温度センサーからの測定値をAzure経由で処理する。

追記

ということで、続編書きました。

https://shinya.nagoya/2018/08/30/wioazure002/

PowerBI 名古屋勉強会のご紹介と、名古屋のオープンデータを使った名古屋の紹介

こんにちは。
データ大好き榊原です。

先日こんなエントリーがありました。
「コンサルタントだった頃学んだ「議論がうまい人」とそうでない人の5つの差異」
(http://blog.tinect.jp/?p=45811)

この中で、「2.議論のうまい人は、「事実」からスタートする」
は非常に重要と考えておりまして、いろんな人と話をするときに結果を求めないただの雑談の中で「で、ソースは?」

とついつい口をはさみ嫌われるのが常態化しております。
2018年は寛容に生きたいと思います。

データ扱うならば、やはりその筋の方と相まみえないとということで今日はこちらに寄稿しております。
「Microsoft Power BI Advent Calendar 2017」
https://qiita.com/advent-calendar/2017/power-bi

名古屋でようやくPowerBI勉強会です!

永らく名古屋の勉強会の閑散さを嘆いておりますが、名古屋でやってほしい勉強会の一つ「PowerBI勉強会」をようやく名古屋でも開催できることになりました。

本家「Power BI 勉強会」
https://powerbi.connpass.com/

誘致に関して尽力いただいた名古屋主催:I社のY氏、本当にありがとうございます。

また、開催にあたりご快諾いただいた「PowerBI勉強会主催」のK氏、またS氏には厚く御礼申し上げます。

気になる開催日ですが、現在の予定では以下の通りです。

  • 日時:2018年2月10日(土)13:00~17:00(時間は前後します)
  • 場所:名古屋駅付近

※正式な情報は追って上記勉強会サイトにて行います。

東京の開催では毎回多くの受講者を集め、前回の第6回では105名の定員に対して117名の応募という人気・白熱ぶりです。
https://powerbi.connpass.com/event/69605/

初の名古屋開催、名古屋ってどんなところ?

ということで、初の地方開催である名古屋はどんなところなのか、さっそくPowerBIを使ってビジュアライズしてみようと思います。

利用したのは名古屋市の提供するオープンデータ。
このデータから、名古屋についてみてみましょう。

おっと?一筋縄にはいかない?

市町村の提供するデータなので、フォーマットは整っているものとしてまずは何もせずに取り込んでみました。

取り込んだのはこちらの情報
「年齢別人口(全市・区別) 、人口ピラミッド」
(http://www.city.nagoya.jp/shisei/category/67-5-5-7-0-0-0-0-0-0.html)

うーんむ・・・
全然だめですね・・・(ある程度は予測済み)
PowerBIでビジュアライズするにあたり、前段階としてデータを整頓するという作業がどうしても必要になってきます。
今回はそこのところを対応しつつ、名古屋の紹介をしたいと思います。

PowerBIで利用するための元データの修正

元データをExcelで開くとこんな感じです。
image
結果から言うと、以下の編集を施しました。

  1. 不要な見出し列(1~2行目)の削除
    →正しく列情報が取得できない
  2. 西暦のフォーマット変更
    →シリアル値を正確に取得してくれない
  3. 一部年度データの削除
    →取得範囲が異なり正規化できない
  4. 軸ラベルの付与
    →軸を基準としたソートができない
「1.不要な見出し列の削除」

取り込むデータはこんな感じになっており、データの注釈が1~2行目に記載されています。
これはPowerBIに取り込む際に邪魔になるので、削除します。

2017-12-26_06h14_18
列情報が正しく取り込めない


元データを削除する。

「2.西暦のフォーマット変更」

部分的に正しくシリアル値に変換してくれていましたが、そもそも年度別でフォーマットそのものが異なる箇所があったので、置換しました。

2017-12-26_06h19_27
「-」を「/」に置換し、フォーマットを統一しました。

「3.一部年度データの削除」

年度により、年齢分布の丸め方が異なっていたので、2004年以前のデータ、それから2017年も10、11月のデータを削除しました。
こういったところからも長寿化の傾向が見られますね。
2017-12-26_04h54_59

2017年10月から分類が増えてる!!!

「4.軸ラベルの付与」

グラフの軸にしたいデータが正規化されたデータではなく、年齢ごとの分類情報なので、そのまま取り込んだだけではきれいにソートしてくれません。いろいろ試してはみたのですが元データのままではうまくソートができなかったため、やむなくラベルにNoを振ることになりました。(なんかいい方法ないですかね?)

2017-12-26_06h27_32
頭の数値でソートされるため・・・
0~
10~
15~
20~
100~
105~
というような、よくあるダメなソート状態になってしまう。

2017-12-26_04h59_51
PowerBIに落とすとこんな感じに・・・こりゃあかん。

ということで、やむなく01~項番を振ります。
2017-12-26_06h33_18

これでこうなります。

2017-12-26_05h06_32
それっぽくなりました。
(さらに元データから総数をフィルタし、2017年9月でフィルタした後、階層別の降順でソートしています)

やっとで名古屋の紹介

ということで出来上がったのがこちら。

2017-12-26_05h13_13

男女別に見た年齢別人口構成比と、男女別人口比、年度別の人口推移を表示しています。

年齢別の構成比からは戦前~戦中世代の男女構成比に偏りがあるなーとか、ベビーブーマー強ェ!とかわかると思います。

私が興味深かったのは、年配で男女構成比がずいぶん偏っているにもかかわらず、2017年9月の男女構成比がほぼ50:50になっているところ。
やはりなんらか自然の力が働いていいるんでしょうか。

今回は紙面の都合上ここまでですが、機会があれば、この身近な名古屋のオープンデータを使ってPowerBIの勉強ができたらと思います。

今回の場合は、データの整頓に30分ほど苦戦した後うまく取り込めたら、グラフの表示部分についてはほんの数秒でできてしまっています。
ご存知の通り、この辺のビジュアライズ化の容易さががPowerBIのとてもいいところなんですが、元データがしっかり成形されていればいけないよ・・・というお話でした。

それでは、名古屋のPowerBI勉強会でお会いできること楽しみにしております!

2016年クリスマス もSwayで揺れ動く僕の心

Swayウォッチャーが見るSwayの2016年

※このエントリーを「Offie365 Advent Calendar 2016」とすべてのOffice365ユーザ、開発者に捧げます。

さて、昨年のOffice365勉強会でSwayに関するLTをし、またちょうど一年前のクリスマス、Office365 AdventCalendar 2015でSwayに関するエントリーをして以来、ひそかにSwayをウォッチしてきました。

まぁ先に結論から言いますと・・・

あんまり変わってない・・・

Office365本体については、本体をはじめとして、SharePoint、OneDrive、その他新機能追加などなど盛りだくさんの内容で、まったくと言っていいほど追いつけていない状況です。

がしかし当のSway、それほど変わっていない・・・・

しかししかし全く変わっていないと言うわけではありません。

Office365製品の動きが活発だった今年6月にはOffice Blogsに以下のエントリーがあり、
「オッ、なんか動き出すか!?」と期待に胸を膨らませました。
「3 new Sway capabilities for Office 365 subscribers」
https://blogs.office.com/2016/06/28/3-new-sway-capabilities-for-office-365-subscribers/

特に目立った機能ではないのですが、それでも単独のアプリに機能追加されているのですから、期待せずにはおれません。
※最後のページに表示される「このページはSwayで作成されました」ってのをOFFできるようになったのは大きなトピックですね。

2016-12-25_22h45_38

またSwayの大事な要素であるデザインテンプレートがちょっぴりアップデートされていました。

「Sway design tips and new templates」
https://blogs.office.com/2016/08/17/sway-design-tips-and-new-templates/

さらにはOffice周りのドキュメント、PowerBI周りへの連携や、テキスト回りのアップデート

「Sway adds access to “Recent” Office documents, support for Power BI and PollEverywhere.com embeds, text editing updates and more!」
https://blogs.office.com/2016/02/19/sway-adds-access-to-recent-office-documents-support-for-power-bi-and-polleverywhere-com-embeds-text-editing-updates-and-more/

など目立ちはしませんが、ちょっとずつニーズに回答しているような雰囲気とも取れます。

目立ったアップデートが多くないのは、基本機能としては「必要以上に触らせない」特徴を残しつつ、ポイントを抑えたアップデートで堅実に成長させているとも受け取れます。

なんにせよ引き続きウォッチは続けていきたいところです。

 

Swayとはなんなのか2016

Swayがなんなのか?という問いについても、結局基本的な機能に目立った変更がなく新たなヒントが見つけられないままのため、個人的には「プレゼンテーションツール」というよりは、「写真を中心としたこじゃれた情報共有ツール」という抽象的評価から抜け出せません。

なんだか否定的な物言いに担ってしまってますが、”Sway”やはり「手軽に写真をちょっとおしゃれに見せるツール」としてはまだまだ他に似た良いツールが見当たらないため、特定の用途についてさらっと作りたい!という状況においては役に立つと思います。

  • 社員旅行の写真共有
  • 会社付近のアフター5スポットの食べレポ
  • イベントの振り返り
  • デザインワークのポートフォリオ
  • ポエム

といった、過度の情報編集を必要としない用途にはぴったりのOfficeツールです。
ああ、言い方を間違えました。

  • 誤:「過度の情報編集を必要としない」
  • 正:「過度の情報編集をしてはいけない」

です。

Swayで過度の情報編集はダメ!絶対!

PowerPointは非常によくできたプレゼンテーションツールですが、使い方を間違えると情報過多になり、はたして何を伝えたかったのか、ボヤけてしまいます。プレゼンテーションの本質は伝えることですから、「伝えたいこと」に要点を抑えて作成する必要があります。
※そういえば、どこぞの大企業でパワポ禁止令的な御触れが出たとかなんとか、あれも使い方誤った行く末じゃないのかなぁと。

おしゃれに見せるツールも情報(文字)が多いのはダメです(意識的に文字を多くする場合はもちろんOKですが)
アップルのデザイン、公式サイトもプロダクトも、潔く削ってシンプルにまとめてます。
一般的な例でいえば、グっと響く広告のコピーもたいてい一言で言いきってます。
伝えようと頑張りすぎるとむしろ伝わりにくくなる、ハリネズミのジレンマですね。

Swayでもあそこが気に入らない、ここが気に入らないと手を入れだすと、編集に制約がある(あえて制約を設けていると思われますが)Swayではどんどんストレスが溜まっていき、目も当てられない仕上がりになってしまいます。
制約がどうしてあるのか考えると、なるほど、やりすぎちゃいけないのねということに気が付けるのかと、そう思います。

Swayをうまく使うには

そんなSwayを使いこなすには、いくつかのコツがあります。
そのコツをまとめて「Sway五か条」としてみました。

Swayの使い方五か条
  1. 画像を多く用意せよ
  2. 詩的にまとめよ
  3. 多く語るなかれ
  4. 欲張ることなかれ
  5. 「リミックス」を活用せよ

そんな五か条を守った模範的回答となる「My heart sway in christmas 2016」作成してみました。

 

来年もよろしくお願いいたします。

【PC&Gadget】Let’s “Sway” with music.

■寄稿:Office 365 Advent Calendar 2015

S5T20151227050448

今日のコンテンツはOffice365の「Sway」について!
このコンテンツは、

「Office 365 Advent Calendar 2015」
http://www.adventar.org/calendars/790

に寄稿させていただいています!
他の方のOffice365コンテンツ、有意義・有用なものばっかりでちょっとこのコンテンツがかすんで見えちゃいますが・・・。

本編は以下のコンテンツ「Sway」でご覧いただけます。最大表示でお楽しみ(?)ください

~失敗しない家作りを経て完成した我が家で始める DIY(Do it yourself=手作り/自作) ライフ。できることは自分でやり、無駄な浪費や使い捨ては排除し、人と自然の恵みに感謝して、日々の暮らしを創りだします。~

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 住まいブログ DIYへ
にほんブログ村
ランキング参加始めました。駄文ですが、ほんのチョビっとでも役に立ったと思われたらクリックお願いいたします:-)