LoginSignup
2
0

More than 1 year has passed since last update.

enebularで デスクを監視する

Posted at

※この記事の内容は2021年12月2日のenebular developer meetup で発表した内容をベースにしています。

ごあいさつ

アドベントカレンダーも後半戦。年の瀬です。
2021年もリモートワークが多い年でした。
コロナ禍も2020年から2年目ということで、慣れてきた方も多いと思いますが、
一方で不満点も浮き彫りになってきたかと思います。

リモートワークの悩み

そんな中で、リモートワークの悩みの一つが、それぞれの社員の様子がわからないことです。

ScreenShot 2021-12-17 22.47.43.png

とある調査では実に80%以上の上司が「以前と比べて難しさを感じる部下とのコミュニケーションシーン」jに
「日常の行動観察」を挙げています。

ScreenShot 2021-12-17 22.48.44.png

コクヨ:テレワーク下の上司と部下のコミュニケーション課題 より

そんな課題を解決するソリューションをenebularで実現したいと思います。

構成

前回のenebular developer meetingでは、
店内の座席使用状況をリアルタイムで表示するソリューションを提案しましたが、
今回はそれを拡張して、Google Spreadsheet上に仕様記録を追記していくようにしたいと思います。

ざっくりというと座布団にEテキスタイルを使用した、着座センサーを設置し、
その様子を1分おきにチェックす、というものです。

ScreenShot 2021-12-17 22.55.57.png

実装手順

とりあえずGoogle Developers Consoleにて登録を行います。
このへんはenebularブログにて
詳しく説明されているのでそちらをご参照ください。

https://blog.enebular.com/nodes/letsuse-google-spreadsheet-node/

Google Developers Consoleの登録を行い、
node-red-contrib-google-sheets をパレットに登録できたあとに、早速ノードを作成します。

実際のノードはこちら↓
ScreenShot 2021-12-17 23.01.45.png

左のhttp inノードでnünoから送信された値を受け取り、
中央のfunction ノードで値に日時を追加しています。
右のGSheetノードで連携したSpread Sheetに値を送信しています。

functionノードの中身はこちら

const time = new Date(Date.now() + ((new Date().getTimezoneOffset() + (9 * 60)) * 60 * 1000))
msg.payload = [
    time.getHours()+":"+time.getMinutes(),
    msg.payload.val]


return msg;

Spreadsheetで扱いやすい形式にするため、日時を生成しています。

ちなみに今回、日時+値 をセットにしてSpread Sheetに送信したかった為どうするか悩んでいたところ、
なんとなく配列にして送信してみたら1列目と2列目に登録されてくれました。

ドキュメントにも記載を見つけられなかったので地味に嬉しかったです。
その後無事動作していることを確認しました。

ScreenShot 2021-12-17 23.17.09.png

あとはこの値をSpread Sheet上でグラフ化しグラフを公開設定すれば、
無事完成です!

ScreenShot 2021-12-17 23.18.22.png

いかがでしたでしょうか。
職種によってはリモートワークは今後も続いていくことになりそうですが、
enebularを通じてより快適なリモートワークライフをしていきたいですね!

では皆様よいお年を〜!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0