Home Home AVR Projekte AVR Projekte ARM Projekte ARM Projekte Impressum Impressum

Raspberry Pi Embedded Linux

©  H.Brachschoss. Letzte Aktualisierung 09/2013
Poolsteuerung mit Raspberry Pi embedded Linux
Wie schon angekündigt hatte ich vor, die alte Poolsteuerung mit Atmel AVR ATMEGA128 durch eine neue Schaltung mit einem Raspberry Pi und  Embedded Linux zu ersetzen. Die Anfänge zu diesem neuen Projekt sind getätigt und die Software befindet sich zur Zeit in der Erstellung und Testphase. Die Steuerung besteht zur Zeit aus einem Raspberry Pi mit einer Debian Linux Distribution, einer Erweiterungsplatine im Lochrasterformat auf welcher sich eine Hardwareuhr (DS1307) mit Backupbatterie befindet, die vom Raspberry Pi über den I²C Bus angesteuert wird.  Des weiteren habe ich 2 Led’s um Schaltzustände zu visualisieren und ein Relais integriert, welches später das Leistungsrelais für die Poolpumpe ansteuern soll. Die Temperaturmessung wird wie beim alten System über digitale DS18S20 Temperatursensoren, die über den 1-Wire-Bus des Raspi angeschlossen sind, übernommen. Momentaner Status der Software und Hardware: - DS18S20 Temperatursensoren OK - DS1307 Hardwareuhr OK - Led’s- und Relaisansteuerung OK - TCP Socketserver (non-blocking). OK - Boot Filesystem über USB-HD OK - Firewallregeln implementiert OK - Clientprogramm zum Verbindungstest. OK - LCD-Display Anbindung über I²C OK  -IPC Kommunikation TCP-Server und App  i n Arbeit  Porterweiterung über  I²C in Arbeit (Platine muss noch entwickelt werden) Die ANforderung an die Software soll gleich mit der AVR Steuerung sein und noch einige Zusatzfeatures erhalten. Die Software selbst unter Ubuntu 12.4 Linux, unter Verwendung eines ARM-Cross Compiler und der Eclipse IDE. Die Verbindung zwischen Eclipse und dem Raspberry Pi läuft über mein WLan und der RSE Erweiterung von Eclipse. Für alle weiteren Verbindungen verwende ich das ssh Protokoll. Das Debugging erfolgt remote auf dem Raspberry Pi über den gdbserver und die Debug Oberfläche der Eclipse Umgebung. Voreinstellungen die die Software benötigt (Parameter: Zeiten, Temperaturen, Pumpdauer etc.) liegen in einer config Datei. Eventuell auftretende Fehler erscheinen in einer Errorlog Datei. Ein Webinterface über den integrierten Apache Webserver soll zukünftig die Einstellungen und Parameter über PC oder Smartphone übernehmen oder alternativ über eine Socketverbindung und einer entsprechenden App. Fotos: Testaufbau                                        Eclipse IDE                                            Debugfenster
AVR Projekte AVR Projekte