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 Tello
2
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 Tello
8
sock.bind(('', 9000))
9
10
# Fonction pour envoyer un message au Tello
11
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 Tello
19
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 UDP
28
send("command")
29
30
# Reception de la confirmation du Drone
31
receive()
32
33
# Attendez 3 secondes avant d'envoyer la commande suivante afin de recevoir la réponse
34
time.sleep(3)
35
36
# Demande de l'état de la battery
37
send("battery?")
38
39
# Reception de l'état de la battery
40
receive()
41
42
# Attendez 3 secondes avant d'envoyer la commande suivante afin de recevoir la réponse
43
time.sleep(3)
44
45
# Commande de décollage
46
send("takeoff")
47
48
# Reception de la confirmation du Drone
49
receive()
50
51
# Delay 2 seconds before we send the next command
52
time.sleep(2)
53
54
#Commande d'atterrisage
55
send("land")
56
57
# Delay 2 seconds before we send the next command
58
time.sleep(2)
Fondamental :
Décrire le fonctionnement du drone