Όχι.
Επεισόδιο "Κουμπάκια".
Όπως έγραψα πιο πριν, το Arduino στέλνει μέσω της συνοδευτικής εφαρμογής 6 εντολές στο κινητό από δύο κουμπιά (απλό πάτημα, διπλό πάτημα και παρατεταμένο πάτημα).
Η εφαρμογή "πιάνει" τις εντολές αυτές και τις αντιγράφει στο clipboard του Android.
Στo Tasker που τρέχει στο smartphone έχω φτιάξει ένα profile το οποίο παρακολουθεί το clipboard και αν διαβάσει μία από τις 6 εντολές αναλαμβάνει δράση, εκτελώντας με τη σειρά του όποιο task του ορίσω.
Μέχρι στιγμής έχω προγραμματίσει τα εξής:
- Κουμπί 1, διπλό click: Toggle Easy Voice Recorded Pro, για καταγραφή voice note μέσω το bluetooth του κράνους.
- Κουμπί 1, long click: Λήψη φωτογραφίας από την εμπρός camera (selfie).
- Κουμπί 2, απλό click: PTT (Push To Talk) toggle στο Zello.
- Κουμπί 2, long click: Λήψη screenshot από τη οθόνη.
Και το grand finale :drumroll: :drumroll: :drumroll:!!!
Πώς βάζουμε δύο κουμπάκια στον αριστερό διακόπτη του NC750X;
Καλημέρα .Πολλά μπράβο.Ποτε βγαίνει στη παραγωγή να πάρουμε νουμερακι??
Επεισόδιο TPMS .
Είπα να δοκιμάσω τα μπλιμπλίκια που συζητούσαμε αλλού.
Διάβασα λίγο και πήρα μια ιδέα, οπότε αγόρασα ένα set για αυτοκινήτο με τέσσερις αισθητήρες.
Αν παίξει έπαιξε κι έχω δυο καβάτζα, αν όχι το βάζω στο αυτοκίνητο.
Μετά από κανά δυο μέρες παίζοντας και καμιά 100στή χιλιόμετρα με το αυτοκίνητο, κατάλαβα ότι αυτά τα BLE παπαράκια δουλεύουν ως εξής.
Όταν νοιώσουν μεταβολή σε πίεση, θερμοκρασία ή μπαταρία ξεκινούν BLE advertisement για περίπου 35 δευτερόλεπτα βάζοντας τα δεδομένα στα manufacturer data του πακέτου χωρίς να επιτρέπουν BLE connection.
Το μόνο λοιπόν που θεωρητικά χρειάζεται, είναι να κάνω περιοδικά ένα scan και αν πιάσω advertisement να κάνω parse τα manufacturer data.
Απλό, αλλά τελικά αποδείχτηκε όχι και τόσο εύκολο.
Η πρώτη προσέγγιση ήταν να τα διαβάσω απευθείας από το application που έφτιαξα στο AppInventor.
Πήρα τα καλαμπαλίκια μου μιας και δεν υποστηρίζει capturing τα advertised manufacturer data (μόνο ό,τι είναι μέρος του advertised service).
Επόμενη εναλλακτική λοιπόν, να τα διαβάζει το Arduino και να τα κάνει αυτό relay στο application μαζί με τα στοιχεία ambient temperature, voltage & button clicks.
Κι εδώ πανηγύρι...
Αρχικά χρειάστηκε να patchάρω το ArduinoBLE library για να μπορέσω να διαβάσω τα advertised manufacturer data.
Μετά, έπρεπε να βρω τον τρόπο να έχω το Arduino σε διπλό ρόλο για να διαβάζει τα δεδομένα από τους αισθητήρες (central) και να τα στέλνει στο application (peripheral).
Χρειάστηκαν μερικά iterations στο logic για να έχω σταθερότητα στο connection μεταξύ Arduino & application, αλλά το κατάφερα κι αυτό.
Τώρα όμως η οθόνη έχει πολλά data, οπότε το επόμενο βήμα είναι ο ανασχεδιασμός του application.
Σκέφτομαι να το κάνω multi screen ως εξής:
- Μια οθόνη μόνο με GPS speed & ambient temperature.
- Μια οθόνη με tire readings & voltage.
- Σε περιπτώσεις alarm (high / low voltage, high / low pressure) ηχητική & full screen οπτική ειδοποίηση με τα σχετικά σύμβολα.
H εναλλαγή μεταξύ των οθονών θα γίνεται με ένα απλό click.
Stay tuned...
Πάει κι αυτό ...
https://youtu.be/Z-00x2u0Bm0
Πιστεύω ότι αυτό το project έφτασε στο τέλος του...
Και εις άλλα με υγεία!
Για όποιον ενδιαφέρεται, ο κώδικας του Arduino και το application για το App Inventor είναι ανεβασμένα στο Github.