/smart-home-security

๐Ÿ  Wireless Home Security and Home automation based on Internet of Things, through SmartInternz-IBM Watson.

Primary LanguagePython

๐Ÿ  Smart Home Security System

Wireless Home Security and Home Automation with SmartInternz, based on the Internet of Things.

home security banner

๐Ÿ”’ Project Description

Wireless Home security and Home automation are the dualaspects of this project. The currently built prototype of the system sends alerts to the owner over voice calls using the Internet if any sort of human movement is sensed near the entrance of his house and raises an alarm optionally upon the userโ€™s discretion. The provision for sending alert messages to concerned security personnel in case of critical situation is also built into the system. On the other hand if the owner identi๏ฌes that the person may entering his house is not an intruder but an unexpected guest of his then instead of triggering the security alarm, the user/owner can make arrangements such as opening the door, switching on various appliances inside the house, which are also connected and controlled by the IBM Cloud/IBM IOT Platform in the system to welcome his guest.

๐Ÿ› ๏ธ Skills Required

  • Python
  • Python For Data Visualization
  • IOT Open Hardware Platforms
  • IOT Application Development
  • IOT Cloud Platform
  • IOT Communication Technologies
  • IOT Communication Protocols

๐Ÿ— Structure

๐ŸŒŸ Star the project to bookmark and appreciate the work.

๐Ÿ“š Libraries used

# module supplies classes for manipulating dates and times
import datetime

# library provides complete access to the IBMยฎ Cloud Object Storage API. Endpoints, an API key, and the instance ID must be specified during creation of a service resource or low-level client
import ibm_boto3
from ibm_botocore.client import Config, ClientError

# module import name for opencv-python
import cv2

# Python Client for IBM Watson IoT Platform
import ibmiotf.device

# Python package stands for 'Numerical Python'
import numpy as np

# Python module provides various functions and variables that are used to manipulate different parts of the Python runtime environment
import sys

# Python module provides various time-related functions
import time

# Python Client for IBM Cloud database service
from cloudant.client import Cloudant

๐Ÿ’ป Web Preview

project-demonstration-video.mp4

๐Ÿ‘จโ€๐Ÿ’ป Backend Setup

# Provide your IBM Watson Device Credentials
device_options = {"org": organization,
                  "type": device_type,
                  "id": device_id,
                  "auth-method": auth_method,
                  "auth-token": auth_token
                  }
load_dotenv()
    DEVICE_TYPE = os.environ['device_type']
    DEVICE_ID = os.environ['device_id']
   
    AUTH_TOKEN = os.environ['auth_token']
    AUTH_METHOD = os.environ['auth_method']
    ORGANIZATION = os.environ['organization']

    # Current list available at "https://control.cloud-object-storage.cloud.ibm.com/v2/endpoints"
    COS_ENDPOINT = os.environ['cos_endpoint']
    COS_API_KEY_ID = os.environ['cos_api_key_id']   # eg "W00YiRnLW4a3fTjMB-oiB-2ySfTrFBIQQWanc--P3byk"
    COS_AUTH_ENDPOINT = os.environ['cos_auth_endpoint']
    COS_RESOURCE_CRN = os.environ['cos_resource_crn']

    video = cv2.VideoCapture(config['video_path'])
    face_classifier = cv2.CascadeClassifier(config['model_path'])
    
    client, device_cli = get_connections(ORGANIZATION, DEVICE_TYPE, DEVICE_ID, AUTH_METHOD,  AUTH_TOKEN)

    client.connect()
    device_cli.connect()

    # Create resource
    cos = ibm_boto3.resource("s3",
                             ibm_api_key_id=COS_API_KEY_ID,
                             ibm_service_instance_id=COS_RESOURCE_CRN,
                             ibm_auth_endpoint=COS_AUTH_ENDPOINT,
                             config=Config(signature_version="oauth"),
                             endpoint_url=COS_ENDPOINT
                             )

๐ŸŒˆ Contributors

๐Ÿ“ฐ Certification

To Visit Certificate from SmartBridge - IBM, Click Here ๐Ÿ‘ˆ

Developed & maintained by the @amino19. Copyright 2021 ยฉ amino19.