如何用Python控制LEGO Wedo 2.0的电机

本文介绍了如何使用Python通过蓝牙连接控制LEGO Wedo 2.0的电机,包括所需的资源、开发环境选择(如树莓派)、Python库pygattlib的使用,以及创建界面控制程序的步骤。程序运行可能需要root权限,并提供了源码链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

乐高官方提供的编程工具都是图形化的,这篇文章分享下如何用Python来连接控制LEGO Wedo 2.0中提供的蓝牙主控设备和电机。

学习资源

网上有两篇很有用的文章:

使用pygattlib可以通过Python和蓝牙低功耗设备通讯。这个库只支持Linux

命令行工具和开发环境

通过测试发现,Windows的Linux子系统和VMWare虚拟机是不支持的。我最终选了树莓派做开发环境。
使用系统自带的命令行工具可以直接测试蓝牙连接。
扫描设备获取地址:

sudo hcitool -i hci0 lescan
LE Scan ...
98:07:2D:DD:98:56 (unknown)
98:07:2D:DD:98:56 LPF2 Smart Hub

连接设备:

gatttool -I
[                 ][LE]> connect <ble address>

使用Python创建界面控制程序

安装依赖库以及gattlib:

sudo apt-get update
sudo apt-get install libbluetooth-dev bluez bluez-hcidump libboost-python-dev libboost-thread-dev libglib2.0-dev
sudo pip install gattlib

Tkinter创建界面:

import Tkinter as tk
from gattlib import DiscoveryService
from gattlib import GATTRequester
from time import sleep
 
def run():
    global button_run
    button_run.after(DELAY, motor_run)
 
def stop():
    global button_stop
    button_stop.after(DELAY, motor_stop)
 
def connect():
    global button_disconnect
    button_disconnect.after(DELAY, smart_hub_connect)
 
def disconnect():
    global button_disconnect
    button_disconnect.after(DELAY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值