< >
Home » Arduino库教程 » Arduino库教程-GSM-Test Web Server

Arduino库教程-GSM-Test Web Server

GSM Test Web Server

  • 这个程序在GSM shield上创建一个Web服务器来接收传入连接。一些网络供应商只允许来自他们内部的网络请求。你需要检查你的网络供应商,以确保您的SIM卡可以接收HTTP请求。

硬件要求

  • Arduino or Genuino Board
  • Arduino + Telefonica GSM/GPRS Shield
  • 启用数据的SIM 卡

电路

请输入图片描述
这是在一块Arduino或者Genuino开发板上的Arduino GSM Shield图

样例代码

  • 完整程序如下:
/*
  Basic Web Server

 A simple web server that replies with nothing, but prints the client's request
 and the server IP address.

 Circuit:
 * GSM shield attached

 created
 by David Cuartielles
 modified 21 Nov 2012
 by Tom Igoe

 http://www.arduino.cc/en/Tutorial/GSMToolsTestWebServer

 This example code is part of the public domain
 */
#include <GSM.h>

// PIN Number
#define PINNUMBER ""

// APN data
#define GPRS_APN       "GPRS_APN" // replace your GPRS APN
#define GPRS_LOGIN     "login"    // replace with your GPRS login
#define GPRS_PASSWORD  "password" // replace with your GPRS password


// initialize the library instance
GPRS gprs;
GSM gsmAccess;     // include a 'true' parameter for debug enabled
GSMServer server(80); // port 80 (http default)

// timeout
const unsigned long __TIMEOUT__ = 10 * 1000;

void setup() {
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.println("starting,..");
  // connection state
  boolean connected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while (!connected) {
    if ((gsmAccess.begin(PINNUMBER) == GSM_READY) &
        (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY)) {
      connected = true;
    } else {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("Connected to GPRS network");

  // start server
  server.begin();

  //Get IP.
  IPAddress LocalIP = gprs.getIPAddress();
  Serial.println("Server IP address=");
  Serial.println(LocalIP);
}

void loop() {
  GSMClient client = server.available();

  if (client) {
    if (client.available()) {
      Serial.write(client.read());
    }
  }

}

[Get Code]
更多

  • Arduino GSM Shield – 完整的产品描述。
  • Getting started with the GSM Shield – 在几分钟内启动所有东西
  • GSM library – GSM 库的参考网页
  • GSMServer
  • ready()
  • beginWrite()
  • write()
  • endWrite()
  • read()
  • available()
  • stop()
  • GSMToolsTestGPRS - 试图用提供的APN和证书来通过GPRS访问互联网 。
  • GSMToolsGsmScanNetworks - 扫描可用网络和打印关于IMEI和SIM卡号码的信息。
  • GSMToolsPinManagement - 如何更改或删除引脚数。
  • GSMToolsTestModem - 测试看看GSM shield的调制解调器是否正确工作。
  • GSMToolsTestWebServer - 一个简单的Web服务器,没有任何答复,只打印客户端的请求和服务器IP地址。
  • GSMExamplesMakeVoiceCall - 如何用麦克风和扬声器进行语音通话。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: arduino库教程, arduino test web server