标签: modem

如何使用AT命令获取调制解调器的SIM号(ICCID)

我试图获得SIM number(ICCIDIMSI)用我的3G华为E5830调制解调器AT commands(也称为Hayes command set).

不幸的是,它没有在调制解调器正式文档中指定.

modem serial-port at-command 3g

6
推荐指数
3
解决办法
4万
查看次数

如何检测属于gsm/3g-modem的tty是数据还是控制端口?

我正在为linux路由器编写一个小工具,当我将适当的调制解调器插入其USB端口时,它建立了一个wwan(gsm/3g)连接.当插入设备时,几个ttys被注册,我目前维护一个制造商和设备列表,他们注册的ttys是控制/数据端口.

如果可能的话,我想摆脱这个列表并找到一种方法以某种方式直接探测已注册的ttys以检查它们是控制端口还是数据端口.

我检查了wvdial和modem-manager的源代码,看看这些工具如何检测正确的端口但无法找到合适的信息.我还试图在sysfs中查找信息以区分端口,但这也不成功.

linux modem serial-port tty wwan

6
推荐指数
1
解决办法
3489
查看次数

通过GSM调制解调器拨打语音

我想使用GSM调制解调器对电话号码进行语音呼叫,播放录制的消息,等待按下数字,然后断开呼叫.系统需要知道线路是否繁忙,用户是否应答以及用户按下了哪个数字(如果有).如果在30秒内没有按下任何内容,它应该掉线.如果用户在问题完成之前按下数字,则语音应该停止(用户不必等待).此外,如果系统可以处理无效数字(播放"无效数字"消息,播放原始消息并等待输入),那将是很好的.并行多个调用会很好,但我想这不可能吗?

我发现这篇文章很好地解释了低级接口.但是,这个问题更实用 - 你会推荐哪些库和哪个GSM调制解调器?操作系统是Linux,调制解调器可以是RS232或USB.我更喜欢Python,但C(++)也可以.

顺便说一句:这不是电话营销,而是一个通知系统.这不重要......;)

编辑:我了解到这个系统是关键字"IVR"(为未来的搜索者添加).

modem ivr gsm

6
推荐指数
1
解决办法
2万
查看次数

64位系统上用于Java的串行通信API(调制解调器交互)

我正在寻找Java的串行通信API.非常重要的是64位系统的支持.我用RXTX与64个库Cloudhopper但一些在Windows Server 2008对系统的访问(虚拟)串行端口,当我沉重的问题,JVM崩溃.

主要目的是与模拟调制解调器交互,也许在Java中有另一种调制解调器通信方式?

如果API是免费的,那将是非常好的.

java modem serial-port rxtx 32bit-64bit

6
推荐指数
1
解决办法
1万
查看次数

使用php在Windows上通信串行端口

我正在使用通过php中的COM端口连接到华为3G调制解调器的应用程序。这是我的代码:

<?php
include("sms.php");
$sms = new sms();
$device = "COM11";
exec("mode $device BAUD=9600 PARITY=n DATA=8 STOP=1 xon=off octs=off rts=on");
$comport = fopen($device, "r+b");
if ($comport === false){
    die("Failed opening com port<br/>");
}else{
    echo "Com Port Open<br/>";
}

//Set non-blocking mode for writing
//stream_set_blocking($comport, 0);
$sms->_blocking($comport,0);
$atcmd = "AT\r";
fputs($comport, $atcmd);

sleep(5); // Sleep for response from the modem

 // Set blocking mode for reading
$sms->_blocking($comport,1);
$res = fgets($comport, 4017);
if(trim($res) == "OK"){
    echo "Modem supports AT Commands<br/>";
}else{
    echo "Error …
Run Code Online (Sandbox Code Playgroud)

windows modem gsm serial-port

6
推荐指数
1
解决办法
1万
查看次数

是否有回复AT + GCAP&co.告诉"我不是调制解调器,走开"?

我正在研究将在串行端口仿真模式下使用蓝牙连接到PC的设备的固件.

在测试期间,我发现Linux上的调制解调器管理器"帮助"尝试将其检测为调制解调器,发送AT+GCAP命令; 对此,目前我的设备回复类似的东西INVALIDCMD AT+GCAP.这是我的协议的正确响应,但显然不是AT回复,因此调制解调器管理器不满意并再次尝试与AT+GCAP其他调制解调器相关的东西.

现在,我发现调制解调器经理一些解决方法(见这里,因而这里,尤其是udev规则方法),但是:

  • 它们不是非常强大(我必须制定一个自定义的udev规则,如果我们改变蓝牙模块可能会破坏);
  • 我担心不仅调制解调器管理器,而且类似的软件/操作系统功能(例如在Windows或OS X上)可能会给我类似的烦恼.

此外,完全控制固件,我可以添加一个特殊的情况AT+GCAP和类似的东西; 那么,来问我的问题:

是否有标准/安全回复AT+GCAP和其他类似的调制解调器探测查询告诉"我不是调制解调器,走开让我一个人呆着?"

hardware modem serial-port firmware at-command

6
推荐指数
1
解决办法
1575
查看次数

以编程方式重启无线电

偶尔,我的安卓手机的收音机因为一些与网络有关的问题而无声地死机.在Nexus 4上,它显示空三角形,好像在这个区域没有可用的服务.在其他手机上它甚至没有这样做.看起来信号很好.

无论如何,在无线电无声地死亡之后,没有电话/短信/数据在任何方向上通过.我从系统获得的唯一提示是android.net.conn.CONNECTIVITY_CHANGE当信号死亡且未连接wifi时触发的广播.

唯一能解决问题的是重启手机.

最后我的问题:

有人知道如何通过代码完全重启收音机吗?

我的意思是,它是在单独的CPU上运行的单独映像.必须有一种方法可以重新启动它而无需重新启动手机.也许有一些东西,我可以进入Android ROM.我在这里运行CM,并乐意修补它(再次).

我尝试通过按下*#*#4636#*#*dailer并停止收音机并再次启动来启动系统应用程序来修复它.但它根本没有帮助.

我最近创建了一个应用程序,每次连接更改时都会检查无线电.它显示了一个简单的通知告诉我,我应该重新启动手机.[1]

转载的问题:

  • LG Nexus 4
  • 三星ACE 2
  • 多个Apple iPhone 4*

未转载的问题:

  • Apple iPhone 5

所有手机都在Dialog.lk网络中运行.

[1] https://github.com/felixb/network-checker

modem android reboot cellular-network

6
推荐指数
1
解决办法
3569
查看次数

通过GSM调制解调器播放WAV文件

我想通过GSM调制解调器播放WAV文件.这是我的示例代码

private final int BUFFER_SIZE = 8;
private File soundFile;
private AudioInputStream audioStream;
private AudioFormat audioFormat;
public void playSound(String filename) throws IOException{

    String strFilename = filename;

    try {
        soundFile = new File(strFilename);
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }

    try {
        audioStream = AudioSystem.getAudioInputStream(soundFile);
    } catch (Exception e){
        e.printStackTrace();
        System.exit(1);
    }

    audioFormat = audioStream.getFormat();

    DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat);

    int nBytesRead = 0;
    byte[] abData = new byte[BUFFER_SIZE];
    while (nBytesRead != -1) {
        try {
            nBytesRead = audioStream.read(abData); …
Run Code Online (Sandbox Code Playgroud)

java modem gsm serial-port

6
推荐指数
1
解决办法
1343
查看次数

发送调制解调器AT命令和解析结果

我想AT通过使用shell脚本向我的调制解调器发送命令并解析结果以验证是否返回了OK.

at=`echo -ne "AT+CFUN1=1\r\n" > /dev/ttyUSB0 | cat /dev/ttyUSB0`
Run Code Online (Sandbox Code Playgroud)

解析at1变量并提取"OK"或"ERROR"的最佳方法是什么?

linux bash shell modem at-command

6
推荐指数
1
解决办法
1万
查看次数

AT + CMGL ="ALL"命令仅返回OK

制造商:huawei

型号:E3533

修订:22.318.27.00.00

IMEI:353934033009021

+ GCAP:+ CGSM,+ DS,+ ES

AT + CMGS命令运行良好.

OK
AT+CMGS="99667788"

> test sms
+CMGS: 45

OK

AT+CMGL="ALL"

OK
AT+CPMS="SM"

+CPMS: 0,40,0,40,0,40

OK
AT+CPMS=?

+CPMS: ("SM","ME"),("SM","ME"),("SM","ME")

OK
AT+CMGL="ALL"

OK
Run Code Online (Sandbox Code Playgroud)

sms modem gsm at-command

6
推荐指数
1
解决办法
515
查看次数

标签 统计

modem ×10

serial-port ×6

at-command ×4

gsm ×4

java ×2

linux ×2

32bit-64bit ×1

3g ×1

android ×1

bash ×1

cellular-network ×1

firmware ×1

hardware ×1

ivr ×1

reboot ×1

rxtx ×1

shell ×1

sms ×1

tty ×1

windows ×1

wwan ×1