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

Στη διάρκεια όλης αυτής της ιστορίας με τις φωτιές μπήκα και εγώ όπως και εσύ στα social τα media για να ενημερωθώ. Το μάτι μου έπεσε σε μια ανάρτηση στο Facebook του Jon Victory( τον γνωστό Γιάννη Βλαχογιάννη) σχετικά με τις φωτιές στη California  και πως έμαθε να αντιμετωπίζει τέτοιες καταστάσεις.

Στο #6 λοιπόν λέει ότι με πάνω από 200 P2.5 *ΜΗ ΒΓΑΙΝΕΙΣ ΒΟΛΤΕΣ ΑΠΟ ΤΟ ΣΠΙΤΙ* και διαβάζοντας το είπα οκ wtf τι είναι αυτά που λέει ο τύπος; Έκατσα και έκανα μια ερεύνα ώστε να μάθω τι σημαίνουν όλα αυτά που αναφέρει πως με επηρεάζουν και γιατί δεν τα ήξερα νωρίτερα αφού ως χώρα καιγόμαστε(σχεδόν) κάθε χρόνο.

Αυτό που έμαθα λοιπόν είναι ότι αναφερόταν σε συγκέντρωση σωματιδίων στον αέρα που αναπνέουμε και πιο συγκεκριμένα σε σωματίδια μεγέθους 2,5μg σε ποσότητα 25.000 ανά κυβικό μέτρο.

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

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

Ως νέος πατέρας αυτό που με ενδιαφέρει είναι να προσφέρω ένα καλύτερο περιβάλλον στο παιδί μου και ας έχω αποτύχει ως άνθρωπος στη προστασία του περιβάλλοντος. Συνεχίζοντας την ερεύνα μου κατάλαβα ότι οι μετρήσεις σε κάποια site δεν ήταν και τόσο αντικειμενικές αλλά και ότι οι μετρητές ποιότητας του αέρα που είναι στην αγορά κοστίζουν πάνω από 100 ευρω στη καλύτερη.

Έτσι πήρα την απόφαση να φτιάξω ένα μετρητή ποιότητας του αέρα με κόστος υλικών στα 30 ευρω.(ευχαριστώ banggood)

Τι Hardware θα χρειαστούμε.

1. Particle matter sensor.
Είναι ο αισθητήρας που θα μετρήσει τον αέρα και θα μας δώσει τις τιμές που χρειάζεται να γνωρίζουμε. Στη δική μου περίπτωση χρησιμοποίησα τον plantower PMS5003 με αγορα απο το banggood. Ο συγκεκριμένος είναι laser sensor και έχει τη δυνατότητα να μετρήσει σωματίδια PM1, PM2.5 και PM10 σε καπνό σκόνη ή οργανική ύλη και είναι το ακριβότερο εξάρτημα στο build  μου.

PMS 5003 Sensor

2. Wemos d1 mini Development Board
Το αγαπημένο μου development board για τέτοιου είδους κατασκευές. Είναι βασισμένο στο ESP8266 διαθέτει wifi , 11 I/O pins και 4megabyte μνήμης. Τέλος διαθέτει θύρα Micro USB και είναι συμβατό με Arduino, nodemcu, micropython και αλλά framework. Η αγορα εγινε απο banggood .
Wemos D1 mini

3. Ένα παλιό φορτιστή κινητού 5V και καλώδιο micro USB.
4. Jumper καλώδια, μονωτική ταινία, κόφτη καλωδίων  
5. Ένα κουτί για να πακετάρουμε τη κατασκευή.

Από Software θα χρειαστούμε  εγκατεστημένο το home assistant και το plugin ESPhome. Επιπλέον θα χρειαστεί να κατεβάσουμε το πακέτο ESP-Home flasher από εδώ:

         https://github.com/esphome/esphome-flasher/releases

επιλέγοντας το λειτουργικό που χρησιμοποιούμε.

Ας ξεκινήσουμε.


ESPHome

Πρώτα θα εγκαταστήσουμε το esphome στο home assistant. Από το μενού επιλέγουμε supervisor από εκεί το tab add-on Store, βρίσκουμε το πακέτο και κάνουμε εγκατάσταση.



 Όταν η εγκατάσταση ολοκληρωθεί στο tab dashboard  θα έχουμε εγκατεστημένο το esphome. Ανοίγουμε την εφαρμογή και επιλέγουμε show in sidebar και start.



 Τώρα στο μενού έχουμε την επιλογή esphome  την οποία και διαλέγουμε για να ανοίξει η εφαρμογή. Στη σελίδα που θα μας ανοίξει επιλέγουμε +  και στο παράθυρο που θα μας ανοίξει βάζουμε το όνομα του project και τα στοιχεία του wifi που θα συνδεθεί το board.



 Στο επόμενο βήμα πατάμε skip και στο επόμενο βήμα επιλέγουμε pic specific board και από εκεί επιλέγουμε το wemos d1 mini και τελειώσαμε.



 Τώρα θα δούμε ότι έχει προστεθεί μια νέα συσκευή η οποία είναι offline, λογικό αφού δεν έχουμε συνδέσει κανένα board ακόμα. Κάνοντας edit θα ανοίξει το yaml αρχείο με τις ρυθμίσεις. Κάνουμε install και manual download. Θα περιμένουμε μέχρι να γίνει compile μπορεί να πάρει  5+ λεπτά, στο τέλος της διαδικασίας θα κατεβάσει ένα αρχείο .bin το οποίο είναι το firmware που θα φορτώσουμε στο wemos d1 mini. Και εδώ αρχίζουν τα ποιο δύσκολα καθώς φτάσαμε στο δύσκολο κομμάτι της διαδικασίας.

 Ανοίγουμε τον esphome flasher και συνδέουμε στον υπολογιστή το wemos d1 mini. Αν όλα πάνε καλά θα εμφανιστεί η seral port που συνδέθηκε το board, με το browse θα φορτώσουμε το .bin αρχείο που φτιάξαμε νωρίτερα και πατώντας το flash θα ρίξουμε το firmware στο board. H διαδικασία θέλει υπομονή και μπορεί να χρειαστεί να την επαναλάβουμε μέχρι να ολοκληρωθεί επιτυχώς. Στο στο τέλος της διαδικασίας το board θα συνδεθεί στο wifi και πλέον στη σελίδα του esphome θα δείχνει online. Η μισή δουλειά έχει γίνει.



Wemos d1 mini Setup.

Για να μπορέσουμε να συνδέσουμε το PMS5003 στο wemos d1 mini, θα πρέπει να αντιστοιχίσουμε τα pin 1 – 5 του αισθητήρα με τα αντίστοιχα pin του board. Το παρακάτω σχεδιάγραμμά μας δείχνει το pin mapping που πρέπει να γίνει.


Σημαντικό: θα πρέπει να αγοράσουμε τον αισθητήρα μαζί με το καλώδιο για μεγαλύτερη ευελιξία στο setup.

Software Setup.

Έχοντας ολοκληρώσει τα παραπάνω είμαστε ένα βήμα ποιο κοντά. Τελευταίο βήμα είναι να τρέξουμε τον κώδικα που θα μας φέρει τις μετρήσεις στο home assistant. 


uart:

  tx_pin: D6

  rx_pin: D7

  baud_rate: 9600


sensor:

  - platform: pmsx003

    type: PMSX003

    pm_1_0:

      name: "Particulate Matter <1.0µm Concentration"

    pm_2_5:

      name: "Particulate Matter <2.5µm Concentration"

    pm_10_0:

      name: "Particulate Matter <10.0µm Concentration"

switch:

  - platform: gpio

    pin: 

      number: D3

    id: pms_set

    name: "Start measuring"


interval:

  - interval: 120s

    then:

      - switch.turn_on: pms_set

      - delay: 20s

      - switch.turn_off: pms_set


Ας εξηγήσουμε λίγο τον κώδικα. Αρχικά ξεκινάμε ένα δίαυλο επικοινωνίας ενημερώνοντας το wemos d1 mini για τις  πόρτες με τις οποίες θα στέλνει δεδομένα.
uart:
tx_pin: D6
rx_pin: D7
baud_rate: 9600

Κανουμε αρχικοποίηση τον σένσορα και για τη κάθε κατηγορία μέτρησης.
sensor:
  - platform: pmsx003
    type: PMSX003
    pm_1_0:
      name: "Particulate Matter <1.0µm Concentration"
    pm_2_5:
      name: "Particulate Matter <2.5µm Concentration"
    pm_10_0:
      name: "Particulate Matter <10.0µm Concentration"

Πριν προχωρήσουμε στο υπόλοιπο κώδικα θα πρέπει να αναφέρουμε  ότι το όριο ζωής του αισθητήρα είναι περίπου στα 3χρονια ή τις 30.000ωρες χρήσης. Για να μπορέσουμε να επεκτείνουμε τη ζωή του αισθητήρα θα δημιουργήσουμε ένα διακόπτη που θα συνδεθεί με το gpio D3 στο wemos d1 mini το οποίο εμείς ήδη έχουμε συνδέσει στο αισθητήρα. Θα τον ενεργοποιούμε για 20δευτερολεπτα κάθε 2 λεπτά  και με αυτό το τρόπο θα επεκτείνουμε το όριο ζωής στα 18χρονια!(καθόλου άσχημα)

switch:
  - platform: gpio
    pin: 
      number: D3
    id: pms_set
    name: "Start measuring"

interval:
  - interval: 120s
    then:
      - switch.turn_on: pms_set
      - delay: 20s
      - switch.turn_off: pms_set

Αφού ενημερώσουμε το αρχείο yaml με τον κώδικα το μόνο που έχουμε να κάνουμε είναι install και στο επόμενο βήμα επιλέγουμε wirelessly. Ο κώδικας θα γίνει compile και θα σταλεί αυτόματα ως update στο wemos d1 mini μέσω wifi. Αυτή είναι η μαγεία του ESPHOME. 

Αν όλα πάνε καλά ο κώδικας θα ανεβεί στο wemos d1 mini και θα αρχίσει να στέλνει μετρήσεις. Στη σελίδα με τα integration θα υπάρχει μια συσκευή με το όνομα που δώσαμε στην αρχή της εγκατάστασης στο esphome και σε αυτή θα υπάρχουν όλα τα entites  με τις μετρήσεις και ο διακόπτης που ενεργοποιεί τον αισθητήρα και μπορούμε να τα χρησιμοποιήσουμε ως κάρτες αλλά και να τους συμπεριλάβουμε σε αυτοματισμούς.

Τα Entities που θα δουμε στο home assistant

Απλή κάρτα για να βλέπουμε τις μετρήσεις.



Και μια ποιό εξελιγμένη εμφάνιση των μετρήσεων














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


Στο επόμενο  blog post  θα δουμε ποιές έξυπνες πρίζες χρησιμοποιώ και πως τις προσαρμοζω στο δικο μου smarthome.