AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Windows 11 und Bluetooth LE

Ein Thema von Graw · begonnen am 12. Mär 2024 · letzter Beitrag vom 22. Mär 2024
Antwort Antwort
Seite 1 von 2  1 2   
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
942 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Windows 11 und Bluetooth LE

  Alt 15. Mär 2024, 12:31
Ja, beim Klick auf "Get services" hängt es sich nicht auf. Aber es kann gut sein, dass du einen Thread um die Funktion ServicesDiscovered bauen musst. Dies scheint mir in dem Beispiel falsch zu sein.

Probiere mal diese Anpassung:
Delphi-Quellcode:
procedure TFrDeviceExplorer.ServicesDiscovered(const Sender: TObject; const AServiceList: TBluetoothGattServiceList);
begin
  TThread.CreateAnonymousThread(
  procedure()
  var
  I: Integer;
  CharList: TBluetoothGattCharacteristicList;
  AChar: TBluetoothGattCharacteristic;
  J: Integer;
  CurrentRow: Integer;
  Options: string;
  ServiceItem, Characteristic, CharProps: TTreeViewItem;
  begin
    TvCharacteristics.Clear;
    for I := 0 to AServiceList.Count - 1 do
    begin
      ServiceItem := TTreeViewItem.Create(nil);
      ServiceItem.Parent := TvCharacteristics;
      ServiceItem.Tag := I;
      ServiceItem.IsExpanded := True;
      if AServiceList[I].UUIDName.IsEmpty then
        ServiceItem.Text := 'Unnamed'
      else
        ServiceItem.Text := AServiceList[I].UUIDName;
      CharList := AServiceList[I].Characteristics;
      for J := 0 to CharList.Count - 1 do
      begin
        AChar := CharList[J];
        TThread.Synchronize(nil, procedure begin
          Options := '';
          if TBluetoothProperty.Broadcast in AChar.Properties then Options := Options + 'Broadcast ';
          if TBluetoothProperty.ExtendedProps in AChar.Properties then Options := Options + 'ExtendedProps ';
          if TBluetoothProperty.Notify in AChar.Properties then Options := Options + 'Notify ';
          if TBluetoothProperty.Indicate in AChar.Properties then Options := Options + 'Indicate ';
          if TBluetoothProperty.Read in AChar.Properties then Options := Options + 'Read ';
          if TBluetoothProperty.Write in AChar.Properties then Options := Options + 'Write ';
          if TBluetoothProperty.WriteNoResponse in AChar.Properties then Options := Options + 'WriteNoResponse ';
          if TBluetoothProperty.SignedWrite in AChar.Properties then Options := Options + 'SignedWrite ';
          Characteristic := TTreeViewItem.Create(nil);
          Characteristic.Parent := ServiceItem;
          Characteristic.IsExpanded := False;
          if AChar.UUIDName.IsEmpty then
            Characteristic.Text := 'Unnamed'
          else
            Characteristic.Text := AChar.UUIDName;
          Characteristic.Tag := J;
          CharProps := TTreeViewItem.Create(nil);
          CharProps.Tag := -1;
          CharProps.Parent := Characteristic;
          CharProps.IsExpanded := True;
          CharProps.Text := GUIDToString(AChar.UUID);
          CharProps := TTreeViewItem.Create(nil);
          CharProps.Tag := -1;
          CharProps.Parent := Characteristic;
          CharProps.IsExpanded := True;
          CharProps.Text := Options;
        end);
        Application.ProcessMessages;
      end;
    end;
    tmAnimateFindServices.Enabled := False;
    PbServices.Value := 100;
  end).Start;
end;
D.h. übertragen auf das Beispiel müsste es
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
78 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 08:53
Hallo,

vielen Dank für deine Anpassung.
Bin gerade dazu gekommen diese zu testen.
Leider ist das Ergebnis noch das selbe.
Beim anklicken von Get sevices hängt sich die Software auf.
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
778 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 14:00
Hab's mit Delphi 11.2 und Dell Notebook mit Windows 11 Pro (Version 10.0.22635.3350) getestet.
Das Erkennen der Devices scheint völlig fuzzy zu sein. Ich klicke und sehe 3 Geräte, ich klicke erneut und sehe 7. Einige Leerzeilen, einige Namen werden nicht angezeigt (nur Bluetooth <Adresse>); meine Hyperboom (welche von meinem Dell Testgerät korrekt angezeigt wird) wird zum Beispiel nie als HYPERBOOM angezeigt.
Wenn ich einen Device "selecte" und Get... klicke, dann passiert bei keinem der 7 ausgewählten Geräte was. Ab und zu hängt sich die App nach Klick auf Get... auf.
Das Beispiel ist für die Tonne. Leider haben wir hier auf dem Land nur alle zwei Wochen Müllabfuhr.
Michael Gasser
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#4

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 17:05
Das ist aber bei Funk normal, dass man sich nicht 100 % auf den Empfang verlassen kann.
Liegt in der Natur der Sache, dass mal entferntere Geräte gelistet werden und mal nicht und die Reihenfolge sich ändert.
Die Geräte können auch verschiedene Sendezyklen besitzen, die sehr Stromsparenden senden vielleicht nur alle >=10 Sekunden,
währen die aktiveren Geräte auch gerne mal alle 40ms senden können.
Das ist bei Bluetooth normal, Hauptsache man erkennt überhaupt Geräte.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.139 Beiträge
 
Delphi 2009 Professional
 
#5

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 19:58
Ich habe mich mit unzähligen LED-Controllern beschäftigt. Die Wahrscheinlichkeit, dass diverse PC-Hardware die gefunden hat, hing stark vom Controller ab. Zu den sehr unsicher gefundenen gehört aber insbesondere auch unser Samsung-Fernseher, der zudem als einziger oft keinen Namen bekam.

Obwohl für LED-Lichterketten gedacht, kann man das Ding auch für das benutzen, was du vor hast:
1. Scan anklicken
2. Auf das Gerät doppelklicken
Charakteristiken sind dann in den ComboBoxen rechts daneben.

Es funktioniert bei mir mit diversen Intel-WLAN-Karten und Noname-Adaptern mit Realtek-Chip.
Angehängte Dateien
Dateityp: 7z BLETest.7z (1,06 MB, 10x aufgerufen)
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.580 Beiträge
 
Delphi 12 Athens
 
#6

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 20:02
Ich habe mich mit unzähligen LED-Controllern beschäftigt.
Muß es da unbedingt BLE sein? Strom sparen muß man da ja nicht unbedingt extrem, so dass vielleicht auch WLAN reicht?

Der von Shelly lässt sich ganz einfach via HTTP-Request (GET) ansteuern.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.139 Beiträge
 
Delphi 2009 Professional
 
#7

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 20:25
Mit BLE schenkst du dir jegliche Konfiguration und gegenüber BT sogar das Pairing. Ich glaube, darum ging es bei der Erfindung von BLE.

Ich hatte mir anfangs zwei LED-Controller gekauft. Einen für BLE und sicherheitshalber einen für WLAN, weil ich nicht dachte, dass ich das mit BLE hinkriege. Ergebnis: Der für WLAN arbeitet mit einem Server im Internet, zu dem er eine HTTPS-Verbindung aufbaut. Ein selbstsigniertes Zertifikat und andere Spielereien ließ er sich nicht unterjubeln. Immerhin lässt sich das Gerät mit der Open-Source-Firmware kno.WLED.ge flashen, es auf ESP8265 basiert. Aber seitdem habe ich keine Lust mehr auf WLAN und nehme lieber BLE. Nachteil ist die maximale Paketlänge von 191 netto und ein Paket-Durchsatz auf PC-Hardware von ca. 32 Pakete·s⁻¹. Mein Ziel war, auf unserer Weihnachtsfeier Tetris und Snake auf einer 3,50-Euro-Lichterkette (inkl. Controller „iDeal LED“) spielen zu können. Das funktioniert, da man bei diesem Modell einzelne Pixel über deren Index ändert, Blink-/Blitz-Effekte vom Controller gerendert werden und sich bei den genannten Spielen nur wenige Pixel pro Tick ändern.

/Nachtrag: BT/BLE scheint auch billiger als WLAN zu sein. Praktisch alle Artikel auf AliExpress, die es bei ansonsten identischer Hardware als BT/BLE- und als WLAN-Version gibt, kosten in letzterer ca. 2 Dollar mehr. Und das macht halt bei einem Produkt für 3,50 Euro schon einen Unterschied.
Janni
2005 PE, 2009 PA, XE2 PA

Geändert von Redeemer (21. Mär 2024 um 20:30 Uhr) Grund: Sekunde, nicht Minute
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
778 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Windows 11 und Bluetooth LE

  Alt 21. Mär 2024, 21:59
Das ist aber bei Funk normal, dass man sich nicht 100 % auf den Empfang verlassen kann.
Liegt in der Natur der Sache, dass mal entferntere Geräte gelistet werden und mal nicht und die Reihenfolge sich ändert.
Ja - aber ich kann bei meinem Compi Bluetooth ein- und ausschalten und sehe die Geräte - mit der App, welche auf dem gleichen Compi läuft sehe ich sie und dann wieder nicht. Und das ist nicht normal.
Zudem sind alle Geräte max. 2m entfernt. Ist doch komisch - aber ich habe 0 Ahnung von BT - nur getestet.
Michael Gasser
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.580 Beiträge
 
Delphi 12 Athens
 
#9

AW: Windows 11 und Bluetooth LE

  Alt 22. Mär 2024, 02:40
sehe ich sie und dann wieder nicht. Und das ist nicht normal.
Beim ersten Scann sind sie da und beim nächsten Scann dann weg?

Ja klar. Windows merkt sich auch Dinge eine Weile und löscht sie nicht sofort wieder aus der Liste, nur weil das Gerät grade weg ist.
WLAN-Accesspoints, Bluetooth-Geräte, Netzwerkgeräte, ...

https://play.google.com/store/search...ps&hl=de&gl=US
Hier siehst du z.B., wie manche Geräte ausgegraut werden, wenn sie kurz weg sind.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#10

AW: Windows 11 und Bluetooth LE

  Alt 22. Mär 2024, 07:10
https://play.google.com/store/search...ps&hl=de&gl=US
Hier siehst du z.B., wie manche Geräte ausgegraut werden, wenn sie kurz weg sind.
Nordic ist auch eine gute Referenz.
https://play.google.com/store/apps/d...cp&hl=de&gl=US

Mein Favorit ist mittlerweile aber LightBlue, dass jetzt auch auf Android und nicht nur iOS verfügbar ist.
https://play.google.com/store/apps/d...er&hl=de&gl=US
Das war so ziemlich der Vorreiter bei Tools und ist entsprechend zuverlässig.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz