29 Μαρτίου 2022 / Lefteris Iliadis / SomniusX
EucWorldPebble
29 Μαρτίου 2022
Το EucWorldPebble είναι εφαρμογή (watchapp) για ρολόγια Pebble που φέρνει στον καρπό τα στοιχεία του ηλεκτρικού μονότροχου (EUC) από την εφαρμογή EUC World του Android: ταχύτητα σε μεγάλο δείκτη, μπαταρία, θερμοκρασία, τάση και ώρα, με δόνηση όταν χτυπήσει κάποιος συναγερμός. Πάνω στο μονότροχο, μια ματιά στο χέρι είναι πιο ασφαλής από το κινητό στην τσέπη.

Αριστερά η έκδοση 1.0tv (ώρα και τάση, μεγάλη ταχύτητα), δεξιά η 1.0cv (ρεύμα και τάση). Κάθε animation εναλλάσσει το ρολόι με την οθόνη του EUC World την ίδια στιγμή.
Τι δείχνει
- Ταχύτητα σε μεγάλα ψηφία, μέσα σε τόξο που γεμίζει ως την μέγιστη ταχύτητα που έχεις ορίσει στο κινητό. Στα έγχρωμα Pebble το τόξο αλλάζει χρώμα από πράσινο σε κίτρινο, πορτοκαλί και κόκκινο όσο πλησιάζεις το όριο.
- Μπαταρία του μονότροχου, με εικονίδιο σε βήματα του 10%.
- Θερμοκρασία, με εικονίδιο που κοκκινίζει όταν ανάβει ο ανεμιστήρας.
- Τάση (V) επάνω δεξιά, και ανάλογα με την έκδοση ώρα ή ρεύμα (A) επάνω αριστερά.
- Εικονίδιο Bluetooth όταν χαθεί η σύνδεση.
- Δεύτερη οθόνη με λεπτομέρειες: χρόνος διαδρομής, απόσταση και τελική ταχύτητα.
- km/h ή mph, όπως το έχεις ρυθμίσει στο EUC World.
Κουμπιά και δονήσεις
- Πάνω / Κάτω: εναλλαγή ανάμεσα στον δείκτη και στις λεπτομέρειες, με κύλιση.
- Select: κόρνα, από το κινητό.
- Παρατεταμένο Select: ανοίγει το EUC World στο κινητό, με μια σύντομη δόνηση για επιβεβαίωση.
- Συναγερμοί: το EUC World στέλνει τον συναγερμό στο ρολόι, και κάθε είδος έχει δικό του μοτίβο δόνησης — τρία μακριά για την ταχύτητα, μια σειρά από σύντομα για το ρεύμα — ώστε να καταλαβαίνεις τι συμβαίνει χωρίς να κοιτάξεις.
Δύο εκδόσεις
| Έκδοση | Επάνω αριστερά | Επάνω δεξιά | Ταχύτητα | Ρολόγια |
|---|---|---|---|---|
| 1.0tv | ώρα | τάση | μεγάλα ψηφία | όλα τα Pebble |
| 1.0cv | ρεύμα | τάση | μικρότερα ψηφία, με την ώρα μέσα στο τόξο | μόνο Pebble Time / Time Steel (basalt) |
Και οι δύο βγήκαν στις 2 Αυγούστου 2020 και υπάρχουν έτοιμες ως αρχεία .pbw στα Releases.
Σε κάθε Pebble

Η 1.0tv στους emulators του Pebble SDK: Time 2, Time, τα ασπρόμαυρα Classic και Pebble 2, και το στρογγυλό Time Round.
Η ίδια εφαρμογή χτίζεται για όλες τις πλατφόρμες του Pebble: aplite (Classic, Steel), basalt (Time, Time Steel), chalk (Time Round), diorite (Pebble 2) και emery (Time 2). Υπάρχουν τρεις διατάξεις οθόνης — ορθογώνια 144 px, μεγάλη ορθογώνια για το Time 2 και στρογγυλή — και ο compiler διαλέγει την σωστή μόνος του.
Εγκατάσταση
Η Pebble έκλεισε, οπότε χρειάζεται λίγη προετοιμασία:
- Εγκατέστησε την εφαρμογή Pebble στο Android. Δεν υπάρχει πια στο Play Store· το README δείχνει το τελευταίο APK στο APKMirror.
- Ρύθμισέ την με το Rebble, την κοινότητα που κρατά τις υπηρεσίες του Pebble ζωντανές.
- Κατέβασε το
.pbwτης έκδοσης που θέλεις από τα Releases. - Άνοιξέ το με έναν διαχειριστή αρχείων (π.χ. Cx File Explorer) και επίλεξε την εφαρμογή Pebble· φορτώνεται στο ρολόι.
Πως δουλεύει
Ρολόι και κινητό
Είναι εφαρμογή Pebble γραμμένη σε C με το Pebble SDK 3. Όλη η επικοινωνία γίνεται με AppMessage, το σύστημα μηνυμάτων του Pebble: το EUC World στέλνει λεξικά με κλειδιά όπως speed, battery, temperature, voltage, current, ride_time, distance, top_speed και vibe_alert, και το ρολόι απαντά με play_horn, start_app και displayed_screen. Με το τελευταίο το κινητό ξέρει ποια από τις δύο οθόνες βλέπεις. Στο ξεκίνημα το ρολόι στέλνει ready με την έκδοσή του.
Οι ταχύτητες ταξιδεύουν ως ακέραιοι σε δέκατα του km/h (24,5 km/h = 245), ώστε το ρολόι να μη χρειάζεται δεκαδικούς· η μετατροπή σε mph γίνεται στο ρολόι. Η μέγιστη ταχύτητα και η μονάδα αποθηκεύονται στην μνήμη του ρολογιού (persist), ώστε ο δείκτης να είναι σωστός από την πρώτη στιγμή.
Ο δείκτης
Το τόξο σχεδιάζεται με graphics_fill_radial και δεν πηδά στην νέα τιμή: ένας timer στα 30 ms το φέρνει προς τον στόχο με το πολύ 8 μοίρες ανά βήμα, οπότε κινείται ομαλά όπως ένας αναλογικός δείκτης. Τα όρια χρωμάτων υπολογίζονται από την μέγιστη ταχύτητα: πράσινο ως την μισή, και μετά κίτρινο, πορτοκαλί και κόκκινο σε ίσα βήματα. Στα ασπρόμαυρα ρολόγια το τόξο μένει λευκό.
Γραμματοσειρά με οικονομία
Τα ψηφία είναι στην SF Square Head Bold, φορτωμένη σε αρκετά μεγέθη. Επειδή η μνήμη του Pebble είναι ελάχιστη, κάθε μέγεθος κρατά μόνο τους χαρακτήρες που χρειάζεται (π.χ. μόνο 0–9 για την ταχύτητα, 0–9 V : . για την τάση), και τα πολύ μεγάλα μεγέθη χτίζονται μόνο για τις πλατφόρμες που τα χρησιμοποιούν.
Ανάπτυξη
pebble build
pebble install --emulator basalt build/EucWorldPebble.pbw # aplite, basalt, chalk, diorite, emery
pebble install --phone <IP του κινητού> build/EucWorldPebble.pbw
Το αποθετήριο έχει και ένα μικρό build-run.sh που χτίζει και ανοίγει τον emulator με μία εντολή. Για περιβάλλον ανάπτυξης σήμερα, το Pebble dev VM του willow.systems έχει έτοιμο το SDK.
Ιστορία και ευχαριστίες
- 2016–2017: η βάση είναι το WheelLogPebble από τον λογαριασμό JumpMaster (Kevin Cooper), η εφαρμογή Pebble του WheelLog: στρογγυλό Pebble, ασπρόμαυρα μοντέλα, mph, κόρνα, συναγερμοί και οθόνη λεπτομερειών.
- 2019–2020: το fork μου το στρέφει στο EUC World, την εφαρμογή Android που δημιούργησε ο λογαριασμός slastowski (Sebastian Łastowski), ξεκινά την διάταξη με τάση και ρεύμα, και βγάζει τις δύο εκδόσεις ως έτοιμα
.pbw. - Ιούλιος–Αύγουστος 2020: συνεισφορές από Alexandros Kintis: τάση και ρεύμα, η ώρα στην θέση του ρεύματος, και υποστήριξη aplite, diorite και emery.
- 29 Μαρτίου 2022: τελευταία αλλαγή — οι αρχικές τιμές ξεκινούν από το μηδέν αντί για τις τιμές επίδειξης που χρησιμοποιούσα για δοκιμές στον emulator.
Πηγές και ημερομηνία
Τελευταία αλλαγή στο αποθετήριο: 2022-03-29. Εκδόσεις 1.0cv και 1.0tv: 2020-08-02.