gpt4 book ai didi

PHP Roomba 串口通信

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:44 25 4
gpt4 key购买 nike

我正在尝试使用 PHP class developed by Remy Sanchez 通过串行端口与 iRobot Roomba 通信.我确定它正在发送数据,因为 iRobot USB 电缆正在接收数据并点亮,但是,Roomba 似乎没有确认 Roomba Serial Command Interface (SCI) Specification manual 中定义的命令。 .这有可能的原因吗?该类是否以某种方式扭曲了数据,或者 Roomba 是否需要向其发送 PHP 不支持的特定数据类型?

附加信息(我不确定这是否相关)

使用 RealTerm,我可以使用发送号码功能直接与 Roomba 通信(如果我尝试以任何其他方式通信,它会发送每个按键)。使用 PuTTY,Roomba 不接受我的命令,即使我可以强制打开本地回显 + 行编辑。它接收命令,但不对它们执行任何操作,即使波特率配置正确也是如此。

代码

require("php_serial.class.php");
$serial = new phpSerial();
$serial->deviceSet("COM1");

$serial->confBaudRate(115200); //Baud rate: 115200
$serial->confParity("none"); //Parity (this is the "N" in "8-N-1")
$serial->confCharacterLength(8); //Character length (this is the "8" in "8-N-1")
$serial->confStopBits(1); //Stop bits (this is the "1" in "8-N-1")
$serial->confFlowControl("none"); //Device does not support flow control

$serial->deviceOpen();

$start = sprintf("%c",128);
$power = sprintf("%c",133);

$serial->sendMessage("$start");

$time_start = microtime(true);
// Sleep for a while
usleep(1000000);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds <br>";

$serial->sendMessage("$power");
$serial->deviceClose();

最佳答案

-(pow(2, 8) - N) 的结果是一个整数。 PHP 在内部将整数值存储为有符号长整数。

使用pack() !

关于PHP Roomba 串口通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4998847/

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