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

RaspberryPiとawsで取り組んだ自作IoT

 RaspberryPiとawsで取り組んだ自作IoT

PyCon mini Shizuoka 2020 Track1 No.10の講演スライド

https://www.slideshare.net/NSaito1/raspberrypiawsiot

より引っ越しました

<要旨>
とある部品メーカーの企画部門担当者が、工場と自宅でRaspberryPiとawsを使って自作IoTに取り組んだ事例を紹介します。

発表者は2018年の業務課題として、世間で普及し始めた自作IoTの調査を担当し、IoTのシステム構築を自社技術とて取り込むのに必要な要件の検証を行いました。その際、単なる情報収集にとどまらず実際に手を動かしてコーディング、環境構築、装置試作等の技術確認を行いました。本業の傍ら約1年間開発に取組み、「製造工程のリアルタイム可視化」と「稼働率自動分析」をするシステムを完成させました。また、業務で得たスキルを活用して遠隔地独居家族の見守りシステム自作にも挑戦しました。

これらのシステムでは、安価にアドオン(センサーとRaspberryPi)でデータを収集し、awsのダッシュボードを毎分更新しながら表示させます。

セッションでは利用した技術の詳細を説明します。

Saito5656

March 30, 2021
Tweet

More Decks by Saito5656

Other Decks in Programming

Transcript

  1. AWS ? Linux ? ラズパイ?? Python ??? 意味分からん 30年前に使った MS-DOSとか。。

    N-BASICとか。。 QuickCとか。。 みたいなやつか??? と言われても・・・ こんなオッサンが独学で プロトタイプ作った話
  2. 出来高と設備稼働の見える化 稼働率の自動計算 計画停止 停止ロス 性能ロス D:価値稼働時間 不良ロス 操業時間 A:負荷時間 B:稼働時間

    C:正味稼働時間 = 時間稼働率 = 性能稼働率 = 良品率 × × = 設備総合効率(稼働率) 1S勤務 2S勤務 設備停止 月 火 水 木 金 土 日 0:00 4:35 8:00 18:40 24:00 出来たこと 生産中だけ データ転送
  3. 社内報告 ~ICT人材育成と社内開発体制の整備を提案~ 回路設計 OS/プログラミング言語 クラウド環境構築 セキュリティ 初歩的な 電子回路設計 大部分はマネージド GUIで設定可能

    プログラミングで serverlessも可能 IoTセキュリティの ノウハウ蓄積が必要 Linux/Python/C/ Js等のスキルが必要 社内保有技術 情シに提案
  4. 出来なかったこと IoT thing factory IoT MQTT protocol ガントチャート 稼働率自動分析 DynamoDB

    IoT Core CloudWatch Lambda QuickSight DynamoDB DynamoDB 生産実績 DynamoDB 受注数量 Lambda 生産計画 予実管理 Amazon EC2 Web 入力画面 Web 表示画面 今回のプロトタイプの内容 未着手の構想案 分析表示 稼働表示 実績表示
  5. 自宅開発環境 開発メンバー 自分 環境: RaspberryPi 3B+ Raspbian Stretch 2019-04-08 担当:

    トリガー、 パラメータ調整補助 担当: 要件定義、コーディング チューニング 開発体制 実証試験機 ラズパイ センサー webカメラ ねこのベッド
  6. 構成図 15時間以上 反応なければ Alert配信 センサーLog 異常検知前後15秒の映像 ストリーミング センサーの検知ログを 常時送信 LTEルーター

    センサー 防犯カメラ 異常検知 ペットの見守り センサー信号 映像処理 (python) カメラ センサー 4定点でセンサー検知したら 録画映像をアップロード 玄関でセンサー検知したら 録画映像をアップロード センサーの検知ログを 常時送信 S3 lambda
  7. RasPi 防犯カメラの仕組み 01.avi 02.avi 03.avi 04.avi 05.avi emr.avi emr.mp4 01.avi

    02.avi 03.avi 04.avi 05.avi + + + + Amazon Simple Storage Service 録画 結合 mp4変換 センサートリガー tmpフォルダ内に一時ファイルとして映像をひたすら上書きする 結合した一時ファイル 一時ファイル結合、mp4変換、S3にpushするサブプロセス 録画ルーチンを回す主プロセス mp4変換後の結合済みファイル 主プロセス サブプロセス
  8. 工数の振返り(※2019.3まで兼任業務、以降は定時後+週末エンジニア) 講習サンプルcodeを自社用に改造 ググってコピペするが動かない Python、Linux環境、aws環境が 少しずつ動くようになる 所望する機能のセンサー探しにハマる データKeyの設計、SQLでハマる センサーの温度依存対策でハマる 工場見える化システム完成 Pythonとcloudのスキルアップを決意

    プライベートで見守りシステム作成 ドキュメントでPythonの基礎を学ぶ PythonでawsのLambdaを動かす 機械学習の勉強を始める めげずに社内でクラウドの有用性を訴える ★サーバーワークスIoT講習 ★やっとクラウドまで連携する ★工場に試験的に設置 ★光センサーの接続確立 ★サーバーレスの学習開始 ★web言語の学習開始 ★工場で出来高のモニター開始 ★赤外センサーの選定完了 ★key再設計、Ptython code作り直し ★機械学習の学習開始 ★Python公式ドキュメントで基礎学習 JAWS-UG ★赤外センサー気温上昇で暴走 ★見守りシステム開発着手 ★工場にモニター最終形を設置 ★見守りシステム完成・施工 稼働モニター作製:12ヶ月 見守りモニター作製:4ヶ月 2018.5 2018.8 2018.11 2019.2 2019.5 2019.8 2019.11 2020.2 初期学習期間:4ヶ月 主な出来事 Code 作り直し:4ヶ月 JAWSの4ヶ月後 Unagi.pyにJoin 製品カウント・DB連携:4ヶ月 約4か月周期で 次の取組課題へ移行