首先感谢

  原文作者:https://blog.csdn.net/weixin_44481398/article/details/86596933#commentBox

  找了好久没有找到,使用他的代码一次就可以。

  我的教程可能不够明了,建议不明白的地方查看原文链接。

追加:

  1. 3.3V好像信号不好,接上5v
  2. 如果命令的时候有时候没有及时返回,等待一会。如果还是没有反应,建议重新插拔一下。
  3. 我的信号很低,不清楚什么原因 0-12之间
  4. 如果AT命令不带=号,如测试信号强度如:AT+CSQ ,如果提示错误则可在命令后加 ? ,如 AT+CSQ? 就可以显示想要查看的配置信息。(很重要ERROR看这里)
  5. HTTPS请求获取不到

正文开始

先上图片(不一样的SIM800C):

 接线:

 整体:

 Arduino:

 说明:

  1. SIM800c Sim卡那面为反面,芯片那一面为正面. 针脚为下
  2. 下方的6个针孔(只需用到4个)依次为 3.3V,GND,RX,TX
  3. Arduino 使用到 3.3V,GND,10(RX),11(TX)

接线:

  1. Sim800c 3.3V -> Arduino 3.3V
  2. Sim800c GND -> Arduino GND
  3. Sim800c RX -> Arduino TX
  4. Sim800c TX -> Arduino RX

代码

#include <SoftwareSerial.h>        // 采用软件的串口

SoftwareSerial SIM800C(, );     // Serial RX, TX
boolean bState, bOldState;
int incomingByte = ; // for incoming serial data void setup() {
// put your setup code here, to run once:
// Open serial communications and wait for port to open
pinMode(, OUTPUT);
Serial.begin();
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
} Serial.println("Good Morning, my old friend!"); SIM800C.begin();
SIM800C.println("AT+CMGF=1"); } void loop() {
// put your main code here, to run repeatedly:
if (SIM800C.available()) {
Serial.write(SIM800C.read());
digitalWrite(, HIGH);// 如果通信成功,则把Arduino上面的L13 LED 灯打开
}
if (Serial.available()) {
SIM800C.write(Serial.read());
// incomingByte = Serial.read();
// Serial.print("I received: ");
// Serial.println(incomingByte, DEC);
// digitalWrite(13, !digitalRead(13));
} }

 测试:

  

  

  在这里我们发送了一个AT命令,SIM800C返回一个Ok。再发送一个AT+GSV,返回:
  13:33:20.943 -> SIMCOM_Ltd
  13:33:20.943 -> SIMCOM_SIM800C
  13:33:20.979 -> Revision:1418B06SIM800C24
  通讯成功。任务初步完成。

备注:

  AT命令可以百度查找,如:https://blog.csdn.net/bihaiqiyuan/article/details/17595327,https://blog.csdn.net/wzt_007/article/details/78557268。

  只要根据教程如输入AT 返回OK即表示连线正确和程序正常运行。命令格式: AT, AT+GSV等

 推荐:

  1. SIM800使用AT进行GPRS建立TCP远程连接 https://blog.csdn.net/wzt_007/article/details/78557268

  2. SIM800C实现GPRS上网的AT指令 https://blog.csdn.net/zyxhangiian123456789/article/details/79490793

  3. SIM800A模块进行HTTP的GET和POST操作 https://blog.csdn.net/qq_26602023/article/details/72898753 (亲测可行)(推荐)(如果不可以请按照推荐6进行排查)(备用地址:SIM800A模块进行HTTP的GET和POST操作)

  4. AT+CSQ (查看信号强度详解) http://www.360doc.com/content/16/1228/17/18578054_618460530.shtml
  5. SIM800C通讯模块调试(一) https://blog.csdn.net/cqdawnxsg/article/details/80680270(对于命令解析比较全面)

  6. AT+CREG?出现问题+CREG: 0,0/+CREG: 0,2等问题解决 https://blog.csdn.net/heroybc/article/details/90108113 (检查信号,手机卡是否正确安装使用)

Arduino Nano与SIM800C 通信的更多相关文章

  1. 使用Arduino Nano驱动Lora模块

    使用Arduino Nano驱动Lora模块 为什么选用Lora 射频通信芯片有很多种,但是一般在同样功耗下,距离没有Lora远;同等范围下,没有Lora节能. Lora通信只适用于低速率,高延时的场 ...

  2. Arduino Nano + WIZ550io = 简易上网

    我爱Arduino Nano – 这是一个非常好外形小巧却功能齐全的Arduino Uno.然而.当我去将它连接到互联网,全部的干净利落小巧也消失在大尺寸的以太网盾底下了. 只是,我近期发现了一个更好 ...

  3. Arduino Nano 读取ADS1100实例

    利用Arduino Nano的wire库可以很方便对ADS1100进行设置和读取转换后的数据. /* * Arduino reads ADS1100 I2C 16bit diff ADC */ /* ...

  4. Arduino nano的bootloader文件烧录

    1.买了了nano还没用就用 avrisp烧录器给烧了其他程序,仅仅是的avr单片机了:2.将他恢复成Arduino nano吧. 在Arduino软件安装目录中的hardware\arduino中. ...

  5. Arduino蓝牙模块实现通信

    蓝牙参数特点 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有 ...

  6. Edison与Arduino通过USB对接通信

    虽然Edison本身就装在一块Arduino扩展板上,但当要接的传感器太多了的时候一个扩展板也不够用了.因此需要再用一Arduino板扩展功能.而两者需要通信才能达到一个整体的效果,因此这里介绍如何用 ...

  7. PMS5003ST+Arduino Nano OLED屏显示

    整合OLED显示和PMS5003报数 #include <Arduino.h> #include <pms.h> /////////////////////////////// ...

  8. Arduino学习笔记⑧ 红外通信

    1.前言     红外通信是一种利用红外光编码进行数据传输的无线通信方式,在目前来说是使用非常广泛的.生活中常见电视遥控器,空调遥控器,DVD遥控器(现在估计是老古董了),均使用红外线遥控.使用红外线 ...

  9. 使用C#应用程序与Arduino开发板进行通信

    在本文中,我们将一个Arduino Pro Mini开发板连接到PC,并且使用C# Windows应用程序与其进行通信. 将硬件连接到PC是非常有利的,不仅是因为你可以发送命令以及监控状态,还可以实时 ...

随机推荐

  1. 1.分布式配置中心 spring-cloud-config

    pring Cloud 版本:2.1.0.RELEASE 一.server端 1.maven依赖 <dependency> <groupId>org.springframewo ...

  2. Android自定义权限与使用

    1. 如何自定义权限 Android允许我们使用permission标签,在Manifest文件中定义属于自己的权限,一个例子如下, <?xml version="1.0" ...

  3. vscode通过服务器打开html文件

    之前讲到,安装open in brower插件之后可以直接右键选择使用浏览器渲染html文件,但是,这种打开方式是“本地打开方式” 那么我们怎么以服务的方式运行html呢: 1.下载插件:Live S ...

  4. Java同步数据结构之ArrayBlockingQueue

    引言 作为BlockingQueue最常见的实现类之一,ArrayBlockingQueue是通过数组实现的FIFO先进先出有界阻塞队列,它的大小在实例被初始化的时候就被固定了,不能更改.该类支持一个 ...

  5. Java注解(Annotation)详解

    转: Java注解(Annotation)详解 幻海流心 2018.05.23 15:20 字数 1775 阅读 380评论 0喜欢 1 Java注解(Annotation)详解 1.Annotati ...

  6. go 语言 interface{} 的易错点

    一,interface 介绍 如果说 goroutine 和 channel 是 go 语言并发的两大基石,那 interface 就是 go 语言类型抽象的关键.在实际项目中,几乎所有的数据结构最底 ...

  7. coreDNS域名无法解析问题

    问题: 在pod内无法解析域名 解决: busybox的镜像有bug,导致ping可以解析,但是nslookup无法解析 kubectl run -it --rm --image=infoblox/d ...

  8. jenkins打开空白页

    1.登录jenkins报错提示hudson.security.AccessDeniedException 解决: 修改Jenkins_home/config.xml文件里面的一段内容改成如下 < ...

  9. koa2数据请求相关问题解决方案汇总

    前端请求后端数据,难免会遇到如下几个问题: 1⃣️跨域 2⃣️post/get,其中post请求的方式又分为多种 3⃣️后端数据返回格式(上一篇已经有讨论过,这里不再赘述) 用koa2的话,如何解决这 ...

  10. 使用青花瓷(charles)抓包

    官网下载charles: https://www.charlesproxy.com/download/ MAC & Apple 打开青花瓷charles 找到本地IP:青花瓷里面Help-&g ...