vorab, bin Anfänger auf diesem Gebiet, müsste nur mein Vorhaben realisieren.
Projekt:
SMS Alarmierung Feuerwehr (ohne das ein PC dauerhaft läuft)
Vorhanden:
Meldeempfänger digital mit Meldungsausgabe
Handy (div. (könnte fast alles bekommen)
Denkweise:
Melder empfängt Alarmtext, gibt diesen an den Arduino weiter, dieser gibt die Meldung an ein Handy weiter welches per SMS eine vorgefertigte Gruppe alarmiert.
Das ist nur ein Zusatz zur normalen Alarmierung, geht nur um die bessere Erreichbarkeit der Mitglieder!
Frage:
Ist das umsetzbar mit einem Arduino One?
Zusammenbau und Programmierung sollte kein Problem sein, allerdings weiss ich nicht in welcher "Form" die Meldung aus dem Melder kommt.
Am besten erstmal klären, in welcher Form der Melder den Alarm meldet. Falls es seriell ist, werden ggf. nur Pegelwandler benötigt, die das Signal auf TTL-Pegel (5V) bringen. Es gibt ein GPRS-Shield das auf den Uno (ich vermute mal das meinst Du mit Arduino One) passt und das prima SMS verschicken kann.
Wie willst Du denn die Gruppe der Nummern die per SMS informiert werden sollen übertragen, oder sollen die Nummern fest im Sketch verankert sein?
Denkbar wäre hier die USB-Schnittstelle als Konfig- und Debug-Schnittstelle zu verwenden.
ir fällt etzt kein handy ein, das eine günstige schnitstelle für sowas hat... außer man lötet irgendwie das keypad an und gibt die SMS dann darüber ein... bluetooth und eine entsprechende software auf dem handy oder dieses android ADK-zeug (keine ahnung davon) könnte noch funktionieren, aber ansonsten denke ich das ein GSM-shield da echt das sinnvollste ist...
ironflag:
Die SMS Versendung habe ich mir so vorgestellt:
Arduino gibt Text an Handy, Die Empfänger befinden sich im Telefonbuch des Handy``s, Handy versendet die SMS,
sollte so gehen oder?
Das finde ich jetzt auch etwas verwirrend ... Wie hast Du Dir denn die Verbindung zwischen Handy und Arduino vorgestellt?
Vor allem die Auswahl der Nummern aus dem Telefonbuch des Handys, selbst wenn man irgendwie den Text übertragen bekommt, finde ich nicht trivial.
Dann doch besser eine GSM-Shield. Jenachdem was der Melder liefert, kann man auch dasGBOARD verwenden. Allerdings hat das Board keinen USB Anschluss.
Jedes ALTE Handy hat eine serielle Schnittstelle, über die man mit AT-Commands kommunizieren und steuern kann. Alt heiß allerdings tatsächlich alt - Siemens C35, Nokia 3310 und älter
wie gesagt, ich bin da sehr unwissend was das ganze angeht.
Die GSM/GPRS Shields sind die bessere alternative, zumal die Stromversorgung des Handys dann auch wegfallen würde.
Ein Altes Handy ist nun nicht das Problem zu beschaffen, allerdings sehe ich die Lösung nun eher als ungüstig an.
Ich werde mir mal ein Arduino Uno Board und passendes GSM Shield besorgen, mal sehen wie weit ich komme.
Vllt hat ja hier jemand eine Ahnung in welcher Form die Meldungen vom digitalen Melder kommen?!
Müssen die Rufnummern gewartet werden oder bleiben diese immer gleich? Ich persönlich hätte es über ein Arduino Ethernet und einen SMS Provider gelöst. Ist günstig, einfach zu administrieren und leicht umzusetzen.
Wenn dein Handy AT-Commands versteht, seh ich kein problem. Hab genau dein Projekt vor jahren einmal umgesetzt, allerdings mit einem PC als Backend. Das senden der Nachricht ist nicht das Problem, eher das codieren des Zeichensatzes, da der - im Gegensatz zum PC - nur sechs oder sieben Bit umfasst... ich muss mal suchen, vielleicht hab ich das noch herumliegen. Die nummern würde ich auf einer SD-Karte ablegen.
Loop läuft immer, nicht nur einmal. Sonst müßtest Du ja nach jeder Meldung einen Reset machen.
Am besten verwendest Du die serielle Schnittstelle (Pin 0 und 1) oder die Soft-Serial Bibliothek (zwei beliebige Pins).
Auf der fragst Du innerhalb der IMMER laufenden loop(), ob neue Zeichen vorhanden sind.
Wenn ja, werden die solange in einen Puffer gelesen, bis die ganze Message gelesen wurde (wie das End-Of-Message erkannt wird, muss sicher noch erforscht werden).
Wenn die Message vollständig ist, wird in einem "Unterprogrammteil" einfach die Liste der Telefonnummern abgeklappert und der Text als SMS verschickt.
Wenn man damit fertig ist, wird wieder "normal" in die loop() verzweigt und das Spielchen geht von vorn los.
Kleines Gimmick, per GSM-Code "*110#" den aktuellen Status der Aufladung der SIM-Karte überwachen (z.B. nach jeder Versandaktion) und bei einem erreichten minimal-Guthaben eine SMS zum Aufladen schicken.
Da das GSM-Shield auch SMS empfangen kann, sollte es einfach sein, neue Telefonnummern zu ergänzen oder alte zu löschen, das muss nur in eine SMS codiert und an das Shield geschickt werden.
Kleines Gimmick, per GSM-Code "*110#" den aktuellen Status der Aufladung der SIM-Karte überwachen (z.B. nach jeder Versandaktion) und bei einem erreichten minimal-Guthaben eine SMS zum Aufladen schicken.
die 101 gibt dir direkt das guthaben, mittels der 100 kommst du in einen dialog, in dem du entweder das guthaben oder dessen gültigkeitszeit abfragen kannst und auch guthaben per code aufladen kannst etc.