Einige LED-Lampen auf dem Markt können Farben ändern und über Bluetooth Geräusche machen. Normalerweise wird es über die angeschlossene Smartphone-Anwendung gesteuert, aber ich habe die Steuerung über den Mikrocomputer (Intel Edison) angefochten.
Ende letzten Jahres nahm ich am IT-Entwicklungswettbewerb Mashup Awards teil. Dieses Mal, als ich zum zweiten Mal teilnahm, habe ich ein IoT-Toilettensystem mit KI (Chatbot) und Sensoren erstellt und beantragt (In Verbindung stehender Artikel. ). Eine der Funktionen des Systems ist eine "Beobachtungs" -Funktion. Wenn die Toilette zu lang ist, fragt der Bot "Ist es in Ordnung?". Wenn der Deckel offen bleibt, "Wird er nicht leer gelassen?" Ich werde dich drängen.
Um diese Sprachführungsfunktion zu realisieren, verwendeten wir eine LED-Lampe mit Lautsprecherfunktion anstelle eines Bluetooth-Lautsprechers mit einer einzigen Funktion, sagten jedoch, dass "die Stromversorgung einfacher zu handhaben ist" und "sie an der Decke der Toilette installiert werden kann und der Schall leicht durchgelassen werden kann". Zusätzlich zu den Vorzügen konnte ich es auf interessante Weise verwenden, z. B. "Ändern der Farbe entsprechend der gesprochenen Sprache (Beispiel: Gelb, wenn Aufmerksamkeit erregt wird)".
Philips Hue steht bei steuerbaren LED-Glühbirnen an vorderster Front. Bei Hue, das nur Licht steuern kann, sind LED-Glühbirnen mit Bluetooth-Verbindung, die sowohl Ton als auch Licht steuern können, möglicherweise interessanter als Kunst. Ich dachte, also beschloss ich, die Kontrollmethode hier zusammenzufassen.
In diesem Artikel schreiben wir zuerst den ersten Schritt und in den folgenden Artikeln den zweiten Schritt.
Ich habe Mi Pow PLAYBULB als LED-Lampe verwendet (der Modellname BT100 ist auf dem Hauptgehäuse aufgedruckt). Eigentlich habe ich mehrere andere Modelle von Bluetooth-gesteuerten LED-Lampen ausprobiert, aber ich konnte das Kommunikationsprotokoll nicht analysieren und nicht steuern.
Als Mikrocomputer habe ich Intel Edison verwendet, das mit einem USB-Akku betrieben werden kann und einfach zu handhaben ist. Ich habe es nicht ausprobiert, aber ich denke, dass die gleiche Steuerung mit Raspberry Pi 3 und PC erreicht werden kann.
Es wird davon ausgegangen, dass das WLAN von Intel Edison bereits eingerichtet wurde (wenn Sie möchten, können Sie auch [hier] einstellen (http://qiita.com/hishi/items/47e15c7f1b398357a8e2)). Die Firmware-Version lautet wie folgt.
root@edison:~# uname -a
Linux edison 3.10.98-poky-edison+ #1 SMP PREEMPT Mon Jun 6 14:32:08 PDT 2016 i686 GNU/Linux
Aktivieren Sie gleichzeitig Bluetooth. Wenn Sie Edison neu starten, wird es wieder deaktiviert Ich habe festgelegt, dass es beim Start automatisch aktiviert wird, indem ich auf [this] verweise (http://rwx.io/blog/2015/02/18/seting-up-an-edison/).
root@edison:~# rfkill unblock bluetooth
root@edison:~# rfkill list
...
2: bcm43xx Bluetooth: bluetooth
Soft blocked: no
Hard blocked: no
Es wird davon ausgegangen, dass die LED-Glühbirne in die Fassung eingesetzt ist und die Farbe über die PLAYBULB-Steuerungs-App für Smartphones geändert werden kann. Überprüfen Sie zunächst, ob Sie PLAYBULB auf der Intel Edison-Konsole sehen können.
root@edison:~# bluetoothctl
[NEW] Controller 98:4F:EE:04:28:48 edison [default]
[bluetooth]# scan on
Discovery started
[CHG] Controller 98:4F:EE:04:28:48 Discovering: yes
[NEW] Device DB:22:4B:13:AC:E6 PLAYBULB COLOUR LED <--LED-Lampenfunktion
[NEW] Device AC:E6:4B:13:E4:9F PLAYBULB COLOUR <--Lautsprecherfunktion
Da PLAYBULB zwei Funktionen hat, eine LED-Lampe und einen Lautsprecher, können Sie zwei als Gerät überprüfen. Notieren Sie sich die Adresse auf der Seite der LED-Lampe.
Installieren Sie als Nächstes die für die Steuerung erforderlichen Tools (gatttools) unter Intel Edison.
Bluetooth verfügt über Profile für verschiedene Geräte (HID-Profil für Maus und Tastatur, A2DP-Profil für Sprache usw.), PLAYBULB verfügt jedoch über das generische Attributprofil (GATT), das das Standardprofil für Bluetooth LE ist. ) Wird zur Steuerung verwendet. [Erklärender Artikel zur Verwendung von Gatttools unter Intel Edison](https://software.intel.com/en-us/articles/using-the-generic-attribute-profile-gatt-in-bluetooth-low-energy-with- your-intel-edison) befindet sich auf der offiziellen Website, daher gibt es kein Problem mit dieser Straße. Als Referenz werde ich den vorliegenden Befehl veröffentlichen.
root@edison: wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.43.tar.xz
root@edison: tar -xf bluez-5.43.tar.xz
root@edison: cd bluez-5.43
root@edison: ./configure --prefix=/usr/local --disable-systemd -disable-udev
root@edison: make
root@edison: make install
root@edison: cp ./attrib/gatttool /usr/local/bin
root@edison: export PATH=$PATH:/usr/local/bin
root@edison: gatttool
Usage:
gatttool [OPTION...]
...
Ich werde es in Zukunft häufig verwenden, also habe ich es nach / usr / local / bin kopiert und in den Pfad eingefügt.
Informationen zur Gerätesteuerung mit Bluetooth LE GATT-Profil
Ich betrachte es als ein Bild. Lassen Sie uns zunächst die Farbe der Glühbirne ändern. Geben Sie nach "gatttool -b" die Adresse auf der Seite der LED-Lampe an, die zuvor mit "bluetoothctl" überprüft wurde.
root@edison:~# gatttool -b DB:22:4B:13:AC:E6 -I
[DB:22:4B:13:AC:E6][LE]> connect
Attempting to connect to DB:22:4B:13:AC:E6
Connection successful
[DB:22:4B:13:AC:E6][LE]> char-write-cmd 0x001b 00ff0000 <--rot
[DB:22:4B:13:AC:E6][LE]> char-write-cmd 0x001b 0000ff00 <--Grün
[DB:22:4B:13:AC:E6][LE]> char-write-cmd 0x001b 000000ff <--Blau
...
Hat sich die Farbe geändert? Oben wird die Steuerung ausgeführt, indem 4 Datenbytes in das Handle (0x001b) geschrieben werden, das die Farbe steuert. Sie können jedoch auch Blinkmuster usw. angeben. Die Entsprechungstabelle ist unten dargestellt.
Byte | Effect |
---|---|
0 | Weißwert |
1 | Rote Ebene |
2 | Grünes Niveau |
3 | Blaue Ebene |
Byte | Effect |
---|---|
0 | Reserve? |
1 | Rotwert (einfarbig) |
2 | Grünwert (einfarbig) |
3 | Blaustufe (einfarbig) |
4 | 0x00 :Einfarbiges Blinken 0x01 :Monochromatische Überblendung 0x02 :Regenbogen blinkt 0x03 :Regenbogen verblassen |
5 | Reserve? |
6 | Effektgeschwindigkeit(0x00 am schnellsten) |
7 | Reserve? |
** Achtung **: Diese Korrespondenztabelle wird nicht offiziell verteilt, sondern durch unabhängige Analyse berechnet. Sie kann daher falsch sein oder sich je nach Modell ändern. Darüber hinaus besteht die Möglichkeit, das Produkt durch Einstellen von Parametern zu beschädigen, die nicht vom Hersteller vorgesehen sind. Bitte tun Sie dies auf eigenes Risiko.
Die LED-Lampe (PLAYBULB) kann jetzt vom Mikrocomputer (Intel Edison) aus gesteuert werden, indem ein Steuerbefehl gemäß dem Bluetooth LE GATT-Profil gesendet wird.
Die obige Methode kann jedoch nicht angewendet werden, da Befehle zur Steuerung ausgegeben werden müssen. Als nächstes werden wir die Steuerung mit der Programmiersprache (Python) herausfordern.
Recommended Posts