ESP32 als BLE client, int to 2byte Wert
|
07.01.2021, 16:46
Beitrag #1
|
|||
|
|||
![]()
Hallo,
leider muss ich gleich gestehen, dass ich mehr oder weniger ein Schmarotzer bin und in der Regel versuche, für meine Projekte den nötigen Code aus bereits vorhandene Projekte - eigene und aus dem Internet - zu basteln. Das führt dazu, dass ich leider nicht ausreichend in die Materie einsteige und somit auch oft scheitere - bzw fremde Hilfe brauche. Diesmal versuche ich auf einen ESP32 einen BLE Client zu programmieren, um eine Paulmann Bluetooth Lampe zu steuern. Das An- und Ausschalten klappt auch schon, dazu sende ich onoffRemoteCharacteristic->writeValue((uint8_t*)an, 1); bzw onoffRemoteCharacteristic->writeValue((uint8_t*)aus, 1); wobei an/aus folgenermaßen definiert ist: const uint8_t an[] = {0x01}; const uint8_t aus[] = {0x00}; Mein Problem ist nun das setzen des Helligkeitswert. Ich habe mit einem Raspi+Microbit+blejack das Protokoll gesnifft und sehe, dass ein 2byte hex Wert gesendet wird, z.B 00 1e für die Helligkeit 30 (0 bis 100 möglich). Wenn ich den Wert fix in der Form onoffRemoteCharacteristic->writeValue({0x001e}); sende, dann geht es, ich bin nur nicht in der Lage, einen Integer Wert von 0 bis 100 in dieses Format zu bringen. Kann mir bitte hier jemand helfen? Gruß Ralph |
|||
07.01.2021, 17:14
Beitrag #2
|
|||
|
|||
RE: ESP32 als BLE client, int to 2byte Wert
Ob Du 0x001e oder 30 sendest, ist egal, das ist die gleich Zahl.
Evtl. musst Du uint16_t nehmen (16-Bit-Unsigned int), da ich Deine Lib aber nicht kenne, kann ich nichts weiter dazu sagen. Gib uns einen Link zu Deiner Lib und dann könnte man mal rein schauen, was writeValue macht und haben will. Außerdem wäre es auch sinnvoll, Deinen Sketch hier in den Beitrag zu stellen. Wie das geht, steht in Codetags. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
07.01.2021, 18:01
Beitrag #3
|
|||
|
|||
RE: ESP32 als BLE client, int to 2byte Wert
Hallo Tommy,
dein Hinweis, uint16_t zu verwenden, hat es gebracht. Ich bin nun in der Lage die Paulmann Lampe per ESP32 zu steuern! Ich nutze die Library von hier: https://github.com/nkolban/ESP32_BLE_Arduino Gruß und vielen Dank. Ralph |
|||
07.01.2021, 18:13
Beitrag #4
|
|||
|
|||
RE: ESP32 als BLE client, int to 2byte Wert
Ok, schön, dass es geht. Manches Mal genügt ja ein gut geschätzt
![]() Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste