通过XBee模块从Raspberry Pi发送字符串到Arduino

2024-10-05 10:19:23 发布

您现在位置:Python中文网/ 问答频道 /正文

[解决]问题出在我用来连接XBee模块和Pi的USB-TTL PL2303芯片上。这是在制造问题。它的驱动程序没有得到RPi2的正确支持。在

我试图从我的Raspberry Pi2上的python脚本通过连接到它的XBee模块发送一个字符串(可能是一个数字)到一个Arduino Uno。发送的数据在Arduino端被误解了。当我使用X-CTU上的终端并发送字符串时,它会正确显示在Arduino IDE的串行监视器上。在

下面是我使用的Python代码

import time
import serial
ser = serial.Serial("/dev/ttyUSB0",9600)
ser.isOpen()
x= '4'
ser.write(bytes(x, "ascii")) #writing as bytes
time.sleep(2)
ser.close()

这是我使用的Arduino代码

^{pr2}$

Tags: 模块字符串代码importbytestimeserialpi
2条回答

我猜,如果你已经在为char打字,你不需要减去'0',因为那样的话连续打印()将该值解释为ascii代码并打印相应的字符。所以试试吧,查尔(串行读取())并打印出来。在

好吧,你知道接收端的代码工作正常,因为你可以用X-CTU终端发送数据来测试它。你怎么从反恐组派来的?只是在窗口中键入数字4,还是以十六进制值(0x04)的形式发送它?在

将Python脚本发送到X-CTU终端时会发生什么情况?你看到了什么?如果在对其进行任何转换之前,只转储Arduino侧读取的字节值,会怎么样?比较CTU发送的信息。在

您不必使用bytes()来转换Python字符串,而只需指定x = b'4'并查看其作用。在

相关问题 更多 >

    热门问题