我需要从GSM调制解调器得到响应。Mac有可能吗?我的意思是,有可能得到答案并将其保存到变量中吗?
第一个问题
我知道php_serial.class.php,,但是这个类支持Linux和Windows。Mac有达尔文核心,所以它不能工作。此外,某些命令在Linux和Mac之间是不同的。例如,当Linux使用stty -F /dev/.访问设备时,OS使用‘’cu -l /dev/.。
第二问题
这可能不是一个问题,但我仍然不使用COM端口,而是USB-COM转换器。这就是为什么我通过/dev/cu.usbSeries- xxxxxx访问xxxxxx,其中xxxxxx是设备的序列号。
我试过什么
$gsmModem = fopen('/dev/cu.usbserial-xxxxxx', 'r+');
if ($gsmModem) echo 'Port opend!<br/>'; else echo 'Error opening port';
fwrite($gsmModem, "AT\r\n");
$response = fclose($gsmModem);
echo $response;第一行的结果是:端口打开了!,这意味着我连接到了我的USB-COM转换器。第二行是1,而不是OK。
然后我尝试了shell_exec()命令,但由于管理权限不足,仍然一无所获(我猜):
$gsmModem = shell_exec("cu -l /dev/cu.usbserial-xxxxxx; AT\r\n");
echo $gsmModem;有一件好事是,我可以使用terminal.app,,在那里我可以与gsm调制解调器交谈,并为每个标准命令获得答案,但这对我并没有什么帮助,因为我需要从调制解调器那里得到一些数据并使用它。例如:
$ sudo cu -l /dev/cu.usbserial-xxxxxx
$ Password:
$ Connected.
AT
OK
AT+CSQ
+CSQ: 25,0真的很感谢您的帮助!
发布于 2015-09-03 08:23:31
使用:
exec("cu -l /dev/cu.usbserial-xxxxxx; AT\r\n", $output);
echo $output;https://stackoverflow.com/questions/32369383
复制相似问题