CodeLabClub / codelab_adapter_extensions

codelab_adapter extensions
GNU General Public License v3.0
143 stars 72 forks source link

希望把ESP32接入codelab,但是没有成功,能否给予一些例子。 #54

Closed coolleafly closed 1 year ago

coolleafly commented 2 years ago

基于ESP32低廉的成本以及micropython的通用性,希望将ESP32接入codelab.

参考了网站的相关文档,只找到这一篇,但没有复现。 https://adapter.codelab.club/extension_guide/SimplePyboard/

疑问: 1、ESP32所需刷入的固件是官方的micropython固件吗? 2、测试刷入了官方micropython固件,然后搭建了以下积木,反馈如下 2.1 连接到【COM3】 反馈:ok 2.2 【start】【extension_simple_pyboard】 反馈:running 2.3 exec(初始化导入)【import machine】 反馈:‘SimplePyboardHelper’ object has no attribute 'exec' 2.4 执行【import machine】 反馈 ('exception',b",b'Traceback(most recent call last): file:"",line1 SyntaxError: invalid syntax) 2.5 执行【led_onboard = machine.Pin(22,machine.Pin.OUT)】 反馈: NameError: name machine isn't defined

感觉导入模块部分无法进行,不知该如何解决。

另discuss.codelab.club论坛,注册过程的邮件服务估计坏掉了,分别使用两个邮箱注册,都没有收到注册邮件。

coolleafly commented 2 years ago

貌似我自己解决了这个问题。

2.4 使用 exec('import machine') 替换 调试通过。

但估计2.3是一个bug,还是期待修复。

wwj718 commented 2 years ago

目前这块出于安全的考虑,都把exec换成eval了, eval只支持表达式,不支持语句。

如果需要可以自行替换为exec呢。

coolleafly commented 2 years ago

谢谢回复。code读的还比较慢,可否提示下exec功能在哪个文件中,再次感谢!

wwj718 commented 2 years ago

在这儿呢

image

eval和exec的区别可参考 What's the difference between eval, exec, and compile?.)