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

coffeemaker_DX

 coffeemaker_DX

LINE DC Monthly LT #1 - LINE de IoT「ものづくりを語ろう!」で使用したスライドです。

shinrinakamura

April 20, 2022
Tweet

More Decks by shinrinakamura

Other Decks in Technology

Transcript

  1. 中村 真理
    憩いのひと時に
    コーヒーが飲みたい
    ~オフィスの憩いに
    DXイノベーションを~

    View Slide

  2. 中村 真理
    Nakamura Shinri
    診療放射線技師
    Line API Expert
    株式会社B&B Lab. 共同ファウンダー
    自己紹介
    株式会社 B&B Lab.
    事業内容:IoTハードウェア及びサービスの開発

    View Slide

  3. Nakamura Shinri
    http://b-and-b-lab.jp
    手動ON 自動
    ■開発実績
    SORACOM Air を活用した自動潅水システムの開発
    〇農業ハウス向け自動潅水システム(開発中)

    View Slide

  4. 爆発的な普及のために
    今日説明すること
    ・職場のDX
    ・システムイメージ
    ・データの変換
    ・動作検証

    View Slide

  5. コロナが終息したら
    爆発的な普及のために
    着想の原点
    辛いオフィスワークが始まる

    View Slide

  6. 仕事に疲れたらコーヒーで一息入れたい
    爆発的な普及のために
    着想の原点

    View Slide

  7. 欲しいときにないことも有る
    爆発的な普及のために
    着想の原点

    View Slide

  8. モチベーションが下がって生産性ダウン
    爆発的な普及のために
    着想の原点
    欲しいときにないことで

    View Slide

  9. 爆発的な普及のために
    着想の原点
    無くなる前に
    わかるようにしとけばいい
    ということでIoTでDX化

    View Slide

  10. 爆発的な普及のために
    着想の原点
    テレワークで
    職場のコミュニケーションが希薄に

    View Slide

  11. 爆発的な普及のために
    着想の原点
    SECIモデルの「場」も少なくなっている
    https://www.brains-tech.co.jp/neuron/blog/seci_model/

    View Slide

  12. 爆発的な普及のために
    着想の原点
    コロナで失った場の循環を取り戻そう
    SECIモデルでいう「場」作りのためにも
    コーヒーメーカーのDXが重要

    View Slide

  13. 爆発的な普及のために
    着想の原点
    コーヒーの残量を知るには
    どうしたらよいのだろうか

    View Slide

  14. 爆発的な普及のために
    着想の原点
    重さを知るには
    どうしたらよいのだろうか
    重さを知ればよいのでは

    View Slide

  15. 爆発的な普及のために
    着想の原点
    作る!開発する!実験する!
    作ればよいのでは

    View Slide

  16. 爆発的な普及のために
    ロードセルについて
    重量やトルク等を検出するセンサー
    荷重に応じた電圧を出力する
    ロードセルとは

    View Slide

  17. 爆発的な普及のために
    ロードセルアンプについて
    ロードセルの抵抗値の変化を測定して
    重り等で校正をすることで、重さを
    量ることができる
    ロードセルアンプ

    View Slide

  18. 爆発的な普及のために
    ロードセルについて
    でもどうやって使うの?

    View Slide

  19. 爆発的な普及のために
    安心してください
    使い方について説明します

    View Slide

  20. 爆発的な普及のために
    入手方法
    Arduinoのサンプルコード付きのモノが
    https://akizukidenshi.com/catalog/g/gP-13041/
    https://akizukidenshi.com/catalog/g/gK-12370
    秋月電子通商で購入
    安価に販売されている

    View Slide

  21. 爆発的な普及のために
    ロードセルを利用して作成
    設計データ公開中
    公開データを使用して実際に製作できます!

    View Slide

  22. 爆発的な普及のために
    開発環境
    エッジ処理 クラウド処理 通知
    Wi-Fi + mqtt
    ※LPWAへの対応を準備中

    View Slide

  23. 爆発的な普及のために
    システムの大まかなイメージ
    コーヒーがない
    ことを判定
    通知
    クラウド
    コーヒーメーカー
    重さ
    補充などのアクション

    View Slide

  24. ・GPIO機能
    ・320*240カラーTFT LCD
    実際に使用したもの
    ・Wi-Fi機能
    M5stack
    ロードセルアンプ
    CLKピン21番ピン
    DATピン22番ピン
    に接続します

    View Slide

  25. 爆発的な普及のために
    ハードウェアの使い方
    ピン番号はM5stackの裏面を
    見ればわかります
    ソースコードは秋月電子通商のものを利用
    https://akizukidenshi.com/catalog/g/gK-12370/
    #define pin_dout 8
    #define pin_slk 9
    #define pin_dout 22
    #define pin_slk 21
    ソースコードを書き直します

    View Slide

  26. 爆発的な普及のために
    ロードセルアンプの動作検証
    既知の重さのモノを測定して
    重さとロードセルの出力値を調べました
    y = 0.00087 x - 7,581.19908
    R² = 0.99995
    0
    500
    1000
    1500
    2000
    2500
    3000
    3500
    8500000 9000000 9500000 10000000 10500000 11000000 11500000 12000000 12500000
    重量(g)
    ADCの出力値
    ロードセルの出力値と重量の関係

    View Slide

  27. 爆発的な普及のために
    重回帰分析を利用して傾きを求める
    Excelを利用して重回帰解析を行う
    x
    y
    LINEST(既知のy,既知のx,定数,補数)
    重回帰分析とは
    結果を説明する際の変数の関係を
    知り傾向を把握する統計手法
    https://data-viz-lab.com/multiple-regression-analysis

    View Slide

  28. 爆発的な普及のために
    デバイス側のプログラム
    start
    ①set up
    サーバーとの接続確認
    データの作成
    ②mqtt送信
    ロードセルの値を取得して
    mqttで送信する
    ※①②についての詳しいことはappendix参照
    生の値を送信
    クラウドで校正

    View Slide

  29. 爆発的な普及のために
    ノイズの取り扱い
    単純な対策
    単位時間測定したデータから平均値を出します
    ノイズがひどければ
    メディアンフィルタの使用を検討してください
    https://pokosho.com/t/image/5/
    雑音を除く

    View Slide

  30. 爆発的な普及のために
    オフセットの取り扱い
    オフセット 機器の特性や外部要因などによって測定値に一
    律に生じる誤差を取り除くため、基準からのず
    れを相殺する補正値のことです
    デバイス側で測定値から引いておく
    秋月電子通商のソースコードを参考にする
    https://akizukidenshi.com/catalog/g/gK-12370/

    View Slide

  31. 爆発的な普及のために
    Node-REDのフロー
    Web interfaceの作成とLINE通知まで含めて
    Node-REDで完結できます

    View Slide

  32. 爆発的な普及のために
    データの変換
    value = msg.payload
    a = 重回帰分析で取得した変数
    weight = Math.round(a * value)
    ※オフセットはデバイスで計算

    View Slide

  33. 爆発的な普及のために
    web interfaceについて
    簡単な可視化とパラメータ入力を作成
    LINE送信タイミング例

    View Slide

  34. 爆発的な普及のために
    LINEの利用方法
    LINEのdeveloperサイトで
    Messaging APIの登録をする
    https://developers.line.biz/ja/reference/messaging-api/

    View Slide

  35. 爆発的な普及のために
    Node-REDからのLINEの利用
    API用のJSONを作成して
    http requestノードを使用して送信する
    LINE送信処理
    https://qiita.com/shinfrom/items/e5ecf1ac68f5f0b7118f

    View Slide

  36. 爆発的な普及のために
    LINEによる通知
    コーヒーの残量が少なくなったら
    通知が来るようにします
    コーヒーの残量が1分間連続して
    閾値を下回ったら通知するようにしました

    View Slide

  37. 爆発的な普及のために
    完成したもの
    コーヒーメーカーの残量計 Webインターフェース LINE通知

    View Slide

  38. 爆発的な普及のために
    考察
    職場のDX推進のたたき台という大きなテーマに
    LINEのインターフェースを使用することで
    ユーザーフレンドリーになる
    コーヒーの残量という具体的な課題から

    View Slide

  39. 爆発的な普及のために
    今日のまとめ
    職場のDXにLINE apiを利用することで
    ユーザーフレンドリーにすることができる

    View Slide

  40. 爆発的な普及のために
    Appendix
    中村 真理
    Nakamura Shinri
    https://www.facebook.com/nakamura.shinri/
    Follow Me
    @shinfrom1981
    https://qiita.com/shinfrom

    View Slide

  41. 爆発的な普及のために
    デバイス側のプログラム
    start
    ①set up
    サーバーとの接続確認
    start
    シリアル通信の準備
    Wi-Fiへの接続
    サーバーへの接続
    Main loopへ
    ロードセルの初期化
    オフセット値の取得
    ①set up
    データの作成
    ②mqtt送信
    ②mqttの送信
    start
    ADCの値の読み取り
    Payloadの作成
    Mqttサーバーへの説測確認
    Main loopへ
    Payload送信

    View Slide