GSM/GPRS-Modem Neoway M590E

Zur privaten Evaluation, ob sich ein GPRS-Modul für gerade einmal 1,60 EUR überhaupt verwenden läßt, hatten wir vor kurzem eine Handvoll Neoway M590-Bausätze auf eb*y erworben, die dort von vielen Verkäufern erhältlich sind (Herstellerlink , Hardware design manual , AT command set ).
Für diesen Preis kann man weder SSL noch TLS oder auch nicht voice erwarten. Die Module funktionieren mit z.B. den 5V einer USB (die auch 2A während der GSM bursts nachliefern können muß), die Digitalpins möchten 3V3 sehen. Da das Modem maximal 4,5V will, haben sie auf den 0,6mm dicken Platinen eine Si-Diode vorgesehen, die für die 500mV Abfall sorgt … Chinese style halt.

Für Batterie-/Akku-Betrieb wichtig: mit AT+CFUN=0 kann das Modul fast abgeschaltet werden (ca. 2mA sleep), mit dem BOOT-pin an einem GPIO kann man es wieder anschalten.

Die Modems, der SIM-Kartenhalter sowie der Tantal-Kondensator kamen recycled, also abgelötet von anderen Baugruppen… Einige Module haben die uFL-Buchse aufgelötet, die meisten nicht - wie das im Bild:

einige wichtige AT-Befehle des M590E:

ATI
AT+GETVERS
AT+CGMM?
  modem info/ver

AT+IPR?
  get baudrate

AT+IPR=115200
  set baudrate to 115200

ATE1
  enable local echo

AT&V
  show stored/active profile

AT&W
  save config

AT+CPAS
  module status

AT+CSQ
+CSQ:: <rssi>,<ber>
  reception indication

AT+CPIN?
AT+CPIN="4711"
  pin stuff

AT+CGSN
  IMEI (modem)

AT+CIMI
  IMSI (sim)

AT+CCID
  ICCID (sim)

AT+CREG?
  registration status 

AT+COPS?
  network selection

AT+CNUM
  display own number

AT+CSCS?
  display TE charset

AT+CSCS="GSM"
  set TE charset to GSM03.38.6.2.1 default alphabet

AT+CUSD?
  display USSD status

AT+CUSD=1
  display incoming USSD results

AT+CUSD=1,"*101#",15
  (example) display USSD result for <your mobile provider> credits

AT+CFUN=0
     set modem to sleep

Das Umschalten des TE-Zeichensatzes auf GSM mit AT+CSCS ist wichtig, sonst geht einiges schief. - Die USSD codes sind je nach provider verschieden, man konsultiere dafür z.B.

Als Software-Stack werden wir uns zunächst dies ansehen:

aber auch diese lib sieht erstmal gut aus (weniger Spaghetti, dafür kaum abstrahiert, weil nur für einen Modem-Typ) :

weiteres folgt…

1 Like

Wäre schön, wenn wir hier bei den sehr günsitigen SIM-Modulen gemeinsam weiter entwickeln könnten. Mein Vorschlag wäre allerdings ein anderes Modul und zwar ein SIM800 als gemeinsame Basis zu verwenden, die gibt es auch schon für um die 5 EUR, z.B. das hier bei ebay. Man könnte dann die recht ausgereifte GPRSBee -Lib von SODAQ verwenden und wäre auch mit der elaborierten GPRSBee-Hardware zumindest halbwegs software-kompatibel.

Natürlich spielt schon das SIM800 in einer anderen Liga als das M590, aber voice-Funktionalität und FM-Dudelradio brauche zumindest ich nicht bei den Bienen.

@clemens schrieb (auf der mailing-Liste)

Mist! Ich dachte ich mache “mal schnell” mein setup fit für MQTT fit, aber nun das hier:

http://forum.sodaq.com/t/mqtt-via-gprsbee-and-a-seeeduino-stalker-board/868/2
:(

Deshalb schaue Dir doch mal die oben erwähnte TinyGSM-lib an; auch Dein Modem ist dabei:

Supported modem models

SIMCom SIM800 series (SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868)
SIMCom SIM900 series (SIM900A, SIM900D, SIM908, SIM968)
AI-Thinker A6, A6C, A7
Neoway M590
ESP8266 (AT commands interface, similar to GSM modems)

Supported modules

GPRSbee
Microduino GSM
Adafruit FONA (Mini Cellular GSM Breakout)
Adafruit FONA 800/808 Shield
... other modules based on supported modems

Als Beispiel zeigt er auch die Einbindung von Nick O’Leary’s pubsub-client, dem ‘Urvater’ vieler MQTT-Implementationen für Arduino und Verwandte:

1 Like

Die TinyGSM Bibliothek ist ja wirklich stark, vor allem wenn damit hardwareübergreifend MQTT-over-GSM funktioniert. Vielen Dank dafür!