Για τις μικρές εφαρμογές μπορούμε μέσα από το openhab να ενεργοποιήσουμε κάποιο pin ή gpio του raspberry. Tα pins του raspberry μπορούν να γίνουν είσοδοι ή έξοδοι. Στο κάθε ενεργοποιημένο άκρο gpio μπορούμε σε κατάσταση high να μετρήσουμε περίπου 3.3 volt. Σε κατάσταση low η τάση κατεβαίνει στα 0 volt. Πριν περάσουμε στις ρυθμίσεις του openhab πρέπει να ενεργοποιήσουμε τις ακίδες αυτές και να τις δοκιμάσουμε μέσα απο εντολές γραμμής του λειτουργικού συστήματος.
Χρησιμοποιώ τα gpio με το πράσινο χρώμα που είναι γενικού σκοπού και μπορούν να γίνουν τόσο είσοδοι όσο και έξοδοι. Το λειτουργικό σύστημα έχει ένα φάκελο /sys/class/gpio όπου μέσα σε αυτό όταν κάνουμε με την εντολή echo 5 > export δημιουργεί ακόμη ένα φάκελο με το όνομα gpio5 και μέσα σε αυτό το φάκελο υπάρχουν διάφορα αρχεία που φιλοξενούν την κατάσταση του gpio5 όπως φαίνονται πιο κάτω:
/sys/class/gpio/gpio5/direction /sys/class/gpio/gpio5/value /sys/class/gpio/gpio5/edge /sys/class/gpio/gpio5/active_low
Το αρχείο direction περιέχει την τιμή in ή out εάν η ακίδα gpio5 είναι είσοδος ή έξοδος.
Το αρχείο value περιέχει την τιμή 1 ή 0 εάν εμείς το έχουμε ενεργοποιήσει.
Το αρχείο active_low περιέχει την τιμή 0 εάν θέλουμε όταν η ακίδα ενεργοποιείται να έχει 3.3 βολτ σε υψηλή κατάσταση και 0 βολτ σε χαμηλή κατάσταση αλλιώς με τιμή 1 μέσα στο active_low έχουμε αντίστροφες καταστάσεις στην έξοδο του gpio5.
Μπαίνουμε στο φάκελο /sys/class/gpio για να βρούμε τα αρχεία export και unexport
-
cd /sys/class/gpio
-
echo 5 > export
-
echo out > gpio5/direction
-
echo 1 > gpio5/value
-
echo 0 > gpio5/value
-
echo 5 > unexport
Με την εντολή echo 5 > export δημιουργούμε τα αρχεία που ελέγχουν την συγκεκριμένη ακίδα.
Με την εντολή echo out > gpio5/direction κάνουμε το gpio5 έξοδο και με τις άλλες δύο εναλλάσουμε την κατάσταση της ακίδας. Κάντε την δοκιμή και σε άλλα gpio μετρήστε με ένα βολτόμετρο την κατάσταση της ακίδας ή τοποθετήστε ένα led ή ένα ρελέ όπως σας έχουμε δείξει σε προηγούμενα άρθρα. To gpio5 είναι το φυσικό πιν 29 σύμφωνα με την προηγούμενη εικόνα. Την εντολή echo 5 > unexport δεν το εκτελούμε παρά μόνο αν θέλουμε να απενεργοποιήσουμε την επικοινωνία του λειτουργικού με την ακίδα gpio 5
Ρυθμίσεις για το openhab:
κάνουμε εγκατάσταση μια βιβλιοθήκη για την java:
sudo apt-get install libjna-java
Προσθέτουμε την κάτωθι εντολή στην τελευταία γραμμή του αρχείου start.sh
-Djna.boot.library.path=/usr/lib/jni
cd /opt/openhab
sudo nano start.sh
cd /
Πρέπει να ενεργοποιήσουμε το πρωτόκολλο του gpio στο αρχείο ρυθμίσεων του openhab.cfg.
πηγαίνουμε προς το τέλος του αρχείου όπου υπάρχει μια γραμμή με την ονομασία του πρωτοκόλλου όπως:
################ GPIO Binding ##############
και σβήνουμε σε δύο εντολές την δίεση # που είναι μπροστά από αυτές τις εντολές.
#gpio:sysfs=/sys
#gpio:debounce=10
sudo nano /opt/openhab/configurations/openhab.cfg
και τέλος ή ανοίγουμε τα items από κάτω δηλαδή
sudo nano /opt/openhab/configurations/items/demo.items
περιγράφουμε το switch δηλαδή
Switch sf_alarm_test_outside_siren "Δοκιμή εξωτερικής σειρήνας" (second_flore) { gpio="pin:13 activelow:yes" }
η παράμετρος activelow:yes μπήκε στην περίπτωση που χρησιμοποιηθεί στις ακίδες ρελέδες με αντίθετη λογική ενεργοποίησης αλλιώς παραλείπεται,
ή ανοίγουμε το habmin πηγαίνουμε στο configurations μετά στα items που εχουμε δημιουργίσει το switch με την ονομασία Light_SF_Bed_ceiling κάνουμε επιλογή και στο παράθυρο στα δεξιά ανοιγουν τα properties επιλέγουμε την διπλανή επιλογή Bindings και δημιουργούμε ένα binding με ονομασία gpio και παράμετρο pin:17 που αφορά το gpio17 και φυσική ακίδα πιν 11 στην οποία θα τοποθετήσουμε το led ή το ρελέ μας.
κάνουμε ακριβώς το ιδιο για κάθε διακόπτη που έχουμε δημιουργήσει.
για το παράδειγμα αυτό έχουμε δημιουργήσει οκτώ δωμάτια στo second floor με ένα διακόπτη στο κάθε ένα.
έχοντας ακολουθήσει τις οδηγίες για το κάθε ένα switch (διακόπτη) κάθε ορόφου κλικάροντας σε κάθε έναν απ' αυτούς θα πρέπει να ενεργοποιηθεί και το αντίστοιχο ρελέ μας όπως στις φωτογραφίες.
Επίσης για τις android συσκευές μας επισκεπτόμαστε το play stοre και κατεβάζουμε την εφαρμογή openHAB
μόλις η εφαρμογή κατέβει επιλέγουμε άνοιγμα. Αμέσως μετά πηγαίνουμε στα setings.
ξετσεκάρουμε όλες τις επιλογές για να φύγουμε από Demo mode και δηλώνουμε το hostname ή την διαδικτυακή μας διεύθυνση στην γραμμή της οθόνης που γράφει openHAB remote URL στο τέλος της διεύθυνσης προσθέτουμε την πόρτα επικοινωνίας π.χ http://your hostname:8080
Μόλις ολοκληρωθεί και αυτό το βήμα μπορούμε πλέον να διαχειριστούμε τις συσκευές του έξυπνου σπιτιού μας ή της εγκατάστασής μας και μέσω κινητού τηλεφώνου.