Donnerstag, 30. Mai 2013

Kosten für ein REMO µC

Da ein Nachbau für jeden erschwinglich sein soll, wurde bei der Konstruktion des REMO auf den Preis geachtet. Die Folgende Tabelle soll einen Überblick der benötigten Komponenten bieten.
Das Main-Modul ist Grundvoraussetzung.


Vergleichbare, nicht Öffentliche Produkte mit Grundausstattung gibt es übrigens ab 250€ aufwärts ;)

Montag, 6. Mai 2013

System Grundlagen

Das Hauptziel des Projektes war es einen µController über ein Android-Gerät zu steuern, dazu musste eine Verbindung sowie ein Kommunikationsprotokoll erstellt werden.


Systemübersicht:

Die folgende Grafik zeigt du die zusammenhängenden Komponenten auf



W-Lan <--> µController:

Verbindung:

Mithilfe eines W-Lan Moduls wird es möglich gemacht einen µController über dessen UART Schnittstelle mit dem W-Lan Netz zu verbinden. 

In der Entwicklungsphase wurde ein W-Lan Modul von Avisaro verwendet. Es eignet sich hervorragend, um mit Erfolg, in das Thema ein zu steigen. Es lässt sich über den Browser konfigurieren und kann bei falscher Konfiguration sehr einfach zurückgesetzt werden. Nachteil ist der recht hohe Preis des Moduls und die hohe Strom Aufnahme.




Als dauerhafte Lösung bietet sich das Wifly Modul von rovingetworks an. Es ist günstiger und hat einen geringeren Strombedarf, ist dafür jedoch aufwendiger zu konfigurieren.


Debuging:

Um die einzelnen Kommunikationswege nachvollziehen und prüfen zu können, wurde folgende Tool genutzt.
  • Virtual Serial Port (Erstellt ein TCP Socket und leitet die Daten an eine Virtuell Serielle Schnittstelle)
  • HTerm (Senden und Empfangen von Seriellen Daten)

Protokoll:

Die Informationsübertragung zwischen dem Android Gerät und dem µController machte es notwendig, ein Kommunikationsprotokoll zu konstruieren. Da Daten immer nur von einem Android-Gerät angefordert werden können, ist dies durch eine vereinfachte, vier Byte lange Botschaft realisiert worden. 
Diese Botschaft setzt sich aus einem Identifier und drei weiteren Bytes zusammen.

Die Identifier wurden so gewählt, dass sie in ASCII Form einen Bezug zur aufgerufenen Funktion haben. So hat z.B. die Abfrage der Monatsdaten den Identifier 0x4D, in ASCII entspricht dies dem Zeichen „M“ für Monat. Die weiteren drei Bytes beinhalten Nutzdaten, die in dezimaler Form übertragen werden. Bei einer Anfrage für die Monatswerte wären dies der Monat und das Jahr.



Zur Start- und Stopperkennung werden die Zeichenfolgen „#R#“ als Startzeichen und „~“ als Endzeichen verwendet.



Andorid App:

Da die bedienung des REMO über ein Android-Gerät läuft, muss dazu auch eine entsprechende App Programmiert werden. Eine einfache Lösung dafür ware B4A.
Basic4Android (B4A) ist eine objektorientierte Entwicklungsumgebung, in einer Basic-ähnlichen Programmierspreche, in der Anwendungsprogramme, kurz App genannt, erstellt werden können.
Die Software ist in ihrer Grundversion frei zugänglich. Die vollständige Software mit allen Bibliotheken und einem Support von 2 Jahren kostet 99$ und für Schüler gibt es einen Rabatt von 50%
In B4A ist außerdem eine grafische Entwicklungsoberfläche enthalten, um die App grafisch zu gestalten.

In dieser Oberfläche können Buttons, Textfelder, Hintergründe und andere oft verwendete Objekte hinzugefügt werden. Im eigentlichen Programm wird auf Eingaben gewartet oder auf Ereignisse reagiert. Es können Texte oder Farben sowie Objekte in Größe und Aussehen mittels Anweisungen geändert werden.
B4A bietet auch die Möglichkeit, sein Programm in Echtzeit direkt auf einem realen Gerät oder einem Emulator zu debuggen. Hierbei werden alle Programmzeilen durchlaufen, die aktuellen Variablen angezeigt und es können Stoppmarken gesetzt werden, um aufwändigere Funktionen auf ihr Ergebnis zu prüfen.


Kommunikationsschnittstellen:

Um zu verstehe wie REMO seine Kommunikation realisiert, ist die folgende Grafik am besten.


Modularer Aufbau:

Um das System Modular betreiben zu können, wurde es notwendig eine Hardware zu konstruieren, die es ermöglicht ohne Veränderung des Grundsystems Erweiterungen anzuschließen. Dies wurde durch den Einsatz des I²C Bussystems, sowie der Stapelbauweise erreicht. Über einen Verteilerstrang wird jedes Modul an den Bus gekoppelt und bekommt darüber auch die Spannungsversorgung. Es kann auf die verschiedenen Potentiale, sowie Signale zugegriffen werden. Auf dem 10 poligen Verteiler-strang werden GND, 5V, 3,3V, Netzteilspannung und der I²C Bus weiter-geleitet.

Samstag, 4. Mai 2013

Was ist REMO µC?

Zum Ende der Ausbildung zum staatlich geprüften Techniker entstand dieses Projekt.

Die Herausforderung:

Einen Mikrokontroller, ferngesteuert über Android-Geräte mit Einsatz in der Hausautomation als Energiemanage-mentsystem zu nutzen. Ähnlich der kaufbaren SmartHome Systeme, jedoch viel günstiger ;)

Entstanden dabei ist ein vielseitig einsetzbares System das sowohl für Hobbybastler als auch für Technikbegeisterte geeignet ist.


Funktionsziele:

  • Kopplung eines µControllers über W-Lan mit einem Android-Gerät
  • Darstellung des aktuellen Energieverbrauchs und von Lastverläufen auf Android
  • Fernsteuerung von handelsüblichen Funksteckdosen mit einem Android-Gerät
  • Modulare Bauweise für Erweiterungen
  • Offenes System
  • Abschaltung einzelner Phasen 
  • Entwicklungsumgebung in Form eines Modules 
Das Komplette System mit allen Modulen

Ausblick:

Im Weitern Verlauf dieses Bolgs sollen hier die Funktionsweisen und Umsetzung sowie der Nachbau und die Erweiterung des System beschreiben werden. 

Hier ein kurzer ausblick :)

Einsatz im Hobby
Bedienung von Funksteckdosen

 Ausschnitte der Andorid APP

Hauptmenü

Stromverbrauch über den Tag

Stromverbauch über den Monat

Entwicklungsmodul