Simple test

Ensure your device works with this simple test.

examples/ble_apple_media_simpletest.py
 1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
 2# SPDX-License-Identifier: MIT
 3
 4"""
 5This example solicits that apple devices that provide notifications connect to it, initiates
 6pairing, prints existing notifications and then prints any new ones as they arrive.
 7"""
 8
 9import time
10
11import adafruit_ble
12from adafruit_ble.advertising.standard import SolicitServicesAdvertisement
13
14from adafruit_ble_apple_media import AppleMediaService
15
16# PyLint can't find BLERadio for some reason so special case it here.
17radio = adafruit_ble.BLERadio()
18a = SolicitServicesAdvertisement()
19a.solicited_services.append(AppleMediaService)
20radio.start_advertising(a)
21
22while not radio.connected:
23    pass
24
25print("connected")
26
27known_notifications = set()
28
29i = 0
30while radio.connected:
31    for connection in radio.connections:
32        if not connection.paired:
33            connection.pair()
34            print("paired")
35
36        ams = connection[AppleMediaService]
37        print("App:", ams.player_name)
38        print("Title:", ams.title)
39        print("Album:", ams.album)
40        print("Artist:", ams.artist)
41        if ams.playing:
42            print("Playing")
43        elif ams.paused:
44            print("Paused")
45
46        if i > 3:
47            ams.toggle_play_pause()
48            i = 0
49    print()
50    time.sleep(3)
51    i += 1
52
53print("disconnected")