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

Simple Kicker Status and Reservation System With Slack Integration: 12 Steps (with Pictures)
Simple Kicker Status and Reservation System With Slack Integration: 12 Steps (with Pictures)

Βίντεο: Simple Kicker Status and Reservation System With Slack Integration: 12 Steps (with Pictures)

Βίντεο: Simple Kicker Status and Reservation System With Slack Integration: 12 Steps (with Pictures)
Βίντεο: How to Use Slack - 2023 Tutorial For Beginners 2024, Ιούλιος
Anonim
Σύστημα απλής κατάστασης και κράτησης με Slack Integration
Σύστημα απλής κατάστασης και κράτησης με Slack Integration

Σε μια εταιρεία όπου εργάζομαι υπάρχει ένα kicker table. Η εταιρεία καταλαμβάνει πολλούς ορόφους και για μερικούς από τους εργαζόμενους χρειάζονται έως και 3 λεπτά για να φτάσουν στο τραπέζι και… να συνειδητοποιήσουν ότι το τραπέζι είναι ήδη κατειλημμένο.

Ως εκ τούτου, προέκυψε μια ιδέα για τη δημιουργία ενός είδους απλού συστήματος μετάδοσης και κρατήσεων που λειτουργεί σε πραγματικό χρόνο.

Η εταιρεία χρησιμοποιεί το εργαλείο επικοινωνίας Slack όπου κάθε εργαζόμενος έχει λογαριασμό. Έχουμε ακόμη και κανάλι #kicker μόνο για συζητήσεις σχετικά με το … kicker. Το κανάλι θα μπορούσε να χρησιμοποιηθεί ως ένα είδος "σημείου εισόδου" για κρατήσεις και να ενημερωθεί για την κατάσταση του τρέχοντος πίνακα.

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

Η συσκευή και η υπηρεσία δεν είναι κολλημένα στο τραπέζι kicker και μπορούν να χρησιμοποιηθούν για οποιονδήποτε "κοινό πόρο" (όπως τραπέζι πινγκ πονγκ, κονσόλα, κλπ …) που χρειάζεται κάποιο είδος λύσης κράτησης ευρυεκπομπής κατάστασης.

Ας ξεκινήσουμε λοιπόν…

Βήμα 1: Απόδειξη έννοιας και πρωτοτυπίας

Απόδειξη της έννοιας και της πρωτοτυπίας
Απόδειξη της έννοιας και της πρωτοτυπίας
Απόδειξη της έννοιας και της πρωτοτυπίας
Απόδειξη της έννοιας και της πρωτοτυπίας
Απόδειξη της έννοιας και της πρωτοτυπίας
Απόδειξη της έννοιας και της πρωτοτυπίας

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

  • μερικοί δείκτες σχετικά με την τρέχουσα κατάσταση του τραπεζιού - αν στέκεστε δίπλα του, θα πρέπει να μπορείτε να γνωρίζετε ότι είναι δωρεάν ή δεσμευμένος και ότι κάποιος θα έρθει να παίξει σε 3 λεπτά. Τα φανάρια ταιριάζουν απόλυτα στην ιδέα:

    • πράσινο φως - δωρεάν για παιχνίδι,
    • κίτρινο φως - δεσμευμένο,
    • κόκκινο φως - κατειλημμένο.
  • κουμπιά Μπορείτε να κάνετε κλικ πριν και μετά το παιχνίδι, ώστε όλοι οι άλλοι να ενημερωθούν για την κατάσταση του τρέχοντος πίνακα. Αντί για 1 κουμπί εναλλαγής αποφάσισα να χρησιμοποιήσω 2 διαχωρισμένα κουμπιά:

    • κόκκινο κουμπί - καταλάβετε το τραπέζι, ξεκινήστε ένα παιχνίδι (μετά από κράτηση ή ad hoc).
    • πράσινο κουμπί - πίνακας απελευθέρωσης.
  • κάποια οθόνη με πιο λεπτομερείς πληροφορίες σχετικά με το "τι συμβαίνει" - χρονικό όριο κράτησης, κατάσταση επαναλαμβανόμενου τραπεζιού, χρονικό όριο παιχνιδιού κ.λπ.…

Με τον όρο κράτηση εννοώ μόνο την κράτηση για τα επόμενα 3 λεπτά. Το σύστημα δεν έχει σχεδιαστεί έτσι ώστε ο χρήστης να μπορεί να κρατήσει τον πίνακα την ακριβή ώρα (π.χ. 02:00 μ.μ.). Δεν λειτουργεί όπως η κράτηση π.χ. στα εστιατόρια αλλά μόνο για τα πρώτα λεπτά.

Λόγω έλλειψης σύνδεσης LAN, η μόνη επιλογή είναι να χρησιμοποιήσετε WLAN - είναι η καλύτερη επιλογή ούτως ή άλλως. Ο εγκέφαλος του συστήματος πρέπει να χρησιμοποιεί το Slack API για την αποστολή και λήψη εντολών από το κανάλι Slack. Πρώτα προσπάθησα να χρησιμοποιήσω το NodeMCU. Iμουν σε θέση να λαμβάνω και να λαμβάνω μηνύματα από και προς το Slack, αλλά λόγω της χρήσης του HTTPS και του μεγέθους του Slack (k 300kB), το NodeMCU έχασε τη σύνδεση και/ή πήρε κάποια περίεργη εξαίρεση την οποία δεν μπορούσα να επιλύσω μέσω του Διαδικτύου Το

Έτσι αποφάσισα να χρησιμοποιήσω κάτι πιο δυνατό: το Raspberry Pi 3 (το Zero W με WiFi δεν είχε κυκλοφορήσει ακόμα εκείνη τη στιγμή). Έχοντας RPi, θα μπορούσα να αλλάξω τη γλώσσα υλοποίησης από C σε Java, καθώς είναι πιο βολικό για μένα - οπότε αυτό ήταν ένα πλεονέκτημα. Σήμερα Μπορείτε να χρησιμοποιήσετε κάτι πιο ισχυρό από το NodeMCU και λιγότερο ισχυρό από το RPi. Raspberry Zero ίσως;

Αφού χτίστηκε το πρώτο πρωτότυπο σε μια σανίδα ψωμιού με κάποια τρελή καλωδίωση, πολλά σκίτσα και πρωτότυπα, το σύστημα φαινόταν ότι μπορεί να λειτουργήσει.

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

Βήμα 2: Υλικά και εργαλεία

Υλικά που χρησιμοποίησα:

  • Κουτί
  • Raspberry Pi, κάρτα microSD, τροφοδοτικό micro USB
  • Πράσινα και κόκκινα κουμπιά arcade
  • Οθόνη LCD 16x2
  • LED - Χρησιμοποίησα RGB αλλά μπορείτε να χρησιμοποιήσετε το κατάλληλο χρώμα
  • Καλώδια από άντρα σε θηλυκό και θηλυκό σε θηλυκό μπλοκ
  • Διεπαφή Micro USB
  • Mini breadboard μόνο για να συνδέσετε μερικά καλώδια
  • Κοντό καλώδιο micro USB που λειτουργεί ως βραχυκυκλωτήρας μέσα στο κουτί για να τροφοδοτεί το RPi

Εργαλεία που χρησιμοποίησα:

  • Κοφτερό μαχαίρι (π.χ. βοηθητικό μαχαίρι για κοπή χαλιού)
  • Περιστροφικό εργαλείο
  • Πυροβόλο θερμής κόλλας
  • Σταθμός συγκόλλησης
  • Πένσες, διαγώνιες πένσες/πλευρικοί κόφτες
  • Κατσαβίδι
  • Αρχείο
  • Μου

Εργαλεία που πιθανώς χρειάζεστε:

Όλα τα παραπάνω αλλά αντί για "Εγώ" θα πρέπει να είναι: "Εσύ":)

Βήμα 3: Πρόσοψη - Οθόνη LCD

Πρόσοψη - Οθόνη LCD
Πρόσοψη - Οθόνη LCD
Πρόσοψη - Οθόνη LCD
Πρόσοψη - Οθόνη LCD

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

Βήμα 4: Πρόσοψη - LED κατάστασης

Μπροστινός πίνακας - LED κατάστασης
Μπροστινός πίνακας - LED κατάστασης
Μπροστινός πίνακας - LED κατάστασης
Μπροστινός πίνακας - LED κατάστασης

Οι οπές LED είναι επίσης απλές. Μόλις πήρα ένα μεγάλο τρυπάνι για ξύλο και μετά γυάλισα τις άκρες με εργαλείο διάτρησης. Τα μεγάλα LED τοποθετήθηκαν απόλυτα σφιχτά. Δεν έχω κολλήσει ακόμα καμία αντίσταση στα LED - το άφησα για τη διαδικασία συναρμολόγησης.

Βήμα 5: Πρόσοψη - Κουμπιά

Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά
Πρόσοψη - Κουμπιά

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

Βήμα 6: Σύνδεση ισχύος

Συνδετήρας ισχύος
Συνδετήρας ισχύος

Μια μικρή τρύπα για τροφοδοσία micro USB ήταν μια πολύ λεπτή δουλειά. Iθελα η τρύπα να είναι όσο το δυνατόν πιο κατάλληλη, έτσι πέρασα εδώ πολύ χρόνο για γυάλισμα. Αλλά έμεινα ικανοποιημένος από το τελικό αποτέλεσμα.

Στη συνέχεια έκοψα ένα κοντό μίνι καλώδιο USB το οποίο τοποθετήθηκε μέσα στο κουτί. Από τη μία πλευρά είναι συνδεδεμένο σε RPi και από την άλλη πλευρά, όλα τα καλώδια συγκολλήθηκαν στη διεπαφή micro USB σύμφωνα με τα pinouts USB.

Στη συνέχεια, κόλλησα θερμά το μικρό PCB απευθείας στο κουτί (φαίνεται σε φωτογραφία στο βήμα συναρμολόγησης).

Βήμα 7: Συνδυάζοντας τα πάντα μαζί

Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί
Βάζοντας τα πάντα μαζί

Πρώτα κόλλησα τις κατάλληλες αντιστάσεις στα LED ανάλογα με το χρώμα τους (τάση) για 3,3V volt. Χρησιμοποίησα 100Ω για κόκκινο, δύο αντιστάσεις 82 και 100 για κίτρινο (πράσινο και κόκκινο κόμβο) και 100Ω για πράσινο. Μπορείτε να χρησιμοποιήσετε την ηλεκτρονική αντίσταση για αριθμομηχανή LED. Αλλά κάντε μια έρευνα μόνος σας σύμφωνα με τη φωτεινότητα και τον ακριβή τόνο χρώματος που θέλετε να επιτύχετε.

Τα πόδια του κίτρινου LED συγκολλήθηκαν μαζί, ώστε το ίδιο το LED να μπορεί να ελεγχθεί μόνο με μία ακίδα στο RPi.

Σύμφωνα με αυτό το διάγραμμα pinout:

Οι κόμβοι LED συνδέθηκαν:

  • Πράσινο LED - GPIO1 σε Rpi
  • Κίτρινο LED (και στα δύο πόδια) έως GPIO2 σε RPi
  • Κόκκινο LED σε GPIO0 σε RPi

Συνδέσα LCD χρησιμοποιώντας ακίδες I2C σε ακίδες RPi

  • LCD SDA έως GPIO8 σε RPi
  • LCD SCL έως GPIO9 σε RPi
  • LCD PWR έως 5V σε RPi
  • LCD GND σε GND σε RPi

Η οθόνη LCD ήταν κολλημένη στο κουτί ως πρόσθετη προστασία.

Συνδέω 3.3V και GND στο μικρό breadboard, ώστε να μπορώ να τα χρησιμοποιώ για κουμπιά.

Το πράσινο κουμπί συνδέθηκε στο 3.3V μέσω μίνι breadboard και στο GPIO5 στο RPi.

Το κόκκινο κουμπί συνδέθηκε στο 3,3V μέσω μίνι ψωμιού και στο GPIO4 στο RPi.

Έτσι, κάθε φορά που πατάτε το κουμπί, υπάρχει μια υψηλή κατάσταση στον ακροδέκτη RPi.

Το mini bradboard λειτουργεί μια χαρά, έτσι παρέλειψα τη συγκόλληση όλων των καλωδίων σε PCB. Αντ 'αυτού, απλώς κάλυψα το μίνι ψωμί με ζεστή κόλλα, έτσι ώστε τα καλώδια να μην πέσουν.

Επίσης, κόλλησα θερμά το κάλυμμα του RPi στο κουτί, ώστε να μην ταλαντεύεται μέσα.

Βίδωσα τον μπροστινό πίνακα με όλα τα πράγματα μέσα.

Στη συνέχεια, εκτύπωσα, έκοψα και κόλλησα απλές ετικέτες δίπλα στα φανάρια και τα κουμπιά.

Βήμα 8: Slack Configuration

Slack Configuration
Slack Configuration
Slack Configuration
Slack Configuration

Δημιουργήστε την ομάδα σας στο Slack.com ή χρησιμοποιήστε αυτήν που έχετε και έχετε τουλάχιστον δικαιώματα διαχειριστή.

Στο Slack, δημιουργήστε ένα κανάλι για την ενσωμάτωση Slack της υπηρεσίας (ή παραλείψτε τη δημιουργία ενός καναλιού εάν θέλετε να χρησιμοποιήσετε ένα που έχετε ήδη).

Προσθέστε ενσωμάτωση Incomming Webhooks στην ομάδα σας. Επιλέξτε το κανάλι και αντιγράψτε τη διεύθυνση URL του webhook.

Προσθέστε ενσωμάτωση Bots στην ομάδα σας. Επιλέξτε κάποιο όνομα για το bot σας και αντιγράψτε το διακριτικό API bot.

Η σελίδα διαχείρισης προσαρμοσμένων ενσωματώσεων πρέπει να μοιάζει με την εικόνα.

Πρέπει να προσκαλέσετε το bot ως μέλος του καναλιού σας. Θα μπορούσατε να το κάνετε ήδη κατά τη δημιουργία ενός καναλιού.

Εάν θέλετε να προσαρμόσετε την υπηρεσία αργότερα, ελέγξτε το Slack API.

Βήμα 9: Εφαρμογή λογισμικού

Χρησιμοποίησα το Raspbian ως λειτουργικό σύστημα για το RPi μου ακολουθώντας αυτό το σεμινάριο. Παρακαλώ με συγχωρείτε θα παραλείψω να το εξηγήσω καθώς είναι ήδη τεκμηριωμένο σε πολλά μέρη και η διαδικασία είναι απλή. Ελπίζω να είστε αρκετά έμπειροι και έμπειροι για να καταφέρετε να ρυθμίσετε το RPi μόνοι σας. Μην ξεχάσετε να διαμορφώσετε την πρόσβαση WiFi στο Your Raspberry Pi;)

Όπως αναφέρθηκε στην ενότητα πρωτοτύπων, χρησιμοποίησα την Java για να υλοποιήσω τον εγκέφαλο όλου του συστήματος. Ο κωδικός είναι διαθέσιμος στο GitHub -

Οι βιβλιοθήκες Java που χρησιμοποίησα:

  • pi4j - για χρήση Raspberry Pi από Java
  • Springboot ως πλατφόρμα εφαρμογής
  • allbegray/slack-api ως ενσωμάτωση Slack

Πρέπει να επεξεργαστείτε το αρχείο διαμόρφωσης στο src/resources/config.properties. Υπάρχουν 3 καταχωρήσεις που πρέπει να διαμορφώσετε για να χρησιμοποιήσετε το Slack API:

  • channelName - όνομα καναλιού Θέλετε να δημοσιεύσετε αλλαγές κατάστασης και να λάβετε εντολές.
  • slackBotToken - διακριτικό ενός bot που έχει διαμορφωθεί στις ενσωματώσεις της ομάδας Your Slack, το οποίο θα χρησιμοποιηθεί για την ανάρτηση μηνυμάτων στο κανάλι που αναφέρθηκε παραπάνω. Παρακαλώ σημειώστε Πρέπει να προσθέσετε το Slack Bot ως μέλος του καναλιού.
  • webhookUrl - η διεύθυνση URL Μπορείτε να λάβετε από τις προσαρμοσμένες ενσωματώσεις της Slack Team.

Το έργο είναι Mavenized, για να το δημιουργήσετε απλά πληκτρολογήστε (Χρειάζεστε τουλάχιστον Java 8 και Maven εγκατεστημένα):

mvn καθαρή συσκευασία

Και στον κατάλογο προορισμού Μπορείτε να βρείτε το αρχείο JARS Springbooted. Για να ξεκινήσετε μια υπηρεσία:

sudo java -jar kicker-reservation-service-0.3.0.jar

Έβαλα αυτήν τη γραμμή σε σενάριο.sh και την πρόσθεσα ως αυτόματη εκκίνηση. Έτσι, κάθε φορά που είναι ενεργοποιημένη, η υπηρεσία εκκινείται αυτόματα.

Μια ειδική εξήγηση χρειάζεται στην οθόνη LCD.

Δοκίμασα διαφορετικές προσεγγίσεις/βιβλιοθήκες για τον έλεγχο της οθόνης LCD μέσω I2C από το RPi, αλλά απέτυχα. Για κάποιους LCD δεν λειτουργούσε σωστά, για κάποιους έδειχνε κάποια σκουπίδια.

Αλλά ένα πράγμα λειτούργησε πολύ ωραία έξω από το κουτί. Είναι το βοηθητικό εργαλείο γραμμής εντολών που βρήκα Μπορείτε να χρησιμοποιήσετε για τον έλεγχο της οθόνης LCD. Έτσι αποφάσισα να χρησιμοποιήσω αυτό το εργαλείο απευθείας από την Java. Λειτουργεί έτσι που μια κανονική διαδικασία Linux (lcdi2c) ονομάζεται (με προετοιμασμένες παραμέτρους) κάθε φορά που θέλω να εμφανίσω κάτι στην οθόνη LCD.

Πρέπει να κατεβάσετε το εργαλείο και να το τοποθετήσετε δίπλα στην υπηρεσία JAR

Η χρήση αυτού του εργαλείου είναι ένα είδος hack και ηλίθια λύση, αλλά ακολουθώ τον 1ο κανόνα μηχανικής:

Αν είναι ηλίθιο, αλλά λειτουργεί… δεν είναι ηλίθιο

Βήμα 10: Οδηγίες χρήσης

Οδηγίες χρήσης
Οδηγίες χρήσης

Μπορείτε να ελέγξετε την τρέχουσα κατάσταση του πίνακα kicker στο δημιουργημένο κανάλι Slack πληκτρολογώντας την εντολή "status" (ή σύντομα "st") ή να ελέγξετε απευθείας τα φανάρια της συσκευής.

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

Τα φανάρια θα αλλάξουν επίσης και η οθόνη LCD θα εμφανίσει κάποιες λεπτομερείς πληροφορίες.

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

Για να κάνετε κράτηση στο τραπέζι, γράψτε ένα μήνυμα «κράτηση» (ή απλώς: «res») στο κανάλι Slack.

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

Το χρονικό όριο κράτησης έχει οριστεί σε 3 λεπτά. Μετά από αυτό, το kicker table αλλάζει την κατάσταση του ελεύθερου παιχνιδιού.

Εάν χρειάζεστε, μπορείτε να ακυρώσετε την κράτηση γράφοντας «ακύρωση» στο κανάλι Slack.

Το σύστημα έχει επίσης κάποια άλλα δευτερεύοντα χαρακτηριστικά όπως:

  • Μετά την κράτηση, τα κουμπιά παγώνουν για 5 δευτερόλεπτα. Αυτό γίνεται για να αποφευχθούν καταστάσεις, που την ίδια στιγμή κάποιος κάνει κράτηση και ένα εκατοστό δευτερόλεπτο αργότερα κάποιος πατάει το κόκκινο κουμπί νομίζοντας ότι αυτός/αυτή είναι αυτός που καταλαμβάνει το τραπέζι αλλά χωρίς να γνωρίζει ότι κάποιος κρατούσε το τραπέζι μόλις ένα εκατοστό δευτερόλεπτο πριν.
  • Πατώντας οποιοδήποτε κουμπί παγώνει και τα δύο για μισό δευτερόλεπτο. Αυτό γίνεται για να αποφευχθούν τρελά κλικ κουμπιά, ώστε το κανάλι Slack να μην αποστέλλεται τόσο πολύ.
  • Η δωρεάν έκδοση του Slack επιτρέπει την αποθήκευση 10000 μηνυμάτων από όλη την ομάδα. Για να διατηρήσετε μερικά από τα μηνύματα, η υπηρεσία διαγράψτε τα παλιά μηνύματα που σχετίζονται με το σύστημα κράτησης/κατάστασης) και διατηρήστε μόνο τα τελευταία 6 από αυτά. Γιατί 6; Επειδή τις περισσότερες φορές υπάρχουν 2 σενάρια κατάστασης: "Δεσμευμένα-Κατεχόμενα-Ελεύθερα" και "Κατεχόμενα-Ελεύθερα". Έτσι, το σύστημα μπορεί να αποθηκεύσει τουλάχιστον 2 πλήρεις συνεδρίες χωρίς καταλήψεις. Για να καθαρίσετε όλα τα μηνύματα του συστήματος, πληκτρολογήστε την εντολή "clean" (ή "clear").

Βήμα 11: Απελευθέρωση

Απελευθέρωση
Απελευθέρωση
Απελευθέρωση
Απελευθέρωση

Μέχρι τώρα (η στιγμή της δημοσίευσης αυτού του οδηγού), το σύστημα λειτουργεί για 2,5+ μήνες και χρησιμοποιείται από περισσότερα από 30 άτομα. Λόγω της ενημέρωσης της κατάστασης του τραπέζι kicker, γνωρίζουμε πάντα πότε είναι δωρεάν ή κατειλημμένο, ώστε να μην χάνουμε χρόνο να πηγαίνουμε πέρα δώθε. Η σύνδεση και η υπηρεσία είναι πολύ σταθερές, ώστε να μπορούμε να βασιστούμε σε αυτήν.

Μέχρι εδώ καλά…

Βήμα 12: Συχνές ερωτήσεις

Γιατί το χρονικό όριο κράτησης έχει οριστεί σε 3 λεπτά;

3 λεπτά είναι ο μέγιστος χρόνος κράτησης, υιοθετήστε τον όπως σας αρέσει στον κώδικα. Γενικά, σπάνια θα συμβεί ότι θα περάσουν 3 λεπτά και η κράτηση θα λήξει. Στις περισσότερες περιπτώσεις κάποιος θα έρθει τελικά και θα καταλάβει το τραπέζι.

Γιατί ο χρόνος λήξης του παιχνιδιού έχει οριστεί στα 20 λεπτά;

Ανάλογα με τους παίκτες, ο μέσος χρόνος παιχνιδιού είναι ~ 10 λεπτά. Εάν πρέπει να παίξετε περισσότερο, πατήστε ξανά το κόκκινο κουμπί όταν απομένουν λιγότερα από 5 λεπτά και το χρονικό όριο θα παραταθεί πίσω στα 5 λεπτά. Αυτό το χρονικό όριο έχει ρυθμιστεί σε περίπτωση που κάποιος ξεχάσει να αφήσει το τραπέζι.

Γιατί δεν υπάρχει PIN pad στη συσκευή για επιβεβαίωση της κράτησης; δεν υπάρχουν στοιχεία σύνδεσης και κωδικοί πρόσβασης;

Η κύρια ιδέα ήταν να το κρατήσω απλό-ηλίθιο. Διαφορετικά, εάν η κράτηση, η έναρξη και το τέλος του παιχνιδιού χρειάζονται πολύ κόπο, τότε κανείς δεν θα θέλει να το χρησιμοποιήσει.

Γιατί η συσκευή φαίνεται τόσο βιομηχανική-άσχημη;

Επειδή δεν είχα κόφτη λέιζερ, CNC, τρισδιάστατο εκτυπωτή, φανταχτερό έγχρωμο ετικέτα κ.λπ. Είστε περισσότερο από ευτυχείς να το βελτιώσετε και να το κάνετε πιο όμορφο.

Γιατί να μην εφαρμόσετε απλώς κάποια εφαρμογή και να μην κολλήσετε φθηνό tablet στον τοίχο με την ίδια λειτουργικότητα;

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

Συνιστάται: