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")