Hallo,
ich möchte mir gerne eine Alarmanlage bauen die man später über das Internet mit einem Webinterface steuern kann.
Das ganze soll mit Bewegungsmeldern und in der letzten Ausbaustufe sogar mit zwei Kameras laufen.
Als Steuerung wollte ich einen Arduino mit Ethernet benutzen, ich kenne mich recht gut mit Elektronik und verschieden Programmiersprachen aus, allerdings ist mir der Ablauf wie der Arduino die Daten über das Netz überträgt, noch etwas suspekt.
Ich habe einen Server im Netz angebunden der über eine feste IP und Domain erreichbar ist, darauf soll das Webinterface und die Datenbank laufen.
Um das ganze Arbeitsprinzip zu veranschaulichen, habe ich ein kleines Beispiel erstellt, alle Eingaben und Änderungen im Formular werden in eine SQL Datenbank geschrieben.
Dort gibt es drei Sensoren wobei man die Alarmdauer ändern kann.
Sensor-ID Sensor-Name Alarmdauer |
---|
1 Eingangs Tür 15 |
2 Hinter Tür 15 |
3 Fenster 30 |
Müssen die abgespeicherten Parameter über ein PHP Script (read_data.php) aus der Datenbank ausgelesen und im JSON Format ausgegeben werden.
Beispiel:
{
"Sensoren": [
{ "Id":"1" , "Name":"Eingangs Tür" , "Zeit Alarm":"15"},
{ "Id":"2" , "Name":"Hinter Tür", "Zeit Alarm":"15" },
{ "Id":"3" , "Name":"Fenster" , "Zeit Alarm":"30"}
]
}
Wenn ich jetzt einen Wert im Formular ändere, wie teile ich dem Arduino das mit.
Kann ich über den Absender Request die Daten aus Formular direkt übermitteln, oder muss der Arduino in einer Zeitschleife die neuen Daten alleine holen, zb. durch einen Aufruf eines PHP Scripts (read_data.php) und diese dann parsen.
Kann er sich die Daten nur über ein Script holen, oder könnte er auch direkt mir der DB Kommunizieren.
Legen wir mal das Problem mit den DB Zugangsdaten beiseite die er übertragen muss.
Gibt es eine andere Möglichkeit an die geänderten Daten zu kommen.
Es muss ja eine Möglichkeit geben die Daten nach einer Änderung sofort zu übermitteln.
Nun zum ungekehrten Fall, der Arduino soll dem Webinterface mitteilen das ein Alarmschalter betätigt würde.
Natürlich sollen diese Daten als Protokoll in der Datenbank gespeichert werden.
Er benötigt dafür zwei Parameter Schalter-Id und die Uhrzeit.
Wie geht das am besten, auch wieder nur durch ein Scripaufruf zb. save_data.php.
Mit Post oder Get nach dem folgenden Muster : Domain.de - Seite nicht gefunden, gibt es eine bessere Möglichkeit ?
Tut mir leid das ich so dumme Fragen stelle, aber kenne mich mit dem hiesigen Controller nicht aus.
Eventuell gibt es bessere Lösungem für solch ein Projekt ?