Als piloot, wil ik dat mijn script de sensorwaarden van de drone uitleest, controleert en de verbinding daarna netjes sluit, zodat ik weet dat de waarden kloppen voordat ik erop vertrouw.
Je script stopt. De drone wacht nog. Dat is een probleem โ de volgende keer dat je
verbindt, kan de drone weigeren of vreemd reageren.
end()
sluit de verbinding netjes en zet de drone terug in standby.
Een volledig sprint-1-script ziet er zo uit:
from djitellopy import Tello
tello = Tello()
tello.connect() # verbinden
battery = tello.get_battery() # sensordata opvragen
print(f"Batterij: {battery}%")
assert battery > 20, "Te weinig batterij!"
tello.end() # altijd als laatste
end() nooit aangeroepen.
In sprint 4 leer je try/finally om dit op te lossen.
Voor nu: zorg dat je geen andere fouten hebt vรณรณr end().
Je script eindigt. Je zet de drone niet op pauze, je drukt hem niet af โ hij blijft gewoon aan staan.
De volgende keer dat je tello.connect() typt, kan de drone al in SDK-modus vastzitten en
negeert hij je commando's. Of hij herstart niet goed.
tello.connect()
print(tello.get_battery())
# script stopt hier
# drone blijft hangen in SDK-modus
tello.connect()
print(tello.get_battery())
tello.end() # altijd als laatste
# drone terug in standby
Sprint 1 ยท US4
| Methode | Wat het doet | Geeft terug |
|---|---|---|
| tello.end() | Stuurt een afsluitsignaal, stopt de videostream en sluit de UDP-socket. Altijd als laatste aanroepen. | None |
Doorloop het volledige script van US4:
from djitellopy import Tellotello = Tello()tello.connect()battery = tello.get_battery()print(f"Batterij: {battery}%")tello.end() โ sluit de verbinding.tello.get_battery() โ wat zie je?Schrijf een script sensor_check.py dat verbindt, de batterij opvraagt, een assert controleert
en netjes afsluit met end(). Elke stap heeft een commentaarregel.
Acceptatiecriteria
tello.end() staat als allerlaatste regel.