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

Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό: 7 βήματα (με εικόνες)
Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό: 7 βήματα (με εικόνες)

Βίντεο: Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό: 7 βήματα (με εικόνες)

Βίντεο: Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό: 7 βήματα (με εικόνες)
Βίντεο: Homy B1 2024, Δεκέμβριος
Anonim
Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό
Δημιουργία συσκευών Homie για IoT ή οικιακό αυτοματισμό

Αυτό το διδακτικό είναι μέρος της σειράς DIY Home Automation, δείτε το κύριο άρθρο "Σχεδιασμός ενός συστήματος αυτοματισμού οικιακού αυτοματισμού". Αν δεν γνωρίζετε ακόμα τι είναι το Homie, ρίξτε μια ματιά στο homie-esp8266 + homie από τον Marvin Roger.

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

Εάν δεν έχετε τα ανταλλακτικά, προσέξτε το επερχόμενο διδακτικό μου "Sourcing Electronic Parts From Asia".

Επιτρέψτε μου να προσθέσω μερικές λέξεις: IoT, ESP8266, Homie, DHT22, DS18B20, αυτοματισμός σπιτιού.

Το θέμα πρέπει να είναι αρκετά σαφές τώρα:-)

Επίσης, αυτό το διδακτικό είναι τώρα διαθέσιμο και από την προσωπική μου σελίδα:

Βήμα 1: Ξεκινώντας

Ξεκινώντας
Ξεκινώντας
Ξεκινώντας
Ξεκινώντας

Συμβάσεις

Αυτό το εκπαιδευτικό χρησιμοποιεί κλώνους D1 Mini. Αυτοί είναι ελεγκτές συμβατοί με Arduino με δυνατότητα WiFi που χρησιμοποιούν τσιπ ESP8266. Αποστέλλονται σε πολύ μικρό συντελεστή μορφής (~ 34*25mm) και είναι φθηνά για ακαθαρσίες (~ 3-4 $ για κλώνους).

Θα απεικονίσω κάθε κατασκευή χρησιμοποιώντας ένα D1 Mini, ένα breadboard και μερικούς αισθητήρες. Περιλαμβάνω ένα Bill Of Materials (BOM) για το καθένα, αλλά θα παραλείψω προφανή πράγματα, όπως καλώδια άλτας και ψωμί (μίνι ή πλήρες). Θα επικεντρωθώ στα "ενεργά μέρη".

Για καλώδια/καλώδια σε διαγράμματα (βιβλιοθήκη Fritzing + AdaFruitFritzing), χρησιμοποίησα:

  • Κόκκινο/Πορτοκαλί για ισχύ, συνήθως 3,3V. Μερικές φορές θα είναι 5V, προσέξτε.
  • Μαύρο για έδαφος.
  • Κίτρινο για ψηφιακά σήματα δεδομένων: Τα bit ταξιδεύουν και μπορούν να διαβαστούν ως έχουν με τσιπ.
  • Μπλε/Μωβ για αναλογικά σήματα δεδομένων: Δεν υπάρχουν bit εδώ, απλή τάση που πρέπει να μετρηθεί και να υπολογιστεί για να καταλάβετε τι συμβαίνει.

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

Breadboard

Το D1 είναι αρκετά φιλικό προς το breadboard, αλλά θα σώσει μόνο μία σειρά καρφίτσες πάνω και κάτω. Κάθε παράδειγμα θα έχει το D1 στη δεξιά πλευρά και τα εξαρτήματα στην αριστερή πλευρά. Οι άνω και κάτω ράγες ισχύος θα χρησιμοποιηθούν για τη μεταφορά είτε 3,3V είτε 5V.

Σημείωση

Τα παραδείγματα Homie δημιουργούνται ως σκίτσα ".ino" για το Arduino IDE. Ωστόσο, ο δικός μου κώδικας έχει δημιουργηθεί ως ".ccp" για το PlatformIO.

Αυτό θα κάνει πολύ μικρή διαφορά καθώς τα σκίτσα είναι αρκετά απλά για να αντιγραφούν/επικολλήσουν όποιο και αν είναι το εργαλείο της επιλογής σας.

Βήμα 2: Θερμοκρασία & Υγρασία: DHT22 / DHT11

Θερμοκρασία & Υγρασία: DHT22 / DHT11
Θερμοκρασία & Υγρασία: DHT22 / DHT11
Θερμοκρασία & Υγρασία: DHT22 / DHT11
Θερμοκρασία & Υγρασία: DHT22 / DHT11
Θερμοκρασία & Υγρασία: DHT22 / DHT11
Θερμοκρασία & Υγρασία: DHT22 / DHT11

Χτίζοντας τη συσκευή

Το DHT22 χρησιμοποιεί:

  • Ένα ψηφιακό pin για επικοινωνία με τον ελεγκτή, συνδέστε το στο D3
  • Δύο καλώδια ισχύος (3,3V ή 5V + GND)
  • Ο ψηφιακός ακροδέκτης πρέπει να διατηρείται ψηλός (συνδεδεμένος με την τροφοδοσία), γι 'αυτό χρησιμοποιούμε αντίσταση μεταξύ της ράγας ισχύος και του πείρου δεδομένων

Κώδικας

Μπορείτε να κατεβάσετε το έργο PlatformIO από:

Το αρχικό παράδειγμα Homie είναι εδώ (αλλά δεν χρησιμοποιεί αισθητήρα):

Για DHT22, χρησιμοποιήστε τη βιβλιοθήκη αισθητήρων DHT (ID = 19)

BOM

  • Ελεγκτής: Wemos D1 Mini
  • Αντίσταση: 10KΩ
  • Αισθητήρας: (ένα από αυτά)

    • DHT22: Έχω χρησιμοποιήσει το είδος 4 ακίδων που απαιτεί επιπλέον αντίσταση. Υπάρχουν 3 μονάδες ακίδων που αποστέλλονται ως SMD που περιλαμβάνουν την αντίσταση.
    • DHT11: Αυτό είναι φθηνότερο αλλά λιγότερο ακριβές, ελέγξτε τις απαιτήσεις σας

Βήμα 3: Αδιάβροχη θερμοκρασία: DS18B20

Αδιάβροχη θερμοκρασία: DS18B20
Αδιάβροχη θερμοκρασία: DS18B20
Αδιάβροχη θερμοκρασία: DS18B20
Αδιάβροχη θερμοκρασία: DS18B20
Αδιάβροχη θερμοκρασία: DS18B20
Αδιάβροχη θερμοκρασία: DS18B20

Δημιουργία της συσκευής Το DS18B20 χρησιμοποιεί:

  • Ένα ψηφιακό pin για επικοινωνία με τον ελεγκτή, συνδέστε το στο D3
  • Δύο καλώδια ισχύος (3,3V ή 5V + GND)
  • Ο ψηφιακός ακροδέκτης πρέπει να διατηρείται ψηλός (συνδεδεμένος με την τροφοδοσία), γι 'αυτό χρησιμοποιούμε αντίσταση μεταξύ ράγας ισχύος και πείρου δεδομένων

Ο DS18B20 είναι αισθητήρας 1 καλωδίου. Χρησιμοποιεί ένα δίαυλο και ως εκ τούτου πολλαπλοί αισθητήρες μπορούν να χρησιμοποιήσουν ένα μόνο pin δεδομένων.

Είναι επίσης δυνατό να ΜΗΝ χρησιμοποιήσετε 3.3V/5V για να τροφοδοτήσετε τον αισθητήρα, αυτό ονομάζεται παρασιτική λειτουργία ισχύος. Δείτε το φύλλο δεδομένων για λεπτομέρειες.

Κώδικας

Μπορείτε να κατεβάσετε το έργο PlatformIO από:

Όπως και για το DHT22, το αρχικό παράδειγμα Homie είναι εδώ (αλλά δεν χρησιμοποιεί αισθητήρα):

Για 1-Wire bus, χρησιμοποιήστε το πακέτο OneWire (ID = 1)

Για το DS18B20, χρησιμοποιήστε DallasTemperature (ID = 54)

BOM

  • Ελεγκτής: Wemos D1 Mini
  • Αντίσταση: 4.7KΩ
  • Αισθητήρας: DS18B20, η εικόνα είναι αδιάβροχη
  • Βιδώστε τον ακροδέκτη 3 ακίδων για να διευκολύνετε τη σύνδεση του καλωδίου με το breadboard

Βήμα 4: Φως: Photoresistor / Photocell (ψηφιακό: On / off)

Φως: Photoresistor / Photocell (ψηφιακό: On / off)
Φως: Photoresistor / Photocell (ψηφιακό: On / off)
Φως: Photoresistor / Photocell (ψηφιακό: On / off)
Φως: Photoresistor / Photocell (ψηφιακό: On / off)
Φως: Photoresistor / Photocell (ψηφιακό: On / off)
Φως: Photoresistor / Photocell (ψηφιακό: On / off)

Χτίζοντας τη συσκευή

(Συγγνώμη, δεν έχετε ένα στοιχείο Fritzing για το ψηφιακό φωτοκύτταρο)

Η ψηφιακή μονάδα φωτοκυττάρων χρησιμοποιεί:

  • Ένα ψηφιακό pin για επικοινωνία με τον ελεγκτή, συνδέστε το στο D3
  • Δύο καλώδια ισχύος (3,3V + GND)

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

Σημείωση: Σε αυτό το παράδειγμα υπάρχει ένα ποτενσιόμετρο στην πλακέτα αισθητήρων. Χρησιμοποιείται για να θέσει το όριο μεταξύ "φωτός" και "σκοτεινού" φωτός περιβάλλοντος. Όταν η ανάγνωση 1 λυχνία είναι σβηστή, συνεπώς η ανάγνωση 0 σημαίνει φως αν είναι αναμμένη.

Κώδικας

Μπορείτε να κατεβάσετε το έργο PlatformIO από:

BOM

Ελεγκτής: Wemos D1 Mini

Αισθητήρας: Φωτοευαίσθητη μονάδα / Ανίχνευση φωτός

Βήμα 5: Φως: Φωτοαντίσταση / Φωτοκύτταρο (αναλογικό)

Φως: Photoresistor / Photocell (αναλογικό)
Φως: Photoresistor / Photocell (αναλογικό)
Φως: Photoresistor / Photocell (αναλογικό)
Φως: Photoresistor / Photocell (αναλογικό)
Φως: Photoresistor / Photocell (αναλογικό)
Φως: Photoresistor / Photocell (αναλογικό)

Χτίζοντας τη συσκευή

Ο αναλογικός αισθητήρας φωτοκυττάρων λειτουργεί ως αντίσταση. Θα συνδεθεί μεταξύ αναλογικής εισόδου και 3,3V.

Μια αντίσταση τοποθετείται μεταξύ του GND και του πείρου δεδομένων για να δημιουργήσει ένα διαχωριστή τάσης. Ο σκοπός είναι να δημιουργηθεί ένα γνωστό εύρος τιμών:

  • Εάν δεν υπάρχει φως, το φωτοκύτταρο θα μπλοκάρει βασικά το VCC, συνδέοντας έτσι το GND με την καρφίτσα δεδομένων σας: Το Pin θα διαβάσει σχεδόν 0.
  • Υπάρχει πολύ έντονο φως, το φωτοκύτταρο αφήνει το VCC να ρέει στο pin δεδομένων: Το pin θα διαβάσει σχεδόν πλήρη τάση και ως εκ τούτου κοντά στο μέγιστο (1023).

Σημείωση: Οι τιμές των αναλογικών ακίδων διαβάζονται σε εύρος 0-1023 χρησιμοποιώντας το analogRead. Δεν είναι πρακτικό να αντιμετωπίζετε τιμές 1 byte, γι 'αυτό η συνάρτηση χάρτη Arduino θα σας βοηθήσει να μειώσετε από 0-1023 σε (για παράδειγμα) 0-255.

Για βαθμονόμηση των τιμών min/max για τον αισθητήρα σας, χρησιμοποιήστε ένα σκίτσο όπως αυτό από το Arduino.

Κώδικας

Μπορείτε να κατεβάσετε το έργο PlatformIO από:

BOM

  • Ελεγκτής: Wemos D1 Mini
  • Αισθητήρας: Αντίσταση εξαρτώμενης από το φως (LDR) / Φωτοαντίσταση
  • Αντίσταση: 1K ή 10K, πρέπει να βαθμονομηθείτε με βάση το κελί σας

βιβλιογραφικές αναφορές

  • Πηγαίος κώδικας διακομιστή PiDome για κατάσταση φωτισμού μιας τοποθεσίας
  • "Χρησιμοποιώντας ένα φωτοκύτταρο" του Adafruit
  • "Φωτοαντιστάτες" εδώ με οδηγίες
  • Τρελό τρελό "Photocell Tutorial" αν θέλετε μαθηματικά και γραφήματα

Βήμα 6: Οπτικός ανιχνευτής: QRD1114

Χτίζοντας τη συσκευή

Κώδικας

BOM

βιβλιογραφικές αναφορές

  • Φυσικός υπολογισμός: Το QRD1114 περιλαμβάνει δείγμα κώδικα για ανάγνωση αισθητήρα και χρήση διακοπής για περιστροφικό κωδικοποιητή + ακριβή σχεδιασμό PCB
  • Οδηγός σύνδεσης οπτικού ανιχνευτή QRD1114 στο Sparkfun

Βήμα 7: Τελικές λέξεις

Τελικές λέξεις
Τελικές λέξεις

Αυτό το διδακτικό είναι πολύ σύντομο για να εξηγήσει τη βασική παρακολούθηση.

Για να προχωρήσουμε περαιτέρω, θα χρειαστεί να συνδέσουμε ρελέ, πομπό IR… Αυτό ελπίζουμε ότι θα καλυφθεί αργότερα καθώς μου το επιτρέπει ο ελεύθερος χρόνος. Η κύρια διαφορά είναι ότι δεν θα "διαβάζουμε" (υπάρχει φως;) αλλά και "θα γράφουμε" (ανάβουμε το φως!).

Συνιστάται: