Bagaimana saya bisa menggunakan Raspberry Pi saya untuk deteksi gerakan dan SMS?


8

Saya baru memulai. Bagaimana saya bisa menggunakan Raspberry Pi saya untuk melakukan hal berikut: ketika ada gerakan terdeteksi di pintu depan saya, kirimi saya pesan teks (SMS)?


2
Sepertinya lebih baik sebagai dua pertanyaan. Cara mendeteksi pergerakan dan cara mengirim SMS.
Jivings

1
Anda mungkin mempertimbangkan untuk membeli Prowl, ia dapat mengirim Pemberitahuan Push ke Telepon Anda: prowlapp.com
Gotschi

Jawaban:


11

Jawaban saya ada dua bagian, satu untuk deteksi gerakan dan satu lagi untuk SMS. Sebuah proyek seperti ini memiliki dua komponen: perangkat keras dan perangkat lunak. Mendeteksi gerakan adalah bagian perangkat keras dan yang lainnya adalah perangkat lunak.

Gerakan

Perangkat keras

Untuk mendeteksi gerakan, dapatkan sensor gerak. Saya menggunakan Parallax PIR Motion Sensor: tautan afiliasi Amazon di sini. Sensor ini memiliki 3 pin: GND, VCC dan OUT. Hubungkan pin ke RPi Anda atau hubungkan ke papan tempat memotong roti dan hubungkan pin dari RPi ke papan tempat memotong roti yang sama. Hubungkan GND ke pin GND (6), VCC ke pin 3.3v (1) dan OUT ke GPIO0 (11).

Perangkat lunak

Saya sarankan Anda menggunakan perpustakaan WiringPi. Ikuti petunjuk ini untuk mengunduh dan menginstal perpustakaan di Pi Anda: Unduh dan Pasang Pustaka Wiring Pi . Pin pada sensor gerak berbunyi Tinggi jika gerakan terdeteksi dan Rendah jika tidak.

Detektor gerak akan mereset sendiri setelah sekitar 10 detik ketika gerakan terus menerus berakhir. Jadi pin bisa menembak berkali-kali sebagai respons terhadap satu gerakan. Untuk menghindari menerima pesan SMS setiap beberapa detik, Anda mungkin ingin memasukkan logika dalam program Anda untuk menunggu beberapa saat sebelum mengirim SMS lain.

SMS

Ada beberapa cara berbeda untuk melakukannya. Salah satu caranya adalah dengan berlangganan layanan berbayar yang menyediakan perpustakaan yang dapat Anda hubungi dengan informasi terkait untuk mengirim SMS. Twilio API Libraries adalah contoh yang bagus untuk ini.

Jika Anda tidak ingin menghabiskan uang dan Anda memiliki nomor Google Voice yang terhubung ke ponsel Anda, Anda dapat menggunakan Google Voice C ++ API yang dikembangkan Steven Hickson untuk RPi ( Google Voice C ++ API ). Hasil akhirnya mungkin terlihat seperti ini (saya menulisnya tetapi tidak memuat dan mengujinya pada 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

perangkat lunak web-camera + "motion" sederhana (Anda dapat menginstalnya dengan 'sudo apt-get install motion') harus memperhatikan bagian pertama dari pertanyaan. motion memiliki banyak parameter dalam file konfigurasi, Anda dapat menjalankan skrip eksternal ketika gerakan terdeteksi.

bagian kedua dari pertanyaan Anda (re: SMS) akan memerlukan koneksi internet dan berlangganan ke beberapa jenis layanan pengiriman SMS. mungkin ada yang gratis tersedia di daerah Anda, tetapi saya tidak bisa menjanjikan itu. pada dasarnya, perusahaan layanan pengiriman SMS akan memberi Anda skrip pengiriman SMS yang ditulis dalam beberapa bahasa, Anda dapat memilih yang Anda suka dan menggunakannya untuk mengirim pesan ketika "gerakan" mendeteksi sesuatu yang menarik.


Terima kasih saya akan mencoba perangkat lunak gerak !
G. Lombard


2

Ada proyek yang membangun kamera keamanan dari perangkat lunak Raspberry Pi dan Motion (lihat tautan di bawah). Perhatikan bahwa kamera Pi (CMOS) bukan kamera rendah cahaya seperti banyak kamera keamanan lebih mahal (CCD) dan membutuhkan cahaya yang cukup untuk mendapatkan aliran video yang bisa diterapkan.

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

Ada kamera IR yang tersedia juga, meskipun tidak mengumpulkan banyak cahaya, jadi lebih banyak cahaya IR diperlukan untuk mencapai hasil yang sama dengan yang dicapai oleh kamera keamanan yang lebih mahal.

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

Lebih lanjut tentang perbedaan cahaya rendah antara CMOS dan CCD;

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

Namun, beberapa sensor gambar CMOS dengan pencahayaan belakang mulai menyusul dalam kategori cahaya rendah;

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.