|
HTL Steyr - Projekt Weathercall 2001
Elektronik - Technische Informatik |
![]() |
![]() |
|
Projektziel:
Entwickeln einer Wetterstation mit Handyinterface
|
Team:
Projektbeschreibung:
![]() |
Letztes Jahr wurde an der HTL Steyr eine Wetterstation für den Paragleitklub Cumulus in Ternberg entwickelt. Diese ist seit einem Jahr erfolgreich im Einsatz. Da neue Features implementiert werden sollten und ein neuer Microcontroller an unserer Schule verfügbar war, bestand unsere Aufgabe darin, den Code zu modifizieren. Im Vorjahr wurde die Software für den 8051 entwickelt, welcher ein 8 bit Microcontroller ist. Dieser wurde durch den 16 bit Microcontroller C167 ersetzt, der um einiges leistungsfähiger ist, wodurch neue Features leicht implementiert werden können. Die Hardware, die diese Features enthält, wurde bereits im Vorjahr unter dem Projekttitel "Universelles Telefoninterface" entwickelt und erfolgreich getestet. Unsere erste Aufgabe war es, den Code der ursprünglichen Wetterstation auf das neue 16 bit System umzuschreiben. Der Vorteil dabei war, dass die alte Wetterstation auch schon im C-Code geschrieben wurde.
|
|
Wetterstation vom Paragleitklub
Ternberg |
|
Dabei mussten vor allem Portnummern, die serielle Schnittstelle und prozessorspezifische Teile des Codes erneuert werden. Dies führte das eine oder andere Mal zu kleineren Problemen. Wir mussten uns erst in die alte Software und in die Programmiertools, die bereits vorhanden waren, einarbeiten. Im Gegensatz zum alten System werden die Peripheriebausteine stärker verwendet. Dafür können die vordefinierten Programme vom DAVE (Peripherieprogrammiertool für den C167) verwendet werden. Die in der alten Hardware für den Sprachprozessor verwendete simulierte Microwire-Verbindung wird durch eine hardwaremäßige ersetzt. Änderungen mussten auch bei der DCF77-Uhr durchgeführt werden, da die neue Hardware nur noch eine Leitung für das DCF77-Signal braucht (Interrupt bei steigender und fallender Flanke). Die Initialisierung des AD-Wandlers, der seriellen Schnittstelle und der Timer musste für den C167 neu implementiert werden. |
![]() |
Bei diesem Prozessor werden ebenfalls wie beim 8051 Interruptvektoren verwenden.
Da der Simulator die serielle Schnittstelle ständig in Verwendung hat, bestand unsere nächste Aufgabe darin, das Programm so umzuschreiben, dass die Hardware nicht ständig mit dem Terminal (PC) kommuniziert. Mit dieser Methode konnte das Programm bis auf die serielle Schnittstelle getestet werden. Um die Funktionen der RS232 überprüfen zu können, musste eine andere Simulationsweise überlegt werden.
Da in Testphasen das Programm sehr häufig neu auf die Hardware geladen werden muss, ist es von Vorteil dieses in das RAM und nicht in den Flashspeicher zu laden. Ein Flashspeicher kann nur beschränkt wiederbeschrieben werden.
Für das Beschreiben des RAM's wurde der Bootstraploader von Infineon verwendet. Da dieser unzureichend dokumentiert war, hatten wir anfangs Probleme das Tool richtig zu konfigurieren. Nachdem dieses Problem gelöst wurde, funktionierte das Programm weitgehend und es waren nur mehr Probleme bei der DCF-Uhr, bei der Messung der Windrichtung und Windgeschwindigkeit auszumerzen. Diese Fehler waren jedoch auch schnell gelöst und das Programm war voll funktionsfähig.
Um die Weiterverwendbarkeit zu erhöhen, wurde die Ausgabe auf eine von C++ bereits definierte Standardausgabe umgeschrieben, was im alten Programm noch nicht verwirklicht war.
Funktionsfähige Hardware im Testaufbau
Wetterstation
mit Handyinterface:
Der Paragleitklub Gmunden zeigte Interesse an unserem Projekt, stellte jedoch die Anfrage, ob die Wetterstation auch mit einem Handy betrieben werden kann. Daraufhin wurde der Print des vorjährigen Projektes "Universales Telefoninterface" überarbeitet, da viele Teile, z.B.: der Analogteil für einen Festnetzanschluss, nicht mehr benötigt werden. Dadurch werden auch die Kosten gesenkt (weniger Hardwareaufwand).
Ein großer Vorteil der neuen Wetterstation ist, dass kein Festnetzanschluss mehr verlegt werden muss, sondern nur ein Handy benötigt wird.
Dies führte dazu, dass wir uns mit der Ansteuerung des Handys über die serielle Schnittstelle auseinandersetzen mussten. Dies brachte anfangs Probleme mit sich, da wir keine komplette Liste der handyspezifischen AT-Befehle finden konnten. Nachdem die Referenzen gefunden wurden, konnten wir uns in die Materie einarbeiten und mit dem Umändern der State-Machine beginnen. Eine Schwierigkeit liegt darin, dass eine zweite emulierte serielle Schnittstelle verwendet werden muss (1. serielle Schnittstelle wird für die Kommunikation mit einem Terminal verwendet). Weiters wurde eine zusätzliche State-Machine implementiert, da im Gegensatz zum Festnetzanschluss beim Auflegen oder Abheben keine direkte Signalisierung erfolgt, sondern eine Zeichenfolge über die serielle Schnittstelle gesendet wird.
Unser nächstes Ziel liegt darin, auch die SMS-Funktion des Handys zu nutzen. Es sollte möglich sein, eine einfache SMS an die Wetterstation senden zu können und automatisch eine SMS mit den Messdaten zurückzubekommen. Ein weiteres Feature wird sein, dass täglich eine SMS an den Betreiber gesendet wird, in der sich Informationen über den Status der Wetterstation befinden.
Das Verarbeiten von SMS stellte sich schwieriger heraus, als wir uns anfangs dachten. Das Auslesen vom Telefon ist zwar einfach, aber die Nachricht wird nicht als Klartext gesendet, sondern als codierte Hex-Zahlen. Nun stehen wir vor der Aufgabe, einen geeigneten Code zum Decodieren und Codieren der Nachricht zu schreiben (Ein Zeichen ist nur 7 bit lang, wird aber als 8*7 bit Wort übertragen).
Genauere Informationen über die Ansteuerung des Handys mittels AT-Befehle
und selbstgebaute Datenkabel finden sie unter:
Statemachine für Handyinterface
Features:
Link zum Vorgängerprojekt "Fernabfrage Wetterstation"
| Kontaktperson: Dipl.-Ing. Franz Parzer | webmaster/29.07.2001 |