我插入了USB调制解调器和GSM卡,希望能与之通信。我安装了minicom和atinout,并在minicom中使用了这个命令:
var formData = new FormData($('form')[0]);
在atinout上我也做了:
AT+CUSD=1,"*137#",15
ERROR
注释:
并且几天前它曾经工作过,然后它拒绝工作 硬件版本:
制造商:TCT Mobile International Limited
$ atinout - /dev/ttyUSB3 - < <(echo "AT+CUSD=1,\"*137#\",15")
ERROR
Model: HSPA Data Card
答案 0 :(得分:0)
如果设备在某些终端仿真器中工作但在其他终端仿真器中不工作,那么终端可能设置不正确(&#34;错误地&#34;含义&#34;与连接另一端的设备不同已配置&#34 ;;没有对错。)
通常问题是波特率,本地回波或LF与CRLF线路结尾之间的问题。您可以配置linux如何使用stty
(或setserial
)处理tty设备。
示例:
在这里,我使用atinout
与Telit DE910&#34; AUX&#34;通过UART端口。
$ echo 'AT+CREG?' | atinout - /dev/ttyO1 -
AT+CREG?
+CREG: 1,1
OK
到目前为止一切顺利。但是这个调制解调器支持每个逻辑接口的多个物理接口,以及我的设备逻辑端口&#34; AUX&#34;也可以通过/dev/ttyUSB2
获取。一般来说,我喜欢使用/dev/ttyUSBn
因为at least some of the ridiculous number of options that can be set by stty
are fixed。但在这种情况下,即使我们向同一逻辑端口发出相同的命令,默认值也不足以atinout
:
$ echo 'AT+CREG?' | atinout - /dev/ttyUSB2 -
AT+CREG?
+CREG: 1,1
OK
AT+CREG
ERROR
^C
在这种情况下,额外的CRLF是赠品,并使用stty raw
配置终端修复它。 (就我而言,-icrnl
是raw
实际需要的唯一部分。)
$ stty -F /dev/ttyUSB2 raw
$ echo 'AT+CREG?' | atinout - /dev/ttyUSB2 -
AT+CREG?
+CREG: 1,1
OK
使用stty
的问题是您已为其他所有人更改了设备。您可以使用stty保存初始配置,以便在完成后可以恢复它。
$ OLDSETTINGS=$(stty -g -F /dev/ttyUSB2)
$ stty -F /dev/ttyUSB2 -igncr -icrnl -ixon -ixoff
$ stty -F /dev/ttyUSB2 "$OLDSETTINGS"
最后,我建议将timeout
与atinout
一起使用,以避免在调制解调器没有按atinout
预期的方式做出响应时挂起。
$ echo 'AT+CREG?' | timeout -t5 atinout - /dev/ttyUSB2 -