gpt4 book ai didi

java - 使用网络处理控制 arduino (javascript)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:53:09 24 4
gpt4 key购买 nike

我正在尝试使用串口(serial=USB)通过网络控制和接收来 self 的 arduino 的数据。我不想使用以太网屏蔽,因为我正在将 USB 连接到 XBEE 设备。

经过研究,我似乎相信最好的方法是 javascript(PHP 似乎无法通过串行方式从 arduino 读取数据)。

目前我正在尝试使用 Processing 与 arduino 交互。

我从一个简单的脚本开始,从 arduino 读取传感器数据,当从处理 (Java) 运行时它工作正常。当我尝试导出以通过网络浏览器查看时(通过在处理中使用 javascript),我在浏览器中看到了除传感器数据本身之外的所有内容。

我的理解(更像是猜测)是出于某种原因,当从网络浏览器调用时,COM 端口将不会打开(可能是安全问题?)。同样的现象在PC(WIN7)和MAC(OSX)上都有发生。

非常感谢您的帮助!

这是代码:(已删除注释)

import processing.serial.*;
Serial myPort;
int xPos = 1;

void setup () {

size(400, 300);

println(Serial.list());

myPort = new Serial(this, Serial.list()[0], 9600);

myPort.bufferUntil('\n');

background(0);
}
void draw () {

}

void serialEvent (Serial myPort) {

String inString = myPort.readStringUntil('\n');

if (inString != null) {

inString = trim(inString);

float inByte = float(inString);
inByte = map(inByte, 0, 1023, 0, height);


stroke(127,34,255);
line(xPos, height, xPos, height - inByte);


if (xPos >= width) {
xPos = 0;
background(0);
}
else {

xPos++;
}
}
}

最佳答案

这可能是在回避问题,但听起来您需要在设备和 HTTP 服务之间实现一层分离。

您可以使用 node.js 或位于 PC 上的东西编写基本的 HTTP 服务,并仲裁数据请求,这样请求就不会直接从浏览器发送到设备。

浏览器严格控制客户端 JS 对硬件接口(interface)的访问是有道理的,如果这确实是您正在尝试的。

关于java - 使用网络处理控制 arduino (javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15577290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com