Hallo zusammen,
ich beschäftige mich schon seit einiger Zeit mit der Programmierung am RPi, am Arduino und am normalen PC. Elektronikwissen habe ich ebenfalls ein gutes. Ich habe da ein Vorhaben und würde mich über Hilfe sehr freuen.
Ich will eine Haussteuerung mit meinem RPi, Arduino und ein paar Bauteilen verwirklichen. Das ganze soll dann so sein:
Am Raspberry ist über TXD und RXD ein GSM-Modul angeschlossen (genauer gesagt dass hier: http://www.amazon.de/SainSmart-Kompatibel-Drahtlos-Module-SIEMENS/dp/B006CHEUSI/ref=sr_1_1?ie=UTF8&qid=1422300868&sr=8-1&keywords=GSM+modul&tag=psblog-21 [Anzeige] ), dass per SMS über wichtige Ereignisse benachrichtigen soll.
Außerdem ist am Raspberry ein Arduino Uno R3 direkt angeschlossen über einen der beiden USB-Ports. An diesem sollen dann Sachen wie ein 433 MHz Transmitter zur Steuerung von Funksteckdosen, ein Temperatursensor, und evtl. noch anderes angeschlossen werden.
Meine Fragen:
1. Ich habe leider noch keine Erfahrung (trotz googlen), wie man in Python gerade in Verbindung RPi und dem Modul das ich habe die Befehle an das Modul über TXD und RXD sendet bzw. RXD empfängt ja. Dadurch dass man "Codes" an das Modul senden muss, damit es weiß welche Aufgabe es zu erledigen hat (SMS, ...). Ein Code für den Arduino werde ich ganz unten am Ende des Beitrags einfügen.
2. Wie kann ich Daten über den USB-Anschluss mit dem RPi austauschen, wegen dem Temperatur-Sensor und dem Transmitter. Gerade weil ja die Temperatur Daten vom Sensor zum Pi geschickt werden sollen, und dann auch einer Website oder App angezeigt werden sollen. (Website und App ist kein Problem, das hab ich nur zur Information bzw. zum Verständnis geschrieben!!!)
3. Wenn jemand noch Ideen hat was ich noch in die Haussteuerung einbauen kann, würde ich mich über Ideen sehr sehr freuen. Danke im Vorraus dafür.
Zum Schluss jetzt noch der Sketch für den Arduino der ich zu Testzwecken verwendet habe (Hat funktioniert). Dieser Sketch bezieht sich allein auf den Inhalt der Frage 1!:
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
}
void loop(){
if(digitalRead(2) == 0){
Serial.println("AT+CMGF=1");
delay(500);
Serial.println("AT+CMGS=Handynummer");
delay(1000);
Serial.print("Testnachricht");
delay(500);
Serial.print(char(26));
delay(5000);
}
}
Alles anzeigen
Vielen Dank im Voraus, über hilfreiche Antworten würde ich mich sehr freuen.
Viele Grüße
Florian