- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的最终目标是尝试使用 c++ 程序中的 sim800c 将存储在我的 Raspberry pi 3 上的一些简单数据发送到外部服务器/网站。我相信最简单的方法是向 sim/调制解调器发出“AT 命令”,但我正在努力做到这一点。我无法弄清楚我实际上应该如何发出 AT 命令或如何检查它们是否正常工作。出于测试目的,我编写了一些代码,一旦我完成这项工作,应该会向电话号码发送短信,应该相当直接地找出与服务器通信的 AT 命令。
下面是我如何连接所有内容的图片,我非常有信心是正确的。
https://i.imgur.com/zysmNXE.jpg
下面是我使用各种指南编写的基本 C++ 代码,它在终端中编译和运行,但是我没有从 AT 命令得到任何响应,更重要的是,据我所知,它们实际上没有被执行.我已尝试将假号码更改为我的个人号码,但没有任何效果。
#include <stdio.h>
#include <string.h>
#include <wiringPi.h>
#include <wiringSerial.h>
int main ()
{
int connection;
printf("Opening connection \n");
connection = serialOpen("/dev/ttyAMA0", 9600);
delay(1000);
printf("Connection: %d\n", connection);
printf("\n");
//Set gsm to text mode
serialPuts(connection,"AT+CMGF \r\n");
delay(1000);
//Number that the message should be sent to
serialPuts(connection,"AT+CMGS=\"12345678900\"\r\n");
delay(1000);
//The message
serialPuts(connection,"Hello World");
delay(1000);
//Print ctrl+x
serialPuts(connection,"\x1A");
delay(1000);
printf("Done \n");
return 0 ;
}
据我所知,它不起作用的可能原因有 3 个;
我只是不确定如何着手测试/找出导致问题的原因。如果我可以让我的代码在执行“serialPuts”后输出 AT 命令的响应,这可能会帮助我弄清楚发生了什么,但我并没有那么幸运。或者,如果有人知道为什么这些命令似乎不起作用,或者可以为我提供一些调试/测试它们的方法,那就太好了。
最佳答案
问题原来只是一个简单的接线错误。
我已经将 sim 模块的 txd 引脚连接到树莓派上的 txd 引脚,因为我的印象是你只需要匹配引脚但是我不认为/意识到 txd 引脚需要去代替 rxd 引脚。改变这些让我看到从模块返回的命令和响应。为了让 gprs 正常工作,我还需要暂时将 pwr 引脚设置为先低后高。
关于c++ - 如何在 C++ 中使用 Raspberry pi 3 与 sim800c 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54751622/
我想获取双 SIM 卡手机中两张 SIM 卡的 SIM 卡序列号/ID。有没有办法获取它们?提前致谢。 最佳答案 import java.lang.reflect.Method; im
我知道我们可以使用 TelephonyManager 类检索单个 Sim 卡的信息。但是如何检索有关多张 SIM 卡的信息?比如说,我的手机丢了,有人更换了其中一个插槽中的 SIM 卡。我如何收到包括
我想使用 Python 中的 R 包 fracdiff 和 arfima。我使用 rpy2 作为 导入了这个库 from rpy2.robjects.packages import importr f
这个问题在这里已经有了答案: How to get sim id from iphone (1 个回答) Programmatically get own phone number in iOS
我正在构建一个网络监视器应用程序。在这里,我已成功实现了所有功能,例如跟踪 Wifi 或移动数据的数据使用情况,但我想知道哪个 SIM 卡连接到互联网并使用移动数据。 使用下面的代码,我可以知道我的双
我有一个检测来电的 Android 应用程序,我需要改进这个应用程序以在 duos 移动设备上运行。所以我创建了一个在 list 中注册的广播接收器以进行操作:电话状态已更改,并且在我的 onRece
过去几天我一直在寻找这个,我才知道: “Android开箱即用不支持双卡,是厂商自定义修改,没有公共(public)API控制。” 以下链接中提供了一个解决方案,但它不适用于我的手机三星 Galaxy
我被搜索了有关 NFC SIM 卡的信息,发现 such explanations关于他们在这里和那里: For those who want to use near field communicat
我有一部带 2 张 SIM 卡的 Android 手机,我想检测来电的目标——是 SIM 1 还是 SIM 2。是否可以从通话信息中获取目标号码? 最佳答案 最后我使用这段代码得到了解决方案。希望它对
我有一部带 2 张 SIM 卡的 Android 手机,我想检测来电的目标——是 SIM 1 还是 SIM 2。是否可以从通话信息中获取目标号码? 最佳答案 最后我使用这段代码得到了解决方案。希望它对
我想检查哪个 SIM 卡正在为双卡 android 手机拨出电话。阅读本文 Android : Check whether the phone is dual SIM . 工作起来很有魅力,可以检测
我想在双卡设备中获取两个 sim 号码。 最佳答案 使用 API > 21 需要权限android.Manifest.permission.READ_PHONE_STATE. public class
我尝试为单个 SIM 设备配置 EAP-SIM 并成功连接。现在我想在双 SIM 设备上配置特定的 SIM 卡。 我的观察是在单个 SIM 设备中配置 EAP 时,没有规定指定 SIM 身份。那么如何
如何在具有双 SIM 卡的 Android 中发送短信用于广播而不是 Intent ?如何在android中检测双卡?用户想要选择 sim 卡来发送短信广播。在 android 中设置用于在 andr
我正在开发一个应用程序,我需要知道来电是来自 sim 1 还是 sim 2。在某些设备中,广播接收器会检测到它,但并非所有设备都发生这种检测。 如何检测到 sim 1 或 sim 2 有来电? 最佳答
I searched and read all the questions and answers similar to this question but non is solving my pro
有没有办法以编程方式检查 Android 中的 sim 1 或 sim 2 的移动数据是否处于 Activity 状态? 我还想获得数据处于 Activity 状态的运营商提供商。 情商:sim 1
我想在收到短信时获得 SIM 卡的唯一 ID(line1number 或 simserialnumber...)。它适用于单 SIM 卡。是否可以使用多 SIM 卡? 最佳答案 多 SIM 卡支持仅添
我正在尝试检查我的移动设备是否是双 sim 卡,sim1 是否准备就绪,sim2 是否准备就绪,我已使用 java 反射完成此操作,现在我想知道 sim1 是否正在漫游以及 sim2 是否正在漫游,如
我有双卡 Android 智能手机。我知道 android SDK 不支持双卡双待设备。我想在默认插槽上访问 sim 的 sim 运营商名称。但是当我运行程序时,它给了我一个空字符串。以下是我的代码:
我是一名优秀的程序员,十分优秀!