كاميرا مراقبة تنقل الصور لتيليجرام باستخدام الراسبيري باي

مبتدئ

image_pdf

الكود البرمجي

ستشاهد في قائمة Programming وجود برنامج جديد وهو Python 3 (IDLE) انقر عليه.

كاميرا مراقبة ذكية

 من قائمة File اختر  New File.

انسخ الكود التالي والصقه بالملف الفارغ لكن هناك أمور مهمة عليك العمل بها قبل رفع الكود البرمجي إلى الراسبيري باي.

import telepot 
import time 
import os 
from picamera import PiCamera 

path=os.getenv("HOME") 

# Handling message from Telegram 
def handleMessage(msg): 
    id = msg['chat']['id']; 
    command = msg['text']; 
    print ('Command ' + command + ' from chat id' + str(id));
 if (command == '/photo'): 
    print ("Taking picture…");
 
# Initialize the camera  
camera = PiCamera(); 
camera.start_preview() 
camera.capture(path + '/pic.jpg',resize=(640,480)) 
time.sleep(2) 
camera.stop_preview() 
camera.close() 
# Sending picture  
bot.sendPhoto(id, open(path + '/pic.jpg', 'rb')) 

else: 
    bot.sendMessage(id, "Command not found..") 
    bot = telepot.Bot('your_bot_id'); 
    bot.message_loop(handleMessage); 
    print ("Listening to bot messages…."); 
while 1: 
    time.sleep(10);

شرح الكود البرمجي

هنا نستعدي المكتبات الضرورية للنظام مثل time, os و PiCamera  و telepot.

import telepot 
import time 
import os 
from picamera import PiCamera

في هذا الأمر يمكن الحصول على مسار أو موقع HOME.

path=os.getenv("HOME") 

بعد ذلك يستطيع المستخدم التحكم بالكاميرا وذلك بإدخال الأوامر في برنامج التيليجرام.

يقوم المستخدم بكتابة الأمر photo/ حتى يتمكن من التقاط الصور الحية وبعد ذلك سينطبع الأمر على الشاشة:

…Taking picture

# Handling message from Telegram 
def handleMessage(msg): 
    id = msg['chat']['id']; 
    command = msg['text']; 
    print ('Command ' + command + ' from chat id' + str(id));
 if (command == '/photo'): 
    print ("Taking picture…");

هنا سيتم تهيئة الكاميرا لالتقاط الصور وتعيين مقاسات خاصة لهذه الصور.

# Initialize the camera  
camera = PiCamera(); 
camera.start_preview() 
camera.capture(path + '/pic.jpg',resize=(640,480)) 
time.sleep(2) 
camera.stop_preview() 
camera.close()

في هذا الأمر سيتم تكوين جسر تواصل مع التيليجرام حتى يتم إرسال الصور الحية إليه.

# Sending picture  
bot.sendPhoto(id, open(path + '/pic.jpg', 'rb'))

في حالة كتب المستخدم أمر غير الأمر photo/ ستظهر له رسالة “Command not found” بمعنى أن الأمر غير موجود.

cctv-send-photo-to-iot-telegram-bot-using-raspberry-pi

bot.sendMessage(id, "Command not found..")

هذا السطر مهم وحساس للغاية عليك كتابة HTTP API الخاص بالبوت الذي قمت بإنشائه.

;(‘الصق HTTP API’) bot = telepot.Bot

bot = telepot.Bot('your_bot_id'); 

الرسالة التي ستظهر مباشرة بعد رفع الكود البرمجي هي “Listening to bot messages” بمعنى أن الراسبيري باي سيستجيب ويتفاعل مع الرسائل المرسلة من قبل التيليجرام.

bot.message_loop(handleMessage); 
print ("Listening to bot messages….");

احفظ الملف camera بالمسار الافتراضي.

يمكنك الآن رفع الكود البرمجي من قائمة Run اختر Run module.

cctv-send-photo-to-iot-telegram-bot-using-raspberry-pi

سيكون هناك رسالة مفادها بأن الراسبيري باي سيأخذ الأوامر من التيليجرام لتنفيذها.

cctv-send-photo-to-iot-telegram-bot-using-raspberry-pi

سيبدأ النظام بالعمل مباشرة يمكنك إرسال photo/ من التيليجرام وستلاحظ أنها مطابقة لمخرجات الشاشة.

cctv-send-photo-to-iot-telegram-bot-using-raspberry-pi

لا تنسَ فصل مصدر الطاقة بعد الانتهاء من استخدام النظام.

 

X
تم إضافة المنتج إلى السلة بنجاح