I am working on my undergraduate project and this is my first time using Python to control a parrot bebop 2 drone. I have a variable x(an int) and I want to read its value from a file. In the mean time I want the program to read this file continuously; what I mean is that my text file input will be changed each time and I want the Python code to catch this change and change the value x.
For example:
- if
xis assigned 1 from the text file --> then the drone takes off. - in the mean time after
xis assigned the value 1, I want it to be assigned 2 automatically and do the second command, for example: move to the left (but without disconnecting the drone "the first command")
here is my code, but I had a lot of problems with it, it checks the value, but no commands work after it knows the value of x:
bebop = Bebop()
print("connecting")
success = bebop.connect(10)
print(success)
f = open('EEGresults.txt')
lines = f.readlines()
list_of_elements = []
for line in lines:
list_of_elements += map(int, line.split())
f.close()
print (list_of_elements)
x = list_of_elements[1]
bebop.smart_sleep(5)
if x == 1:
print ("Yay! This number is = 1")
bebop.safe_takeoff(3)
else:
if x == 2:
print ("Yay! This number is = 2")
bebop.move_relative(0,0,0,1.6)
I expect that the code will read the value of x from text file directly and continuously and at the same time it will run the commands depending what the value of x that it receives.
I don´t know how to use
Bebopbut I whould use something like this...First I would create an object to store the data from your file. So you need something like an
onValueChangedcallback. You have to define this object on your own:You can use it in the following way:
Now you have to read the file periodicly:
You use the callback to send the command to your drone. The file is periodicly read out every 10 seconds (you can change it) and update your
xvariable. A callback is triggered if the value got changed and then you can send a command, based on the input, to your drone.