从零开始使用Python编程DJI Tello

从零开始使用Python编程DJI Tello

从一台未安装python环境的电脑 -->用python编程无人机,其实一点也不复杂。步骤为以下几点:

安装python以及Python IDLE的基础操作

阅读无人机的相关sdk

安装无人机相关库

接下来就是写代码编程啦

一:安装python(这里以win作为案例)

1.下载安装包:在Python的官网 www.python.org 中找到最新版本的Python安装包,点击进行下载,请注意,当你的电脑是32位的机器,请选择32位的安装包,如果是64位的,请选择64位的安装包;
2.打开安装包开始行动:(再次页面不要着急下一步,一定点击下面的Add python 3.6 to PATH)
在这里插入图片描述
3.然后点击install Now就可以啦

4.看到以下提示恭喜你,第一步已做好
在这里插入图片描述
5.测试
Python安装好之后,我们要检测一下是否安装成功用系统管理员打开命令行工具cmd。输入“python-V”,然后敲回车,如果出现以下界面,则表示我们安装成功了:
在这里插入图片描述
6.基本上到这里就安装的差不多了,继续往下看吧;

7.创建 并且运行python文件,在这里提倡大家每个项目的编程给他独立的文件夹,那么就开始吧。

在我指定路径下创建文件夹,并且打开python IDLE-File-New File然后直接保存文件到刚刚的路径下

在这里插入图片描述
8.我们直接在刚刚创建的python文件里面用print()函数打印一段话吧

print(“Hello Tello”) 点击Run -Run Module即可运行我们的第一个程序

9.出现以下界面的同学是很棒的哦(软件使用部分结束)
在这里插入图片描述
二:去大疆官网查找相关无人机编程资料,这里毕竟是新手贴,所以用比较容易理解的djitellopy库,tello SDK2.0
tello sdk .pdf
输入以上网站去阅读sdk的相关指令,如果看不懂没关系,先记住里面的Tello命令表的内容就行(也不需要刚刚开始全部记住command、takeoff、land等)详细的介绍后面有时间逐步更新这里先不赘述
三:安装tello相关库文件

这里需要介绍的是如何给python 安装第三方库,也就是我们需要编程的djitellopy库

1.打开命令行工具cmd(这里使用的国内镜像豆瓣源),输入


pip install djitellopy -i https://pypi.douban.com/simple/

这个就是这个是python安装库的命令,djitellopy 是我们用到的库,-i 后面的网址是豆瓣源网址。然后直接回车就可以。(电脑需要联网哈图片)

在这里会自动为你的电脑安装djitellopy需要的相关库,比如opencv库,出现Successfully installed时候我们就欢呼吧!
在这里插入图片描述
我们开始编写代码吧!

回到我们的IDLE

首先导入tello的包从djitellopy里面


from djitellopy import Tello

接着创建一个Tell0对象,也就是我们的无人机,我们需要对它进行编程控制,创建Tello对象不会连接到Tello或尝试向Tello发送任何命令。我们可以将Tello对象视为实际无人机的软件表示。

t = Tello()

此时我们需要调用连接无人机的方法(函数)其实这个函数发送的就是我们刚刚从sdk中看的"command"命令,让无人机进入sdk模式,我们在对无人机进行任何控制,都需要调用此函数,否则无法控制。

定义此函数截图如下:
在这里插入图片描述

t.connect()

接下来就是让无人机起飞啦(如果这里有报错或者起飞不了,请查看电池电量或者进tello软件查看是否有错误提示)
起飞时候需要放置安全的环境下进行哈

t.takeoff()

在这里如果我们直接想查看电量就调用以下方法(猜猜库文件如何定义get_battery()函数呢?)

response = t.get_battery()
print(response)

查完电量我们也可以往某一个方向移动,比如向前飞!(其他方向的移动我相信你已经学🫁了)
move_forward()函数定义如下:
在这里插入图片描述

t.move_forward(100)

嗯。。。。由于时间关系先写到这里!我们后面👋

那就🛬️ 吧!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210415090015444.png


t.land()

到此呢,我们编程无人机的第一个小项目已经完成,相信你可以继续往下编写你的程序!说到这里我们刚刚调用的那几个无人机函数,哪里来的呢!?

整体代码如下,为什么要加入时间模块呢?因为有些时候无人机上一个指令没有执行完毕,不会立马执行下一个指令的.
后面会接着讲结合djitellopy库的相关内容


from djitellopy import Tello
import time

t=Tello()
t.connect()
t.takeoff()
time.sleep(3)
response = t.get_battery()
print(response)
time.sleep(3)
t.move_forward(100)
t.land()

友情提示:运行程序时记得无人机开机连接电脑

到这里,你是否给个三连呢?请关注我的微信公众号
我的微信公众号

关注我下期再见!

  • 16
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cspoj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值