Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός: 5 βήματα (με εικόνες)
Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός: 5 βήματα (με εικόνες)
Anonim
Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός
Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός
Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός
Android και Arduino SMS Βασισμένος οικιακός αυτοματισμός

! ! ! ΕΙΔΟΠΟΙΗΣΗ ! ! !

Λόγω της αναβάθμισης του τοπικού πύργου κινητής τηλεφωνίας στην περιοχή μου, δεν μπορώ πλέον να χρησιμοποιήσω αυτήν την ενότητα GSM. Ο νεότερος πύργος δεν υποστηρίζει πλέον συσκευές 2G. Επομένως, δεν μπορώ πλέον να υποστηρίξω αυτό το έργο

Πρόσφατα, έλαβα μια σχετικά φθηνή μονάδα Quad Band GSM/GPRS για να παίξω. Είναι μονάδα SIM800L και επικοινωνεί με οποιοδήποτε μικρόφωνο μέσω σειριακής θύρας. Έρχεται πλήρης με κεραία στήριξης πάνελ.

Αποφάσισα να δημιουργήσω ένα απλό σύστημα ελεγκτή SMS που χρησιμοποιεί εντολές υπηρεσίας σύντομων μηνυμάτων (SMS) για τον έλεγχο συσκευών και την ένδειξη συναγερμών.

Βήμα 1: Εντολές SMS

Εντολές SMS
Εντολές SMS

Όπως συμβαίνει με οποιοδήποτε σύστημα επικοινωνίας, συγκεκριμένες εντολές πρέπει να αποστέλλονται σε απομακρυσμένη συσκευή για να της πει τι να κάνει. Ομοίως, η απομακρυσμένη συσκευή πρέπει να απαντήσει ή να αντιδράσει σε αυτές τις εντολές. Αυτό το έργο αποτελείται από δύο μέρη, τον ελεγκτή SMS και ένα τυπικό κινητό τηλέφωνο.

Η ιδέα ήταν να δημιουργηθεί ένας απλός ελεγκτής SMS με τέσσερις ψηφιακές εξόδους. Ανάλογα με τα ληφθέντα SMS, η μονάδα πρέπει να είναι σε θέση να ελέγχει τις μεμονωμένες εξόδους.

Αποφάσισα επίσης να συμπεριλάβω τέσσερις ψηφιακές εισόδους. Αυτό μπορεί να χρησιμοποιηθεί για την ένδειξη συναγερμών ή άλλων πληροφοριών.

Πριν ξεκινήσω την κατασκευή, αποφάσισα να δημιουργήσω συγκεκριμένες εντολές για συγκεκριμένες λειτουργίες. Αυτές οι "εντολές" θα σταλούν χρησιμοποιώντας ένα SMS από ένα κινητό τηλέφωνο.

Ο ελεγκτής SMS λαμβάνει εντολές:

o1: 1 - ενεργοποιήστε την έξοδο 1 On

o1: 0 - απενεργοποιήστε την έξοδο 1

o1: p - έξοδος παλμού 1 Ενεργοποιημένο και, στη συνέχεια, απενεργοποιήστε

o2: 1 - ενεργοποιήστε την έξοδο 2 On

o2: 0 - απενεργοποιήστε την έξοδο 2

o2: p - έξοδος παλμού 2 Ενεργοποίηση και, στη συνέχεια, απενεργοποίηση

o3: 1 - ενεργοποιήστε την έξοδο 3 On

o3: 0 - απενεργοποιήστε την έξοδο 3

o3: p - έξοδος παλμού 3 Ενεργοποίηση και, στη συνέχεια, απενεργοποίηση

o4: 1 - ενεργοποιήστε την έξοδο 4 On

o4: 0 - απενεργοποιήστε την έξοδο 4

o4: p - έξοδος παλμού 4 On, και στη συνέχεια απενεργοποίηση

???? - Αίτηση κατάστασης εισόδων και εξόδων

#### - Επαναφορά συστήματος

Για ανατροφοδότηση, ο ελεγκτής SMS πρέπει να απαντήσει στις ληφθείσες εντολές και να απαντήσει με ένα SMS. Αποφάσισα ότι αυτό το απαντητικό SMS πρέπει να περιλαμβάνει την κατάσταση όλων των ακίδων εισόδου/εξόδου.

Εντολές απόκρισης ελεγκτή SMS:

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

όπου x είναι η κατάσταση εισόδου/εξόδου, 1 για On, 0 για Off.

Βήμα 2: Δημιουργία του ελεγκτή SMS

Δημιουργία του ελεγκτή SMS
Δημιουργία του ελεγκτή SMS
Δημιουργία του ελεγκτή SMS
Δημιουργία του ελεγκτή SMS
Δημιουργία του ελεγκτή SMS
Δημιουργία του ελεγκτή SMS

Απαιτείται εξοπλισμός:

Οποιοδήποτε Arduino, ή αυτόνομο ATMEGA328p σε ένα breadboard

SIM800L GSM/GPRS Module με κάρτα sim ικανή να στέλνει και να λαμβάνει SMS

Βήμα κάτω μετατροπέα DC/DC

ΣΗΜΕΙΩΣΗ !

Ο μετατροπέας DC/DC απαιτείται για την τροφοδοσία της μονάδας SIM800L. Αυτή η μονάδα λειτουργεί μεταξύ 3,7V και 5V, ανάλογα με την έκδοση που έχετε. Αυτή η μονάδα απαιτεί επίσης ένα τροφοδοτικό που μπορεί να παρέχει έως 2Α όταν η μονάδα μεταδίδει δεδομένα. Δεν μπορεί να τροφοδοτηθεί απευθείας από το Arduino Uno !

Το κύκλωμα είναι αρκετά απλό. Το έχω συναρμολογήσει και το έχω δοκιμάσει στο breadboard.

Η ισχύς του κυκλώματος γίνεται μέσω του μετατροπέα DC/DC, με την τάση εξόδου ρυθμισμένη στα 4,5V. Υπάρχουν τέσσερα LED για την προσομοίωση των ψηφιακών εξόδων και τέσσερα κουμπιά για τις ψηφιακές εισόδους. Το SIM800L είναι συνδεδεμένο με τις ακίδες Rx/Tx του ATMEGA328p.

Ένα 5ο LED χρησιμοποιείται για να δείξει πότε το σύστημα είναι απασχολημένο με την αποστολή SMS.

Βήμα 3: Προγραμματισμός του ATMEGA328p

Προγραμματισμός του ATMEGA328p
Προγραμματισμός του ATMEGA328p
Προγραμματισμός του ATMEGA328p
Προγραμματισμός του ATMEGA328p

Πριν από τον προγραμματισμό, ανοίξτε το αρχείο INO και επεξεργαστείτε τον αριθμό τηλεφώνου. Αντικαταστήστε το xxxxxxxxx με τον δικό σας αριθμό κινητού τηλεφώνου στη γραμμή 46. Επανασυγκολλήστε και ανεβάστε το αρχείο.

Επίσης, διαβάστε τις οδηγίες σχετικά με τον τρόπο διαμόρφωσης της θύρας σειριακού λογισμικού στο αρχείο INO.

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

//! ! ! ΣΗΜΕΙΩΣΗ ! ! !

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

//

// ΜΠΟΦΕΡ ΣΕ ΣΕΙΡΙΑ ΒΙΒΛΙΟΘΗΚΗ ΛΟΓΙΣΜΙΚΟΥ ΠΟΥ ΘΑ ΑΛΛΑΞΕΙ ΣΤΑ 200

//

// Για να χρησιμοποιήσετε σειριακό λογισμικό, ο χρήστης θα πρέπει επίσης να αλλάξει το σειριακό λογισμικό BUFFER του λογισμικού σε 200.

// Αυτό πρέπει να επεξεργαστεί στο ακόλουθο αρχείο:

//

// C:/Αρχεία προγράμματος/Arduino x.x.x/Υλικό/Arduino/AVR/Βιβλιοθήκες/ΛογισμικόSerial/src/SoftWareSerial.h

//

// Αλλαγή buffer όπως παρακάτω:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// μέγεθος buffer RX

// #τέλος εαν

//

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

Ανατρέξτε σε αυτό το εγχειρίδιο για τον προγραμματισμό του ATMEGA328p στο breadboard χρησιμοποιώντας ένα Arduino UNO.

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

Βήμα 4: Χρήση του ελεγκτή SMS

Χρήση του ελεγκτή SMS
Χρήση του ελεγκτή SMS

Χρήση του ελεγκτή SMS

Ο ελεγκτής SMS θα στείλει αυτόματα ένα SMS στο τηλέφωνό σας εάν ενεργοποιηθεί οποιαδήποτε από τις τέσσερις εισόδους. Οι λεπτομέρειες της σκανδάλης θα περιέχονται στο κείμενο SMS.

Τα μηνύματα και οι εντολές SMS μπορούν να τροποποιηθούν σύμφωνα με τις ανάγκες σας στο αρχείο INO.

Δοκιμή εξόδων ελεγκτή SMS

Από το κινητό σας τηλέφωνο, στείλτε τις ακόλουθες εντολές στον αριθμό simcard SIM800L:

o1: 1, αυτό θα ενεργοποιήσει την έξοδο 1.

Στο τηλέφωνό σας, θα λάβετε τα ακόλουθα SMS:

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

01: 0, αυτό θα απενεργοποιήσει την έξοδο 1.

Στο τηλέφωνό σας, θα λάβετε τα ακόλουθα SMS:

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

01: p, αυτό θα ενεργοποιήσει την έξοδο 1 για 1 δευτερόλεπτο και μετά θα απενεργοποιήσει ξανά την έξοδο 1 (παλμική).

Στο τηλέφωνό σας, θα λάβετε τα ακόλουθα SMS:

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

Δοκιμή των εισόδων του ελεγκτή SMS

Στο ελεγκτή SMS, πατήστε σύντομα το κουμπί 1

Στο τηλέφωνό σας, θα λάβετε αυτόματα τα ακόλουθα SMS:

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

Στο ελεγκτή SMS, πατήστε σύντομα το κουμπί 2

Στο τηλέφωνό σας, θα λάβετε αυτόματα τα ακόλουθα SMS:

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

Στο ελεγκτή SMS, πατήστε σύντομα το κουμπί 3

Στο τηλέφωνό σας, θα λάβετε αυτόματα τα ακόλουθα SMS:

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

Όπως φαίνεται στο λαμβανόμενο SMS, οι έξοδοι αλλάζουν ανάλογα με τις εντολές που λαμβάνονται. Ωστόσο, οι είσοδοι δεν αλλάζουν πίσω από το 1 στο 0 μετά το πάτημα των κουμπιών. Επειδή ήθελα να μπορώ να βλέπω τυχόν αλλαγές στις εισόδους, αποφάσισα να σφραγίσω την κατάσταση εισόδου μέχρι να σταλεί μια εντολή επαναφοράς στον ελεγκτή SMS.

Επαναφορά συναγερμών

Για να επαναφέρετε την κατάσταση εισόδου, στείλτε την ακόλουθη εντολή:

####, αυτό θα επαναφέρει την κατάσταση εισόδου.

Στο τηλέφωνό σας, θα λάβετε τα ακόλουθα SMS:

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

Ενημερώσεις κατάστασης

Μπορείτε επίσης να ζητήσετε την κατάσταση ανά πάσα στιγμή στέλνοντας την ακόλουθη εντολή:

????, αυτό θα ζητήσει ενημέρωση κατάστασης του I/Os.

Στο τηλέφωνό σας, θα λάβετε τα ακόλουθα SMS:

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

όπου x υποδεικνύει την κατάσταση, 1 για ενεργοποιημένο, 0 για απενεργοποίηση.

Βήμα 5: Εφαρμογή Android

Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android

Χρησιμοποιώντας το MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), δημιούργησα μια απλή διεπαφή χρήστη για το κινητό μου τηλέφωνο Android. Αυτή η εφαρμογή σάς επιτρέπει να προσαρμόσετε την περιγραφή κάθε εισόδου/εξόδου. Επιτρέπει επίσης την εισαγωγή του αριθμού τηλεφώνου.

Τα τέσσερα κουμπιά χρησιμοποιούνται για τον έλεγχο των εξόδων, ενώ τα πλαίσια ελέγχου υποδεικνύουν την κατάσταση εισόδου.

Για να επεξεργαστείτε την εφαρμογή, δημιουργήστε έναν λογαριασμό MIT App Inventor 2 και εισαγάγετε το αρχείο AIA.

Για να εγκαταστήσετε την εφαρμογή στο τηλέφωνό σας, αντιγράψτε το αρχείο APK στο τηλέφωνό σας και εγκαταστήστε το. Θα πρέπει να ενεργοποιήσετε την εγκατάσταση εφαρμογών από "Άγνωστες πηγές" στις ρυθμίσεις ασφαλείας του τηλεφώνου σας.