Beyond the Breaking News

Python tool für Bluetooth BLE Scan - liegt der fehler bei mir?

Deutschland Nachrichten Nachrichten

Python tool für Bluetooth BLE Scan - liegt der fehler bei mir?
Deutschland Neuesten Nachrichten,Deutschland Schlagzeilen

Im ComputerBase-Forum diskutieren technikbegeisterte Menschen über Computer, Notebooks, Smartphones, Tablets, Games etc.

Hallo zusammen, ich wollte mir für ein Hygrometer das Bluetooth hat ein tool bauen um die werte mit Bluetooth Low Energy abrufen und daraus den VPD wert berechnen und ausgeben. Ich häng immernoch am anfang weil ichs einfach nicht schaff die passenden UUID's für Temperatur und relative Luftfeuchte zu finden.

Das tool das ich für den BLE scan geschrieben habe sieht so aus: import asyncio import threading import tkinter as tk from tkinter import ttk from bleak import BleakScanner, BleakClient class BLEScannerApp: def init: self.root=root self.root.title self.root.geometry self.scanner=BleakScanner self.scanning=False self.devices= self.selected_device=None self.selected_characteristic=None self.setup_ui def setup_ui: self.paned_window=ttk.PanedWindow self.paned_window.pack left_frame=ttk.Frame right_frame=ttk.Frame self.paned_window.add self.paned_window.add # Linke Seite self.device_list=tk.Listbox self.device_list.bind self.device_list.pack self.scan_button=tk.Button self.scan_button.pack # Rechte Seite right_paned=ttk.PanedWindow right_paned.pack # Services Frame self.services_notebook=ttk.Notebook right_paned.add # Values Frame values_frame=ttk.Frame right_paned.add values_label=ttk.Label values_label.pack self.values_text=tk.Text self.values_text.pack button_frame=ttk.Frame button_frame.pack self.read_button=tk.Button self.read_button.pack) self.write_button=tk.Button self.write_button.pack self.notify_button=tk.Button self.notify_button.pack self.clear_button=tk.Button self.clear_button.pack def toggle_scanning: if self.scanning: self.stop_scanning else: self.start_scanning def start_scanning: self.scanning=True self.scan_button.config threading.Thread.start def stop_scanning: self.scanning=False self.scan_button.config def scan_loop: async def run_scan: while self.scanning: devices=await self.scanner.discover self.root.after await asyncio.sleep # Scan every 5 seconds asyncio.run) def update_device_list: self.devices=devices self.device_list.delete for device in self.devices: self.device_list.insert') def select_device: index=self.device_list.curselection if index: self.selected_device=self.devices] self.stop_scanning threading.Thread.start def get_services_thread: asyncio.run) async def get_services: device_name=self.selected_device.name or 'Unbekannt' tab_name=f'{device_name} ' # Check if tab already exists for tab in self.services_notebook.tabs: if self.services_notebook.tab==tab_name: self.services_notebook.select return # Create new tab tab=ttk.Frame self.services_notebook.add services_tree=ttk.Treeview, show='tree headings') services_tree.heading services_tree.heading services_tree.pack services_tree.bind self.root.after try: async with BleakClient as client: services=await client.get_services for service in services: service_item=services_tree.insert, values=, '')) for char in service.characteristics: services_tree.insert, values=, ', '.join)) except Exception as e: self.root.after} ') def on_characteristic_double_click: tree=event.widget item=tree.selection parent_item=tree.parent if parent_item: # It's a characteristic self.selected_characteristic=tree.item properties=tree.item.split if 'read' in properties: self.read_characteristic_value def read_characteristic_value: if self.selected_characteristic: threading.Thread.start def read_value_thread: asyncio.run) async def read_value: if not self.selected_characteristic: return self.root.after try: async with BleakClient as client: value=await client.read_gatt_char self.root.after} ') except Exception as e: self.root.after} ') def write_characteristic_value: # Hier können Sie einen Dialog implementieren, um den zu schreibenden Wert einzugeben # Für dieses Beispiel verwenden wir einen festen Wert value_to_write=b'' threading.Thread, daemon=True).start def write_value_thread: asyncio.run) async def write_value: if not self.selected_characteristic: return self.root.after try: async with BleakClient as client: await client.write_gatt_char self.root.after} ') except Exception as e: self.root.after} ') def toggle_notifications: threading.Thread.start def toggle_notifications_thread: asyncio.run) async def toggle_notifications_async: if not self.selected_characteristic: return try: async with BleakClient as client: await client.start_notify self.root.after # Hier könnten Sie einen Mechanismus implementieren, um die Benachrichtigungen zu stoppen await asyncio.sleep # Benachrichtigungen für 30 Sekunden empfangen await client.stop_notify self.root.after except Exception as e: self.root.after} ') def notification_handler: self.root.after} ') def update_values_text: self.values_text.insert self.values_text.see def clear_values: self.values_text.delete if name=='main': root=tk.Tk app=BLEScannerApp root.mainloop ich bekomme nur UUID's die wenn ich sie richtig codiert werte ausgeben wie '0000' 'Version1.0' 'TP357S ' oder der abruf bricht vorher ab oder es heißt service nicht gefunden ich weis echt nichtmehr was ich noch probieren kann hab den aktuellsten Bluetoothtreiber den ich installieren kann für die Intel Dual AC-7265 kann es sein das nur die eigentlich dafür vorgesehene app für android auf diese UUID zugriff hat? kann ich das dem gerät irgendwie vorgaukeln? danke schonmal für jede hilfe!

Wir haben diese Nachrichten zusammengefasst, damit Sie sie schnell lesen können. Wenn Sie sich für die Nachrichten interessieren, können Sie den vollständigen Text hier lesen. Weiterlesen:

ComputerBase /  🏆 27. in DE

 

Deutschland Neuesten Nachrichten, Deutschland Schlagzeilen

Similar News:Sie können auch ähnliche Nachrichten wie diese lesen, die wir aus anderen Nachrichtenquellen gesammelt haben.

Python-Entwickler: 28 Prozent nutzen die Programmiersprache hauptsächlich privatPython-Entwickler: 28 Prozent nutzen die Programmiersprache hauptsächlich privatEine neue Studie unter mehr als 25.000 Python-Developern zeigt: Sie nutzen Python häufig auch privat und ihr liebstes ML-Tool ist scikit-learn.
Weiterlesen »

Aldi verkauft tragbaren Bluetooth-Lautsprecher von JBL zum TiefpreisAldi verkauft tragbaren Bluetooth-Lautsprecher von JBL zum TiefpreisGIGA-Experte für Windows-Software und mobile Hardware.
Weiterlesen »

Amazon verkauft tragbaren Bluetooth- Lautsprecher von Bose zum HammerpreisAmazon verkauft tragbaren Bluetooth- Lautsprecher von Bose zum HammerpreisGIGA-Experte für Windows-Software und mobile Hardware.
Weiterlesen »

Bluetooth-Kopfhörer von Sony gerade unverschämt günstig – Noise Cancelling, tiefer Bass und V1 ProzessorBluetooth-Kopfhörer von Sony gerade unverschämt günstig – Noise Cancelling, tiefer Bass und V1 ProzessorIhr sucht einen Bluetooth-Kopfhörer, mit dem ihr euch in eure liebsten Podcasts, Hörspiele oder Musik-Hits verlieren könnt? Dann nutzt das geniale MediaMarkt-Angebot.
Weiterlesen »

Bluetooth® Channel Sounding: Bluetooth SIG führt True Distance Awareness einBluetooth® Channel Sounding: Bluetooth SIG führt True Distance Awareness einKirkland, Wash. (ots/PRNewswire) - Neue Funktion für sichere, präzise Entfernungsmessung verbessert Komfort und Sicherheit von über Bluetooth® verbundenen GerätenDie Bluetooth®-Dachorganisation Bluetooth
Weiterlesen »

Channel Sounding: Bluetooth kann Geräte künftig besser ortenChannel Sounding: Bluetooth kann Geräte künftig besser ortenKünftige Bluetooth-Geräte können präziser geortet werden: Die Dachorganisation SIG hat mit Channel Sounding ein neues Feature von Bluetooth 6.0 angekündigt.
Weiterlesen »



Render Time: 2026-06-03 07:13:59