bluetooth.lookup_name() workaround N810-hez

Nokia N810-en gond van a BlueZ lib-bel (vagy a környékén valamivel), mivel az alábbi Python kód

import bluetooth

near = bluetooth.discover_devices()

for btaddr in near:
	name = bluetooth.lookup_name(btaddr):
		print name

csak None-okat ad vissza a Bluetooth eszközök nevei helyett. (EZ speciel még működött 770-en.) Keresgélve egy megoldást találtam csak a problémára, ezt az undorító DBus buzerálós workaroundot, ami nem tetszett, úgyhogy csináltam egy sokkal elegánsabbat, ami a még működő hcitool segítségével oldja fel a neveket:

import os

def lookup_name_workaround(address):
	stream = os.popen("hcitool scan")
	output = stream.read()
	
	output = output.replace("Scanning ...\n","")
	output = output.split("\n")

	for i in range(len(output)-1):
		device = output[i].split("\t")
		if device[1] == address:
			return device[2]
	return False

Persze kell hozzá hcitool, amit innen lehet letölteni N810-re. Sok szerencsét hozzá!

Submit a CommentPlease be polite. We appreciate that.

Your Comment