首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP +串口+ GSM Modem

PHP +串口+ GSM Modem
EN

Stack Overflow用户
提问于 2015-09-03 07:25:30
回答 1查看 1K关注 0票数 1

我需要从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是设备的序列号。

我试过什么

代码语言:javascript
复制
$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()命令,但由于管理权限不足,仍然一无所获(我猜):

代码语言:javascript
复制
$gsmModem = shell_exec("cu -l /dev/cu.usbserial-xxxxxx; AT\r\n");
echo $gsmModem;

有一件好事是,我可以使用terminal.app,,在那里我可以与gsm调制解调器交谈,并为每个标准命令获得答案,但这对我并没有什么帮助,因为我需要从调制解调器那里得到一些数据并使用它。例如:

代码语言:javascript
复制
$ sudo cu -l /dev/cu.usbserial-xxxxxx
$ Password:
$ Connected.
  AT
  OK
  AT+CSQ
  +CSQ: 25,0

真的很感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2015-09-03 08:23:31

使用:

代码语言:javascript
复制
exec("cu -l /dev/cu.usbserial-xxxxxx; AT\r\n", $output);

echo $output;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32369383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档