Envoi de données UDP
A la suite de votre programme, vous allez rajouter ces lignes de codes.
Compléter la ligne 2 du programme fourni ci-dessous
1
# Déclaration de l'adresse IP et du port du drone Tello2
tello_address = ('IP?', port?)
3
4
# Créez une connexion UDP à laquelle nous enverrons la commande 5
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
6
7
# déclaration du port de l'ESP récuperant les messages du Tello8
sock.bind(('', 9000))
9
10
# Fonction pour envoyer un message au Tello11
def send(message):
12
try:13
sock.sendto(message.encode(), tello_address)
14
print("Sending message: " + message)
15
except Exception as e:
16
print("Error sending: " + str(e))
17
18
# Fonction qui recoit etaffiche les message sur Tello19
def receive():
20
try:21
response, ip_address = sock.recvfrom(128)
22
print("Received message: " + response.decode(encoding='utf-8') + " from Tello with IP: " + str(ip_address))
23
except Exception as e:
24
print("Error receiving: " + str(e))
25
26
27
# Commande pour piloter le drone en commandes UDP28
send("command")
29
30
# Reception de la confirmation du Drone31
receive()32
33
# Attendez 3 secondes avant d'envoyer la commande suivante afin de recevoir la réponse34
time.sleep(3)
35
36
# Demande de l'état de la battery37
send("battery?")
38
39
# Reception de l'état de la battery40
receive()41
42
# Attendez 3 secondes avant d'envoyer la commande suivante afin de recevoir la réponse43
time.sleep(3)
44
45
# Commande de décollage46
send("takeoff")
47
48
# Reception de la confirmation du Drone49
receive()50
51
# Delay 2 seconds before we send the next command52
time.sleep(2)
53
54
#Commande d'atterrisage55
send("land")
56
57
# Delay 2 seconds before we send the next command58
time.sleep(2)
Fondamental :
Décrire le fonctionnement du drone