Μια βιβλιοθήκη .Net που παρέχει ένα απλό API για τον έλεγχο των συσκευών Luxafor.
Luxafor είναι μια εταιρεία που σχεδιάζει και πωλεί προϊόντα για την παραγωγικότητα του γραφείου, όπως δείκτες διαθεσιμότητας και εργαλεία ειδοποίησης.
Η ναυαρχίδα τους είναι ένας δείκτης διαθεσιμότητας LED που μπορεί να προγραμματιστεί ώστε να εμφανίζει διαφορετικά χρώματα ανάλογα με την κατάσταση διαθεσιμότητας του χρήστη.
Στόχος της Luxafor είναι να παρέχει στους χρήστες έναν απλό και αποτελεσματικό τρόπο για να δηλώνουν τη διαθεσιμότητά τους στους συναδέλφους τους και να βελτιώνουν την επικοινωνία και τη συνεργασία στο χώρο εργασίας.
Ακολουθεί ένας μη εξαντλητικός κατάλογος συσκευών Luxafor:
Luxafor Flag
: μια ένδειξη διαθεσιμότητας LED που εμφανίζει την προσωπική διαθεσιμότηταLuxafor Bluetooth
: μια ασύρματη, ελεγχόμενη από λογισμικό ένδειξη διαθεσιμότητας LED που εμφανίζει ειδοποιήσεις και προσωπική διαθεσιμότηταLuxafor Switch
: ένας ασύρματος, τηλεχειριζόμενος δείκτης διαθεσιμότητας που εμφανίζει τη διαθεσιμότητα των αιθουσών συσκέψεων και των θέσεων εργασίας σε πραγματικό χρόνο.Luxafor Cube
: μια αυτόνομη ένδειξη διαθεσιμότητας LED που εμφανίζει τη διαθεσιμότητα των αιθουσών συνεδριάσεωνLuxafor Pomodoro-Timer
: ένας χρονοδιακόπτης LED με τροφοδοσία USB που επιτρέπει τον διαχωρισμό της εργασίας σε μικρότερα χρονικά διαστήματα (βλ. Pomodoro)Luxafor Orb
: μια ευρυγώνια ένδειξη διαθεσιμότητας LED USBLuxafor CO2 Monitor
: ένας αισθητήρας που αναλύει την ποιότητα του αέρα ενός δωματίου και σας προειδοποιεί όταν χρειάζεται εξαερισμός.Κουμπί σίγασης Luxafor
: ενεργοποιήστε/απενεργοποιήστε το μικρόφωνο με ένα απλό άγγιγμα και δείξτε αν είστε διαθέσιμοι με το κόκκινο/πράσινο χρώμα.Luxafor Colorblind Flag
: μονόχρωμο φως διαθεσιμότητας USB LED εξαλείφει τους περισπασμούς και ενισχύει την παραγωγικότητα
Αυτές οι διαφορετικές συσκευές έχουν σχεδιαστεί για να οδηγούνται χειροκίνητα ("μηχανικά") για ορισμένες, ημιαυτόματα (χειροκίνητη οδήγηση μέσω λογισμικού) / αυτόματα (ενσωμάτωση μέσω λογισμικού με εργαλεία όπως Teams, Skype, Cisco, Zappier ή μέσω Webhook) για άλλες.
Αυτή η βιβλιοθήκη έχει ως στόχο να επιτρέψει την ενσωμάτωση συσκευών LED USB στις εσωτερικές σας εφαρμογές χωρίς να χρειάζεται να περάσετε από τον διακομιστή Luxafor (webhook).
Έχει αναπτυχθεί σε .Net Core και βασίζεται στη βιβλιοθήκη HidLibrairy, η οποία επιτρέπει την απαρίθμηση και την επικοινωνία με συσκευές USB συμβατές με HID στο .NET.
Ο παρακάτω κώδικας δείχνει ένα παράδειγμα βασικής χρήσης της βιβλιοθήκης για την οδήγηση μιας συσκευής Luxafor Orb.
[Fact]
public void french_sequence() {
LuxaforDevice orb = Luxafor.GetDevices().First();
for (var i = 0; i < 3; i++) {
orb.SetBasicColor(BasicColor.Blue);
Thread.Sleep(500);
orb.SetBasicColor(BasicColor.White);
Thread.Sleep(500);
orb.SetBasicColor(BasicColor.Red);
Thread.Sleep(500);
orb.SetBasicColor(BasicColor.Off);
Thread.Sleep(1000);
}
}
Η γραμμή 3 δείχνει πώς να συνδεθείτε σε ένα μόνο Orb που είναι συνδεδεμένο στη θύρα USB του μηχανήματος.
Θα εξετάσω γρήγορα το σύνολο των πιθανών εντολών που μπορείτε να στείλετε σε συσκευές από το LuxaforDevice
.
void TurnOff(); // Απενεργοποιεί όλες τις λυχνίες LED της συσκευής
void TurnOff(TargetedLeds targetedLeds); // Απενεργοποίηση των LED της στοχευμένης συσκευής
void SetColor(BrightColor color color); // Ενεργοποιεί τις λυχνίες LED της συσκευής σε ένα προσαρμοσμένο χρώμα.
void SetColor(TargetedLeds targetedLeds, BrightColor color); // Ενεργοποιεί τα LED της στοχευμένης συσκευής σε ένα προσαρμοσμένο χρώμα.
void FadeColor(BrightColor color, FadeDuration duration); // Μεταβαίνει όλα τα LED της συσκευής σε ένα προσαρμοσμένο χρώμα.
void FadeColor(TargetedLeds targetedLeds, BrightColor color, FadeDuration duration) // Μετάβαση των LED της στοχευμένης συσκευής σε ένα προσαρμοσμένο χρώμα
void Strobe(BrightColor color, Speed speed, Repeat repeat); // Αναβοσβήνει όλα τα LED της συσκευής σε ένα προσαρμοσμένο χρώμα.
void Strobe(TargetedLeds targetedLeds, BrightColor color, Speed speed, Repeat repeat); // Αναβοσβήνει τα LED της στοχευμένης συσκευής σε ένα προσαρμοσμένο χρώμα.
void PlayPattern(WavePattern wavePattern, BrightColor color, Speed speed, Repeat repeat); // Ξεκινάει ένα μοτίβο κύματος που στοχεύει όλα τα LED της συσκευής με βάση ένα προσαρμοσμένο χρώμα.
void PlayPattern(BuiltInPattern, Repeat repeat); // Εκκίνηση ενός ενσωματωμένου μοτίβου που στοχεύει σε όλες τις λυχνίες LED της συσκευής
Είναι δυνατή η δημιουργία προσαρμοσμένων εντολών με την ονομασία LightingCommand
ώστε να μπορούν να επαναχρησιμοποιηθούν στον κώδικα:
var command = LightingCommand.CreateStrobeCommand(TargetedLeds.All,BrightColor.Yellow, Speed.FromByte(20), Repeat.Count(3)),
Η μέθοδος Send
σας επιτρέπει να χρησιμοποιήσετε αυτές τις εντολές.
void Send(LightingCommand command); // Αποστολή μιας εντολής στη συσκευή