Как я могу использовать мой Raspberry Pi для обнаружения движения и SMS?


8

Я только начинаю. Как я могу использовать мой Raspberry Pi, чтобы сделать следующее: когда какое-либо движение будет обнаружено у моей входной двери, отправьте мне текстовое сообщение (SMS)?


2
Кажется, может быть лучше два вопроса. Как обнаружить движение и как отправить смс.
Jivings

1
Вы можете приобрести Prowl, он может отправлять Push-уведомления на ваш телефон: prowlapp.com
Gotschi

Ответы:


11

Мой ответ состоит из двух частей: одна для обнаружения движения, другая для SMS. Такой проект состоит из двух компонентов: аппаратного и программного обеспечения. Обнаружение движения - это аппаратная часть, а все остальное - программное обеспечение.

движение

аппаратные средства

Чтобы обнаружить движение, возьмите датчик движения. Я использую партнерскую ссылку Parallax PIR Motion Sensor: Amazon здесь. Датчик имеет 3 контакта: GND, VCC и OUT. Подключите контакты к RPi или подключите их к макету и подключите контакты с RPi к тому же макету. Подключите GND к выводу GND (6), VCC к выводу 3,3 В (1) и ВЫХОД к GPIO0 (11).

Програмное обеспечение

Я рекомендую вам использовать библиотеку WiringPi. Следуйте этим инструкциям, чтобы загрузить и установить библиотеку на свой Pi: Wiring Pi Library Загрузка и установка . Вывод на датчике движения показывает высокий уровень, если движение обнаружено, и низкий уровень, если это не так.

Детектор движения сбрасывается через 10 секунд после окончания непрерывного движения. Таким образом, булавка может выстрелить много раз в ответ на одно движение. Чтобы не получать SMS-сообщения каждые несколько секунд, вы, вероятно, захотите включить логику в свою программу, чтобы подождать определенное время перед отправкой другого SMS-сообщения.

смс

Есть несколько разных способов сделать это. Одним из способов является подписка на платную услугу, которая предоставляет библиотеку, в которую можно позвонить с соответствующей информацией для отправки SMS. Twilio API Libraries - хороший пример этого.

Если вы не хотите тратить деньги и у вас есть номер Google Voice, подключенный к вашему мобильному телефону, вы можете использовать API Google Voice C ++, разработанный Стивеном Хиксоном для RPi ( Google Voice C ++ API ). Конечный результат может выглядеть примерно так (я написал его, но не загружал и не тестировал его на RPi):

#include <wiringPi.h>
#include <time.h>
#include <string.h>
#include "gvoice.h"

int sendSMS(void);

#define MOTION_PIN 0
#define MINUTES_TO_WAIT 5

// some made-up error codes for SMS result
#define SUCCESS 0
#define LOGIN_ERROR 1
#define SMS_ERROR 2

static char *number = "2125551212", *message = "Motion detected!";

int main(int argc, char** argv) {
    time_t lastSent, now;
    int result;

    // track the time we sent the last SMS
    lastSent = time(NULL) - 60*(MINUTES_TO_WAIT + 1)

    // set up motion pin
    wiringPiSetup();
    pinMode(MOTION_PIN, INPUT);

    while (true) {
        if (digitalRead(MOTION_PIN)==HIGH) { // motion detected
            // get the current time
            time(&now);

            // if we've waited long enough, send a message
            if (difftime(now, lastSent)/60) > MINUTES_TO_WAIT) {
                if (result = sendSMS()) {
                    print("Message sent!\n");
                    lastSent = now;
                } else {
                    printf("Error %d. Message not sent!\n", result);
                }
            }
        }
    }

}

int sendSMS(void) {
    // Uses the Google Voice C++ API by Steven Hickson
    GoogleVoice gv;
    char *username = "username", *password = "password";

    if (gv.Login(username, password)) {
        if (gv.SendSMS(number, message)) {
            return SUCCESS;
        } else {
            return SMS_ERROR;
        }
    } else {
        return LOGIN_ERROR;
    }
}

4

простая веб-камера + программное обеспечение «движения» (вы можете установить его с помощью «sudo apt-get install motion») должны позаботиться о первой части вопроса. В файле конфигурации есть множество параметров, вы можете запускать внешние сценарии при обнаружении движения.

вторая часть вашего вопроса (re: SMS) потребует подключения к Интернету и подписки на какую-либо услугу отправки SMS. в вашем районе могут быть бесплатные, но я не могу вам этого обещать. В основном, служба доставки SMS предоставит вам сценарии отправки SMS, написанные на нескольких языках, вы можете выбрать тот, который вам нравится, и использовать его для отправки сообщений, когда «движение» обнаруживает что-либо интересное.


Спасибо, я попробую программу движения !
Г. Ломбард


2

Есть проект, который строит камеру безопасности из программного обеспечения Raspberry Pi и Motion (см. Ссылку ниже). Обратите внимание, что камера Pi (CMOS) не является камерой с низким уровнем освещенности, как многие более дорогие камеры безопасности (CCD), и ей требуется достаточно света для получения работоспособного видеопотока.

http://www.raspberrypi.org/archives/5071

Также имеется ИК-камера, хотя она также не собирает много света, поэтому для достижения того же результата, что и более дорогие камеры безопасности, требуется больше инфракрасного излучения.

http://www.raspberrypi.org/forum/viewtopic.php?t=63115

Подробнее о разнице в слабом освещении между CMOS и CCD;

http://www.axis.com/products/video/camera/ccd_cmos.htm

Тем не менее, некоторые сенсоры CMOS-изображений с задней подсветкой начинают догонять в категории слабого освещения;

http://www.techhive.com/article/246931/cmos_is_winning_the_camera_sensor_battle_and_heres_why.html?page=2

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.