基本上,我想要做的是检查位于 3G 调制解调器(USB)中的预付费 SIM 卡的余额。
一些背景信息:
- 我的 3G 互联网提供商(名为 Beeline)也提供手机服务。要查看任何 SIM 卡上的余额,我只需在任何手机上输入 *102#,就会收到余额通知。因此,最有效的方法是将 SIM 卡从调制解调器中取出放入手机中,然后通过“拨打”*102# 来查看余额
- 调制解调器附带一个 Windows 程序,其中有一个“检查余额”按钮。出于各种原因,我不想尝试用 Wine 模拟此程序。而且我不需要这样做,因为 --感谢 Ubuntu -- 调制解调器开箱即用,没有任何问题。
我的想法是:是否可以通过 Ubuntu 通过 3G 调制解调器执行这些 USSD 请求(对于任何随机手机来说这似乎不是问题)?
答案1
这些“hash-tag-request”被称为USSD。搜索这个关键词,你会找到不同的解决方案:
加姆可以发送 USSD 请求并通过命令接收
gammu getussd *102#
。正如指出的那样这里某些 GSM 调制解调器可能需要相当复杂的 USSD 代码转换。请确保您有读取设备/dev/ttyUSB0
(或类似设备)的权限。可以找到一个示例这里。Gsm-ussd对于 ussd 来说,似乎比 gammu 更易于使用,但总体而言功能较少。它不在官方存储库中,请从以下位置下载这里并进行类似如下的配置这。
预付管理小程序具有漂亮的图形界面,并且位于官方存储库中。这可能是最简单、最棒的解决方案。您的提供商很可能已列出,因此您无需执行任何操作。如果没有,请将 USSD 号码添加到“/usr/share/mobile-broadband-provider-info/serviceproviders.xml”。找到您所在国家/地区和提供商的部分,然后添加
<balance-check> <ussd>*102#</ussd> </balance-check>
而
*102#
必须用您的提供商的 USSD 代码替换。它看起来就像这样复杂: