Làm cách nào tôi có thể sử dụng Raspberry Pi để phát hiện chuyển động và SMS?


8

Tôi chỉ mới bắt đầu. Làm cách nào tôi có thể sử dụng Raspberry Pi để thực hiện các thao tác sau: khi phát hiện bất kỳ chuyển động nào ở cửa trước, hãy gửi cho tôi một tin nhắn văn bản (SMS)?


2
Có vẻ như có thể tốt hơn là hai câu hỏi. Cách phát hiện chuyển động và cách gửi SMS.
Jivings

1
bạn có thể cân nhắc mua Prowl, nó có thể gửi Thông báo đẩy tới điện thoại của bạn: prowlapp.com
Gotschi

Câu trả lời:


11

Câu trả lời của tôi là hai phần, một phần để phát hiện chuyển động và phần khác cho SMS. Một dự án như thế này có hai thành phần: phần cứng và phần mềm. Phát hiện chuyển động là phần cứng và mọi thứ khác là phần mềm.

Chuyển động

Phần cứng

Để phát hiện chuyển động, có được một cảm biến chuyển động. Tôi sử dụng cảm biến chuyển động Parallax Pir: liên kết chi nhánh của Amazon tại đây. Cảm biến có 3 chân: GND, VCC và OUT. Kết nối các chân với RPi của bạn hoặc kết nối chúng với bảng mạch và kết nối các chân từ RPi với cùng bảng. Kết nối GND với chân GND (6), VCC với chân 3,3v (1) và OUT với GPIO0 (11).

Phần mềm

Tôi khuyên bạn nên sử dụng thư viện WiresPi. Thực hiện theo các hướng dẫn sau để tải xuống và cài đặt thư viện trên Pi: Tải xuống và cài đặt thư viện Pi . Chân trên cảm biến chuyển động đọc Cao nếu phát hiện chuyển động và Thấp nếu không.

Bộ phát hiện chuyển động tự đặt lại sau khoảng 10 giây khi chuyển động liên tục kết thúc. Vì vậy, pin có thể bắn nhiều lần để đáp ứng với một chuyển động. Để tránh nhận tin nhắn SMS cứ sau vài giây, có lẽ bạn muốn đưa logic vào chương trình của mình để chờ một khoảng thời gian nhất định trước khi gửi SMS khác.

tin nhắn

Có một vài cách khác nhau bạn có thể làm điều này. Một cách là đăng ký một dịch vụ trả phí cung cấp thư viện mà bạn có thể gọi với thông tin thích hợp để gửi SMS. Thư viện API Twilio là một ví dụ tốt về điều này.

Nếu bạn không muốn chi bất kỳ khoản tiền nào và bạn có số Google Voice được kết nối với điện thoại di động của mình, bạn có thể sử dụng API Google Voice C ++ mà Steven Hickson đã phát triển cho RPi ( API Google Voice C ++ ). Kết quả cuối cùng có thể trông giống như thế này (tôi đã viết nó nhưng không tải và kiểm tra nó trên 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

máy ảnh web đơn giản + phần mềm "chuyển động" (bạn có thể cài đặt phần mềm với 'sudo apt-get install motion') nên quan tâm đến phần đầu tiên của câu hỏi. chuyển động có nhiều tham số trong tệp cấu hình, bạn có thể chạy các tập lệnh bên ngoài khi phát hiện chuyển động.

phần thứ hai của câu hỏi của bạn (re: SMS) sẽ yêu cầu kết nối internet và đăng ký một số loại dịch vụ gửi SMS. có thể có những cái miễn phí có sẵn trong khu vực của bạn, nhưng tôi không thể hứa với bạn điều đó. về cơ bản, công ty dịch vụ chuyển phát SMS sẽ cung cấp cho bạn các tập lệnh gửi SMS được viết bằng một vài ngôn ngữ, bạn có thể chọn ngôn ngữ bạn thích và sử dụng nó để gửi tin nhắn khi "chuyển động" phát hiện bất cứ điều gì thú vị.


Cảm ơn tôi sẽ dùng thử phần mềm chuyển động !
G. Lombard


2

Có một dự án xây dựng camera an ninh từ phần mềm Raspberry Pi và Motion (xem liên kết bên dưới). Lưu ý rằng camera Pi (CMOS) không phải là camera ánh sáng yếu như nhiều camera an ninh (CCD) đắt tiền hơn và cần đủ ánh sáng để có được luồng video khả thi.

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

Cũng có sẵn một camera hồng ngoại, mặc dù nó cũng không thu thập được nhiều ánh sáng, do đó cần có thêm bức xạ hồng ngoại để đạt được kết quả tương tự như các camera an ninh đắt tiền hơn đạt được.

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

Thông tin thêm về sự chênh lệch ánh sáng yếu giữa CMOS và CCD;

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

Tuy nhiên, một số cảm biến hình ảnh CMOS chiếu sáng mặt sau đang bắt đầu bắt kịp trong loại ánh sáng yếu;

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.