用于Python和Arduino之间通信的透明库

pyduinobridge的Python项目详细描述


皮杜伊诺桥Build StatusPyPI

Python和Arduino之间的双向通信库。在

连接Python和Arduino就像从一个平台发送一个变量列表并在另一个平台上接收它一样简单。使用PyDuino桥,可以双向发送字符串、整数列表和浮点列表。因此,您可以将Python的计算能力和灵活性带到Arduino的实际接口功能中。在

这个图书馆是根据Robin2在Arduino论坛上发布的code建立的,他允许我使用它。pyduinobridge的主要目标是在Python和Arduino之间建立一个高层的、直接的连接。在

安装

您需要在arduinoide和Python中安装pyduinobridge。在

在Python中:

皮杜伊诺桥在Python Package Index上。 要安装库,请先安装pip,然后使用命令pip install pyduinobridge。在

PyDuino桥库需要PySerial库。您可以使用命令pip install pyserial安装它。在

该库使用Python>;=3.6,并在不同的平台(Windows、Ubuntu、Raspberry Pi和Jetson Nano)上进行了测试。在

要在Python代码中使用库,请使用命令from pyduinobridge import Bridge_py。在

[Linux]由于权限要求而导致端口打开错误:

要解决此错误,请按照Arduino官方页面中的this tutorial进行操作。请记住,您可以使用命令gnome-session-quit注销Linux会话。在

如果问题仍然存在,您可以执行命令sudo chmod 666 /dev/ttyACM0(如建议的here)。对于给定的示例命令,我假设您的Arduino板连接到端口ttyACM0。在

在Arduino:

PyDuino Bridge是Arduino图书馆的官方管理员。只需在搜索框中输入pyduino bridge并安装库。您可以跟随the official Arduino tutorial。在

或者,您可以手动将文件src/pyduino_bridge.hsrc/pyduino_bridge.cpp添加到.../Arduino/libraries/文件夹中。在

要在Arduino代码中使用库,请在标题中添加#include <pyduino_bridge.h>。在

使用示例

安装库之后,在Python设备上执行python_example.py。在

同时,上传examples/arduino_example/arduino_example.ino到你的Arduino板。通过串行端口连接设备。您可以使用USB电缆或串行蓝牙模块来实现无线连接。示例代码已经在Arduino Nano和UNO板上进行了测试,Python运行在Windows、Ubuntu、Raspberry Pi和Jetson Nano上。在

配置注意事项

默认情况下,Arduino和Python之间的消息允许的最大字符数为40。如果你想改变这个缓冲区的大小,你必须在Python中放入相同的值(在使用begin方法时更改值buffSize)和Arduino代码(更改pyduino_bridge.hpyduino_bridge.cpp文件中的#define buffSize 40行)。在

另外,验证在Python代码中根据Arduino库文件配置了相同的numIntValues_FromPy和{}值(在上载之前,更改pyduino_bridge.hpyduino_bridge.cpp文件中的#define numIntValues_FromPy 1和{}行)。默认情况下,PyDuino桥被配置为发送和接收一个整数的列表和一个浮点的列表(除了头和时间信息)。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官