yamamoのアイコン画像
yamamo 2024年09月20日作成 (2024年10月30日更新)
製作品 製作品 閲覧数 87
yamamo 2024年09月20日作成 (2024年10月30日更新) 製作品 製作品 閲覧数 87

高齢者スマートケアサポートシステム

概要

ラズベリーパイと各種センサーを組み合わせて、高齢者や身体障 がい者の安全と健康をリアルタイムで監視・支援するシステム。 検知、緊急通知などの機能を統合し、家族や介護者に通知することができます。

図

キャプションを入力できます

キャプションを入力できます

キャプションを入力できます

システム構成

  • 動体検知
    ・Raspberry Pi が起動している状態である。
    ・常に検知範囲に動体があるので、動体が止まっていることが異常とする。
    ・常にセンサーが動体を検知していることが前提で、検知しなくなった(対象物が止まっている)ことを検知するプログラム。
  • 写真撮影
    ・一定回数以上動体を検知しないときに写真を撮ることを想定する。
  • 通知
    ・LineNotify を通してLINEに通知がくるようにする

ラズベリーパイ4にモーションセンサーであるHC-SR501を接続し、動体検知を行う。3メートル内の動体を検知し続け、一定時間動きが検知されなかった場合に、写真を撮影し、Lineに通知するようになっている。

プログラム

sample.py

import RPi.GPIO as GPIO import time import picamera import requests # GPIOの設定 PIR_PIN = 7 # PIRモーションセンサーが接続されているGPIOピン # LINE Notifyのアクセストークン LINE_NOTIFY_TOKEN = 'sI2F3FCBxGOtyOui8CkkL7QdOUiMKZ9WF1f41mUyyaS' # ここにLINE Notifyで発行したトークンを記入 # カメラの初期化 camera = picamera.PiCamera() # LINE Notifyで写真を送信する関数 def send_line_notify_with_photo(message, image_path): url = "https://notify-api.line.me/api/notify" headers = {"Authorization": "Bearer " + LINE_NOTIFY_TOKEN} payload = {"message": message} files = {"imageFile": open(image_path, "rb")} requests.post(url, headers=headers, data=payload, files=files) # GPIOの初期化 GPIO.setmode(GPIO.BOARD) GPIO.setup(PIR_PIN, GPIO.IN) # 動作検知のタイマー設定(ここでは10分間動きがない場合に通知) no_motion_time = 0 motion_timeout = 600 # 10分(600秒) try: while True: if GPIO.input(PIR_PIN): # 動きが検知された場合 print("動きを検知しました!") no_motion_time = 0 # 動きが検知されたらカウンターをリセット else: # 動きがない場合 no_motion_time += 1 if no_motion_time >= motion_timeout: # 指定時間動きがなければ写真を撮影し、LINEに送信 print("動きが10分間ありません。写真を撮ってLINEに通知します...") image_path = '/home/pi/no_motion.jpg' camera.capture(image_path) # 写真を撮影 send_line_notify_with_photo("10分間動きがありません。転倒や異常の可能性があります。写真を確認してください。", image_path) no_motion_time = 0 # 通知後にカウンターをリセット time.sleep(1) # 1秒ごとにチェック except KeyboardInterrupt: print("プログラムを終了します") GPIO.cleanup()

使用部品

  • Raspberry Pi 4
  • PIR モーションセンサー(HC-SR501 など): 人の動きを検知。
  • Raspberry Pi カメラモジュール: 動きを検知しなくなったときに写真を撮影。
  • Wi-Fi または有線 LAN 接続: LINE Notify で通知を送るためのインターネット接続。

参考文献

ログインしてコメントを投稿する