Telegram — Ipcam

python3 security_cam.py Want to check your home manually? Add this command handler to the same script so you can text your bot /snap and get an instant photo.

import requests import cv2 import numpy as np from time import sleep CAMERA_URL = "http://192.168.1.100/photo.jpg" # Your snapshot URL BOT_TOKEN = "7236456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw" CHAT_ID = "123456789" MOTION_THRESHOLD = 500 # Lower = more sensitive CHECK_INTERVAL = 2 # Seconds between checks ========================= def send_photo(image_path): url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendPhoto" with open(image_path, 'rb') as img: files = {'photo': img} data = {'chat_id': CHAT_ID, 'caption': '🚨 Motion Detected!'} requests.post(url, files=files, data=data)

while True: frame2 = get_frame() if frame2 is None: continue

Install "IP Webcam" from the Play Store, point it at your front door, and use the same script. No new hardware needed. ipcam telegram

from telegram.ext import Application, CommandHandler async def snap(update, context): img = get_frame() cv2.imwrite("manual.jpg", img) await update.message.reply_photo(photo=open('manual.jpg', 'rb'))

pip install python-telegram-bot requests opencv-python Save this as security_cam.py . Replace the variables (URL, TOKEN, CHAT_ID).

We all have an old smartphone or a dusty IP camera sitting in a drawer. Instead of buying a expensive cloud subscription (like Ring or Nest), you can turn that camera into a real-time security alert system using a free bot on Telegram . python3 security_cam

def get_frame(): response = requests.get(CAMERA_URL, auth=('username', 'password')) # Remove auth if none return cv2.imdecode(np.frombuffer(response.content, np.uint8), -1) print("[+] Security camera active. Watching via Telegram...") ret, frame1 = get_frame(), None sleep(1)

Run the script:

# Motion detection logic diff = cv2.absdiff(frame1, frame2) gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY) blur = cv2.GaussianBlur(gray, (5,5), 0) _, thresh = cv2.threshold(blur, 20, 255, cv2.THRESH_BINARY) motion_score = cv2.countNonZero(thresh) No new hardware needed

Happy building! 📸🔒 Disclaimer: Use this for monitoring your own property only. Be aware of local privacy laws regarding recording.

frame1 = frame2 sleep(CHECK_INTERVAL)

if motion_score > MOTION_THRESHOLD: print(f"[!] Motion detected! Score: {motion_score}") cv2.imwrite("alert.jpg", frame2) send_photo("alert.jpg") sleep(10) # Cooldown to avoid spam

Ratings and reviews

4.0
2,707 Reviews
533%
433%
334%
20%
10%

No Title

November 14, 2023

Avatar for Rayaan Kulkarni
Rayaan Kulkarni

No Title

November 14, 2023

Avatar for Reshma Rao
Reshma Rao

No Title

November 14, 2023

Avatar for Joseph
Joseph

No Title

November 14, 2023

Avatar for Dharun Kaur
Dharun Kaur

No Title

November 14, 2023

Avatar for Rahul
Rahul