风筝
发表于: 2022-4-19 17:45:36 | 显示全部楼层

在本篇文章中,我们将学习如何使用A9G低功耗GPRS+GPS模块和Arduino开发板实现互联网GPRS连接。我们将使用AT命令将A9G模块连接到互联网。如之前的帖子所述,A9G是用于物联网应用的低功耗GPRS+GPS 模块,因此我们将使用该模块进行简单的物联网项目。


在没有WIFI的地方,蜂窝物联网是互联网连接的首选。我们将DHT11湿度温度传感器与Maduino Zero A9G开发板板连接,然后,将读取温度和湿度数据上传到Thingspeak服务器。


用于GPRS互联网连接的 AT 命令

以下是通过TCP协议进行GPRS连接和数据传输所需的几个AT命令列表。

Maduino-Zero-A9G-GPS-Tracker.jpg


  1. 1. AT+CREG?
复制代码

该命令用于检查我们是否已注册到网络。如果它回应1,那么这意味着我们已注册网络并且可以继续操作。


  1. 2. AT+CGATT
复制代码

此命令类似于CREG命令。如果其响应为 1,则我们已连接到网络。


  1. 3. AT+CIPSTATUS
复制代码

该命令用于检查IP是否连接。如果它的响应是“INITIAL”,则表示我们已连接。如果它显示其他内容,则说明存在问题。


  1. 4. AT+CGDCONT=1
复制代码

此命令用于连接到互联网。在此命令中,我们还需要指定APN和IP,格式为 AT+CGDCONT=1, “IP”, “www”


  1. 5. AT+HTTPGET
复制代码

此命令用于向服务器链接发送HTTP获取请求。其格式为 AT+HTTPGET=”服务器链接”。


  1. 6. AT+CIPMODE
复制代码

用于选择TCP/IP应用模式。 ‘0’是非透明模式,‘1’是透明模式。


  1. 7. AT+CIPACK
复制代码

该命令检查数据传输的状态。它将返回发送的数据量、服务器确认的数据和服务器未确认的数据。


从DHT11传感器获取温度湿度数据

在使用A9G GPRS互联网连接将湿度温度传感器数据发送到Thingspeak服务器之前,我们需要了解如何从DHT11传感器检索数据并将其显示在OLED显示器上。


Maduino A9G开发板有一个用于0.96寸I2C OLED显示屏的插座,我们可以直接连接OLED显示器。DHT11传感器有3个引脚:VCC、GND和Signal。将VCC连接到3.3V,将GND连接到GND,并将Signal连接到Maduino Zero A9G开发板的D3。

A9G-GPRS-Internet-Thingspeak.jpg


现在硬件设置完成后,您可以将以下库添加到Arduino库文件夹。

1. Adafruit GFX库:https://github.com/adafruit/Adafruit-GFX-Library

2. SSD130 OLED库:https://github.com/adafruit/Adafruit_SSD1306

3. DHT11库:https://github.com/adafruit/DHT-sensor-library


以下是读取DHT11传感器的完整代码,将代码上传到Maduino Zero开发板: dht11.rar (1.75 KB, 下载次数: 8)


上传代码后,现在您可以在OLED显示屏上看到DHT11的温湿度数据。

Maduino-Zero-A9G-OLED-DHT11.jpg


设置Thingspeak服务器

现在我们需要设置Thingspeak帐户。要设置Thingspeak,请按照以下步骤操作:

第1步:访问 https://thingspeak.com/ 并通过填写详细信息创建您的帐户。

Thngspk-setup.jpg


第2步:单击“Channel”创建一个新频道并填写以下详细信息,如下图所示。

Thingspeak-Setup.jpg


第3步:点击API Key,你会看到“Write API Key”。复制 API 密钥。这非常重要,在代码部分中将需要它。

API-KEY.jpg


第4步:单击“Private View”并根据需要自定义显示窗口。


以上就是 Thingspeak 设置部分的全部内容。现在让我们转到编程部分。


使用蜂窝物联网将DHT11数据发送到Thingspeak

现在让我们使用上面讨论的AT命令将DHT11温湿度数据发送到Thingspeak服务器。

  1. //**********api write key******************
  2. const String apiKey="J64BYZU52VGHMF2Q";
复制代码

在上面的代码中,更改API密钥。

  1. sendData("AT+CGDCONT=1,"IP","cmwap"", 3000, DEBUG);
复制代码

在代码中更改APN。每个蜂窝网络提供商都有自己的 APN。例如,中国移动的APN是“cmwap”。

  1. //sendData("AT+CIPSTART="TCP","www.yiboard.com",80", 2000, DEBUG);//
复制代码

此代码用于将数据发送到Thingspeak服务器。如果您想使用TCP连接将数据发送到任何服务器,请取消注释此行并删除Thinspeak服务器代码。


以下是用过A9G实现GPRS互联网连接的完整代码: a9g internet.rar (1.54 KB, 下载次数: 10)


将代码上传到Maduino Zero开发板后,打开串口监控器,它会自动开始显示执行的AT命令操作消息。

Capture2.jpg


现在打开Thingspeak服务器的Private View试图,观察记录的湿度温度数据。

Capture3.jpg


以上就是使用A9G模块实现互联网GPRS连接的全部内容。如果有任何疑问,请随时在本帖下面回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-20 16:59 , Processed in 0.133960 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表