问题标签 [sim800l]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
779 浏览

arduino - Sim800l:如何可靠地了解网络状态

在 Sim800L AT-Commands Guide 中有很多不同的状态命令,应该告诉我们,状态是有的。

例如:

但是,在某些情况下,此命令的答案可能是“错误”,或者根本没有答案。

我需要一种可靠且快速的方法来确定设备是否已连接到网络,或者它已经处于 GPRS 模式,现在我开始使用 Sim800L 上闪烁的 LED 来检测它的状态。

LED 具有三种闪烁频率:

  1. 快速闪烁 - GPRS 连接处于活动状态
  2. 中速闪烁 - 尚未建立网络连接
  3. 缓慢闪烁 - 设备已连接到网络(但不是 GPRS)

我可以使用光电二极管和“读取”LED 的闪光,或者我可以将 LED 的电源引脚连接到 Arduino 的模拟引脚,并读取它的电压。接下来,我可以计算 LED 闪烁的速度,并确定 Sim800L 处于哪个状态。

但是,如何在不使用这种拐杖的情况下获得这种级别的可靠性呢?

0 投票
3 回答
2832 浏览

arduino - 如何在 arduino 串行端口上读取 GSM AT 命令响应以获得长响应?

我有 Arduino UNO 和一个 Sim800L 模块,我知道读取串行的方式,就像这个问题一样,但是当我执行这个功能时:

输出是:

这个 AT 命令(AT+CNETSCAN)应该扫描所有附近的天线并在多行中打印一些信息(根据数据表),当我在这个设备(SIM800L)上手动执行这个命令时,我得到多行这样的:

但是我不知道当我以编程方式执行此操作时会发生什么,它搞砸了,我尝试更改波特率并更改接收方法并逐字符读取字符,我确实在接收之间设置了延迟,我尝试这样做iffor代替while 但没运气。

我猜在接收每一行之间会有延迟,它会破坏串行可用性,但我不知道该怎么做!任何帮助,将不胜感激。

顺便说一下,我的设置功能:

Ps:整个东西(Arduino + Sim800L)工作正常,没有错误,Simcard已解锁,它可以发送接收短信和电话等。

0 投票
2 回答
1154 浏览

tcp - Arduino UNO 和调制解调器 Sim800L 无法编写设置命令将数据发送到服务器

我正在使用带有调制解调器 sim800l 的 arduino UNO 板。我想用它向服务器发送数据,但问题是我无法编写设置命令。

我究竟做错了什么?这不是用于 sim800l 的正确命令吗?我试过不同的命令,输出是一样的。

这是 Arduino IDE 控制台的输出:

0 投票
1 回答
336 浏览

http - Arduino UNO - SoftwareSerial 限制太低

我正在使用带有调制解调器 sim800l 的 arduino UNO 板。我想用它来向服务器发送数据,但问题是我的 url 被截断了。我试图在包含它之前和之后覆盖这个库的默认限制,但我遇到了同样的问题。

我的网址如下所示:

在连续剧中,我看到 url 被截断了 60-64 个字符。有什么解决办法吗?

0 投票
1 回答
1509 浏览

arduino - 程序正在执行,但 AT 命令未显示在串行监视器中

我的目的是使用GSM SIM800L 核心板和 Arduino UNO 发送短信。这是代码

这是串行监视器输出

但是,当我运行代码时,我的手机收到了短信,但在串口监视器中看不到任何 AT 命令。它只输出 "Initializing..."。所有的连接和波特率都可以,检查了一千次。已将 2A、4.4v 电源连接到 GSM 核心板并缩短电线,并确保没有坏焊点。GSM 模块红色 LED 每 3 秒闪烁一次。再一次,我收到短信到我的手机。所以这意味着问题出在 Arduino 串行监视器或代码上,而不是硬件上。我需要查看 AT 命令,因为我需要通过串行监视器输入更多命令,我尝试输入并单击发送,但它没有显示任何内容。您能提供的任何帮助将不胜感激。

0 投票
0 回答
1227 浏览

python - Sim808 与 Mqtt (AT+CIPSEND)

我正在使用 Sim808 GPS 模块发送经纬度并使用 MQTT 将其发送给订阅者。我按照教程从这里通过 Sim808 发布 MQTT 消息,但仍然没有运气。这是我的示例代码:

main(我创建了虚拟数据hex-byte以查看它是否有效):

和输出:

Subscriber的一侧只显示这个,但来自Publisher的消息没有出现(Connected with result code 0在消息发布后出现):

有熟悉这个案子的吗?任何帮助,将不胜感激。谢谢你。

0 投票
0 回答
204 浏览

i2c - 有没有办法修改 SparkFun_MS5803_I2C .cpp /.h 以允许用户定义(非默认)I2C SDA/SCL 引脚与 TwoWire 一起使用?

我正在使用带有 GPRS / MS5803-14BA / BME280 / SH1106 OLED 的 ESP32-SIM800L

调制解调器和传感器设置(使用 TwoWire )如下(仅相关摘录):

调制解调器、BME280 和 SH1106 OLED 都已找到并且可以正常工作,但是 MS5803 没有被拾取。

没有 I2C 地址冲突(分别为 0x76、0x33、0x77)。

BME280 和 SH1106 OL 的对象创建或初始化允许显式 SDA/SCL 引脚分配:

但是 MS5803 对象的创建及其初始化对此没有任何规定:

尝试在这些表达式中输入明确的管脚编号或对其 TwoWire 对象的引用会产生错误警告,指出没有此类函数允许此类分配。

基本上,如果不使用调制解调器、BME280 和 SH1106 OLED,并且不需要或调用 TwoWire,那么 MS5803 使用默认 I2C 引脚(对于我的 ESP32Sim800L 是 21/22)无需引脚分配即可完美运行。试图将传感器放在第二条 I2C 线上的问题似乎有问题。

谁能解释如何将 MS5803 与 TwoWire 一起使用?在 GitHub 上查看 Sparkfun .h 和 .cpp 后,我看不到一个或如何显式设置 SDA/SCL 引脚。有没有办法。任何指针都非常感谢。

0 投票
1 回答
3571 浏览

at-command - SIM800L:AT+CIICR 总是进入 PDP DEACT 状态

0 投票
1 回答
400 浏览

string - Sim800l 将输入保存为字符串

我正在尝试将收到的短信保存到字符串中,但它不起作用。这是我的错误信息:

recive_0_1:50:28: 错误:从 'int' 到 'char ' [-fpermissive] 的无效转换退出状态 1 从 'int' 到 'char ' [-fpermissive] 的无效转换此报告将包含“显示详细输出”的更多信息在文件 -> 首选项中启用“编译期间”选项。**

0 投票
1 回答
54 浏览

arduino - SIM 800L 无法连接到

我正在尝试使用 sim800l 模块发送一些数据。

我正在使用 SoftwareSerial 库并将 RX 和 TX 引脚连接到数字引脚 10 和 11。我还尝试了引脚 2 和 3。

该模块连接到 5v 电源,连接到 Arduino 板的唯一引脚是 RX 和 TX。该模块已连接到网络。这是我正在使用的代码:

问题是串行监视器中没有打印任何内容。

我使用该模块使用 FONA 库发送短信并且它有效。

请帮忙!