- DJITelloPy - ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
- Tello - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ.
- TelloSwarm - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅ΠΌ.
- ΠΠ²ΡΠΎΡΡ
- ΠΠΈΡΠ΅Π½Π·ΠΈΡ
- DJI Tello - ΠΎ Π΄ΡΠΎΠ½Π°Ρ .
DJITelloPy - Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Python 3.5 ΠΈ Π²ΡΡΠ΅, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ Tello SDK ΠΈ Tello EDU SDK. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ Mission Pad.
Tello - ΠΊΠ»Π°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ.
- __init__(host=TELLO_IP, retry_count=RETRY_COUNT) - ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Tello.
- connect() - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΠΎΠ½Ρ.
- connect_to_wifi(ssid, password) - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Wi-Fi. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- curve_xyz_speed(x1, y1, z1, x2, y2, z2, speed) - ΠΏΠΎΠ»ΡΡ ΠΏΠΎ Π΄ΡΠ³Π΅.
- curve_xyz_speed_mid(x1, y1, z1, x2, y2, z2, speed, mid) - ΠΏΠΎΠ»Π΅Ρ ΠΏΠΎ Π΄ΡΠ³Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- disable_mission_pads() - ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- emergency() - ΡΠΊΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ.
- enable_mission_pads() - Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΈΡΠΊ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- end() - Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΡΠΎΠ½ΠΎΠΌ.
- flip(direction) - ΠΊΡΠ²ΡΡΠΎΠΊ.
- flip_back() - ΠΊΡΠ²ΡΡΠΎΠΊ Π½Π°Π·Π°Π΄.
- flip_forward() - ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΠ΅ΡΠ΅Π΄.
- flip_left() - ΠΊΡΠ²ΡΡΠΎΠΊ Π²Π»Π΅Π²ΠΎ.
- flip_right() - ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΡΠ°Π²ΠΎ.
- get_acceleration_x() - ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ X.
- get_acceleration_y() - ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ Y.
- get_acceleration_z() - ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ Z.
- get_barometer() - ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°.
- get_battery() - ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°.
- get_current_state() - ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π²ΡΠ΅Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π΄ΡΠΎΠ½Π°.
- get_distance_tof() - Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ.
- get_flight_time() - Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΡΠΎΡΠΎΠ².
- get_frame_read() - Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠ΅.
- get_height() - Π²ΡΡΠΎΡΠ° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ.
- get_highest_temperature() - Π½Π°ΠΈΠ²ΡΡΡΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°.
- get_lowest_temperature() - ΡΠ°ΠΌΠ°Ρ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°.
- get_mission_pad_distance_x() - ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Mission Pad ΠΏΠΎ X. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- get_mission_pad_distance_y() - ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Mission Pad ΠΏΠΎ Y. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- get_mission_pad_distance_z() - ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Mission Pad ΠΏΠΎ Z. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- get_mission_pad_id() - ID ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- get_pitch() - ΡΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΏΠΎ X.
- get_roll() - ΡΠ³ΠΎΠ» Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΏΠΎ Y.
- get_speed_x() - ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ X.
- get_speed_y() - ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Y.
- get_speed_z() - ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Z.
- get_state_field(key) - ΡΡΠΈΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΡΠΎΠ½Π°.
- get_temperature() - ΡΡΠ΅Π΄Π½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π°.
- get_udp_video_address() - ΠΏΠΎΠ»ΡΡΠΈΡΡ UDP Π°Π΄ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎ. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- get_video_capture() - ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ VideoCapture. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- get_yaw() - ΡΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Z.
- go_xyz_speed(x, y, z, speed) - ΠΏΠΎΠ»Π΅Ρ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ.
- go_xyz_speed_mid(x, y, z, speed, mid) - ΠΏΠΎΠ»Π΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- go_xyz_speed_yaw_mid(x, y, z, speed, yaw, mid1, mid2) - ΠΏΠΎΠ»Π΅Ρ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Mission Pad Π΄ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ³ΠΎΠ».
- land() - ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅.
- move(direction, x) - ΠΏΠΎΠ»Π΅Ρ ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
- move_back(x) - ΠΏΠΎΠ»Π΅Ρ Π½Π°Π·Π°Π΄.
- move_down(x) - ΠΏΠΎΠ»Π΅Ρ Π²Π½ΠΈΠ·.
- move_forward(x) - ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄.
- move_left(x) - ΠΏΠΎΠ»Π΅Ρ Π²Π»Π΅Π²ΠΎ.
- move_right(x) - ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΡΠ°Π²ΠΎ.
- move_up(x) - ΠΏΠΎΠ»Π΅Ρ Π²Π²Π΅ΡΡ .
- parse_state(state) - ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ ΠΎΡ Π΄ΡΠΎΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- query_attitude() - ΡΠ³Π»Ρ Π½Π°ΠΊΠ»ΠΎΠ½Π°.
- query_barometer() - ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°.
- query_battery() - ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°.
- query_distance_tof() - Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ.
- query_flight_time() - Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΎΡΠΎΡΠΎΠ².
- query_height() - Π²ΡΡΠΎΡΠ° ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ.
- query_sdk_version() - Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ SDK. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- query_serial_number() - ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π΄ΡΠΎΠ½Π°. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- query_speed() - ΡΠ΅ΠΊΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ.
- query_temperature() - ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π°.
- query_wifi_signal_noise_ratio() - ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π°.
- rotate_clockwise(x) - ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅.
- rotate_counter_clockwise(x) - ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ.
- rotate_mid(yaw=0) - ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- send_command_with_return(command, timeout=RESPONSE_TIMEOUT) - ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΆΠ΄Π°ΡΡ ΠΎΡΠ²Π΅Ρ.
- send_command_without_return(command) - ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π½Π΅ ΠΆΠ΄Π°ΡΡ ΠΎΡΠ²Π΅Ρ.
- send_control_command(command, timeout=RESPONSE_TIMEOUT) - ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΡΠΎΠ½ΠΎΠΌ. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- send_rc_control(y, x, z, yaw_z) - ΠΏΡΡΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π΅ΡΠ°.
- send_read_command(command) - Π·Π°ΠΏΡΠΎΡ Π΄Π°Π½Π½ΡΡ Π΄ΡΠΎΠ½Π°. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- set_mission_pad_detection_direction(x) - Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Mission Pad. (Π’ΠΎΠ»ΡΠΊΠΎ Tello EDU)
- set_speed(x) - Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ°.
- set_wifi_credentials(ssid, password) - Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° Wi-Fi.
- stop() - ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΡΠΎΠ½Π°.
- streamoff() - Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎ.
- streamon() - Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎ.
- takeoff() - Π²Π·Π»Π΅Ρ.
- udp_response_receiver() - ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΡΠ²Π΅ΡΠΎΠ² ΠΎΡ Π΄ΡΠΎΠ½Π°. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
- udp_state_receiver() - ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π΄Π°ΡΡΠΈΠΊΠΎΠ² Π΄ΡΠΎΠ½Π°. (ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ)
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Tello.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ ΡΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ IP Π΄ΡΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ - 192.168.10.1, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊ Π΄ΡΠΎΠ½Ρ ΠΏΠΎ Wi-Fi.
ΠΡΠ»ΠΈ Π΄ΡΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ - ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ IP Π΄ΡΠΎΠ½Π°.
Π’Π°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π²ΡΠΎΡΠΎΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΡΠΎΠΊ RETRY_COUNT.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone1 = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone2 = Tello('192.168.1.220') # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220
drone3 = Tello('192.168.1.245', 2) # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ - 2
ΠΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½Π° ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΠΎ Wi-Fi.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Tello EDU.
ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈΠΌΡ ΡΠ΅ΡΠΈ (ΡΡΡΠΎΠΊΠ°), Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ (ΡΡΡΠΎΠΊΠ°).
ΠΠΌΡ ΡΠ΅ΡΠΈ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡ ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ.
ΠΠ»Ρ ΡΠ±ΡΠΎΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ Wi-Fi Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΠΎΠ½ ΠΈ ΠΏΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ).
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1, ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π΄ΡΠΎΠ½ΠΎΠΌ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ°.
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΠΎΠ½Ρ
drone.connect_to_wifi('example', 'pass') # Π΄ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡ ΠΊ ΡΠΎΡΠΊΠ΅ example Ρ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ pass
ΠΠΎΠ»ΡΡ ΠΏΠΎ Π΄ΡΠ³Π΅ (ΡΠ°ΡΡΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ).
ΠΠ΅ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x2 y2 z2 ΡΠ΅ΡΠ΅Π· x1 y1 z1 ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ speed ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ±Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ Π΄ΡΠΎΠ½ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΎΡΠ΅ΠΉ (0 0 0).
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ X - Π²ΠΏΠ΅ΡΠ΅Π΄. ΠΠΎ ΠΎΡΠΈ Y - Π²Π»Π΅Π²ΠΎ. ΠΠΎ ΠΎΡΠΈ Z - Π²Π²Π΅ΡΡ .
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x2 y2 z2, x1 y1 z1 ΠΈ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½Π° (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ 0 0 0) Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ 0.5-10 ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠ»ΠΈ ΡΠ°ΠΊΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΉΡΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°Π΄ΠΈΡΡ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - Π΄ΡΠΎΠ½ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΡΡΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
x1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
x2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
speed | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ) | 10 - 60 |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.curve_xyz_speed(100, 100, 0, 200, 0, 0, 60) # ΠΏΠΎΠ»ΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅:
ΠΠΎΠ»ΡΡ ΠΏΠΎ Π΄ΡΠ³Π΅ (ΡΠ°ΡΡΠΈ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ) ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission pad (ΠΊΠΎΠ²ΡΠΈΠΊΠ°).
ΠΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Mission Pad, Π½ΠΎ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ²ΡΠΈΠΊ mid, Π»Π΅ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x2 y2 z2 ΡΠ΅ΡΠ΅Π· x1 y1 z1 ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ speed ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΠΈΠ½Π°ΡΠ΅ - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΠ΅ΡΡΡ.
ΠΠ±Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Mission Pad, ΡΠΎ Π΅ΡΡΡ Mission Pad ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΡΠΊΠΎΠΉ Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΎΡΠ΅ΠΉ (0 0 0).
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΡΠΈ X - Π²ΠΏΠ΅ΡΠ΅Π΄ (ΠΊΡΠ΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠ΅ΡΠ°). ΠΠΎ ΠΎΡΠΈ Y - Π²Π»Π΅Π²ΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠ΅ΡΡ. ΠΠΎ ΠΎΡΠΈ Z - Π²Π²Π΅ΡΡ ΠΎΡ Mission Pad.
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x2 y2 z2, x1 y1 z1 ΠΈ Mission Pad (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ 0 0 0) Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ 0.5-10 ΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠ»ΠΈ ΡΠ°ΠΊΡΡ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΉΡΠΈ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ»ΠΈ Π΅Ρ ΡΠ°Π΄ΠΈΡΡ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - Π΄ΡΠΎΠ½ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΠΈΡΡΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
x1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z1 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
x2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z2 | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
speed | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ) | 10 - 60 |
mid | int (Mission Pad ID) | 1 - 8 |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.curve_xyz_speed_mid(100, 100, 0, 200, 0, 0, 60, 1) # ΠΏΠΎΠ»ΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ Π½Π°ΠΉΠ΄Π΅Π½ MP1
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅:
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Mission Pad.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.enable_mission_pads() # Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MP
drone.disable_mission_pads() # ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MP
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΊΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΡΠΎΡΠΎΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π 10000 °ΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ° ΡΡΠΎ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡ Π΄ΡΠΎΠ½Π°.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.emergency() # ΡΠΊΡΡΡΠ΅Π½Π½Π°Ρ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΡΠΎΡΠΎΠ²
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Mission Pad.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.enable_mission_pads() # Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MP
drone.disable_mission_pads() # ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MP
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΡΠΎΠ½ΠΎΠΌ.
ΠΡΠ»ΠΈ Π΄ΡΠΎΠ½ Π² Π²ΠΎΠ·Π΄ΡΡ Π΅ - ΠΎΠ½ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΠ΅ΡΡΡ. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎ.
Π£Π΄Π°Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΡΠΎΠ½Π° ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»ΡΠ΅Ρ drone
Π‘Π΄Π΅Π»Π°ΡΡ ΠΊΡΠ²ΡΡΠΎΠΊ.
ΠΡΠ²ΡΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈ Π·Π°ΡΡΠ΄Π΅ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π½ΠΈΠΆΠ΅ 50%.
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠ²ΡΡΠΊΠ° (ΡΡΡΠΎΠΊΠ°).
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ |
---|---|
'f' | ΠΡΠ²ΡΡΠΎΠΊ Π²ΠΏΠ΅ΡΠ΅Π΄ |
'b' | ΠΡΠ²ΡΡΠΎΠΊ Π½Π°Π·Π°Π΄ |
'l' | ΠΡΠ²ΡΡΠΎΠΊ Π²Π»Π΅Π²ΠΎ |
'r' | ΠΡΠ²ΡΡΠΎΠΊ Π²ΠΏΡΠ°Π²ΠΎ |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.flip('l') # ΠΊΡΠ²ΡΡΠΎΠΊ Π²Π»Π΅Π²ΠΎ
drone.flip('r') # ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΡΠ°Π²ΠΎ
drone.flip('f') # ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΠ΅ΡΠ΅Π΄
drone.flip('b') # ΠΊΡΠ²ΡΡΠΎΠΊ Π½Π°Π·Π°Π΄
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠ²ΡΡΠΎΠΊ Π½Π°Π·Π°Π΄.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.flip_back() # ΠΊΡΠ²ΡΡΠΎΠΊ Π½Π°Π·Π°Π΄
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠ²ΡΡΠΎΠΊ Π²ΠΏΠ΅ΡΠ΅Π΄.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.flip_forward() # ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΠ΅ΡΠ΅Π΄
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠ²ΡΡΠΎΠΊ Π²Π»Π΅Π²ΠΎ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.flip_left() # ΠΊΡΠ²ΡΡΠΎΠΊ Π²Π»Π΅Π²ΠΎ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠ²ΡΡΠΎΠΊ Π²ΠΏΡΠ°Π²ΠΎ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.flip_right() # ΠΊΡΠ²ΡΡΠΎΠΊ Π²ΠΏΡΠ°Π²ΠΎ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ X.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
print(drone.get_acceleration_x()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ X
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Y.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
print(drone.get_acceleration_y()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ Y
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Z.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
print(drone.get_acceleration_z()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎ Z
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°.
ΠΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΎΡΠ½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float - Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π²ΡΡΠΎΡΡ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_barometer()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² (0 - 100).
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_battery()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ:
ΠΠ»ΡΡ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
pitch | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ X |
roll | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ Y |
yaw | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠΎΠ²ΠΎΡΠΎΡ ΠΏΠΎ Z |
vgx | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ X |
vgy | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Y |
vgz | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Z |
templ | int (Β°C) | Π‘Π°ΠΌΠ°Ρ Π½ΠΈΠ·ΠΊΠ°Ρ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π° |
temph | int (Β°C) | Π‘Π°ΠΌΠ°Ρ Π²ΡΡΠΎΠΊΠ°Ρ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π° |
tof | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π°ΡΡΠΈΠΊΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ |
h | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ |
bat | int (ΠΏΡΠΎΡΠ΅Π½ΡΡ) | Π£ΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° |
baro | float (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ° |
time | int (ΡΠ΅ΠΊΡΠ½Π΄Ρ) | ΠΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ° Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Π·Π»ΡΡΠ° |
agx | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ X |
agy | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Y |
agz | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Z |
mid | int (Π½ΠΎΠΌΠ΅Ρ) | ID Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ X ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
y | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ Y ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
z | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ Z ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
mpry | str (ΠΎΡΠΎΠ±ΡΠΉ ΡΠΎΡΠΌΠ°Ρ) | Π£Π³Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Mission Pad ΠΈ Π΄ΡΠΎΠ½ΠΎΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 'x,y,z'. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_current_state()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² "ΡΡΡΠΎΠΌ" Π²ΠΈΠ΄Π΅
# Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ:
state = drone.get_current_state()
for key in state:
print(f'{key}: {state[key]}')
# Π²ΡΠ²ΠΎΠ΄ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ 'mpry'
print(drone.get_current_state()['mpry'])
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
print(drone.get_distance_tof()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Π·Π»ΡΡΠ°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_flight_time()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π΅ΡΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ BackgroundFrameRead Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π΄ΡΠΎΠ½Π°.
ΠΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠΈΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ²ΡΠΈΡΡ ΠΊ Π΄ΡΠΎΠ½Ρ, ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΠΎ Wi-Fi Π΄Π΅Π»Π°Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Π΄ΡΠΎΠ½Π°.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠΈΠΌ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ streamon()
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ BackgroundFrameRead.
import cv2 # ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.streamon() # Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΡΡΠΈΠΌΠ° ΠΊΠ°ΠΌΠ΅ΡΡ
drone_camera = drone.get_frame_read() # ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅
cv2.imwrite("picture.png", drone_camera.frame) # ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ» picture.png
drone.streamoff() # ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΈΠΌΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π²ΡΡΠΎΡΡ Π΄ΡΠΎΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
print(drone.get_height()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡΠΎΡΡ Π΄ΡΠΎΠ½Π°
drone.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π½Π°ΠΈΠ²ΡΡΡΡΡ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π΄ΡΠΎΠ½Π° Π² Β°C.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_highest_temperature()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π°ΠΈΠ²ΡΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π΄ΡΠΎΠ½Π°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΡΡ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π΄ΡΠΎΠ½Π° Π² Β°C.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_lowest_temperature()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π΄ΡΠΎΠ½Π°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ X Π΄ΠΎ Mission Pad Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_mission_pad_distance_x()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ MP ΠΏΠΎ ΠΎΡΠΈ X
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Y Π΄ΠΎ Mission Pad Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_mission_pad_distance_y()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ MP ΠΏΠΎ ΠΎΡΠΈ Y
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ ΠΏΠΎ ΠΎΡΠΈ Z Π΄ΠΎ Mission Pad Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy impo
10000
rt Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_mission_pad_distance_z()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ MP ΠΏΠΎ ΠΎΡΠΈ Z
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ID ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ Π΄ΡΠΎΠ½Π° Mission Pad.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
ΠΡΠ»ΠΈ Mission Pad Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ - Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ -1.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_mission_pad_id()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Mission Pad ID
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π½Π°ΠΊΠ»ΠΎΠ½ Π΄ΡΠΎΠ½Π° ΠΏΠΎ ΠΎΡΠΈ X Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_pitch()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ³ΠΎΠ»
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Π½Π°ΠΊΠ»ΠΎΠ½ Π΄ΡΠΎΠ½Π° ΠΏΠΎ ΠΎΡΠΈ Y Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_roll()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ³ΠΎΠ»
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ X Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_speed_x()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ X
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ Y Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_speed_y()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ Y
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ Z Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_speed_z()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ ΠΎΡΠΈ Z
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈΠΌΡ ΠΏΠΎΠ»Ρ (ΡΡΡΠΎΠΊΠ°).
ΠΠ»ΡΡ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
pitch | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ X |
roll | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ Y |
yaw | int (Π³ΡΠ°Π΄ΡΡΡ) | ΠΠΎΠ²ΠΎΡΠΎΡ ΠΏΠΎ Z |
vgx | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ X |
vgy | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Y |
vgz | int (ΡΠΌ/Ρ) | Π‘ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎ Z |
templ | int (Β°C) | Π‘Π°ΠΌΠ°Ρ Π½ΠΈΠ·ΠΊΠ°Ρ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π° |
temph | int (Β°C) | Π‘Π°ΠΌΠ°Ρ Π²ΡΡΠΎΠΊΠ°Ρ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ, ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Π΄ΡΠΎΠ½Π° |
tof | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π°ΡΡΠΈΠΊΠ° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ |
h | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΡΡΠΎΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ |
bat | int (ΠΏΡΠΎΡΠ΅Π½ΡΡ) | Π£ΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° |
baro | float (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | ΠΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ° |
time | int (ΡΠ΅ΠΊΡΠ½Π΄Ρ) | ΠΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ° Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²Π·Π»ΡΡΠ° |
agx | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ X |
agy | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Y |
agz | float | ΠΠ°Π½Π½ΡΠ΅ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΠ° ΠΏΠΎ ΠΎΡΠΈ Z |
mid | int (Π½ΠΎΠΌΠ΅Ρ) | ID Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ X ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
y | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ Y ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
z | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠΎ ΠΎΡΠΈ Z ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
mpry | str (ΠΎΡΠΎΠ±ΡΠΉ ΡΠΎΡΠΌΠ°Ρ) | Π£Π³Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Mission Pad ΠΈ Π΄ΡΠΎΠ½ΠΎΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ 'x,y,z'. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU. |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_state_field('mpry')) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ 'mpry'
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° Π΅Π³ΠΎ ΡΡΠ΅Π΄Π½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π² Β°C.
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄Π½ΠΈΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_temperature()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ΅Π΄Π½ΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° UDP Π°Π΄ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎ.
ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ str.
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° ΠΎΠ±ΡΠ΅ΠΊΡ VideoCapture.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ VideoCapture.
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ ΡΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡΠΎΡΠ° Π΄ΡΠΎΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈ Z Π² Π³ΡΠ°Π΄ΡΡΠ°Ρ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.get_yaw()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ³ΠΎΠ»
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»ΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x y z ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ speed ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ° Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (0 0 0) Π±Π΅ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x y z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20, ΠΏΠΎΠΏΡΡΠΊΠ° Π»Π΅ΡΠ΅ΡΡ Π½Π° ΠΌΠ΅Π½ΡΡΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
speed | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ) | 10 - 100 |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.go_xyz_speed(100, 0, 0, 100) # ΠΏΠΎΠ»ΡΡ Π½Π° ΠΌΠ΅ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 100 ΡΠΌ/Ρ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»ΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x y z ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad mid ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ speed ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Mission Pad, Π½ΠΎ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ° Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (0 0 0) Π±Π΅ΡΠ΅ΡΡΡ Mission Pad.
ΠΡΠ»ΠΈ Mission Pad Ρ ID mid Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΠ΅ΡΡΡ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x y z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20, ΠΏΠΎΠΏΡΡΠΊΠ° Π»Π΅ΡΠ΅ΡΡ Π½Π° ΠΌΠ΅Π½ΡΡΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
speed | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ) | 10 - 100 |
mid | int (Mission Pad ID) | 1 - 8 |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.go_xyz_speed(100, 0, 0, 100, 1) # ΠΏΠΎΠ»ΡΡ Π½Π° ΠΌΠ΅ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ MP1 ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 100 ΡΠΌ/Ρ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»ΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ x y z ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad mid1 ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ speed ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ. Π ΡΠΎΡΠΊΠ΅ x y z ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ Mission Pad mid2 ΠΈ Π΄ΡΠΎΠ½ ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΡΠ³ΠΎΠ» yaw ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ mid2.
ΠΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Mission Pad, Π½ΠΎ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ° Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠ΅ΠΉ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ (0 0 0) Π±Π΅ΡΠ΅ΡΡΡ Mission Pad mid1.
ΠΡΠ»ΠΈ Mission Pad Ρ ID mid1 Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΠ΅ΡΡΡ.
ΠΡΠ»ΠΈ Π² ΡΠΎΡΠΊΠ΅ x y z Mission Pad Ρ ID mid2 Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ - Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ ΠΏΡΠΈΠ·Π΅ΠΌΠ»ΡΠ΅ΡΡΡ.
ΠΠ΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΊΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡΡ Mission Pad (ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°).
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x y z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20, ΠΏΠΎΠΏΡΡΠΊΠ° Π»Π΅ΡΠ΅ΡΡ Π½Π° ΠΌΠ΅Π½ΡΡΡΡ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
y | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
z | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | -500 - 500 |
speed | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ) | 10 - 100 |
yaw | int (Π³ΡΠ°Π΄ΡΡΡ) | -360 - 360 |
mid1 | int (Mission Pad ID) | 1 - 8 |
mid2 | int (Mission Pad ID) | 1 - 8 |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
# ΠΏΠΎΠ»ΡΡ ΠΎΡ MP1 Π½Π° ΠΌΠ΅ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ (ΠΏΠΎ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠ΅ΡΡ Π½Π° ΠΊΠΎΠ²ΡΠΈΠΊΠ΅) ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 100 ΡΠΌ/Ρ
# ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ MP2 ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ²ΠΎΡΠΎΡ Π΄ΡΠΎΠ½Π°, ΡΡΠΎΠ±Ρ ΡΠ°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΡΠΎΠ½Π° ΠΈ ΡΠ°ΠΊΠ΅ΡΠΎΠΉ Π½Π° MP2 ΡΠΎΡΡΠ°Π²ΠΈΠ»Π° 0 Π³ΡΠ°Π΄ΡΡΠΎΠ²
drone.go_xyz_speed(100, 0, 0, 100, 0, 1, 2)
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½Π°.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»ΡΡ Π΄ΡΠΎΠ½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΠΌ ΠΎΡΡΠΌ - Π²ΠΏΠ΅ΡΠ΅Π΄/Π½Π°Π·Π°Π΄ (ΠΎΡΡ X), Π²Π»Π΅Π²ΠΎ/Π²ΠΏΡΠ°Π²ΠΎ (ΠΎΡΡ Y), Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ· (ΠΎΡΡ Z).
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° - Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (str) ΠΈ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ (int).
Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΠΏΡΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ° Π½Π° ΠΌΠ΅Π½ΡΡΡΡ Π΄ΠΈΠΈΡΡΠ°Π½ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
direction | str (Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅) | 'forward', 'back', 'left', 'right', 'up', 'down' |
x | int (ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΡ) | 20 - 500 |
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ |
---|---|
'forward' | ΠΠΎΠ»Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄ |
'back' | ΠΠΎΠ»Π΅Ρ Π½Π°Π·Π°Π΄ |
'left' | ΠΠΎΠ»Π΅Ρ Π²Π»Π΅Π²ΠΎ |
'right' | ΠΠΎΠ»Π΅Ρ Π²ΠΏΡΠ°Π²ΠΎ |
'up' | ΠΠΎΠ»Π΅Ρ Π²Π²Π΅ΡΡ |
'down' | ΠΠΎΠ»Π΅Ρ Π²Π½ΠΈΠ· |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move('forward', 50) # ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.move('back', 50) # ΠΏΠΎΠ»Π΅Ρ Π½Π°Π·Π°Π΄ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.move('left', 50) # ΠΏΠΎΠ»Π΅Ρ Π²Π»Π΅Π²ΠΎ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.move('right', 50) # ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΡΠ°Π²ΠΎ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.move('up', 50) # ΠΏΠΎΠ»Π΅Ρ Π²Π²Π΅ΡΡ
Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.move('down', 50) # ΠΏΠΎΠ»Π΅Ρ Π²Π½ΠΈΠ· Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π½Π°Π·Π°Π΄ Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_back(50) # ΠΏΠΎΠ»Π΅Ρ Π½Π°Π·Π°Π΄ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π²Π½ΠΈΠ· Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_down(50) # ΠΏΠΎΠ»Π΅Ρ Π²Π½ΠΈΠ· Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_forward(50) # ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π²Π»Π΅Π²ΠΎ Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_left(50) # ΠΏΠΎΠ»Π΅Ρ Π²Π»Π΅Π²ΠΎ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π²ΠΏΡΠ°Π²ΠΎ Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
10000
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_right(50) # ΠΏΠΎΠ»Π΅Ρ Π²ΠΏΡΠ°Π²ΠΎ Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ»Π΅Ρ Π²Π²Π΅ΡΡ Π½Π° x ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 20 Π΄ΠΎ 500.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
drone.move_up(50) # ΠΏΠΎΠ»Π΅Ρ Π²Π²Π΅ΡΡ
Π½Π° 50 ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ²
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ Π΄ΡΠΎΠ½Π°. ΠΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΡΠΎΠΊΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π΅Π³ΠΎ Π½Π°ΠΊΠ»ΠΎΠ½Π΅ ΠΏΠΎ ΠΎΡΡΠΌ X/Y ΠΈ ΠΏΠΎΠ²ΠΎΡΠΎΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈ Z.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΡ get_pitch(), get_roll() ΠΈ get_yaw(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ:
ΠΠ»ΡΡ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
'pitch' | int (Π³ΡΠ°Π΄ΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ ΠΎΡΠΈ X |
'roll' | int (Π³ΡΠ°Π΄ΡΡ) | ΠΠ°ΠΊΠ»ΠΎΠ½ ΠΏΠΎ ΠΎΡΠΈ Y |
'yaw' | int (Π³ΡΠ°Π΄ΡΡ) | ΠΠΎΠ²ΠΎΡΠΎΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΈ Z |
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_attitude()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² "ΡΡΡΠΎΠΌ" Π²ΠΈΠ΄Π΅
# Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ:
attitude = drone.query_attitude()
for key in attitude:
print(f'{key}: {attitude[key]}')
# Π²ΡΠ²ΠΎΠ΄ Π½Π°ΠΊΠ»ΠΎΠ½Π° ΠΏΠΎ ΠΎΡΠΈ X (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅Π½ get_pitch(), Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅)
print(drone.query_attitude()['pitch'])
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠΎΡΠΈΡΡ Ρ Π΄ΡΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π·Π°ΠΏΡΠΎΡΠ° get_barometer(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΎΡΠ½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ float - Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ Π²ΡΡΠΎΡΡ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_barometer()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ Π°Π»ΡΡΠΈΠΌΠ΅ΡΡΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°Ρ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π·Π°ΠΏΡΠΎΡΠ° get_battery(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_battery()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π·Π°ΡΡΠ΄ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π·Π°ΠΏΡΠΎΡΠ° get_distance_tof(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
print(drone.query_distance_tof()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡ ΡΠ½ΠΈΠ·Ρ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π²ΡΠ΅ΠΌΡ Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π·Π°ΠΏΡΠΎΡΠ° get_flight_time(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
print(drone.query_flight_time()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π΅ΡΠ°
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π²ΡΡΠΎΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΈ Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ .
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π·Π°ΠΏΡΠΎΡΠ° get_height(), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ΅ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
print(drone.query_height()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΡΠΎΡΡ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π²Π΅ΡΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Tello EDU.
SDK 2.0 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»:
- Π Π°Π±ΠΎΡΠ° Ρ Mission Pad:
- curve_xyz_speed_mid(x1, y1, z1, x2, y2, z2, speed, mid)
- disable_mission_pads()
- enable_mission_pads()
- get_mission_pad_distance_x()
- get_mission_pad_distance_y()
- get_mission_pad_distance_z()
- get_mission_pad_id()
- go_xyz_speed_mid(x, y, z, speed, mid)
- go_xyz_speed_yaw_mid(x, y, z, speed, yaw, mid1, mid2)
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ:
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Mission Pad:
- ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ str.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_sdk_version()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²Π΅ΡΡΠΈΡ SDK
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π΅Π³ΠΎ ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Tello EDU.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ str.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_serial_number()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠΈΠΉΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_speed()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠΎΡΠΎΡΡΠΈ
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Π² ΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ 'min~maxC'.
Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΡΡ ΠΎΠΆΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° get_temperature().
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ str.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_temperature()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΠΌΡΠΏΠ΅ΡΠ°ΡΡΡΡ Π΄ΡΠΎΠ½Π°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ Π΄ΡΠΎΠ½Π° ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΠΌΠ΅Ρ Wi-Fi ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
ΠΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΡΠΎΠ½Π° ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΠΎ Wi-Fi.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
print(drone.query_wifi_signal_noise_ratio()) # Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ΅ΠΌΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ²ΠΎΡΠΎΡ Π΄ΡΠΎΠ½Π° ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅ Π½Π° ΡΠ³ΠΎΠ» x.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - int.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.rotate_clockwise(90) # ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΏΠΎ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠ΅
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ²ΠΎΡΠΎΡ Π΄ΡΠΎΠ½Π° ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ Π½Π° ΡΠ³ΠΎΠ» x.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - int
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.rotate_counter_clockwise(90) # ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ² ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΎΠ²ΠΎΡΠΎΡ Π΄ΡΠΎΠ½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΠΎΠ½ΠΎΠΌ ΠΈ Mission Pad (int).
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ³ΠΎΠ» ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.rotate_mid(90) # ΠΏΠΎΠ²ΠΎΡΠΎΡ Π½Π° 90 Π³ΡΠ°Π΄ΡΡΠΎΠ² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
send_command_with_return(command, timeout=RESPONSE_TIMEOUT)
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· SDK Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ°.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ - ΡΡΡΠΎΠΊΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ - Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ (int).
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ· Π½Π°Π±ΠΎΡΠ° SDK ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅.
ΠΠ±ΡΠΈΠ΅ Π΄Π»Ρ Ryze (SDK 1.3) ΠΈ EDU (SDK 2.0) ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠΌΠ°Π½Π΄Π° Π² SDK | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ | ΠΠ΅ΡΠΎΠ΄ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ |
---|---|---|
acceleration? | query_attitude() | |
attitude? | query_attitude() | |
back x | x: int 20-500 | move_back(x) |
baro? | query_barometer() | |
battery? | query_battery() | |
ccw x | x: int | rotate_counter_clockwise(x) |
command | connect() | |
curve x1 y1 z1 x2 y2 z2 speed | x1: int -500 - 500 y1: int -500 -500 z1: int -500 - 500 x2: int -500 - 500 y2: int -500 -500 z2: int -500 - 500 speed: int 10 - 60 ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x1/y1/z1 ΠΈ x2/y2/z2 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20. Π’ΠΎΡΠΊΠΈ 0 0 0, x1 y1 z1 ΠΈ x2 y2 z2 Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ ΠΎΡ 0.5 Π΄ΠΎ 10 ΠΌΠ΅ΡΡΠΎΠ². |
curve_xyz_speed(x1, y1, z1, x2, y2, z2, speed) |
cw x | x: int | rotate_clockwise(x) |
down x | x: int 20-500 | move_down(x) |
emergency | emergency() | |
flip x | 'f', 'b', 'l', 'r' | flip(x) |
forward x | x: int 20-500 | move_forward(x) |
go x y z speed | x: -500 - 500 y: -500 -500 z: -500 - 500 speed: 10 - 100 ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x/y/z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20. |
go_xyz_speed(x, y, z, speed) |
height? | query_height() | |
land | land() | |
left x | x: int 20-500 | move_left(x) |
rc y x z d | y: -100 - 100 x: -100 - 100 z: -100 - 100 d: -100 - 100 |
send_rc_control(y, x, z, yaw_z) |
right x | x: int 20-500 | move_right(x) |
speed x | x: 10 - 100 | set_speed(x) |
speed? | query_speed() | |
streamoff | streamoff() | |
streamon | streamon() | |
takeoff | takeoff() | |
temp? | query_temperature() | |
time? | query_flight_time() | |
tof? | query_distance_tof() | |
up x | x: int 20-500 | move_up(x) |
wifi ssid pass | ssid: str pass: str |
set_wifi_credentials(ssid, password) |
wifi? | query_wifi_signal_noise_ratio() |
ΠΠΎΠΌΠ°Π½Π΄Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² SDK 2.0 (Tello EDU):
ΠΠΎΠΌΠ°Π½Π΄Π° Π² SDK | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ | ΠΠ΅ΡΠΎΠ΄ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ |
---|---|---|
ap ssid pass | ssid: str pass: str |
connect_to_wifi(ssid, password) |
curve x1 y1 z1 x2 y2 z2 speed mid | x1: int -500 - 500 y1: int -500 -500 z1: int -500 - 500 x2: int -500 - 500 y2: int -500 -500 z2: int -500 - 500 speed: int 10 - 60 mid: int 1 - 8 ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x1/y1/z1 ΠΈ x2/y2/z2 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20. Π’ΠΎΡΠΊΠΈ 0 0 0, x1 y1 z1 ΠΈ x2 y2 z2 Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ ΠΎΡ 0.5 Π΄ΠΎ 10 ΠΌΠ΅ΡΡΠΎΠ². |
curve_xyz_speed_mid(x1, y1, z1, x2, y2, z2, speed, mid) |
go x y z speed mid | x: int -500 - 500 y: int -500 -500 z: int -500 - 500 speed: int 10 - 100 mid: int 1 - 8 ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x/y/z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20. |
go_xyz_speed_mid(x, y, z, speed, mid) |
jump x y z speed yaw mid1 mid2 | x: int -500 - 500 y: int -500 -500 z: int -500 - 500 speed: int 10 - 100 mid1: int 1 - 8 mid2: int 1 - 8 ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ x/y/z Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 20. |
go_xyz_speed_yaw_mid(x, y, z, speed, yaw, mid1, mid2) |
mdirection x | x: 0, 1, 2 | set_mission_pad_detection_direction(x) |
moff | disable_mission_pads() | |
mon | enable_mission_pads() | |
sdk? | query_sdk_version() | |
sn? | query_serial_number() | |
stop | stop() |
ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠΎΠ»Π΅ RESPONSE_TIMEOUT.
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ RETRY_COUNT ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ str ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ False ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ΅.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
from time import sleep # ΠΈΠΌΠΏΠΎΡΡ ΡΠ½Π° ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
# ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» commands.txt, ΡΠΊΠ°Π·Π°Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ
# ΡΠ°ΠΉΠ» ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ Ρ
ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
# command
# takeoff
# sleep 5
# forward 100
with open('commands.txt', encoding='utf-8-sig') as file:
text = file.read() # ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
text = text.split('\n') # ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡ Π½Π° ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ ΠΏΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΠΎΠ½Ρ
for command in text: # Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅
command = command.strip() # ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΠΏΡΠΎΠ±Π΅Π»Ρ ΡΠ»Π΅Π²Π° ΠΈ ΡΠΏΡΠ°Π²Π°
if command[:5] == 'sleep': # Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° sleep
sleep(int(command[6:])) # ΡΠΏΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ΅ΠΊΡΠ½Π΄
elif command not in ('', '\n'): # ΠΈΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΏΡΡΡΠ°Ρ
drone.send_command_with_return(command) # ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΡΠΎΠ½Ρ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ
# ΠΡΠΎΠ½ Π²Π·Π»Π΅ΡΠΈΡ, ΡΡΠ½Π΅Ρ Π½Π° 5 ΡΠ΅ΠΊΡΠ½Π΄, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΎΠ»Π΅ΡΠΈΡ ΠΌΠ΅ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
Π‘ΡΠΎΠΈΡ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ:
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
from time import sleep # ΠΈΠΌΠΏΠΎΡΡ ΡΠ½Π° ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
# ΠΠΈΠΆΠ΅ ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ Π΄ΡΠΎΠ½ Π½Π° 5 ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎ ΡΠΊΠΎΡΠΎΡΡΡΡ 10 ΡΠΌ/Ρ, ΡΡΠΎ Π·Π°ΠΉΠΌΠ΅Ρ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 50 ΡΠ΅ΠΊΡΠ½Π΄
# ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ - 60 ΡΠ΅ΠΊΡΠ½Π΄
drone.send_command_with_return('go 500 0 50 10', 60)
drone.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· SDK Π±Π΅Π· ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ°.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΡΠΎΠΊΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ· SDK, ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° send_command_with_return(command, timeout=RESPONSE_TIMEOUT).
ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΅Π³ΠΎ Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
send_control_command(command, timeout=RESPONSE_TIMEOUT)
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· SDK Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ°.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ - ΡΡΡΠΎΠΊΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. ΠΠ΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ - Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ (int).
ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π΅Π³ΠΎ Π»ΡΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΡΠΌΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΡΠΎΠΌ Π±Π΅Π· ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡΡ Π²ΠΈΠ½ΡΠΎΠ².
ΠΡΠ»Π΅Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄ΡΠΎΠ½Ρ Π·Π°Π²ΠΈΡΠ½ΡΡΡ Π½Π° ΠΌΠ΅ΡΡΠ΅.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ y ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΊΠ»ΠΎΠ½ΠΎΠΌ Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡΠ°Π²ΠΎ, Π°ΡΠ³ΡΠΌΠ΅Π½Ρ x ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΊΠ»ΠΎΠ½ΠΎΠΌ Π²ΠΏΠ΅ΡΠ΅Π΄-Π½Π°Π·Π°Π΄, Π°ΡΠ³ΡΠΌΠ΅Π½Ρ z ΡΠΏΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»Π΅ΡΠ°, Π° Π°ΡΠ³ΡΠΌΠ΅Π½Ρ z_yaw ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° - ΡΠ΅ΠΌ ΡΠΈΠ»ΡΠ½Π΅Π΅ Π½Π°ΠΊΠ»ΠΎΠ½ Π² ΠΎΠ΄Π½Ρ ΡΡΠΎΡΠΎΠ½Ρ, Π° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ - Π² Π΄ΡΡΠ³ΡΡ ΡΡΠΎΡΠΎΠ½Ρ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ |
---|---|---|
y | int | -100 - 100 |
x | int | -100 - 100 |
z | int | -100 - 100 |
yaw_z | int | -100 - 100 |
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ TIME_BTW_RC_CONTROL_COMMANDS ΡΠ΅ΠΊΡΠ½Π΄.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
from time import time # ΠΈΠΌΠΏΠΎΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»ΡΡ
start = time() # Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»Π°
while time() - start < 3: # Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 3 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»Π°
drone.send_rc_control(0, 100, 0, 0) # Π»Π΅ΡΠ΅ΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π½Π°ΠΊΠ»ΠΎΠ½ΠΎΠΌ
drone.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠΎΠ½ΠΎΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· SDK Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΠ°.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΡΠΎΠΊΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.
ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Mission Pad.
ΠΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Mission Pad, Π½ΠΎ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Mission Pad, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ.
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ Π±ΡΠ» Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ Mission Pad Ρ ΠΏΠΎΠΌΠΎΡΡΡ enable_mission_pads(), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Mission Pad Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ yΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ°:
ΠΡΠ³ΡΠΌΠ΅Π½Ρ | Π Π΅Π·ΡΠ»ΡΡΠ°Ρ |
---|---|
0 | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ°ΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΎΡΠ° ΠΎΠΏΡΠΎΡΠ° 20 Hz. |
1 | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π½ΡΡ ΠΊΠ°ΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΎΡΠ° ΠΎΠΏΡΠΎΡΠ° 20 Hz. |
2 | ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±Π΅ ΠΊΠ°ΠΌΠ΅ΡΡ, ΡΠ°ΡΡΠΎΡΠ° ΠΎΠΏΡΠΎΡΠ° 10 Hz. |
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎΠΈΡΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.enable_mission_pads() # Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ MP
drone.set_mission_pad_detection_direction(0) # ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΈΠΆΠ½ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ° Π΄ΡΠΎΠ½Π° Π² ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠ°Ρ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°. ΠΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΎΡ 10 Π΄ΠΎ 100.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.set_speed(50) # ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΊΠΎΡΠΎΡΡΡ 50 ΡΠΌ/Ρ
drone.move_forward(100) # ΠΏΠΎΠ»Π΅Ρ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π΄ΡΠΎΠ½ΠΎΠΌ ΡΠΎΡΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° Wi-Fi.
ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΈΠΌΡ ΡΠ΅ΡΠΈ (ΡΡΡΠΎΠΊΠ°), Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - Π΅Ρ ΠΏΠ°ΡΠΎΠ»Ρ (ΡΡΡΠΎΠΊΠ°).
ΠΠΌΡ ΡΠ΅ΡΠΈ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ.
ΠΠ»Ρ ΡΠ±ΡΠΎΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ Wi-Fi Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄ΡΠΎΠ½ ΠΈ ΠΏΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ).
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1, ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠ»ΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ Π΄ΡΠΎΠ½ΠΎΠΌ ΡΠΎΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ°.
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π΄ΡΠΎΠ½Ρ
drone.set_wifi_credentials('example', 'pass') # Π΄ΡΠΎΠ½ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΠΊΡ example Ρ ΠΏΠ°ΡΠΎΠ»Π΅ΠΌ pass
ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄ΡΠΎΠ½ Π½Π° ΠΌΠ΅ΡΡΠ΅.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Tello EDU.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.send_rc_control(0, 100, 0, 0) # Π½Π°ΠΊΠ»ΠΎΠ½ Π²ΠΏΠ΅ΡΠ΅Π΄
drone.stop() # ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΠΌΠ΅ΡΡΠ΅ (ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡΡΡ ΠΈΠ½Π½Π΅ΡΡΠΈΡ)
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π΄ΡΠΎΠ½Π°.
import cv2 # ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.streamon() # Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΡΡΠΈΠΌΠ° ΠΊΠ°ΠΌΠ΅ΡΡ
drone_camera = drone.get_frame_read() # ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅
cv2.imwrite("picture.png", drone_camera.frame) # ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ» picture.png
drone.streamoff() # ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΈΠΌΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅ Π΄ΡΠΎΠ½Π°.
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ.
import cv2 # ΠΈΠΌΠΏΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.streamon() # Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΡΡΡΠΈΠΌΠ° ΠΊΠ°ΠΌΠ΅ΡΡ
drone_camera = drone.get_frame_read() # ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°ΠΌΠ΅ΡΠ΅
cv2.imwrite("picture.png", drone_camera.frame) # ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°ΠΉΠ» picture.png
drone.streamoff() # ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΈΠΌΠ°
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²Π·Π»ΡΡ ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄ΡΠΎΠ½Π°.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone = Tello() # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.10.1
drone.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
drone.takeoff() # Π²Π·Π»Π΅Ρ
drone.land() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅
drone.end() # ΡΠ΄Π°Π»ΡΠ΅Ρ drone
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ Π΄ΡΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΠΎΠ² Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ Π΄ΡΠΎΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
ΠΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΎΠ½ ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½.
ΠΠΌΡ ΠΏΠΎΠ»Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
address | tuple | IP ΠΈ ΠΏΠΎΡΡ Π΄ΡΠΎΠ½Π° |
background_frame_read | BackgroundFrameRead | ΠΠ°Ρ Π²Π°Ρ Π²ΠΈΠ΄Π΅ΠΎ |
cap | VideoCapture | Π‘ΡΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΠΎ |
CONTROL_UDP_PORT | int | ΠΠΎΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ² |
FORMATTER HANDLER LOGGER |
Π‘ΠΈΡΡΠ΅ΠΌΠ° Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ | |
is_flying | boolean | Π‘ΡΠ°ΡΡΡ ΠΏΠΎΠ»Π΅ΡΠ° |
last_rc_control_timestamp | float | ΠΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ RC ΠΊΠΎΠΌΠ°Π½Π΄Ρ |
last_received_command_timestamp | float | ΠΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ |
RESPONSE_TIMEOUT | int/float | ΠΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ Π΄ΡΠΎΠ½Π° |
RETRY_COUNT | int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ |
state_field_converters | dict | Π‘Π»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π΄Π°Π½Π½ΡΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π΄ΡΠΎΠ½Π° |
STATE_UDP_PORT | int | ΠΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ Π΄ΡΠΎΠ½Π° |
stream_on | boolean | Π‘ΡΠ°ΡΡΡ ΡΡΡΠΈΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎ |
TELLO_IP | str | IP Π΄ΡΠΎΠ½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ |
TIME_BTW_COMMANDS | int/float | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ |
TIME_BTW_RC_CONTROL_COMMANDS | int/float | ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ RC ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ |
VS_UDP_IP | str | IP Π²ΠΈΠ΄Π΅ΠΎ ΡΡΡΠΈΠΌΠ° |
VS_UDP_PORT | int | ΠΠΎΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΡΠΈΠΌΠ° |
ΠΠ°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Python. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°:
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΡΠΎΠ½Π° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ commands.txt, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ Π² ΡΡ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΡ. (Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠΊΠ°Π·Π°Π½Π° UTF-8)
ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΏΠΈΡΠ°Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΡΡ: send_command_with_return()
Π ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ sleep.
Π’Π°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ Scratch, Π½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° (ΠΏΡΠΈΠΌΠ΅Ρ - ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΎΠ½ Π² ΡΠ°ΠΉΠ»Π΅ commands.py).
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ commands.py ΠΈ commands.txt Ρ ΠΏΠΎΠΌΠΎΡΡΡ cd, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ°ΠΉΠ» commands.py Ρ ΠΏΠΎΠΌΠΎΡΡΡ py, ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅:
TelloSwarm - ΠΊΠ»Π°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π΄ΡΠΎΠ½Π°ΠΌΠΈ, ΠΏΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡ Π² "ΡΠΎΠΉ".
- __getattr__(attr) - ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Tello.
- __init__(list) - ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ.
- __iter__() - ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΡΠΎΡ.
- __len__() - ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΡ.
- fromFile(path) - ΡΡΠ΅Π½ΠΈΠ΅ IP ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
- fromIps(ips) - ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΡΠΈΠ²Π° IP Π°Π΄ΡΠ΅ΡΠΎΠ².
- parallel(func) - ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΅ΠΌ.
- sequential(func) - ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ΅ΠΌ.
- sync(timeout=None) - ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
ΠΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° Tello.
Π§ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΡΡΡ.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
swarm.connect() # Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ connect() ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Tello
ΠΡΡΠΌΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Tello.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
drone1 = Tello('192.168.1.220') # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220
drone2 = Tello('192.168.1.245') # Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245
swarm = TelloSwarm([drone1, drone2]) # ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡ ΠΈΠ· Π΄Π²ΡΡ
Π΄ΡΠΎΠ½ΠΎΠ² Π²ΡΡΠ΅
ΠΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡ, Π½ΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ fromFile(path) ΠΈΠ»ΠΈ fromIps(ips).
ΠΡΠ΅ΡΠ°ΡΠΎΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅.
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ for.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
for tello in swarm: # Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° Π² ΡΠΎΠ΅
print(tello.get_battery()) # Π²ΡΠ²Π΅ΡΡΠΈ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄Π° Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°
ΠΠ΅ΡΠΎΠ΄, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ·Π½Π°ΡΡ ΡΠΈΡΠ»ΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅.
from djitellopy import Tello # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΡΠΎΠ½ΠΎΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
swarm = TelloSwarm([drone1, drone2]) # ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡ ΠΈΠ· Π΄Π²ΡΡ
Π΄ΡΠΎΠ½ΠΎΠ² Π²ΡΡΠ΅
print(len(swarm)) # Π²ΡΠ²Π΅Π΄Π΅Ρ 2
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ IP Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΡΠΎΠΊΡ Ρ ΠΏΡΡΠ΅ΠΌ ΠΊ ΡΠ°ΠΉΠ»Ρ.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ UTF-8.
ΠΡΠ·ΡΠ²Π°Π΅Ρ fromIps(ips) ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΡΡΡΠΎΡΠ½ΡΠΌ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ.
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΡΠ°ΠΉΠ»ΠΎΠΌ
swarm = TelloSwarm.fromFile('ip.txt'))
# ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ IP Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° IP Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ Ρ IP Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ TelloSwarm.
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ func.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΠ½ΠΊΡΠΈΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° - ΠΈΠ½Π΄Π΅ΠΊΡ Π΄ΡΠΎΠ½Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ (int) ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΡΠΎΠ½Π° (Tello).
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
# ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
def drones_logic(i, tello):
if i % 2:
tello.move_left(30 + 30*i)
else:
tello.move_right(30 + 30*i)
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
swarm.takeoff() # Π²Π·Π»Π΅Ρ Π²Π΅Π³ΠΎ ΡΠΎΡ
swarm.parallel(drones_logic) # Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 0 - ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 0*30 = 30 ΡΠΌ Π²ΠΏΡΠ°Π²ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 1 - Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 1*30 = 60 ΡΠΌ Π²Π»Π΅Π²ΠΎ
# Π΄ΡΠΎΠ½Ρ Π½Π°ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ, ΠΈΠ·-Π·Π° ΡΠ°Π·Π½ΠΈΡΡ Π² Π΄Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΏΡΠΈΠ»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
# ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅ - ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ Π»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ, Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ lambda ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ:
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
swarm.takeoff() # Π²Π·Π»Π΅Ρ Π²Π΅Π³ΠΎ ΡΠΎΡ
swarm.parallel(lambda i, tello: tello.move_left(30 + 30*i) if i % 2 else tello.move_right(30 + 30*i)) # Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ lambda ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 0 - ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 0*30 = 30 ΡΠΌ Π²ΠΏΡΠ°Π²ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 1 - Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 1*30 = 60 ΡΠΌ Π²Π»Π΅Π²ΠΎ
# Π΄ΡΠΎΠ½Ρ Π½Π°ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ, ΠΈΠ·-Π·Π° ΡΠ°Π·Π½ΠΈΡΡ Π² Π΄Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΏΡΠΈΠ»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
# ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅ - ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ Π»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ, Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
ΠΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ func.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π΄ΡΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ Π·Π°Π²Π΅ΡΡΠΈΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΡΡΠ½ΠΊΡΠΈΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° - ΠΈΠ½Π΄Π΅ΠΊΡ Π΄ΡΠΎΠ½Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ (int) ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄ΡΠΎΠ½Π° (Tello).
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
# ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
def drones_logic(i, tello):
if i % 2:
tello.move_left(30 + 30*i)
else:
tello.move_right(30 + 30*i)
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
swarm.takeoff() # Π²Π·Π»Π΅Ρ Π²Π΅Π³ΠΎ ΡΠΎΡ
swarm.sequental(drones_logic) # Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 0 - ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 0*30 = 30 ΡΠΌ Π²ΠΏΡΠ°Π²ΠΎ
# ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΠ° ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ Π΄ΡΠΎΠ½Ρ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 1 - Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 1*30 = 60 ΡΠΌ Π²Π»Π΅Π²ΠΎ
# ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅ - ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ Π»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ, Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ lambda ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ:
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
swarm.takeoff() # Π²Π·Π»Π΅Ρ Π²Π΅Π³ΠΎ ΡΠΎΡ
swarm.sequental(lambda i, tello: tello.move_left(30 + 30*i) if i % 2 else tello.move_right(30 + 30*i)) # Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ lambda ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 0 - ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 0*30 = 30 ΡΠΌ Π²ΠΏΡΠ°Π²ΠΎ
# ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΠ° ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ ΠΊΠΎ Π²ΡΠΎΡΠΎΠΌΡ Π΄ΡΠΎΠ½Ρ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 1 - Π½Π΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π° Π·Π½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 1*30 = 60 ΡΠΌ Π²Π»Π΅Π²ΠΎ
# ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Ρ Π½ΠΈ Π±ΡΠ»ΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅ - ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π½Π΅ΡΠ΅ΡΠ½ΡΠ΅ Π»Π΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ, Π° ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
ΠΠ΅ΡΠΎΠ΄ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΎΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ - ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
# ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
def drones_logic(i, tello):
for _ in range(3):
tello.move_forward(30 + 30*i)
swarm.sync()
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
swarm.takeoff() # Π²Π·Π»Π΅Ρ Π²Π΅Π³ΠΎ ΡΠΎΡ
swarm.parallel(drones_logic) # Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.245 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 0, Π° Π·Π½Π°ΡΠΈΡ ΡΡΠΈΠΆΠ΄Ρ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 0*30 = 30 ΡΠΌ Π²ΠΏΠ΅ΡΠ΅Π΄
# Π΄ΡΠΎΠ½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ 192.168.1.220 ΠΈΠΌΠ΅Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ 1, Π° Π·Π½Π°ΡΠΈΡ ΡΡΠΈΠΆΠ΄Ρ ΠΏΠΎΠ»Π΅ΡΠΈΡ Π½Π° 30 + 1*30 = 60 ΡΠΌ Π²ΠΏΠ΅ΡΠ΅Π΄
# Π΄ΡΠΎΠ½Ρ Π½Π°ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ, ΠΈΠ·-Π·Π° ΡΠ°Π·Π½ΠΈΡΡ Π² Π΄Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»Π΅ΡΠ°, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠ΅Ρ
ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΠ»Π° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
# Π½ΠΎ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΡΡΠ°Π²ΠΈΡ Π΄ΡΠΎΠ½, Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠ°Π½ΡΡΠ΅, ΠΆΠ΄Π°ΡΡ ΠΎΡΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΎΠ½ΠΈ Π½Π°ΡΠ½ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
Π ΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° Tello, Π½ΠΎ Π½Π΅ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ:
Π’ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ | ΠΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ | Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ |
---|---|---|
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΡΠΎΠ½Π° ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: move_forward(x) enable_mission_pads() end() |
ΠΡΠ΅ Π΄ΡΠΎΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ | ΠΡΠ΅ Π΄ΡΠΎΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ |
ΠΠΎΠΌΠ°Π½Π΄Π° Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄ΡΠΎΠ½Π° ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: get_battery() get_distance_tof() |
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π²ΡΠ΅Ρ Π΄ΡΠΎΠ½ΠΎΠ² | ΠΠΎΠ»ΡΡΠΈΠΌ None |
ΠΠ°ΠΏΡΠΎΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡ Π΄ΡΠΎΠ½Π° ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: query_battery() query_distance_tof() |
ΠΠΎΠ»ΡΡΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ Π²ΡΠ΅Ρ Π΄ΡΠΎΠ½ΠΎΠ² | ΠΠΎΠ»ΡΡΠΈΠΌ None, Π½ΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π»ΠΎΠ³Π΅ |
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄-ΠΈΡΠ΅ΡΠ°ΡΠΎΡ __iter__():
from djitellopy import TelloSwarm # ΠΈΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅ΠΌ
# ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° IP ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
swarm = TelloSwarm.fromIps([
"192.168.1.245",
"192.168.1.220"
])
swarm.connect() # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ
for drone in swarm: # Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΡΠΎΠ½Π° Π² ΡΠΎΠ΅
print(drone.get_battery()) # Π²ΡΠ²Π΅ΡΡΠΈ Π·Π°ΡΡΠ΄ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°
swarm.end() # ΠΏΡΠΈΠ·Π΅ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡ
ΠΠΌΡ ΠΏΠΎΠ»Ρ | ΠΠ°Π½Π½ΡΠ΅ | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|---|
barrier funcBarrier |
Barrier | ΠΠ±ΡΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠΎΡ |
funcQueues | Queue | ΠΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ |
tellos | list[Tello] | ΠΠ°ΡΡΠΈΠ² Π²ΡΠ΅Ρ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠ΅ |
threads | list[Thread] | ΠΠ°ΡΡΠΈΠ² ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ |
- DamiΓ Fuentes EscotΓ©
- Jakob LΓΆw
- ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠΠ»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ LICENSE.txt.
ΠΠ±Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΡΠΎΠ½ΠΎΠ² ΠΈΠΌΠ΅ΡΡ ΡΡ ΠΎΠΆΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ - ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΌΠ΅ΡΡ Π½Π° 5 ΠΌΠ΅Π³Π°ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, 13 ΠΌΠΈΠ½ΡΡ ΠΏΠΎΠ»Π΅ΡΠ° ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΡΡΠ΄Π°, ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, Π·Π°ΡΠΈΡΡ Π²ΠΎΠΊΡΡΠ³ Π»ΠΎΠΏΠ°ΡΡΠ΅ΠΉ.
- ΠΡΠΎΠ½
- ΠΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ
- ΠΠ½ΡΡΡΡΠΊΡΠΈΡ
- MicroUSB Π΄Π»Ρ Π·Π°ΡΡΠ΄ΠΊΠΈ
- ΠΠ°ΠΏΠ°ΡΠ½ΡΠ΅ Π»ΠΎΠΏΠ°ΡΡΠΈ
- ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡ Mission Pads (ΡΠΎΠ»ΡΠΊΠΎ Tello EDU)
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Π½Π΅ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ Π·Π°ΡΡΠ΄Π½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠΊ Π΄ΠΎ 1Π ΠΏΡΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΈ 5Π. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±Π»ΠΎΠΊ Π½Π° 5Π Ρ ΡΠΈΠ»ΠΎΠΉ ΡΠΎΠΊΠ° Π½Π΅ Π½ΠΈΠΆΠ΅ 1,5Π (Π±ΠΎΠ»ΡΡΠ΅ - ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡ ΡΠΎΠΊ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ). ΠΠ°ΡΡΠ΄ΠΊΠ° ΠΎΡ USB ΠΏΠΎΡΡΠ° ΠΠ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΡΠΉ ΡΠΎΠΊ ΠΈ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ Π»Π΅ΡΠ°ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Π»ΡΠ΄ΡΠΌ ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠΎΠ³Π°ΡΡ Π΄ΡΠΎΠ½ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΡΠΎΡΠΎΠ²
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΠΎΠ½ Π½Π° ΡΠ»ΠΈΡΠ΅ Π² Π²Π΅ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ Π²Π»Π°ΠΆΠ½ΡΡ ΠΏΠΎΠ³ΠΎΠ΄Ρ
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ Π·Π°ΡΡΠΆΠ°ΡΡ Π΄ΡΠΎΠ½ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ - ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅Π²Ρ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°
- Π Π°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΠΎΠ½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠΊΡΡΡΡΡ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ°Ρ , Π³Π΄Π΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΉ Ρ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΡΠΌΠΈ, Π»ΡΠ΄ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠΌΠΈ
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΠΎΠ½ Π½Π° ΠΌΠ΅ΡΡΠ½ΠΎΡΡΠΈ Ρ ΡΠ΅Π·ΠΊΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΏΠ°Π΄ΠΎΠΌ Π²ΡΡΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ»Π΅ΡΠ°ΡΡ ΠΈΠΌ Π² ΠΎΠΊΠ½ΠΎ Π·Π΄Π°Π½ΠΈΡ) - ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ Π»Π΅ΡΠ°ΡΡ ΡΡΠ΄ΠΎΠΌ Ρ Π»ΠΈΠ½ΠΈΡΠΌΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠΏΠ΅ΡΠ΅Π΄Π°Ρ ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΎΠ³Π½Ρ
- ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π»ΠΎΠΏΠ°ΡΡΠΈ, Π·Π°ΡΠΈΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Ρ
- ΠΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΠΎΠ½Π° - ΠΎΡ 0 Π΄ΠΎ 40 Π³ΡΠ°Π΄ΡΡΠΎΠ² Π¦Π΅Π»ΡΡΠΈΡ
- ΠΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»Π΅ΡΠ° Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ ΡΠ΅ΡΡΡΡ Π΄ΡΠΎΠ½ ΠΈΠ· ΠΏΠΎΠ»Ρ Π·ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π΄ΡΠΎΠ½ ΠΈ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ - ΠΎΡ 0 Π΄ΠΎ 40 Π³ΡΠ°Π΄ΡΡΠΎΠ².
ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΠΉΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΠΎΠ½Π°.
ΠΡΠ»ΠΈ Π΄ΡΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ - Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΡΠ΄ΠΈΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎ 65%.
ΠΠ΅ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ Π½Π° Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·ΡΡΠΆΠ΅Π½Π½ΡΠΉ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, ΡΡΠΎ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ΅ΡΠ΅ Π΅Π³ΠΎ Π΅ΠΌΠΊΠΎΡΡΠΈ.
Π ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Tello EDU ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠΎΠ²ΡΠΈΠΊΠΈ Ρ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ, "Mission Pad".
SDK Tello EDU Π±ΡΠ» ΡΠ°ΡΡΠΈΡΠ΅Π½ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΊΠΎΠ²ΡΠΈΠΊΠ°ΠΌΠΈ.
ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ²ΡΠΈΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ:
- ID, Π½ΠΎΠΌΠ΅Ρ ΠΊΠΎΠ²ΡΠΈΠΊΠ° ΡΡΠΈΠ»ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ ΠΈΠ· Π·Π²Π΅Π·Π΄. ΠΡΠ΅Π³ΠΎ ΠΈΡ 8 - ΠΏΠΎ 1 Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠΎΠ²ΡΠΈΠΊΠΎΠ².
- ΠΏΠ»Π°Π½Π΅ΡΡ, ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ID, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΡΠΎΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠΎΠ²ΡΠΈΠΊΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡ ΠΈΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°
- ΡΠ°ΠΊΠ΅ΡΠ°, ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΊΡΠ΄Π° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΎΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ²ΡΠΈΠΊΠ°:
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΊΠΎΠ²ΡΠΈΠΊΠ° Π΄ΡΠΎΠ½ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡΡΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
- Π ΠΎΠ²Π½Π°Ρ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ. ΠΠΎΠ²ΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΡ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠΈ. ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΠΎΠ²ΡΠΈΠΊΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΎΠ½Π°, Π° ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ - ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Mission Pad ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ (ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π½Π΅ΠΉ ΠΊΠ°ΠΌΠ΅ΡΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ)
- Π£ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ²Π΅ΡΠ°. ΠΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ²Π΅ΡΠ° Π΄Π΅Π»Π°Π΅Ρ ΠΌΠ΅Π½Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π° ΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΊΠΎΠ²ΡΠΈΠΊ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½. Π§Π΅ΠΌ ΡΠ΅ΠΌΠ½Π΅Π΅, ΡΠ΅ΠΌ Π½ΠΈΠΆΠ΅ ΡΠ°Π½Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ. ΠΠΎ ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΡΠΊΠΈΠΉ ΡΠ²Π΅Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΠΌΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ»Π½ΡΠ° Π² ΡΠΎΠ»Π½Π΅ΡΠ½ΡΠΉ Π΄Π΅Π½Ρ) ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠΌΠ΅Ρ Ρ - "Π·Π°ΡΠ²Π΅ΡΠΈΡΡ" ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ² ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π΅ΡΠ° ΠΎΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ.
- ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΡΠΎΠΈΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ, ΡΠ²Π΅Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Mission Pad ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» ΠΎΡΡΠ΅ΡΠ»ΠΈΠ²ΠΎ Π²ΠΈΠ΄Π΅Π½ ΠΈ Π½Π΅ ΡΠ»ΠΈΠ²Π°Π»ΡΡ Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
- ΠΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΎΠ±Π·ΠΎΡΠ° ΠΊΠ°ΠΌΠ΅ΡΡ Π΄ΡΠΎΠ½Π°:
Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΡΠΎΡΠ°, ΡΠ΅ΠΌ ΡΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π° Π²ΡΡΠΎΡΠ΅ Π±ΠΎΠ»Π΅Π΅ 120 ΡΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ, Π° Π½Π° Π²ΡΡΠΎΡΠ΅ Π±ΠΎΠ»Π΅Π΅ 150 ΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ ΠΈ ΡΡ ΡΠ΄ΡΠ°Π΅ΡΡΡ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΡΠΎΡΡ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ²ΡΠΈΠΊ Π½Π° 180 ΡΠΌ. ΠΠ° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π½ΠΈΠ·ΠΊΠΎΠΉ Π²ΡΡΠΎΡΠ΅ ΠΊΠΎΠ²ΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΌΠ΅ΡΡ. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²ΡΡΠΎΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ - 35-115 ΡΠΌ.
Π’Π°ΠΊ ΠΆΠ΅, Π² ΡΡΠ΅Π±Π½ΡΡ ΡΠ΅Π»ΡΡ , Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Mission Pad ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΡΡΠ³ ΠΊ Π΄ΡΡΠ³Ρ. ΠΡΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄ΡΠΎΠ½Π° ΠΏΠΎΠΏΠ°Π΄Π°Π» ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ²ΡΠΈΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄, Ρ.Π΅. ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π΄ΠΈΡΡΠ°Π½ΡΠΈΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ ΠΌΠ΅ΡΡΠ°.
ΠΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΠΎΠ½ΠΎΠ² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Python, Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠΎ, Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΡΡ, Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ DJITelloPy.
- ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Python 3.x Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°:
- ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎΠ±Π° ΠΏΡΠ½ΠΊΡΠ° Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΈ Π½Π°ΠΆΠ°ΡΡ Install Now.
- ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ DJITelloPy. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ:
py -m pip install https://github.com/Hellsingoff/DJITelloPy/archive/master.zip
ΠΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "Successfully installed".
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌ ΠΠ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΈΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Python - pip ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π² Π΅Ρ Π΄ΠΈΡΡΠ΅ΠΊΡΠΎΡΠΈΡ.
ΠΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π° ΠΠ, ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄).
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΠ»ΡΡΡ ΠΈ ΠΌΠΈΠ½ΡΡΡ.
ΠΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ IDE, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ PyCharm, Π΄Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° - ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡ ΠΈ ΡΡΠΊΠΎΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Ρ ΠΎΡΠΎΡΠΎ - Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ±Ρ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ - ΠΊΠΎΠ³Π΄Π° IDE ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π·Π° ΡΡΠΈΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ°ΠΌΠΎΠΌΡ. ΠΠΎΠ³Π΄Π° IDE ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ - Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π’Π°ΠΊ ΠΆΠ΅ PyCharm ΡΡΠ΅Π±ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΠ. ΠΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ΅Π±ΡΡΡ Π² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ 64 Π±ΠΈΡΠ½ΡΡ ΠΠ‘.
ΠΡΠ»ΠΈ Π²ΡΠ±ΠΎΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ PyCharm - Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ Community Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° ΡΠ°ΠΉΡΠ΅ Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² JetBrains.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° (File - New Project) Π½ΡΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ Π²Π΅ΡΡΠΈΡ Python ΠΈ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΡΠ½ΠΊΡ Inherit global site-packages (ΠΈΠ½Π°ΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ djitellopy ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PyPI, Π° ΠΎΠ½Π° Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ).
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ .py ΡΠ°ΠΉΠ» (File - New - Python File) ΠΈ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄. ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΠΈΡΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ctrl+shift+F10 ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΠΊΡΠ°Π½Π°.
ΠΠΎΠ»Π½Π°Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ IDE - ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ½ΠΎΡΠ΅. ΠΠ½ Π½Π΅ Π΄Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΎΠΊ, Π·Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π»ΡΠ±ΠΎΠΌ, Π΄Π°ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ»Π°Π±ΠΎΠΌ ΠΠ. Π Π³Π»Π°Π²Π½ΠΎΠ΅ - Π½Π΅ ΡΠ°Π·ΠΎΠ²ΡΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ "ΠΏΠΎΠΌΠΎΡΠΈ IDE", ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΠ΄Π°ΡΠ΅ ΠΠΠ ΠΏΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅ - ΡΠ°ΠΌ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΊΠΎΠΉ Π½Π° Π»ΠΈΡΡΠΎΡΠΊΠ΅ ΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΆΠ΄Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΡΠΊΡΠ΄Π°.
ΠΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ .txt ΡΠ°ΠΉΠ», Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ .py, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ½ΠΎΡΠΎΠΌ ΠΈ ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄. ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ±ΡΠ°Π½Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° UTF-8. ΠΠ°ΠΏΡΡΠΊ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
Π‘Π½Π°ΡΠ°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ cd Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ, Π³Π΄Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ ΡΠ°ΠΉΠ» Ρ ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π·Π°ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ py:
ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Visual Studio Code Ρ Π°Π΄Π΄ΠΎΠ½ΠΎΠΌ Python ΠΈΠ»ΠΈ ΡΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΉ Notepad++. ΠΠ° ΡΡΠΎΠΌ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ.
ΠΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΡΠ°ΠΉΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΠ.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ, ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΠΎΠ½ΠΎΠ² Π² ΡΠΎΠΉ - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Tello EDU ΠΊ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΠΏΠΎ Wi-Fi Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ connect_to_wifi(ssid, password) ΠΈ ΡΠ·Π½Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅ IP ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ° Π·Π° ΠΌΠ°ΠΊ Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ Π΄ΡΠΎΠ½ΠΎΠ² Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Wi-Fi ΡΠΎΡΡΠ΅ΡΠ° ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ.
ΠΠ»Ρ Ryze ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ.