1#!/usr/bin/env python3 2 3from btstack import btstack_server, btstack_client, event_factory 4import sys 5 6def packet_handler(packet): 7 global btstack_client 8 if isinstance(packet, event_factory.BTstackEventState): 9 print("BTstack state: %u" % packet.get_state()) 10 if packet.get_state() == 2: 11 print('BTstack up and running, starting scan') 12 btstack_client.gap_le_scan_start() 13 if isinstance(packet, event_factory.GAPEventAdvertisingReport): 14 print(packet) 15 16# check version 17if sys.version_info < (3, 0): 18 print('BTstack Server Client library, requires Python 3.x or higher.\n') 19 sys.exit(10) 20 21# Conrtrol for BTstack Server 22btstack_server = btstack_server.BTstackServer() 23 24# start BTstack Server from .dll 25btstack_server.load() 26# btstack_server.set_storage_path("/tmp") 27btstack_server.run_tcp() 28 29# Client for BTstack Server 30btstack_client = btstack_client.BTstackClient() 31 32# connect to slient, register for HCI packets and power up 33ok = btstack_client.connect() 34if ok: 35 btstack_client.register_packet_handler(packet_handler) 36 btstack_client.btstack_set_power_mode(1) 37 btstack_client.run() 38