128kbps だったら無料、という 0sim を彷彿させるSIMカードが au から登場。
3000円ほどで売られている SIM7080G-CAT-M-NB-IOT-UNIT に挿してみたら、あっさり動作してしまったのでソースとか貼っておく。
SIM7080G CAT-M/NB-IoT Unitshop.m5stack.com
- Arduino-ESP32
- TinyGSM
#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); }