Gelöst: SMS SIM7600

Hallo

Für das M5stack core 2 hab ich ein das Modul LTE dazugekauft. Das beispiel funktioniert auch. Aber eine SMS senden, keine Chance!

Serial2:
Auf dem lte Modul gibt es micro Switches die RXD und TXD auf pin 16,17 umzuleiten, das habe ich auch so gemacht. im code habe steht aber weiterhin 13,14 .

im beispiel von oben, zeile 315, Pin 13,14 verwenden →

15:16:29.686 -> OK
15:16:29.719 -> AT+CREG?
15:16:30.746 -> AT+CREG?

15:16:30.746 -> +CREG: 0,1
15:16:30.746 -> 
15:16:30.746 -> OK
15:16:31.276 -> AT+CSQ
15:16:32.304 -> AT+CSQ

15:16:32.304 -> +CSQ: 20,99
15:16:32.304 -> 
15:16:32.304 -> OK
15:16:32.337 -> AT+CREG?
15:16:33.364 -> AT+CREG?

15:16:33.364 -> +CREG: 0,1
15:16:33.364 -> 
15:16:33.364 -> OK
15:16:33.895 -> AT+CSQ
15:16:34.891 -> AT+CSQ

15:16:34.891 -> +CSQ: 20,99
15:16:34.891 -> 
15:16:34.891 -> OK
15:16:34.924 -> AT+CREG?
15:16:35.952 -> AT+CREG?

15:16:35.952 -> +CREG: 0,1
15:16:35.952 ->

im code verwenden Pin 13,14 →

15:21:04.095 -> Rebooting...
15:21:04.128 -> ets Jul 29 2019 12:21:46
15:21:04.128 -> 
15:21:04.128 -> rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
15:21:04.128 -> configsip: 0, SPIWP:0xee
15:21:04.128 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
15:21:04.128 -> mode:DIO, clock div:1
15:21:04.128 -> load:0x3fff0018,len:4
15:21:04.128 -> load:0x3fff001c,len:1044
15:21:04.128 -> load:0x40078000,len:8896
15:21:04.128 -> load:0x40080400,len:5816
15:21:04.128 -> entry 0x400806ac

Spannung:
Das LTE Modul hat einen eigenen Anschluss für ein Netzteil. Das Beispiel ruft mit den 5v vom pc bei mir an, deshalb lasse ich es dabei.

Befehle:
In diesem [file](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/module/SIM7500_SIM7600 Series_AT Command Manual _V1.10.pdf) steht, auf der Seite 175 - 176

AT+CMGS="13012832788"<CR>(TEXT MODE)
> ABCD<ctrl-Z/ESC>

das dann in die funktion AddMsg (seite 352 ) eingetragen, funktioniert nur nicht.

Hat jemand eine idee was man noch probieren könnte ?

Spannung:
Das LTE Modul hat einen eigenen Anschluss für ein Netzteil. Das Beispiel ruft mit den 5v vom pc bei mir an, deshalb lasse ich es dabei.

Mittlerweile auf 12 V geändert. Auf dem Modul befindet sich ein Schalter : 5V -> 12V

Genschaft.

Verwendet:
GitHub - vshymanskyy/TinyGSM: A small Arduino library for GSM modules, that just works dort gibt es ein Beispiel mit Namen “AllFunctions”. Das etwas gekürzt →

#define TINY_GSM_MODEM_SIM7600


// Set serial for debug console (to the Serial Monitor, default speed 115200)
#define SerialMon Serial
#define SerialAT Serial2

// Define the serial console for debug prints, if needed
#define TINY_GSM_DEBUG SerialMon

// Range to attempt to autobaud
#define GSM_AUTOBAUD_MIN 115200
#define GSM_AUTOBAUD_MAX 115200

// set GSM PIN, if any
#define GSM_PIN "0000"

// Set phone numbers, if you want to test SMS and Calls
#define SMS_TARGET  "+380xxxxxxxxx"
#include <TinyGsmClient.h>

#if TINY_GSM_TEST_GPRS && not defined TINY_GSM_MODEM_HAS_GPRS
#undef TINY_GSM_TEST_GPRS
#undef TINY_GSM_TEST_WIFI
#define TINY_GSM_TEST_GPRS false
#define TINY_GSM_TEST_WIFI true
#endif
#if TINY_GSM_TEST_WIFI && not defined TINY_GSM_MODEM_HAS_WIFI
#undef TINY_GSM_USE_GPRS
#undef TINY_GSM_USE_WIFI
#define TINY_GSM_USE_GPRS true
#define TINY_GSM_USE_WIFI false
#endif

#ifdef DUMP_AT_COMMANDS
#include <StreamDebugger.h>
StreamDebugger debugger(SerialAT, SerialMon);
TinyGsm modem(debugger);
#else
TinyGsm modem(SerialAT);
#endif


void setup() {
  // Set console baud rate
  SerialMon.begin(115200);
  delay(10);

  pinMode(5, OUTPUT);
  DBG("Pin HIGH");
  digitalWrite(5, HIGH);
  delay(5000);
  DBG("Pin LOW");
  digitalWrite(5, LOW);
  delay(1300);
  digitalWrite(5, HIGH);
  DBG("Pin HIGH");

  DBG("Wait...");
  delay(6000);

  TinyGsmAutoBaud(SerialAT, GSM_AUTOBAUD_MIN, GSM_AUTOBAUD_MAX);
  // SerialAT.begin(9600);

}

void loop() {
  DBG("Initializing modem...");
  if (!modem.restart()) {
    DBG("Failed to restart modem, delaying 10s and retrying");
  }

  if (GSM_PIN && modem.getSimStatus() != 3) {
    modem.simUnlock(GSM_PIN);
  }

  String name = modem.getModemName();
  DBG("Modem Name:", name);

  String modemInfo = modem.getModemInfo();
  DBG("Modem Info:", modemInfo);

  String ussd_balance = modem.sendUSSD("*130#");
  DBG("Balance (USSD):", ussd_balance);

  Serial.println("sms wird gesendet");
  bool res = modem.sendSMS(SMS_TARGET, String("Hello from "));
  DBG("SMS:", res ? "OK" : "fail");
  while(true);

}

Der Code ist so zugeschnitten das er auf mein setting passt.

Satzende:
Mittlerweile auf 12 V geändert. Auf dem Modul befindet sich ein Schalter : 5V -> 12V

Prima, dass du es selbst gefunden hast und danke für deine Rückmeldung.

Nur was du mit "Schalter: 5v -> 12V" meinst, ist vermutlich kein Schalter, sondern ein Spannungsregler.

Berichtige mich gerne, wenn ich falsch liege.

Es scheint wirklich ein Schalter zu sein:

Danke...alles klar, dann ist da tatsächlich ein Schalter für die Spannung.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.