云天 发表于 2021-2-21 21:56:51

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

本帖最后由 云天 于 2021-2-22 12:57 编辑


Python 进行乐高EV3编程
现在,您可以通过 EV3 程序块的 MicroPython 编程环境体验 Python 的强大功能。只需将 EV3 MicroPython image 安装到任何微型 SD 卡上,并从卡中启动您的 EV3 程序块,即可开始编程。切换回标准乐高® MINDSTORMS® 头脑风暴 EV3 机器人固件也同样简单。
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的官网给出了很详细的操作说明:

[*]Linux
[*]    * 命令行: http://www.ev3dev.org/docs/tutor ... -linux-command-line
[*]    * 可视化界面: http://www.ev3dev.org/docs/tutor ... u-disk-image-writer
[*]Mac OS X
[*]    * 命令行: http://www.ev3dev.org/docs/tutor ... ge-mac-command-line
[*]Windows
[*]    * Win32DiskImager工具: http://www.ev3dev.org/docs/tutor ... age-win32diskimager


3、将微型 SD 卡插入 EV3 程序块的 SD 卡插槽,然后将其开启

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

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



6、在“网络和共享中心”中,记下您的Internet连接是哪个连接,然后单击“更改适配器设置”。在此示例中,我们的Internet连接是"sxs_5G"。

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

8、要与EV3共享我们的Internet连接,请双击您之前记下的Internet网络连接(而不是我们刚刚重命名的连接)。这将显示连接状态。

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



10、在打开的窗口中,选择“共享”选项卡,然后选中“允许其他网络用户通过此计算机的Internet连接进行连接”复选框。

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



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

2、首次连接时,您会收到有关新指纹的警告。这是正常的。只需单击*是*即可继续。除非您重新刷新SD卡,否则您将不会再看到此消息。

3、建立连接后,输入ev3dev用户名(robot)和密码(maker如果尚未更改),然后应该登录。


4、让机器人读出相应的英语(使用python3)

import ev3dev.ev3 as myEV3
myEV3.Sound.speak('hello world!I am your EV3').wait()
https://v.youku.com/v_show/id_XNTEwNzYxMTYzMg==.html5、转动B口电机from ev3dev.auto import *
import time

m = Motor(OUTPUT_B)
m.run_timed(time_sp=3000, speed_sp=500)https://v.youku.com/v_show/id_XNTEwNzYzNDcxMg==.html

【PyCharm设置Python开发环境】
使用PyCharm IDE在ev3dev上开发Python程序建立良好的工作环境。https://www.ev3dev.org/docs/tutorials/setting-up-python-pycharm/

第一种方法:在PyCharm中使用github
pycharm语言设置成中文
在github共享项目

在putty中拉取项目

git clone https://github.com/sxsmxysmj/yuntian




第二种方法:使用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 替换为你自己的):sudo apt-get update
sudo apt-get install git
git config --global user.email "you@example.com"
git config --global user.name "Your Name"现在让我们使用我们的版本系统创建一个新的工程。键入:mkdir myproject.git
git init --bare myproject.git
mkdir myproject注意:如果你想为你的工程起一个不同的名字,你可以把上面的 myproject 替换为你自己的名称。确保它不包含空格或其它特殊字符。好极了!这样就在我们新创建的目录下初始化了 Git。我们有了一个新的工程仓库。现在我们可以在我们的开发机器上 clone 这个仓库了,但首先我们需要做一点额外的配置,以在我们把代码 push 回 ev3dev brick 时自动地部署我们的代码:nano myproject.git/hooks/post-receive把下面的内容添加到你刚刚打开的文件。如果你需要一些关于 nano 的提示,请参考 nano cheat sheet。#!/bin/sh
git --work-tree=/home/robot/myproject --git-dir=/home/robot/myproject.git checkout -f最后,执行:chmod +x myproject.git/hooks/post-receive在 PyCharm 中配置同步这份教程专注于 PyCharm Community Edition(尽管这些说明也适用于更多 软件的高级版本)。如果你还没有安装,请安装 PyCharm。
现在我们要做的是创建一份我们在 ev3dev 机器上创建的工程的 clone,以便我们可以在开发 PC 机上工作。
现在输入 ev3dev 主机的主机名(主机名通常是 ev3dev 或 ev3dev.local),后面跟冒号,然后是工程名。
添加一些代码让我们给工程添加一些代码。在左边的 ‘myproject’ 目录上点击右键,并选择 new > python file。把它命名为 run_motor。PyCharm 将询问你是否想把它添加进 git;我们正在使用 git 来把代码同步到 brick,因此我们想要使用它。选择 Yes。现在添加如下的测试代码:from ev3dev.auto import *
import time
m = Motor(OUTPUT_A)
m.run_timed(time_sp=3000, speed_sp=500)先“提交”Ctrl+K ,再推送——按下 Ctrl+Shift+K 。





运行代码

是时候运行我们之前写的代码了。它试着运行一个马达,因此在你的 EV3的 端口 A 上插上一个。现在你将需要从你之前的那个打开 SSH 会话(或一个新的),并运行如下的命令:cd myproject
python3 run_motor.py【测试屏幕显示】#!/usr/bin/env python3
from ev3dev.ev3 import *
lcd = Screen()
lcd.clear()
lcd.draw.text((10, 20),'hello world!')
lcd.update()
sleep(30)




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

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

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

没出现过这种情况
页: [1]
查看完整版本: 【智控万物】Python控制乐高EV3