Mündəricat:

Android və Arduino SMS əsaslı ev avtomatlaşdırması: 5 addım (şəkillərlə birlikdə)
Android və Arduino SMS əsaslı ev avtomatlaşdırması: 5 addım (şəkillərlə birlikdə)

Video: Android və Arduino SMS əsaslı ev avtomatlaşdırması: 5 addım (şəkillərlə birlikdə)

Video: Android və Arduino SMS əsaslı ev avtomatlaşdırması: 5 addım (şəkillərlə birlikdə)
Video: Главная Автоматизация с помощью SMS - Использование и коды использования GSM-клавиатуры Arduino 2024, Iyul
Anonim
Android və Arduino SMS əsaslı ev avtomatlaşdırılması
Android və Arduino SMS əsaslı ev avtomatlaşdırılması
Android və Arduino SMS əsaslı ev avtomatlaşdırılması
Android və Arduino SMS əsaslı ev avtomatlaşdırılması

! ! ! XƏBƏRDARLIQ ! ! !

Bölgəmdə yerli mobil telefon qülləsinin təkmilləşdirilməsi səbəbindən artıq bu GSM modulundan istifadə edə bilmirəm. Yeni qüllə artıq 2G cihazlarını dəstəkləmir. Ona görə də artıq bu layihəyə heç bir dəstək verə bilmərəm

Bu yaxınlarda oynamaq üçün nisbətən ucuz Quad Band GSM/GPRS modulu aldım. Bu SIM800L moduludur və istənilən mikro ilə serial port vasitəsilə əlaqə qurur. Panel montaj antenası ilə tamamlandı.

Cihazları idarə etmək və həyəcan siqnallarını göstərmək üçün qısa mesaj xidməti (SMS) əmrlərindən istifadə edən sadə bir SMS Controller sistemi qurmağa qərar verdim.

Addım 1: SMS əmrləri

SMS əmrləri
SMS əmrləri

Hər hansı bir rabitə sistemində olduğu kimi, nə edəcəyini söyləmək üçün uzaq bir cihaza xüsusi əmrlər göndərilməlidir. Eyni şəkildə, uzaqdakı cihazın bu əmrlərə cavab verməsi və ya reaksiya verməsi lazımdır. Bu layihə iki hissədən ibarətdir: SMS Controller və standart bir cib telefonu.

Fikir, dörd rəqəmsal çıxışı olan sadə bir SMS Nəzarətçisi yaratmaq idi. Alınan SMS -dən asılı olaraq, vahid fərdi çıxışları idarə edə bilməlidir.

Mən də dörd rəqəmsal giriş daxil etmək qərarına gəldim. Bu siqnalları və ya digər məlumatları göstərmək üçün istifadə edilə bilər.

Qurmağa başlamazdan əvvəl, xüsusi funksiyalar üçün xüsusi əmrlər yaratmağa qərar verdim. Bu 'əmrlər' cib telefonundan SMS istifadə edərək göndəriləcək.

SMS nəzarətçisi əmrləri alır:

o1: 1 - çıxışı 1 yandırın

o1: 0 - çıxışı 1 söndürün

o1: p - nəbz çıxışı 1 Açıq, sonra söndürün

o2: 1 - çıxışı 2 yandırın

o2: 0 - çıxışı 2 söndürün

o2: p - nəbz çıxışı 2 Açıq, sonra söndürün

o3: 1 - çıxışı 3 yandırın

o3: 0 - çıxışı 3 söndürün

o3: p - nəbz çıxışı 3 Açıq, sonra söndürün

o4: 1 - çıxışı 4 yandırın

o4: 0 - çıxışı 4 söndürün

o4: p - pulse çıxışı 4 Açıq, sonra söndürün

???? - Giriş və Çıxışların statusunu tələb edin

#### - Sistemi sıfırlayın

Əlaqə üçün SMS Nəzarətçisi alınan əmrlərə cavab verməli və SMS ilə cavab verməlidir. Qərara aldım ki, bu cavab SMS -də bütün I/O pinlərinin statusu olmalıdır.

SMS nəzarətçisinin cavab əmrləri:

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

burada x I/O statusudur, On üçün 1, Off üçün 0.

Addım 2: SMS nəzarətçisinin qurulması

SMS nəzarətçisinin qurulması
SMS nəzarətçisinin qurulması
SMS nəzarətçisinin qurulması
SMS nəzarətçisinin qurulması
SMS nəzarətçisinin qurulması
SMS nəzarətçisinin qurulması

Lazım olan avadanlıqlar:

Çörək taxtasında hər hansı bir Arduino və ya müstəqil ATMEGA328p

SMS göndərmək və qəbul etmək qabiliyyətinə malik sim kartlı SIM800L GSM/GPRS Modulu

DC/DC çeviricisini aşağı salın

QEYD !

SIM800L modulunu gücləndirmək üçün DC/DC çeviricisi tələb olunur. Bu modul, versiyanızdan asılı olaraq 3.7V və 5V arasında işləyir. Bu modul, eyni zamanda modul məlumat ötürərkən 2A -a qədər çatdıra bilən bir enerji təchizatı tələb edir. Birbaşa Arduino Uno -dan enerji almaq olmaz !

Dövrə olduqca sadədir. Çörək taxtasında yığdım və sınadım.

Dövrə enerjisi DC/DC çeviricisi vasitəsi ilə verilir, çıxış gərginliyi 4.5V olaraq təyin olunur. Rəqəmsal çıxışları simulyasiya etmək üçün dörd LED və rəqəmsal girişlər üçün dörd düymə var. SIM800L, ATMEGA328p -in Rx/Tx pinlərinə qoşulur.

5 -ci LED sistemin SMS göndərməklə məşğul olduğunu göstərmək üçün istifadə olunur.

Addım 3: ATMEGA328p proqramlaşdırılması

ATMEGA328p proqramlaşdırılması
ATMEGA328p proqramlaşdırılması
ATMEGA328p proqramlaşdırılması
ATMEGA328p proqramlaşdırılması

Proqramlaşdırmadan əvvəl INO faylını açın və telefon nömrəsini düzəldin. 46 -cı sətirdə xxxxxxxxxx -ı öz mobil telefon nömrənizlə əvəz edin. Yenidən tərtib edin və faylı yükləyin.

Ayrıca, INO faylında Proqram Serial portunu necə konfiqurasiya etmək barədə təlimatları oxuyun.

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

//! ! ! QEYD ! ! !

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

//

// YAZILIM SERİ KİTABXANASINDA BUFER 200 -ə dəyişdiriləcək

//

// Proqram Serialından istifadə etmək üçün istifadəçi Software Serial BUFFER -i 200 -ə dəyişməlidir.

// Bu, aşağıdakı faylda redaktə edilməlidir:

//

// C:/Proqram Faylları/Arduino x.x.x/Hardware/Arduino/AVR/Kitabxanalar/SoftwareSerial/src/SoftWareSerial.h

//

// Tamponu aşağıdakı kimi dəyişdirin:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// RX tampon ölçüsü

// #endif

//

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

ATMEGA328p proqramını Arduino UNO istifadə edərək çörək lövhəsində proqramlaşdırmaq üçün bu təlimata baxın.

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

Addım 4: SMS nəzarətçisindən istifadə edin

SMS nəzarətçisindən istifadə
SMS nəzarətçisindən istifadə

SMS nəzarətçisindən istifadə

Dörd girişdən biri işə salındıqda SMS Nəzarətçi avtomatik olaraq telefonunuza bir SMS göndərəcək. Tetikleyicinin detalları SMS mətnində olacaq.

SMS mesajları və əmrləri INO faylında ehtiyaclarınıza uyğun olaraq düzəldilə bilər.

SMS Controller Çıxışlarının Test Edilməsi

Cib telefonunuzdan SIM800L sim kart nömrənizə aşağıdakı əmrləri göndərin:

o1: 1, bu çıxış 1 -i açacaq.

Telefonunuza aşağıdakı SMS gələcək:

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

01: 0, bu çıxış 1 -i söndürəcək.

Telefonunuza aşağıdakı SMS gələcək:

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

01: p, bu çıxış 1 -i 1 saniyə açacaq, sonra çıxış 1 -i yenidən söndürəcək (impulslu).

Telefonunuza aşağıdakı SMS gələcək:

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

SMS nəzarətçi girişlərinin sınanması

SMS nəzarətçisində 1 düyməsini qısaca basın

Telefonunuzda avtomatik olaraq aşağıdakı SMS alacaqsınız:

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

SMS nəzarətçisində 2 düyməsini qısa müddətə basın

Telefonunuzda avtomatik olaraq aşağıdakı SMS alacaqsınız:

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

SMS nəzarətçisində 3 düyməsini qısa müddətə basın

Telefonunuzda avtomatik olaraq aşağıdakı SMS alacaqsınız:

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

Alınan SMS -də göründüyü kimi, alınan əmrlərə görə çıxışlar dəyişir. Bununla birlikdə, düymələr basıldıqdan sonra girişlər 1 -dən 0 -a dəyişmir. Girişlərdəki hər hansı bir dəyişikliyi görmək istədiyim üçün SMS nəzarətçisinə sıfırlama əmri göndərilənə qədər giriş statusunu möhürləməyə qərar verdim.

Siqnalları sıfırlayın

Giriş vəziyyətini sıfırlamaq üçün aşağıdakı əmri göndərin:

####, bu giriş statusunu sıfırlayacaq.

Telefonunuza aşağıdakı SMS gələcək:

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

Status Güncellemeleri

İstənilən vaxt aşağıdakı əmri göndərərək status istəyə bilərsiniz:

????, bu I/O -nun status yeniləməsini tələb edəcək.

Telefonunuza aşağıdakı SMS gələcək:

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

burada x vəziyyəti, 1 -i açıq, 0 -ı söndürmək üçün göstərir.

Addım 5: Android tətbiqi

Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi
Android tətbiqi

MIT App Inventor 2 (https://ai2.appinventor.mit.edu/) istifadə edərək Android cib telefonum üçün sadə bir istifadəçi interfeysi yaratdım. Bu proqramlar hər bir I/O təsvirini fərdiləşdirməyə imkan verir. Telefon nömrəsinin daxil edilməsinə də imkan verir.

Dörd düymə Çıxışları idarə etmək üçün istifadə olunur, onay qutuları giriş vəziyyətini göstərir.

Tətbiqi redaktə etmək üçün MIT App Inventor 2 hesabı yaradın və AIA faylını idxal edin.

Tətbiqi telefonunuza yükləmək üçün APK faylını telefonunuza kopyalayın və quraşdırın. Telefonunuzun təhlükəsizlik parametrləri altında "Naməlum mənbələr" dən tətbiqlərin quraşdırılmasını təmin etməlisiniz.

Tövsiyə: