Hallo Allerseits,
möchte heute mal meine Wetterdatenabfrage per RFM12BP zur Diskussion
vorstellen. Für die Leute welche sich mit der Realisierung von einer
ähnlichen Idee befassen verkürzt sich hoffentlich der Weg. Andere können
vieleicht noch Tips zur Verbesserung geben. Tips, Fragen, Anregungen,
Kritik und Vorschläge sind Willkommen. Bei Interesse werde ich dann
natürlich auf die Eine- oder Andere-Sache ausfürhlicher eingehen.
-Ausgangssituation:
Meine Wetterdaten-Aufzeichnungsstation misst aller 15 Minuten und
speichert die Messwerte auf SD-Karte ab. Eine Tageszusammenfassung wird
per SMS gesendet. Dies ist mit einer C-Control realisiert. Eine
Fernabfrage der aktuellen Messwerte, von zu Hause aus, war bisher nicht
möglich. Das habe ich nun mithilfe des RFM12BP-Moduls realisiert. Auf
Grund der C-Control Architektur kann diese das RFM12BP-Modul nicht
direkt
ansteuern. So musste ein µC (ATmega48) zur Steuerung des Moduls
dazwischen geschalten werden, der seinerseits per TWI von der C-Control
angesteuert wird. Das Programm dieses µC ATmega48 möchte ich hier im
Forum vorstellen.
-Anforderungen an das µC-Programm:
Ansteuerung über TWI mit C-Control
Fehlerüberprüfung
Adressierbarkeit der Station(en)
Fernparametrierbarkeit
Hardware-SPI
Interrupt-Steuerung (kein Interrupt Betrieb)
-Kurze Beschreibung:
Von der abfragenden Seite (RFM12BP_DataRequest) wird ein Paket gesendet
auf welches die Antwortseite (RFM12BP_DataResponse) mit einen Datenpaket
antwortet. Das Request-Paket wird in der C-Control erstellt und an den
µC übertragen. Adresse, Befehle und Parametrierdaten können in das Paket
eingetragen werden. Zusätzlich wird noch ein Zeitstempel von der
C-Control übergeben. Die Response-Seite ist im Empfangsbetrieb und
bekommt die aktuellen Messwerte mit einer Checksumme, von der C-Control,
in den SRAM des µC geschrieben. So kann das Antwortpaket sofort gesendet
werden ohne das vorher noch gemessen werden muss. Zum Schluß werden auf
der Request-Seite der ID, die CRC und der Zeitstempel vom Antwortpaket
überprüft. Ist alles OK dann wird Erfolg gemeldet. Stromverbrauch,
Abmessungen und Übertragungsgeschwindichkeit waren nicht kritisch.
Die beiden Module sind auch Baugleich und mit normalen
Hobbybastlermitteln aufgebaut. Bei der Software wird an einigen Stellen
unterschieden das Meiste ist aber gleich. Um nicht alles zweimal
schreiben zu müssen und die Funktionen an einer Stelle zu haben ist fast
alles in Macros gepackt was dann auch die Wiederverwendung erleichtert.
Der Aufbau der Pakete ist in den Dateien "RFM12BP_DataRequest.asm" und
"RFM12BP_DataResponse.asm" definiert. Ansonsten sind die Programme mit
Macros zusammengestellt wodurch sie hoffentlich übersichtlich und leicht
zu Verstehen sind.
Gruß Torsten