M5Stack の SIM7080G-CAT-M-NB-IOT-UNIT で pivo を使う

 128kbps だったら無料、という 0sim を彷彿させるSIMカードau から登場。


 3000円ほどで売られている SIM7080G-CAT-M-NB-IOT-UNIT に挿してみたら、あっさり動作してしまったのでソースとか貼っておく。
SIM7080G CAT-M/NB-IoT Unitshop.m5stack.com

http://dl.ftrans.etr.jp/?1fa95246839d4cf39a21b4367cf32091af1be056

#define TINY_GSM_MODEM_SIM7080
#define TINY_GSM_RX_BUFFER 650  // なくても動いたけど、あったほうが安定する気がする
#define TINY_GSM_YIELD() { delay(2); } // なくても動いたけど、あったほうが安定する気がする
#include <TinyGsmClient.h>

#define apn "povo.jp"
#define server "api.wakwak-koba.jp"
#define port 80
#define url "/test/"

TinyGsm        modem(Serial1);
TinyGsmClient  client(modem);

void setup() {
  Serial.begin(115200);
  Serial1.begin(9600, SERIAL_8N1, 32, 26);  // ATOM LITE

  delay(1000);
  Serial.println("restart modem");
  modem.restart();

  Serial.println("wait for network connected ");
  modem.gprsConnect(apn, "", ""); // 不要かも(初回だけ必要かも)
  if (modem.waitForNetwork() && modem.isNetworkConnected()) {
    Serial.print("connecting to ");
    Serial.println(apn);
    modem.gprsConnect(apn, "", "");
    if(modem.isGprsConnected()) {
      Serial.print("connecting to ");
      Serial.println(server);
      if (client.connect(server, port)) {
        Serial.print("get ");
        Serial.println(url);
        client.println();
        
        client.printf("GET %s HTTP/1.1\r\n", url);
        client.printf("Host: %s\r\n", server);
        client.print("Connection: close\r\n\r\n");
        client.println();

        while (client.connected())
          while (client.available())
            Serial.print((char)client.read());
          
        Serial.println();
        client.stop();
        modem.gprsDisconnect();
      }
    }
  }
    
  Serial.println("disconnected");
}

void loop() {
  delay(1);
}