-
Notifications
You must be signed in to change notification settings - Fork 9
有关Scratch3连接Arduino的几个问题 #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@doNotBeTooSerious 这个插件之前是由一个志愿者在维护,似乎无意维护了,我还未深入这个插件里,从反馈来看,它似乎不大易用,近期收到几个关于这个插件的问题。 我准备重新实现arduino的插件 |
您好,我尝试了一下这个插件的使用。比如点亮LED13:Scratch3中积木块组织好pymata-aio的指令->指令由codelab_adapter处理经由 self.read()读入extension_arduino_nano.py,extension_arduino_nano.py 使用zmq socket 和 arduino_server.py 通信,发送指令,最终由arduino_server.py中的output = eval(arduino_code, {}, { "board": board, "Constants": Constants})将字符串指令转换为python pymata-aio 的API 语句发送并点亮LED13。 目前我修改了zmq 的参数,能打开extension_arduino_nano的同时打开arduino_server.py的子程序,也能看到LED13被点亮。可以看出python部分的代码被执行了,但从Scratch3 socket.emit部分发出的指令似乎并没有被self.read() 拿到,monitor依然空空如也。 所以,extension_arduino.py 应该是用不着了,pymata-aio可以取代pyserial,但似乎我这边Scratch3和extension_arduino_nano.py的通信有一些问题。我会继续尝试,或许能用zmq的socket在terminal端看到一些信息? 对zmq参数的修改: port = 7777 # todo 随机分配
context = zmq.Context.instance()
socket = context.socket(zmq.REQ)
socket.connect("tcp://localhost:%s" % port) server部分把REQ修改为REP。基于的操作系统是win10,端口号COM3,波特率9600。 |
谢谢反馈,使用zmq来与xx_server沟通,是第一个版本的通信方式设计,过于复杂了。当前的版本(v2)会更为简单 , 参考microbit的设计 |
@doNotBeTooSerious Adapter 3.0 已经正式发布,内置了arduino uno插件 |
您好,我想问一下这个repo中的arduino_server.py 和 extension_arduino_nano.py 文件与extension_arduino.py 的关系是什么?arduino_server.py 和 extension_arduino_nano.py 是能取代extension_arduino.py 在codelab_adapter 中的作用吗?还是需要和extension_arduino.py合作完成通信?(需要同时加入并打开两个插件?)
然后是我在codelab_adapter中打开extension_arduino 插件的时候出现了一个错误:
这是我的codelab_adapter安装或者后来的设置出现了问题吗?还是其他的原因?
此外,这个和Arduino连接的repo是不是还在完善中,因为当我点击Scratch3中的积木块(eg. led 2 set 1)后,控制台有显示,但codelab_adapter的monitor中没有相关信息。
通过修改codelab_monitor的 extension_eim_monitor.py倒是能通过Scratch3端的eim 拓展的broadcast实现点亮Arduino uno 的led13,但我觉得这个方法有些别扭,所以还是想试一试这个repo中的方法。
可能是一些很简单的问题,希望能得到一些您的一些建议,谢谢!
The text was updated successfully, but these errors were encountered: