7664浏览
查看: 7664|回复: 2

【智控万物】Python控制乐高EV3

[复制链接]
本帖最后由 云天 于 2021-2-22 12:57 编辑

【智控万物】Python控制乐高EV3图2

Python 进行乐高EV3编程
现在,您可以通过 EV3 程序块的 MicroPython 编程环境体验 Python 的强大功能。只需将 EV3 MicroPython image 安装到任何微型 SD[TL1] 卡上,并从卡中启动您的 EV3 程序块,即可开始编程。切换回标准乐高® MINDSTORMS® 头脑风暴 EV3 机器人固件也同样简单。
【智控万物】Python控制乐高EV3图3
v3dev可以做标准linux发行版可以做的所有事情, 而官方的Lego内核只是一个精简版linux.
使用ev3dev内核:
无需舍弃官方Lego内核和rootfs, 你只需要将ev3dev安装到任何microSD (最小1GB), 然后将sd卡插入EV3, 启动器就会从sd卡启动. 当你想切换回官方内核, 只需要将sd卡拔出, 然后重启就可以了.
ev3dev还提供了名为brickman的可视化界面, 方便来做网络等相关设置.
【配置EV3】
1、下载 EV3 MicroPython image
https://education.lego.com/v3/assets/blt293eea581807678a/blt9df409c9a182ab9c/5f88191a6ffd1b42dc42b8af/ev3micropythonv200sdcardimage.zip
2、使用烧录工具,将image文件存储在微型 SD 卡上,image文件大概有1.8G。
根据操作系统不同, ev3dev的官网给出了很详细的操作说明:

【智控万物】Python控制乐高EV3图1

3、将微型 SD 卡插入 EV3 程序块的 SD 卡插槽,然后将其开启
【智控万物】Python控制乐高EV3图4

4、连接USB电缆之前, 请先打开计算机上的“设备和打印机”。它位于“控制面板”中“硬件和声音”下。(或仅在开始菜单中键入设备和打印机。)使用EV3随附的USB电缆将EV3连接到Windows计算机。您应该立即看到一个设备弹出。Windows安装驱动程序。它将检测EV3为远程NDIS兼容设备。
【智控万物】Python控制乐高EV3图5

5、右键单击“远程NDIS兼容设备”,然后选择“网络设置”。这将带您到网络和共享中心。


【智控万物】Python控制乐高EV3图6

6、在“网络和共享中心”中,记下您的Internet连接是哪个连接,然后单击“更改适配器设置”。在此示例中,我们的Internet连接是"sxs_5G"。
【智控万物】Python控制乐高EV3图7

7、将出现一个说“远程NDIS兼容设备(1)”的连接。这是EV3。让我们重命名它以便于识别。右键单击适配器,然后选择“重命名(2)”。称其为EV3或任何您喜欢的名称。
【智控万物】Python控制乐高EV3图8

8、要与EV3共享我们的Internet连接,请双击您之前记下的Internet网络连接(而不是我们刚刚重命名的连接)。这将显示连接状态。
【智控万物】Python控制乐高EV3图9

9、如果您有多个连接,则需要验证该连接确实是Internet连接。然后,单击“ 属性”按钮。


【智控万物】Python控制乐高EV3图10

10、在打开的窗口中,选择“共享”选项卡,然后选中“允许其他网络用户通过此计算机的Internet连接进行连接”复选框。
【智控万物】Python控制乐高EV3图11

11、 Win Windows Internet连接共享非常有气质。有时它只是无故停止工作。如果发生这种情况,只需将其关闭(取消选中“ 允许其他...”并单击“确定”),然后再将其重新打开。它应该重新开始工作。dows Internet连接共享非常有气质。有时它只是无故停止工作。如果发生这种情况,只需将其关闭(取消选中“ 允许其他...”并单击“确定”),然后再将其重新打开。它应该重新开始工作。
12、完成后单击“确定”,并关闭状态窗口。Windows将自动重新配置您的其他网络连接。
13、现在,我们需要在EV3上进行一些设置。转到网络并选择管理连接…,然后选择有线连接。
【智控万物】Python控制乐高EV3图12【智控万物】Python控制乐高EV3图13【智控万物】Python控制乐高EV3图14【智控万物】Python控制乐高EV3图15【智控万物】Python控制乐高EV3图16



【SSH连接EV3】
1、要在Windows上通过SSH连接,您将需要一个名为PuTTY的程序。从其下载页面下载并运行它。在“ PuTTY配置”窗口中,输入ev3dev“主机名”。然后单击“打开”按钮进行连接。
【智控万物】Python控制乐高EV3图17

2、首次连接时,您会收到有关新指纹的警告。这是正常的。只需单击*是*即可继续。除非您重新刷新SD卡,否则您将不会再看到此消息。
【智控万物】Python控制乐高EV3图18

3、建立连接后,输入ev3dev用户名(robot)和密码(maker如果尚未更改),然后应该登录。
【智控万物】Python控制乐高EV3图19


4、让机器人读出相应的英语(使用python3)
【智控万物】Python控制乐高EV3图22

  1. import ev3dev.ev3 as myEV3
  2. myEV3.Sound.speak('hello world!I am your EV3').wait()
复制代码


【PyCharm设置Python开发环境】
使用PyCharm IDE在ev3dev上开发Python程序建立良好的工作环境。https://www.ev3dev.org/docs/tutorials/setting-up-python-pycharm/
【智控万物】Python控制乐高EV3图20

第一种方法:在PyCharm中使用github

pycharm语言设置成中文
【智控万物】Python控制乐高EV3图21

github共享项目
【智控万物】Python控制乐高EV3图24

在putty中拉取项目

  1. git clone https://github.com/sxsmxysmj/yuntian
复制代码


【智控万物】Python控制乐高EV3图25


第二种方法:使用VCS让PyCharm IDE 为 ev3dev 开发 Python 程序的良好的工作环境登录 ev3dev使用ev3dev ( http://www.ev3dev.org/ ) 是一个可运行在Lego MINDSTORMS EV3控制器上的Linux发行版, 是一个完整的Debian发行版本。

在这份文档中,我们需要能够在 EV3 上运行终端命令。要完成这一设置,请移步我们的 SSH 教程

配置代码同步

注意:本教程假设你使用免费的 “社区” 版 PyCharm。

目的是能够只需点击几下,就能在你将代码写入 EV3 或其他 ev3dev 设备时传输代码。为了实现这一点,我们打算使用一个称为 git 的程序。Git 是一个 “版本控制” 系统,它通常用于存储源码。然而,对于我们来说,它作为一种用 PyCharm 内建的工具把代码传送到远程机器上的简单方式非常有效。

在 ev3dev 设备上配置主 repo

首先,打开你之前建立的 SSH 终端,然后运行如下的命令(确保把 name/email 替换为你自己的):

  1. sudo apt-get update
  2. sudo apt-get install git
  3. git config --global user.email "you@example.com"
  4. git config --global user.name "Your Name"
复制代码

现在让我们使用我们的版本系统创建一个新的工程。键入:

  1. mkdir myproject.git
  2. git init --bare myproject.git
  3. mkdir myproject
复制代码

注意:如果你想为你的工程起一个不同的名字,你可以把上面的 myproject 替换为你自己的名称。确保它不包含空格或其它特殊字符。

好极了!这样就在我们新创建的目录下初始化了 Git。我们有了一个新的工程仓库。现在我们可以在我们的开发机器上 clone 这个仓库了,但首先我们需要做一点额外的配置,以在我们把代码 push 回 ev3dev brick 时自动地部署我们的代码:

  1. nano myproject.git/hooks/post-receive
复制代码

把下面的内容添加到你刚刚打开的文件。如果你需要一些关于 nano 的提示,请参考 nano cheat sheet

  1. #!/bin/sh
  2. git --work-tree=/home/robot/myproject --git-dir=/home/robot/myproject.git checkout -f
复制代码

【智控万物】Python控制乐高EV3图23

最后,执行:

  1. chmod +x myproject.git/hooks/post-receive
复制代码
在 PyCharm 中配置同步

这份教程专注于 PyCharm Community Edition(尽管这些说明也适用于更多 软件的高级版本)。如果你还没有安装,请安装 PyCharm


现在我们要做的是创建一份我们在 ev3dev 机器上创建的工程的 clone,以便我们可以在开发 PC 机上工作。


现在输入 ev3dev 主机的主机名(主机名通常是 ev3dev 或 ev3dev.local),后面跟冒号,然后是工程名。

【智控万物】Python控制乐高EV3图26


【智控万物】Python控制乐高EV3图27

添加一些代码

让我们给工程添加一些代码。在左边的 ‘myproject’ 目录上点击右键,并选择 new > python file。把它命名为 run_motor。PyCharm 将询问你是否想把它添加进 git;我们正在使用 git 来把代码同步到 brick,因此我们想要使用它。选择 Yes。

现在添加如下的测试代码:

  1. from ev3dev.auto import *
  2. import time
  3. m = Motor(OUTPUT_A)
  4. m.run_timed(time_sp=3000, speed_sp=500)
复制代码

先“提交”Ctrl+K ,再推送——按下 Ctrl+Shift+K 。

【智控万物】Python控制乐高EV3图29







运行代码
【智控万物】Python控制乐高EV3图28

是时候运行我们之前写的代码了。它试着运行一个马达,因此在你的 EV3的 端口 A 上插上一个。现在你将需要从你之前的那个打开 SSH 会话(或一个新的),并运行如下的命令:

  1. cd myproject
  2. python3 run_motor.py
复制代码
【测试屏幕显示】
  1. #!/usr/bin/env python3
  2. from ev3dev.ev3 import *
  3. lcd = Screen()
  4. lcd.clear()
  5. lcd.draw.text((10, 20),'hello world!')
  6. lcd.update()
  7. sleep(30)
复制代码
【智控万物】Python控制乐高EV3图30





iZUexrLa7kRz  学徒

发表于 2021-6-30 14:20:00

这样刻录了SD卡之后 插入到EV3当中 开机开一半就不动了  是啥情况呢
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2021-7-17 08:08:50

没出现过这种情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail