- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在使用新的 LEGO® MINDSTORMS® Robot Inventor。
创建新的“项目”时,所述项目似乎包含一个文件。但是,在每个示例代码文件的开头,可以看到 mindstorm 模块被导入,如下所示:
from mindstorms import MSHub, Motor, MotorPair, ColorSensor, DistanceSensor, App
from mindstorms.control import wait_for_seconds, wait_until, Timer
from mindstorms.operator import greater_than, greater_than_or_equal_to, less_than, less_than_or_equal_to, equal_to, not_equal_to
import math
有谁知道我如何创建自己的模块并将它们导入给定的项目?是否可以?
最佳答案
2022-02-21 更新
回到这个问题后,原来的解决方案不再有效。 Lego 更改了项目的目录结构。每次上传都会创建:
projects
的随机数目录__init__.mpy
文件是您发送的代码的编译版本content = """
__version__ = "0.1.1-20220221"
def hello() -> None:
print("hello from {}".format(__version__))
"""
f = open("mindstorms/custom.py", "w")
f.write(content)
f.close()
from mindstorms.custom import hello
hello()
mindstorms.custom
?这似乎是放置您自己的自定义功能的好地方,它不太可能被官方 Mindstorms 发行版覆盖,并将所有代码集中在一个地方。您可以从根目录创建自己的目录并将文件放在那里,但为了便于使用,我们就这样做吧。
os.uname
)
sysname='LEGO Technic Large Hub'
nodename='LEGO Learning System Hub'
release='1.11.0'
version='v1.11-1139-gf7407e5a0 on 2020-06-19'
machine='LEGO Technic Large Hub with STM32F413xx'
import os
import sys
def example() -> None:
print("imported")
# EOF
# upload the module to the Hub
print("beginning upload from {}...".format(__name__))
os.chdir("projects")
open("__init__.py", "w").close()
filename = "{}.py".format(__name__.split("/")[-1])
new_filename = "mystorms.py"
try:
os.remove(new_filename)
except:
print("{} does not exists".format(new_filename))
os.rename(filename, new_filename)
# remove everything after EOF
with open(new_filename, "r") as f:
content = f.read()
content = content.split("# EOF")[0]
with open(new_filename, "w") as f:
f.write(content)
print(os.listdir())
sys.exit()
# EOF
之后的东西执行实际的“上传”并确保当您尝试将其导入其他地方时,您不会重新“上传”它。请注意,在常规 python 中,您会将其包装在 if __name__ == "__main__"
中。 ,但 Mindstorms 在运行时不使用该约定。import os
import projects.mystorms as ms
print(os.uname())
ms.example()
import array
import builtins
import cmath
import ctypes
import errno
import gc
import hashlib
import heapq
import io
import json
import math
import os
import random
import re
import select
import struct
import sys
import time
潜在的主题似乎是限制对文件系统的访问并强制使用实际的 Mindstorms 方法(例如
hub.speaker.start_beep()
等)完成任何异步操作。有一些目录结构(0-19 文件),但我还没有弄清楚是否可以用来实现你所需要的。
import typing
,但您可以在函数中使用类型提示。我也非常不喜欢你不能从控制台复制粘贴。
关于python - 如何从新 Lego Mindstorms Robot Inventor 上的自定义 Python 模块导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64449448/
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
使用 NXT 拖放环境时,是否可以向 Lego Mindstorms 程序添加任何类型的调试? 如果能够监控各种传感器的状态,那就太好了,但甚至知道程序中正在运行的步骤也更好。 最佳答案 事实证明,这
所以我正在使用legOS(小乐高机器人),基本上我正在做的就是找到A*迷宫的解决方案,我想用它来告诉机器人在迷宫中移动的位置。 但是我一直遇到的问题是,当我尝试启动优先队列时,它给了我这个异常 js.
我做了这个例子https://github.com/jetstack/kube-lego/tree/master/examples/gce ,然后创建 ClusterRole kube-lego 失败
我尝试在 eclipse 中设置 leJOS,并从 git 导入所有库,但使用 ant 构建进行编译时遇到问题。这是我的构建文件:
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 2 年前。 Improve this qu
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
前几天我正在玩乐高数字设计师(http://ldd.lego.com/),我想知道保存的文件是否可以相对容易地解析。以前有人这样做过吗?我正在寻找代码示例,无论使用哪种语言:) 谢谢! 罗曼 最佳答案
这个问题是指编写一个与乐高头脑 Storm 机器人上的 NXT block 通信的应用程序。 我想做什么 NXC(不完全是 C,一种用于为 NXT 编写程序的语言)提供了一个函数 until(cond
是否有用于 Lego Mindstorms 的 Java SDK?我可以将 Scala 代码编译为 JAR 并在 Lego Mindstorms 中运行吗? 最佳答案 可能不会,但很难说。 Minds
有人知道如何在 Android 和 LEGO-Mindstorm-NXT 之间建立蓝牙连接吗?两个 NXT 之间的连接工作正常。但是其他的Connection-type就没那么容易了。我正在使用 Le
前阵子,我为圣诞节准备了一套 LEGO Mindstorms NXT,现在我想用 C++ 对其进行编程。 我环顾四周,在这里和其他地方,找不到“感觉正确”的跨平台、开源、OOP C++ 库,包括 le
我想使用 nginx 和用 Go 编写的 lego 客户端将 Let's Encrypt 证书设置为实时服务器 https://github.com/xenolf/lego/ 我将如何使用 nginx
我正在开发一个从计算机运行 LEGO NXT 的程序。我找到了 MindSqualls用于与 LEGO NXT 一起工作的 .NET 库,但我不知道如何使用 DLL 和/或 c# 库来使软件正常工作。
有谁知道如何从一个自己编写的 iOS 应用程序建立一个蓝牙连接到新的 LEGO Mindstorms EV3 可编程积木? 我试图通过 CBCentralManager 的 scanForPeriph
我想开始使用 Python 或 Ruby 进行编码。由于我拥有 Lego Midstorms套件我认为对它进行编程会很好。 Mindstorms 砖有什么好的翻译/解释者吗? 最佳答案 nxt-pyt
我一直在使用新的 LEGO® MINDSTORMS® Robot Inventor。 创建新的“项目”时,所述项目似乎包含一个文件。但是,在每个示例代码文件的开头,可以看到 mindstorm 模块被
对于一个大学项目,我们的项目团队想要为 Lego Mindstorm EV3 平台编写一个裸机操作系统。尽管我们做了很多研究和测试,但我们遇到了一个无法解决的中断处理问题。 这是平台的详细信息: CP
我从 this project 中获取了现有代码,并且到目前为止对此非常满意。 但是,我现在需要使用从 hitechnic 购买的一些第三方传感器。 ,例如加速度计、陀螺仪和 3D 罗盘 - 仅举几例
我是一名优秀的程序员,十分优秀!