Suche Hilfe beim proggen von SMS versenden via GSM Modul

Bernd Langner

Moderator
Teammitglied
Hallo Walter

Danke für die Info habe ich mir mitlerweile auch erarbeitet per Buch und Tutorial
Jetzt muß ich nur sehen wie ich das alles zusammene bekomme.

Gruß Bernd
 

wno158

User
Hallo Bernd,
sollte kein Problem sein; hier sind ja ein paar Arduino-Künstler unterwegs.
Bei Bedarf an Details würde ich auch gerne auf das Spezialforum verweisen, da gibt es an Mitforisten alles vom philosophierenden Lehrmeister bis zur Codefabrik.
Habe den Thread vorhin nur überflogen, der Code ist gespickt mit Aufrufen von delay() - was normalerweise nicht günstig ist. Schaue ich mir bei Gelegenheit nochmal genauer an.
 

Bernd Langner

Moderator
Teammitglied
Hallo Walter

Da bin ich auch angemeldet.
Die Delays benötigst du damit das GSM Modul die SMS verschicken kann
Da gibt es kein Puffer dazwischen das GSM Shield ist nur seriell angebunden.

Das Wahlgerät was vorher diesen Service übernommen hat
wartete immer bis jemand abgehoben hat am Telefon danach würde erst weitergewählt.

Beim ausprobieren hat das auch keine Probleme bereitet

Gruß Bernd
 

wno158

User
Moin Bernd,
weiß jetzt nicht ob Du das "ich muß das aus schnipseln irendwie zusammensetzen." schon fertig hast.
Falls ja: Anbei dann zur Ansicht meine Überarbeitung auf Deiner Basis aus #19. Ansonsten probier es halt mal wenn Du magst.
Kompiliert und getestet mit einem Uno ohne SMS Shield (Ausgabe umgeleitet) und einem Kabel gegen GND als Eingangstrigger. Bei mir geht's :)

Änderungen:
- Digital (nach LOW) auf Eingang A1; entprellt mit 50ms
- alle "String" durch "const char*" ersetzt (bin kein Freund der String-Klasse auf dem Arduino)
- Gemeinsamer Nachrichtentext für alle Empfänger
- Empfänger in einem Array zusammengefasst (statt f1001...f1009)
- Sendefunktion für alle (ganz am Ende), dadurch in loop() nur noch Behandlung des Alarmereignisses - und Aufruf der Funktion.

Ist nicht ganz minimal-invasiv, aber Deine Grundstruktur ist erhalten geblieben.
 

Anhänge

  • RCN-sketch_jan22a.ino.txt
    3,3 KB · Aufrufe: 84

Bernd Langner

Moderator
Teammitglied
Morgen Walter
Habe den Sketch gerade auf den Uno geladen und das GSm Shield angekoppelt.
Das läuft prima man kann ja alles im seriellen Monitor überwachen und die Kollegen
haben alle eien SMS bekommen.

Ich muß jetzt noch den Pin D9 aktivieren damit das GSM Shield sich einbucht.
Ich habe dazu in einer Beschreibung etwas gefunden siehe Anhang und Software trigger
Ich denke das muß im Abschnitt Void Setup eingefügt werden.
Meine Problem dazu ist wie wird das geprüft das erst die SMS gesendet werden
wenn das Shield sich eingebucht hat. Manuell über den Taster dauert das 1-2 Sek.

Gruß Bernd
 

Anhänge

  • Send Receive SMS.docx
    1 MB · Aufrufe: 76

wno158

User
Moin Bernd,
prima!

Was Power angeht, hätte ich Fragen:
Musstest Du das "Telefon" über den Taster (Seite 11, oberes Bild) einschalten oder ist es von alleine hochgefahren?
Ist der auf derselben Seite unten beschriebene R13 offen oder schon gebrückt? Das Bild zeigt ihn offen, der Text sagt "solder jumper". Nach Schaltplan bei AZ müsste der gebrückt sein, um eine Verbindung zu D9 herstellen zu können. Ist fummelig, wenn Du das reversibel machen willst (Stiftleiste für Jumper oder zwei Kabelenden mit Steckverbindung).
Ich frage, weil die Beschreibung zu der Funktion SIM900power() nicht vollständig ist - und sie auch im ganzen Dokument nicht weiter genutzt wird. Wenn der Code den Zustand jeweils invertiert, muss der Sketch den initialen Zustand nach Einschalten der Spannung für den Arduino und das Shield berücksichtigen.

Die Prüfung, ob eingebucht ist, sollte über AT+CREG? zu erledigen sein. Das kannst Du mit dem Sketch "Testing AT-Commands" (Seite 12/13) ausprobieren und die Rückmeldung bitte bekanntgeben. Dann lässt sich eine Funktion bauen, die den Status prüft. Bei der Gelegenheit solltest Du auch ein RDY als Rückmeldung auf der Schnittstelle sehen wenn das Ding eingeschaltet ist (HW-Design Seite 19).

Ich habe hier nur ein SIM808 und das auch noch nie in Betrieb gehabt; deshalb ist das etwas mühselig.
 

Bernd Langner

Moderator
Teammitglied
Hallo Walter
Die Lötjumper habe ich gesetzt. Von allein bucht sich das shield nicht ein ich muß manuell
mit dem Powertaster den Vorgang auslösen.
Erst danach können die SMS versendet werden die Funktion gibt es beim 800 nicht.
Hier mal ein Sketch der das näher beschreibt und auch den Pin verwendet

# define GSMONOffPIN 9 // On/Off-pin of the GSM shield

/*** Function to switch GSM shield on and off via software ***/
void GSM900PowerOnOff()
{
digitalWrite(GSMONOffPIN, HIGH);
delay(1000); // 1s HIGH switch SIM900 ON or OFF
digitalWrite(GSMONOffPIN, LOW);
delay(3000); // Wait 3s until chip is initialized
}


Dazu das Schaltbild
power.jpg
Unten rechts in der Ecke die Beschaltung des Power Key
Der Widerstand R13 ist mit res2 bezeichnet der sollte ansich auf dem beiden Lötpads sitzen.
Danach geht es auf die Basis vom Transitor der wiederum zieht den Powerkeypin 1 auf Masse.
Damit startet das Shield und bucht sich ein. Das gleiche löst du mit dem Powerbutton aus
der muß nur ca 1 Sec gedrückt werden der GSm chip startet und bleibt auch online.
Im Dokument Sim900d ist ab 3.4.1.1 beschrieben wie man das Modul ein und ausschalten
Ausschalten geht auch per AT Kommando nur einschalten nicht.

Ich habe mehrere Unterlagen von dem GSM 900 Shield auch die im Link nicht mehr Downloadbaren
Manuals zum Sim 900 für das GSM 800 Modul habe ich auch die Unterlagen von AZ Delivery

Gruß Bernd
 

Anhänge

  • sim900d.pdf
    1,8 MB · Aufrufe: 77

wno158

User
Danke für die Unterlagen!
Nun denn, vielleicht endet das Wochenende noch erfolgreich für Dich:
Neuer Sketch mit PowerOn und Abfrage ob es eingebucht ist (am langen Arm runterprogrammiert; nicht schön).
Im Monitor gibt es jede Menge Statusmeldungen was gerade abgeht.
 

Anhänge

  • RCN-sketch_jan23a.ino.txt
    7,9 KB · Aufrufe: 72

Bernd Langner

Moderator
Teammitglied
Hallo Walter
ich habe noch mehr will aber nicht alles hier hochladen
falls Interesse schick mir eine Unterhaltung mit
e-mailadresse dann geht das besser.
werde morgenfrüh mal direkt testen.
Die GSM Module scheint kaum noch einer zu nutzen
aber unser Vereinshaus hat keine Telefonleitung mehr
und nur für den Alarm reicht auch die sms Variante,

Gruss und vielen Dank für die Hilfe
Bernd
 
Ansicht hell / dunkel umschalten
Oben Unten