RAJMOHAN P
Published

Caught Mat

An unnoticeable IOT enabled security system developed for both domestic and commercial purposes

IntermediateFull instructions provided198
Caught Mat

Things used in this project

Hardware components

Bolt WiFi Module
Bolt IoT Bolt WiFi Module
×1
Grove - Round Force Sensor (FSR402)
Seeed Studio Grove - Round Force Sensor (FSR402)
Force sensor a transducer which converts the force into an electric signals
×1

Software apps and online services

Bolt IoT Android App
Bolt IoT Android App
Bolt Cloud
Bolt IoT Bolt Cloud

Story

Read more

Schematics

schematic overview of caught mat

Code

configuration of bolt module to cloud

Python
"""Configurations for telegram_alert.py"""
bolt_api_key = "2*****************2"                 # This is>
device_id = "BOLT*******1"                    # This is the device ID and will >
telegram_chat_id = "@theif_alert"            # This is the channel ID of the cr>
telegram_bot_id = "bot*****************8"          >
threshold = 200

Configuration of Telegram bot and sensor to cloud

Python
import requests                 # for making HTTP requests
import json                     # library for handling JSON data
import time                     # module for sleep operation

from boltiot import Bolt        # importing Bolt from boltiot module
import conf                     # config file

mybolt = Bolt(conf.bolt_api_key, conf.device_id)

def get_sensor_value_from_pin(A0):
    """Returns the sensor value. Returns -999 if request fails"""
    try:
        response = mybolt.analogRead(A0)
        data = json.loads(response)
        if data["success"] != 1:
            print("Request not successfull")
            print("This is the response->", data)
            return -999
        sensor_value = int(data["value"])
        return sensor_value
    except Exception as e:
        print("Something went wrong when returning the sensor value")
        print(e)
        return -999
        data = json.loads(response)
        if data["success"] != 1:
            print("Request not successfull")
            print("This is the response->", data)
            return -999
        sensor_value = int(data["value"])
        return sensor_value
    except Exception as e:
        print("Something went wrong when returning the sensor value")
        print(e)
        return -999
def send_telegram_message(message):
    """Sends message via Telegram"""
    url = "https://api.telegram.org/" + conf.telegram_bot_id + "/sendMessage"
    data = {
        "chat_id": conf.telegram_chat_id,
        "text": message
    }
    try:
        response = requests.request(
            "POST",
            url,
            params=data
 )
        print("This is the Telegram URL")
        print(url)
        print("This is the Telegram response")
        print(response.text)
        telegram_data = json.loads(response.text)
        return telegram_data["ok"]
    except Exception as e:
        print("An error occurred in sending the alert message via Telegram")
        print(e)
        return False
while True:
    # Step 1
    sensor_value = get_sensor_value_from_pin("A0")
    print("The current sensor value is:", sensor_value)

    # Step 2
    if sensor_value == -999:
        print("Request was unsuccessfull. Skipping.")
        time.sleep(10)
        continue

    # Step 3
    if sensor_value >= conf.threshold:
        print("Someone intrude our shop")
        message = "Alert! Someone intrude " + str(conf.threshold) + \
                  ". The current value is " + str(sensor_value)
        telegram_status = send_telegram_message(message)
        print("This is the Telegram status:", telegram_status)

    # Step 4
    time.sleep(3)

Credits

RAJMOHAN P
1 project • 0 followers
Contact

Comments

Please log in or sign up to comment.