Πίνακας περιεχομένων:

Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την πύλη όταν επιστρέψετε στο σπίτι: 5 βήματα
Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την πύλη όταν επιστρέψετε στο σπίτι: 5 βήματα

Βίντεο: Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την πύλη όταν επιστρέψετε στο σπίτι: 5 βήματα

Βίντεο: Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την πύλη όταν επιστρέψετε στο σπίτι: 5 βήματα
Βίντεο: Ανέπαφη απολύμανση χεριών με Arduino. 2024, Νοέμβριος
Anonim
Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την Πύλη όταν επιστρέψετε στο σπίτι
Αυτοματισμός σπιτιού με Android και Arduino: Ανοίξτε την Πύλη όταν επιστρέψετε στο σπίτι

Αυτό το Instructable αφορά τη δημιουργία ενός συστήματος αυτοματισμού σπιτιού που θα ελέγχεται μέσω smartphone, χρησιμοποιώντας μια σύνδεση στο Διαδίκτυο, έτσι ώστε να μπορεί να έχει πρόσβαση από οπουδήποτε το χρειάζεστε. Επιπλέον, θα εκτελεί ορισμένες ενέργειες κάθε φορά που πληρούνται τα κριτήρια (όπως, για παράδειγμα, ενεργοποίηση του φωτός όταν το smartphone συνδέεται στο οικιακό δίκτυο wifi, ανοίγοντας την πύλη όταν εισάγετε μια περιοχή καθορισμένη με GPS ή οτιδήποτε άλλο θέλετε).

Θα χρησιμοποιηθεί μια υπάρχουσα εφαρμογή android, η οποία απαιτεί τη μικρότερη δυνατή κωδικοποίηση: απλά ανεβάστε τον κώδικα και τελειώσετε. Ο εγκέφαλος - ο μικροελεγκτής - θα είναι ένας πίνακας συμβατός με Arduino ή Arduino, όπως ένα Aruino Uno με ασπίδα Ethernet ή ένα NodeMCU ESP8266.

Για να ενεργοποιήσουμε το σύστημα όταν πληρούται μια προϋπόθεση (θέση GPS, χρόνος, ecc …) θα χρησιμοποιούμε το περιβόητο Tasker. περισσότερα για αυτό αργότερα.

Κατά την υλοποίηση του συστήματος έχουν ληφθεί υπόψη τα ακόλουθα βασικά σημεία:

  • Πρέπει να είναι φθηνό.
  • Πρέπει να είναι προσβάσιμο εκτός του τοπικού οικιακού δικτύου (δηλαδή του wifi σας).
  • Πρέπει να είναι ΠΡΑΓΜΑΤΙΚΑ εύκολο και γρήγορο για κατασκευή και ρύθμιση.
  • Πρέπει να είναι αξιόπιστο.

Τούτου λεχθέντος, ολόκληρο το έργο θα κοστίσει περίπου 20 € (7,50 € για ESP8266, 8 € για πίνακα ρελέ, το υπόλοιπο για πρόσθετο υλικό) και θα σας πάρει περίπου 30 λεπτά για να τα ρυθμίσετε όλα - καθόλου άσχημα Το

Έτσι, αν σας ενδιαφέρει, ακολουθήστε αυτόν τον απλό και γρήγορο οδηγό και δημιουργήστε το δικό σας!

Βήμα 1: Ρύθμιση του υλικού

Ρύθμιση του υλικού
Ρύθμιση του υλικού

Αφού συγκεντρώσετε όλα τα στοιχεία σας, το πρώτο πράγμα που πρέπει να κάνετε είναι να τα συνδέσετε όλα.

Σε αυτό το παράδειγμα θα συνδέσουμε έναν λαμπτήρα στο ESP8266. Λάβετε υπόψη ότι πρέπει να είστε εξαιρετικά προσεκτικοί όταν εργάζεστε με κύριες τάσεις - τα σπίτια χρησιμοποιούν 220V, που μπορεί να σας σκοτώσει! Πάντα να κόβετε το ρεύμα πριν το δουλέψετε και αν δεν είστε σίγουροι αναζητήστε βοήθεια από ειδικούς!

Τούτου λεχθέντος: για να χειριστούμε τέτοια επίπεδα έντασης και ρεύματος (που θα κάψει το μικροσκοπικό ESPR8266) πρέπει να χρησιμοποιήσουμε ένα κατάλληλο ρελέ (όπως αυτό που είναι λογική 5V, κατάλληλο για το τυπικό Arduino ή αυτό, ένα ρελέ λογικής στάθμης 3.3V, κατάλληλο για το pinout των 3.3V του ESP82666). οι συνδέσεις είναι αρκετά εύκολες, ακολουθήστε το διάγραμμα που έχουμε επισυνάψει.

Σημειώστε ότι ορισμένοι πίνακες ρελέ (όπως αυτός που έχουμε συνδέσει) είναι ΕΝΕΡΓΟΙ ΧΑΜΗΛΟΙ. αυτό σημαίνει ότι πρέπει να συνδέσετε το ρελέ στη γείωση για να το ενεργοποιήσετε και αντίστροφα. Εάν αυτή είναι η περίπτωσή σας, η Homotica προσφέρει μια ωραία λύση. θα δούμε ποια στην επόμενη παράγραφο.

Βήμα 2: Διαμόρφωση ESP8266

ESP8266 Διαμόρφωση
ESP8266 Διαμόρφωση
ESP8266 Διαμόρφωση
ESP8266 Διαμόρφωση
ESP8266 Διαμόρφωση
ESP8266 Διαμόρφωση

Τώρα που έχουμε ρυθμίσει το υλικό του συστήματος αυτοματισμού, πρέπει να προγραμματίσουμε τον μικροελεγκτή.

Για να γίνει αυτό, θα χρειαστούμε το λογισμικό Arduino για να ανεβάσουμε το παρεχόμενο σκίτσο στο ESP8266. μεταβείτε στη σελίδα λήψης Arduino και πιάστε την πιο κατάλληλη έκδοση για εσάς.

Μόλις το κατεβάσετε, εγκαταστήστε το.

Τώρα που έχουμε εγκαταστήσει το IDE, χρειαζόμαστε τη βιβλιοθήκη που απαιτείται για να λειτουργήσει το σκίτσο. για να το εγκαταστήσετε ανοίξτε το App Github Repo και επιλέξτε Λήψη από το πράσινο κουμπί στη δεξιά πλευρά.

Μεταβείτε στο φάκελο Λήψη στον υπολογιστή σας και χρησιμοποιήστε ένα λογισμικό όπως το WinRar ή το WinZip αποσυμπιέστε το αρχείο. ανοίξτε τον πρόσφατα δημιουργημένο φάκελο "homotica-master" και αντιγράψτε τον εσωτερικό φάκελο με το όνομα "Homotica" στο φάκελο Βιβλιοθήκες του Arduino Editor (συνήθως μπορείτε να το βρείτε στο C: / Users / your_user_name / Documents / Arduino / βιβλιοθήκες). Διαγράψτε τα υπόλοιπα αρχεία στο "homotica-master", δεν θα τα χρειαστούμε

Λείπει ένα βήμα από τη μεταφόρτωση του κωδικού στο ESP8266: πρέπει να αποκτήσουμε τη βιβλιοθήκη για να επικοινωνήσει το Arduino IDE με τον πίνακα, γιατί δεν υποστηρίζεται επίσημα.

Για να το κάνετε αυτό, ακολουθήστε αυτά τα βήματα (μονάδες: Github ES8266 Arduino Repo):

  • Ξεκινήστε το Arduino και ανοίξτε το παράθυρο Αρχεία> Προτιμήσεις.
  • Εισαγάγετε "https://arduino.esp8266.com/stable/package_esp8266com_index.json" (χωρίς εισαγωγικά) στο πεδίο Πρόσθετες διευθύνσεις URL διευθυντή πίνακα. Μπορείτε να προσθέσετε πολλά URL, διαχωρίζοντάς τα με κόμματα.
  • Ανοίξτε τον Διαχειριστή πινάκων από το μενού Εργαλεία> Πίνακας και εγκαταστήστε την πλατφόρμα esp8266 (αναζητήστε "esp8266" και κάντε λήψη "esp8266 by ESP8266 Community").

Όλα είναι στημένα. Ας φροντίσουμε τον κώδικα σκίτσου.

Ανοίξτε το Αρχείο> Παράδειγμα> Homotica> Homotica ESP8266, αντιγράψτε ΟΛΟ τον κώδικα σε ένα νέο σκίτσο και τροποποιήστε τις ακόλουθες παραμέτρους:

  • ssid: εισαγάγετε εδώ το όνομα του ασύρματου δικτύου σας
  • κωδικός πρόσβασης: ο κωδικός πρόσβασης wifi
  • ip, gateway, subnet: πιθανότατα δεν θα χρειαστεί να αγγίξετε αυτές τις ρυθμίσεις. αλλάξτε IP αν θέλετε το ESP8266 να έχει διαφορετική διεύθυνση
  • mUdpPort: η θύρα που θα ανοίξουμε αργότερα στο δρομολογητή. αν δεν ξέρετε τι είναι, μην το αγγίξετε
  • κωδικός: ένας μοναδικός κωδικός 8 χαρακτήρων που θα χρησιμοποιηθεί για τον έλεγχο ταυτότητας της εφαρμογής σας. μπορείτε να επιλέξετε ό, τι θέλετε.

Εάν χρησιμοποιείτε μια ρύθμιση ACTIVE LOW, μην ξεχάσετε να καλέσετε το homotica.setActiveLow () όπως φαίνεται στο παράδειγμα του κώδικα!

Για να το ολοκληρώσετε: προσθέστε homotica.addUsedPin (5) (όπως φαίνεται στο παράδειγμα) για να πείτε στο ESP8266 ποιο GPIO πρέπει να χειριστεί, μεταξύ του βρόχου while και του homotica.set (mUdpPort, κωδικός). διαγράψτε όλες τις γραμμές homotica.simulateUdp (…).

Αυτός είναι ο κωδικός που πρέπει να σας μείνει:

#περιλαμβάνω

#include #include const char* ssid = "mywifiname"; const char* password = "wifipassword"; IPAddress ip (192, 168, 1, 20); Πύλη IPAddress (192, 168, 1, 1). Υποδίκτυο IPAddress (255, 255, 255, 0); ανυπόγραφο int mUdpPort = 5858; κώδικας στατικής συμβολοσειράς = "aBc159"; Homotica homotica; void setup () {WiFi.config (ip, gateway, subnet); WiFi.begin (ssid, κωδικός πρόσβασης); while (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (500); } homotica.addUsedPin (5); homotica.setActiveLow (); // <- μόνο αν το χρειάζεστε homotica.set (mUdpPort, κωδικός); } void loop () {homotica.refresh (); }

Όταν όλα έχουν ρυθμιστεί σωστά, αλλάξτε τις ρυθμίσεις του μεταγλωττιστή από το μενού Εργαλεία σύμφωνα με το συνημμένο στιγμιότυπο οθόνης και επιλέξτε τη θύρα που είναι συνδεδεμένη η ESP8266 στον υπολογιστή σας στο Εργαλεία> Θύρα.

Τώρα, κάντε κλικ στο upload. Ο μικροελεγκτής σας είναι έτοιμος και έτοιμος για λειτουργία!

Βήμα 3: Δρομολογητής και IP

Δρομολογητής και IP
Δρομολογητής και IP
Δρομολογητής και IP
Δρομολογητής και IP

Για να επικοινωνήσουμε με το ESP8266 από κάθε δίκτυο, θα πρέπει να πούμε στον δρομολογητή να αφήσει την εντολή που του στέλνουμε.

Για να το κάνετε αυτό, μεταβείτε στη σελίδα διαμόρφωσης του δρομολογητή σας (συνήθως 192.168.1.1) και αναζητήστε κάτι σαν "εικονικός διακομιστής" ή "προώθηση θυρών". μπορείτε να εντοπίσετε την ακριβή ρύθμιση για την αναζήτηση του μοντέλου του δρομολογητή σας στο Google.

Στην προώθηση θυρών, δημιουργήστε έναν νέο κανόνα που επιτρέπει όλες τις συνδέσεις με το ESP8266 (αυτό που διαμορφώθηκε νωρίτερα) μέσω της θύρας ESP8266 (πάλι, αυτός που διαμορφώθηκε νωρίτερα). Ονομάστε το Homotica, εισαγάγετε την IP ESP8266 στο πεδίο IP και αποθηκεύστε.

Εάν ο δρομολογητής που χρησιμοποιείτε δεν σας επιτρέπει να το κάνετε αυτό, μην ανησυχείτε: δεν θα μπορείτε να χρησιμοποιήσετε την εφαρμογή από το δίκτυο κινητής τηλεφωνίας, αλλά θα λειτουργήσει τέλεια από το εσωτερικό wifi του σπιτιού σας.

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

Αλλά περιμένετε, μπορούμε να το λύσουμε!

Μεταβείτε στο NoIp, δημιουργήστε έναν νέο λογαριασμό και, στη συνέχεια, δημιουργήστε ένα νέο όνομα κεντρικού υπολογιστή (δείτε συνημμένη εικόνα). Σημειώστε τι όνομα κεντρικού υπολογιστή έχετε (στο παράδειγμά μου: https://yourhostname.ddns.net) και προχωρήστε στο επόμενο βήμα.

(Σημείωση: μπορεί να θέλετε ο υπολογιστής σας να συγχρονίζει αυτόματα την IP του δρομολογητή σας με το όνομα κεντρικού υπολογιστή NoIp: κάντε λήψη της δωρεάν εφαρμογής του για να το κάνετε αυτό)

Βήμα 4: Διαμόρφωση εφαρμογής

Διαμόρφωση εφαρμογής
Διαμόρφωση εφαρμογής
Διαμόρφωση εφαρμογής
Διαμόρφωση εφαρμογής
Διαμόρφωση εφαρμογής
Διαμόρφωση εφαρμογής

Ας φροντίσουμε την εφαρμογή, έτσι δεν είναι;

Κατεβάστε την εφαρμογή από τη σελίδα του Play Store και ανοίξτε την.

Ανοίξτε το αριστερό μενού, επιλέξτε Πίνακες και δημιουργήστε ένα νέο. Θα συμπληρώσουμε τις παραμέτρους που ορίσαμε προηγουμένως στον κωδικό σκίτσου ESP8266:

  • Όνομα Arduino: αυτό που θέλετε (αφήστε αυτό να είναι ESP8266)
  • IP κεντρικού υπολογιστή: αυτό θα μπορούσε να είναι

    • η στατική IP του δρομολογητή αναφέρεται μέσω συνδέσμου NoIp
    • το ESP8266 IP εάν θέλετε να το χρησιμοποιήσετε μόνο από το εσωτερικό δίκτυο wifi του σπιτιού σας 192.168.1.20
  • Θύρα υποδοχής: αυτή που δημιουργήσαμε και ανοίξαμε νωρίτερα 5858
  • Κωδικός αυθεντικότητας: ο κωδικός 8 χαρακτήρων που ορίσαμε στο σκίτσο aBc195

Αποθηκεύσετε. Ανοίξτε ξανά το μενού, δημιουργήστε μια νέα συσκευή. θα επισυνάψουμε έναν λαμπτήρα για επίδειξη:

  • Όνομα: φως
  • Όνομα κουμπιού: θα χρησιμοποιήσουμε On, επιλέξτε αυτό που προτιμάτε
  • Αριθμός καρφιτσών: ο πείρος στον οποίο συνδέσαμε τον λαμπτήρα. Πρόσεχε! Στο ESP8266 οι ετικέτες καρφιτσών (D1, D2…) ΔΕΝ αντιστοιχούν στο όνομα του GPIO Pin! Κάντε αναζήτηση στο Google για να προσδιορίσετε ποια καρφίτσα είναι το GPIO (στο παράδειγμά μας: η καρφίτσα 5 φέρει την ένδειξη D1)
  • Συμπεριφορά: μπορείτε να επιλέξετε μεταξύ ενεργοποίησης, απενεργοποίησης, αλλαγής κατάστασης "ώθησης" (ενεργοποίησης και απενεργοποίησης) της συσκευής.

Αποθηκεύσετε. Εάν έχετε ρυθμίσει σωστά τα πάντα μέχρι τώρα, πατώντας το On the bulbul πρέπει να ανάψει.

Δροσερό, έτσι δεν είναι;

Τώρα μπορείτε να διασκεδάσετε προσθέτοντας περισσότερες συσκευές, ακόμη περισσότερους πίνακες και να τις τακτοποιήσετε σε σκηνές.

Αλλά για να χρησιμοποιήσουμε σε πλήρη ισχύ αυτό που μόλις δημιουργήσατε, θα πρέπει να χρησιμοποιήσετε το Tasker.

Βήμα 5: Ενσωμάτωση Tasker

Ενσωμάτωση Tasker
Ενσωμάτωση Tasker
Ενσωμάτωση Tasker
Ενσωμάτωση Tasker
Ενσωμάτωση Tasker
Ενσωμάτωση Tasker

Εάν είστε κάτοχος Tasker ή θέλετε να το αγοράσετε, συνεχίστε να διαβάζετε! Θα το χρησιμοποιήσουμε για να πούμε στην Homotica τι να κάνει και πότε να το κάνει.

Σε αυτό το παράδειγμα θα ανάβουμε το φως κάθε φορά που συνδέουμε το wifi του σπιτιού μας ΚΑΙ η ώρα είναι μεταξύ 4μμ και 6μμ.

Άνοιγμα Tasker. δημιουργήστε μια νέα εργασία (ας την ονομάσουμε Turn On Light), επιλέξτε Προσθήκη> Πρόσθετο> Homotica, πατήστε το εικονίδιο μολυβιού για να διαμορφώσετε την προσθήκη. Επιλέξτε Light> On και Save. Πίσω στο κύριο μενού δημιουργήστε ένα νέο προφίλ, επιλέξτε Κατάσταση> WiFi συνδεδεμένο, εισαγάγετε το όνομα του Wifi περιήγησης στο πεδίο SSID. πατήστε πίσω και επιλέξτε Ενεργοποίηση φωτός ως εισαγωγή δραστηριότητας. Τώρα, πατήστε παρατεταμένα στο αριστερό μέρος του προφίλ που δημιουργήθηκε πρόσφατα, επιλέξτε Προσθήκη> Timeρα> Από τις 16:00 έως τις 18:00 και μετά κλείστε.

Εμεις τελειωσαμε. Το φως μας θα ανάψει όταν μπούμε στο σπίτι την ώρα που ορίσαμε.

Αυτό είναι βολικό!

Τώρα είναι η σειρά σας: γίνετε δημιουργικοί με το Homotica και το Tasker και μην ξεχάσετε να μας δείξετε τι δημιουργήσατε!

Συνιστάται: