我试着从我的树莓圆周率(raspberry PI)到一个teensy(一个arduino,对于那些不熟悉的人来说,它可以假装成鼠标和键盘)进行交流。
我想在arduino上接收信息,并根据该信息移动鼠标。
在arduino方面,我制作了以下测试脚本:
void setup() {
Serial1.begin(9600); // According to the Teensy Docs, this is the RX1 & TX1 on my board.
// Serial itself corrosponds to the micro-usb port
}
String msg = "";
void loop() {
if(Serial1.available() > 0) {
msg = "";
while(Serial1.available() > 0) {
char read = Serial1.read();
msg += read;
}
Serial1.write('X'); // Acknowledge with reply
}
Serial1.println(msg); // Output to console for debugging
// Should be a number 1-9
// TODO: further processing
}
在raspberry pi上,我运行以下测试脚本:
import time
import serial
import random
ser = serial.Serial(
port='/dev/ttyS0',
baudrate = 9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=1
)
while True:
n = random.randint(1,9)
print("Writing", n)
ser.write(n)
time.sleep(1)
feedback = ser.read()
print(feedback) // Expecting 'X'
当我运行脚本时,在串行控制台中看不到任何输出以及一条空消息(b'
)(请注意超时参数)
我已经启用了与raspi-config
的串行通信并重新启动。当我列出设备(ls-l /dev/
)时,我可以看到:
lrwxrwxrwx 1 root root 5 Apr 28 20:21 serial0 -> ttyS0
lrwxrwxrwx 1 root root 7 Apr 28 20:21 serial1 -> ttyAMA0
作为附加测试,我在pi上用一根电线将RX连接到TX,运行了minicom-b9600-o-D/dev/ttyS0
,它成功地返回。
我是否有代码问题或可能的硬件问题?也许因为这是一个很小的问题,所以需要一些不同的协议?看这里
您将Rx线连接在一起,Tx线连接在一起。一方传输另一方需要接收的内容。你需要去Tx和Rx-Tx。
我已经设法从我的arduino(Uno)到我的Raspberry Pi 3,通过串口进行了写操作。 如果我在pi端使用相同的python脚本,在arduino端使用相同的Sketch,但使用Teensy,我无法从Arduino读取任何输出。 根据串行通信,arduino Uno和teensy之间有什么区别吗? Arduino草图: 我的Pi上的Python脚本: 此代码适用于我的Arduino U
我正在尝试使用Android处理在Android和Arduino之间进行双向蓝牙通信。我成功地用串口将数据从Android系统传输到Arduino系统。开始(9600)。我成功地使用Arduino程序中的SoftwareSerial和蓝牙将数据从Arduino传输到Android。开始(9600)代替串行。开始(9600)。 然而,当试图使用蓝牙将数据从Android传输到Arduino时。x命令
问题内容: 我试图使用从Teensy 3.2接收到的Python(PyQtGraph)尽快绘制数据,该Python通过串行通信发送模拟数据。该代码可以充分绘制较高频率的测试波形(约5kHz的正弦波),但是绘制该图表要显示频率变化大约需要30秒。例如,如果测试波形被关闭,它将继续绘制正弦波另外半分钟。 我尝试执行“串行刷新”以清除Python端和Teensy端的缓冲区,但是,这会严重减慢绘图速度,并
我有一个简单的草图在我的Seeeduino Mega 1.22它只是显示在液晶显示器上的串行输入。使用lynx术语和arduino串行监视器工作正常:发送的输入正在显示。当我想启动我的Java程序之间的串行通信时,问题就开始了,在Win7 x64机器上运行的Eclipse和Seeeduino。我使用的是RXTX x64版本。该程序旨在通过开放端口发送和接收一些string.getBytes()。J
问题内容: 我是程序世界中的每个新手,我遇到一个问题,我的要求与使用JAVA Code在Android平板电脑与台式机之间的通信有关。 上面的代码是我的servlet代码,它在我的本地系统服务器(Tomcat 6.0)中运行,在这里,我正在通过println发送消息,并且我想在另一个系统中运行的Android应用中显示相同的消息。现在,我要发布在另一个系统上运行的android代码。 这里的192
我是Azure的新手,所以我可能会问一个非常基本的问题,请耐心等待。 我有一个Azure Red Hat VM和一个java Azure应用程序服务Web应用程序,部署在同一资源组和同一地区。我需要虚拟机在端口12999上对Web应用程序执行RMI调用。 我在这里发现Azure Web应用程序只公开了端口80和443。 我在这里还了解到,可以通过服务endpoint与Azure应用程序服务进行入站