Python端的一个带有Arduino卡的串行通信库
arduinopythonserialrpc的Python项目详细描述
ArduinopythonSerialPC公司
ArduinoPythonSerialRpc是带有Arduino卡的串行通信库的Python端。在
此通信的Arduino部分被实现到ArduinoSerialRpc存储库中。在
沟通模式的实施形式如下:
- 远程方法调用。其中Arduino调用声明为Python类的方法。在
- 远程过程调用。其中Python进程调用在Arduino草图中定义的函数。在
通信是点对点模式,通过串行(USB)端口执行。在
建筑
Tbdf公司
特点
- 双向通信
- 所需Arduino资源少
- 易于学习的界面
- 灵活的命名约定
入门
Arduino侧安装
要求:
- 从以下位置下载Arduino库:https://github.com/Mauxilium/ArduinoSerialRpc
- 将其扩展到Arduino Ide的“库”路径中, 或遵循https://www.arduino.cc/en/guide/libraries的手动安装部分
Python侧安装
pip安装arduinopythonserialrpc
Arduino草图基本示例
#include<ArduinoSerialRpc.h>ArduinoSerialRpcrpc("Arduino www.mauxilium.it");voidsetup(){Serial.begin(9600);rpc.registerArduinoFunction("go",startTest);rpc.registerArduinoFunction("halt",stopTest);}// ##########################################################################// BE AWARE!!!// DO NOT FORGET TO ADD THE FOLLOWING serialEvent() FUNCTION INTO YOUR SKETCHvoidserialEvent(){rpc.serialEventHandler();}// ##########################################################################boolexecFlag=false;intcounter=0;voidstartTest(){execFlag=true;}voidstopTest(){counter=0;execFlag=false;}voidloop(){delay(200);if(execFlag){rpc.executeRemoteMethod("ping_from_arduino",counter,counter++);}}
Python类基本示例
Python测试程序的简化版本可以是:
^{pr2}$构建并运行
在GitHub存储库中: https://github.com/Mauxilium/ArduinoPythonSerialRpc
您可以在源路径中找到另一个真正完整的用例:
- ArduinopythonSerialPC\测试\集成\草图
- ArduinoPythonSerialRpc\tests\integration\python
要执行此集成示例测试,请执行以下步骤:
- 打开草图ArduInOptionserialRpc\tests\integration\sketch\素描.ino在
- 下载到你的Arduino卡
- 打开一个终端并转到ArduinoPythonSerialRpc\tests\integration\python
- 修改集成的第158行上的端口名_测试.py根据你的系统
- 执行以下命令
python integration_test.py
下一步
- ArduinoPythonSerialRpc教程-一个教程,用于发现库的更复杂的使用(工作中)
- www.mauxilium.it-我其他项目的参考站点(正在工作)
- 项目
标签: