İçindekiler:
- Adım 1: SMS Komutları
- Adım 2: SMS Denetleyicisini Oluşturma
- Adım 3: ATMEGA328p'nin Programlanması
- Adım 4: SMS Denetleyicisini Kullanma
- Adım 5: Android Uygulaması
Video: Android ve Arduino SMS Tabanlı Ev Otomasyonu: 5 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
! ! ! 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ı
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
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ı
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
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ı
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:
NodeMCU Sensörler Kontrol Rölesi ile IoT Tabanlı Ev Otomasyonu Nasıl Yapılır: 14 Adım (Resimlerle)
NodeMCU Sensörleri Kontrol Rölesi ile IoT Tabanlı Ev Otomasyonu Nasıl Yapılır: IoT tabanlı bu projede Blynk ile Ev Otomasyonu ve gerçek zamanlı geri beslemeli NodeMCU kontrol rölesi modülü yaptım. Manuel Modda, bu röle modülü Mobil veya akıllı telefondan ve Manuel anahtardan kontrol edilebilir. Otomatik Modda, bu akıllı
SMS Bildirimli ve Thingspeak Veri Yüklemeli GPS Araç Takip Cihazı, Arduino Tabanlı, Ev Otomasyonu: 5 Adım (Resimli)
SMS Bildirimli ve Thingspeak Veri Yüklemeli GPS Araç Takip Cihazı, Arduino Tabanlı, Ev Otomasyonu: Bu GPS takip cihazını geçen yıl yaptım ve iyi çalıştığı için şimdi Instructable'da yayınlıyorum. Bagajımdaki aksesuar fişine bağlı. GPS izleyici, aracın konumunu, hızını, yönünü ve ölçülen sıcaklığı bir mobil veri aracılığıyla yükler
Arduino Tabanlı Temassız Kızılötesi Termometre - Arduino Kullanan IR Tabanlı Termometre: 4 Adım
Arduino Tabanlı Temassız Kızılötesi Termometre | Arduino Kullanan IR Tabanlı Termometre: Merhaba arkadaşlar, bu talimatta arduino kullanarak temassız bir Termometre yapacağız. Bazen sıvının/katının sıcaklığı çok yüksek veya çok düşük olduğundan, onunla temas kurmak ve okumak zordur. o sahnede sıcaklık
IoT Tabanlı Ev Otomasyonu: 4 Adım
IOT Tabanlı Ev Otomasyonu: Nasıl Çalışır: 4 röleyi esp8266 NodeMcu ile kontrol etmek için özelleştirilmiş bir devre kartı yapıyorum Bu devre DC 12 volt 1 amper güç ile çalışır. nodemcu açıldığında WiFi & ayrıca Blynk sunucusuna bağlanınAkıllı telefonunuz virgül gönderin
Arduino Tabanlı GSM/SMS Uzaktan Kumanda Ünitesi: 16 Adım (Resimli)
Arduino Tabanlı GSM/SMS Uzaktan Kumanda Birimi: ! ! ! FARK ETME ! ! !Bölgemdeki 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 herhangi bir destek veremiyorum.Böyle bir wi