İçindekiler:

Android ve Arduino SMS Tabanlı Ev Otomasyonu: 5 Adım (Resimli)
Android ve Arduino SMS Tabanlı Ev Otomasyonu: 5 Adım (Resimli)

Video: Android ve Arduino SMS Tabanlı Ev Otomasyonu: 5 Adım (Resimli)

Video: Android ve Arduino SMS Tabanlı Ev Otomasyonu: 5 Adım (Resimli)
Video: SMS ile Ev Otomasyonu (Akıllı Ev Sistemleri) - Arduino GSM Shield Kullanımı & Kodlar 2024, Kasım
Anonim
Android ve Arduino SMS Tabanlı Ev Otomasyonu
Android ve Arduino SMS Tabanlı Ev Otomasyonu
Android ve Arduino SMS Tabanlı Ev Otomasyonu
Android ve Arduino SMS Tabanlı Ev Otomasyonu

! ! ! FARK ETME ! ! !

Bulunduğum bölgede yerel cep telefonu kulesi yükseltildiği için artık bu GSM modülünü kullanamıyorum. Yeni kule artık 2G cihazlarını desteklemiyor. Bu nedenle artık bu projeye destek veremiyorum

Son zamanlarda, oynamak için nispeten ucuz bir Dört Bantlı GSM/GPRS modülü aldım. Bu bir SIM800L modülüdür ve herhangi bir mikro ile seri port üzerinden iletişim kurar. Panel montajlı bir anten ile birlikte geldi.

Cihazları kontrol etmek ve alarmları belirtmek için kısa mesaj servisi (SMS) komutlarını kullanan basit bir SMS Denetleyici sistemi kurmaya karar verdim.

Adım 1: SMS Komutları

SMS Komutları
SMS Komutları

Herhangi bir iletişim sisteminde olduğu gibi, ne yapacağını söylemek için uzak bir cihaza belirli komutların gönderilmesi gerekir. Aynı şekilde, uzak cihazın bu komutlara yanıt vermesi veya tepki vermesi gerekir. Bu proje SMS Kontrolörü ve standart bir cep telefonu olmak üzere iki bölümden oluşmaktadır.

Fikir, dört dijital çıkışa sahip basit bir SMS Denetleyicisi oluşturmaktı. Alınan SMS'e bağlı olarak, ünite ayrı çıkışları kontrol edebilmelidir.

Ayrıca dört dijital giriş eklemeye karar verdim. Bu, alarmları veya diğer bilgileri belirtmek için kullanılabilir.

Derlemeye başlamadan önce, belirli işlevler için belirli komutlar oluşturmaya karar verdim. Bu 'komutlar' bir cep telefonundan SMS kullanılarak gönderilecektir.

SMS Denetleyicisi Alma Komutları:

o1:1 - çıkış 1'i açın

o1:0 - çıkış 1'i kapat

o1:p - darbe çıkışı 1 Açık, ardından Kapalı

o2:1 - çıkış 2'yi açın

o2:0 - çıkış 2'yi kapat

o2:p - darbe çıkışı 2 Açık, ardından Kapatın

o3:1 - çıkış 3'ü açın

o3:0 - çıkış 3'ü kapatın

o3:p - darbe çıkışı 3 Açık, ardından Kapalı

o4:1 - çıkış 4'ü açın

o4:0 - çıkış 4'ü kapatın

o4:p - darbe çıkışı 4 Açık, ardından Kapalı

???? - Giriş ve Çıkışların istek durumu

#### - Sistemi sıfırla

Geri bildirim için, SMS Denetleyicisi alınan komutlara yanıt vermeli ve bir SMS ile yanıt vermelidir. Bu yanıt SMS'inin tüm G/Ç pinlerinin durumunu içermesi gerektiğine karar verdim.

SMS Denetleyici Yanıt Komutları:

i1:x i2:x i3:x i4:x o1:x o2:x o3:x o4:x

burada x, G/Ç durumudur, Açık için 1, Kapalı için 0.

Adım 2: SMS Denetleyicisini Oluşturma

SMS Denetleyicisini Oluşturma
SMS Denetleyicisini Oluşturma
SMS Denetleyicisini Oluşturma
SMS Denetleyicisini Oluşturma
SMS Denetleyicisini Oluşturma
SMS Denetleyicisini Oluşturma

Gerekli ekipman:

Bir breadboard üzerinde herhangi bir Arduino veya bağımsız ATMEGA328p

SMS gönderip alabilen sim kartlı SIM800L GSM/GPRS Modülü

DC/DC dönüştürücüyü azaltın

NOT !!

SIM800L modülüne güç sağlamak için DC/DC dönüştürücü gereklidir. Bu modül, sahip olduğunuz sürüme bağlı olarak 3.7V ile 5V arasında çalışır. Bu modül ayrıca, modül veri ilettiğinde 2A'ya kadar iletebilen bir güç kaynağı gerektirir. Doğrudan Arduino Uno'dan güç sağlanamaz !!

Devre oldukça basittir. Breadboard üzerinde kurdum ve test ettim.

Devreye giden güç, DC/DC dönüştürücü aracılığıyla sağlanır ve çıkış voltajı 4.5V'a ayarlanır. Dijital çıkışları simüle etmek için dört LED ve dijital girişler için dört düğme vardır. SIM800L, ATMEGA328p'nin Rx/Tx pinlerine bağlıdır.

Sistemin SMS göndermekle meşgul olduğunu belirtmek için 5. LED kullanılır.

Adım 3: ATMEGA328p'nin Programlanması

ATMEGA328p'nin programlanması
ATMEGA328p'nin programlanması
ATMEGA328p'nin programlanması
ATMEGA328p'nin programlanması

Programlamadan önce INO dosyasını açın ve telefon numarasını düzenleyin. xxxxxxxxxx'i 46. satırdaki kendi cep telefonu numaranızla değiştirin. Dosyayı yeniden derleyin ve yükleyin.

Ayrıca, INO dosyasındaki Yazılım Seri bağlantı noktasının nasıl yapılandırılacağına ilişkin talimatları okuyun.

//=============================================================================//

// ! ! ! NOT ! ! !

// ================

//

// YAZILIM SERİ KÜTÜPHANESİNDEKİ TAMPON 200 OLARAK DEĞİŞTİRİLECEK

//

// Software Serial'i kullanmak için, kullanıcı ayrıca Software Serial BUFFER'ı 200 olarak değiştirmelidir.

// Bu, aşağıdaki dosyada düzenlenmelidir:

//

// C:/Program Files/Arduino x.x.x/Hardware/Arduino/AVR/Libraries/SoftwareSerial/src/SoftWareSerial.h

//

// Tamponu aşağıdaki gibi değiştirin:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// RX arabellek boyutu

// #endif

//

//=============================================================================

ATMEGA328p'yi bir Arduino UNO kullanarak devre tahtasında programlamak için bu talimata bakın.

www.instructables.com/id/Arduino-UNO-as-AtM…

Adım 4: SMS Denetleyicisini Kullanma

SMS Denetleyicisini Kullanma
SMS Denetleyicisini Kullanma

SMS Denetleyicisini Kullanma

Dört girişten herhangi biri tetiklenirse SMS Denetleyicisi telefonunuza otomatik olarak bir SMS gönderir. Tetikleyicinin ayrıntıları SMS metninde yer alacaktır.

SMS mesajları ve komutları, INO dosyasında ihtiyaçlarınıza göre düzenlenebilir.

SMS Denetleyici Çıkışlarının Test Edilmesi

Cep telefonunuzdan SIM800L simkart numaranıza aşağıdaki komutları gönderin:

o1:1, bu çıkış 1'i açar.

Telefonunuzda aşağıdaki SMS'i alacaksınız:

i1:0 i2:0 i3:0 i4:0 o1:1 o2:0 03:0 o4:0

01:0, bu çıkış 1'i kapatacaktır.

Telefonunuzda aşağıdaki SMS'i alacaksınız:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

01:p, bu çıkış 1'i 1 saniyeliğine açar, ardından çıkış 1'i tekrar kapatır (darbeli).

Telefonunuza aşağıdaki SMS'i alacaksınız:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

SMS Denetleyici Girişlerini Test Etme

SMS Denetleyicisinde, 1 düğmesine kısaca basın

Telefonunuzda otomatik olarak aşağıdaki SMS'i alacaksınız:

i1:1 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

SMS Controller'da 2 düğmesine kısaca basın

Telefonunuzda otomatik olarak aşağıdaki SMS'i alacaksınız:

i1:1 i2:1 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

SMS Controller'da 3 düğmesine kısaca basın

Telefonunuzda otomatik olarak aşağıdaki SMS'i alacaksınız:

i1:1 i2:1i3:1 i4:0 o1:0 o2:0 03:0 o4:0

Gelen SMS'de de görüldüğü gibi alınan komutlara göre çıkışlar değişmektedir. Ancak, düğmelere basıldıktan sonra girişler 1'den 0'a geri değişmez. Girişlerdeki değişiklikleri görebilmek istediğim için, SMS Kontrolörüne bir sıfırlama komutu gönderilene kadar giriş durumunu mühürlemeye karar verdim.

Alarmları Sıfırla

Giriş durumunu sıfırlamak için aşağıdaki komutu gönderin:

####, bu giriş durumunu sıfırlayacaktır.

Telefonunuza aşağıdaki SMS'i alacaksınız:

i1:0 i2:0 i3:0 i4:0 o1:0 o2:0 03:0 o4:0

Durum güncellemeleri

Ayrıca, aşağıdaki komutu göndererek istediğiniz zaman durumu talep edebilirsiniz:

????, bu, G/Ç'lerin durum güncellemesini isteyecektir.

Telefonunuzda aşağıdaki SMS'i alacaksınız:

i1:x i2:x i3:x i4:x o1:x o2:x 03:x o4:x

burada x durumu gösterir, açık için 1, kapalı için 0.

Adım 5: Android Uygulaması

Android uygulama
Android uygulama
Android uygulama
Android uygulama
Android uygulama
Android uygulama

MIT App Inventor 2'yi (https://ai2.appinventor.mit.edu/) kullanarak Android cep telefonum için basit bir kullanıcı arayüzü oluşturdum. Bu uygulama, her G/Ç'nin açıklamasını özelleştirmenize olanak tanır. Ayrıca telefon numarasının girilmesine izin verir.

Dört düğme Çıkışları kontrol etmek için kullanılırken, onay kutuları giriş durumunu gösterir.

Uygulamayı düzenlemek için bir MIT App Inventor 2 hesabı oluşturun ve AIA dosyasını içe aktarın.

Uygulamayı telefonunuza yüklemek için APK dosyasını telefonunuza kopyalayın ve yükleyin. Telefonunuzun güvenlik ayarları altında "Bilinmeyen Kaynaklar"dan uygulamaların yüklenmesini etkinleştirmeniz gerekecek.

Önerilen: