Programm für die CCU entwickeln

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Programm für die CCU entwickeln

Beitrag von powerup » 15.03.2012, 16:39

Hallo zusammen,


Ich würde gerne ein Programm in C schreiben.

Damit ich Befehle von der CCU an einen Rechner schicken.

Ich vermute mal dass ich auf der CCU einen GCC installiert bekommt. Wie kann ich also Codedateien kompilieren für die CCU ?

EDIT: Oder kann ich über NETCAT Befehle an meinen Linux Rechner schicken ?

z.B. ich schick den Befehl "play" an meinen Linux Rechner und der Rechner hört dann "play" und startet irgendwelche Scripte ?

Benutzeravatar
Monty1979
Beiträge: 854
Registriert: 28.10.2010, 20:47
Wohnort: Bremen
Kontaktdaten:

Re: Programm für die CCU entwickeln

Beitrag von Monty1979 » 18.03.2012, 19:01

Versenden geht einfach über die system.Exec() schau mal hier HomeMatic RemoteShutdown

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Re: Programm für die CCU entwickeln

Beitrag von powerup » 27.03.2012, 18:33

Welches Linux muss ich verwenden um möglichst nah an der CCU zu sein ?

dondaik
Beiträge: 12945
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1622 Mal
Danksagung erhalten: 222 Mal

Re: Programm für die CCU entwickeln

Beitrag von dondaik » 27.03.2012, 19:09

siehe bei zeitumstellungsfehler ... Busybox ;-)
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

chii
Beiträge: 80
Registriert: 26.06.2009, 23:34

Re: Programm für die CCU entwickeln

Beitrag von chii » 27.03.2012, 23:39

Hi,

die Toolchain zur CCU kannst du unter folgender URL herunterladen:
http://www.homematic.com/index.php?id=151

Gruß
chii

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Re: Programm für die CCU entwickeln

Beitrag von powerup » 01.04.2012, 15:07

Hallo zusammen,


ich habe ein Linux Programm geschrieben, das zu einem Linux/Mac Rechner eine Socketverbindung aufbaut und dann "Befehle" schickt.


Beispiel ./conkit ipadresse port befehl
> ./conkit 123.123.123.123 404 play

Das Programm am Server guckt dann nach für was der Befehl play steht und führt ein passendes Script aus.

Wie kann ich meinen Code für die CCU kompilieren ? Ich hab das mit der Toolchain nicht hinbekommen. Kann mir einer helfen ?

chii
Beiträge: 80
Registriert: 26.06.2009, 23:34

Re: Programm für die CCU entwickeln

Beitrag von chii » 01.04.2012, 21:23

Hi,

hier eine Schritt-für-Schritt-Anleitung zum Aufsetzen der Toolchain:

1) VM aufsetzen

Ich würde dir empfehlen, die Toolchain in einer virtuellen Maschine zu installieren. Dazu brauchst du zunächst Virtualisierungssoftware (z.B. VMware Player oder Virtual Box). Damit erstellst du dann eine virtuelle Maschine (10 GByte HDD und 256 MByte RAM sollten ausreichen; mehr geht immer). In der virtuellen Maschine musst du dann ein Linux installieren. Ich selbst verwende Debian 6, es spricht aber nichts gegen Ubuntu oder irgendein anderes System. Im Weiteren gehe ich aber mal von Debian 6 aus ;-).

Nachdem das Betriebssystem läuft, solltest du einige Pakete installieren, die du später zum Übersetzen benötigst. Dazu gehören build-essential, bison, flex und gettext (evtl. auch andere, aber dazu später mehr). Es empfiehlt sich sehr, auch die Gasterweiterungen der jeweiligen Virtualisierungsoftware zu installieren (z.B. VMware Tools).

2) Toolchain herunterladen und entpacken

Die Toolchain findest du unter:
http://www.homematic.com/firmware/hm-cc ... 000.tar.gz

Anschließend entpackst du die Toolchain in deiner virtuellen Maschine in ein beliebiges Verzeichnis (z.B. /home/user/src).

3) GNU Debugger deaktivieren

Der GNU Debugger macht beim Compilieren Probleme. Deshalb würde ich ihn deaktivieren. Irgendwo hier im Forum gibt es eine Anleitung, wie man den Debugger mitbauen kann (ich glaube von dirch), aber ... ach, der gdb wird überbewertet ;-).

Öffne ein Terminal und gehe in das Verzeichnis, in dem du die Toolchain entpackt hast. Hier startest du den Konfigurationsdialog über:

Code: Alles auswählen

> make menuconfig
Im Untermenü "Toolchain" deaktivierst du alles, was zum Unterpunkt "GDB" gehört.

4) Toolchain bauen

Nun kannst du die Toolchain bauen. In Debian verwendest du dazu das Root-Terminal. Ansonsten "sudo". Im Verzeichnis, in dem du die Toolchain entpackt hast, führst du folgendes Kommando aus:

Code: Alles auswählen

> make
Nun sollte die Toolchain gebaut werden. Falls irgendwelche Abhängigkeiten fehlen, schlägt "make" fehl. Dabei erhältst du eine aussagekräftige Fehlermeldung, welches Paket fehlt. Das muss dann nachinstalliert werden. Wenn alles vorhanden ist, dauert der Build einige Minuten. Danach liegen die Binaries der Toolchain unter /usr/local/arm-linux/bin.

5) C-Compiler starten

Die Binaries liegen unter /usr/local/arm-linux/bin. Daher solltest du dieses Verzeichnis zum Pfad hinzufügen:

Code: Alles auswählen

>export PATH=$PATH:/usr/local/arm-linux/bin
Danach kannst du den C-Compiler starten:

Code: Alles auswählen

> arm-linux-gcc
Bei der späteren Entwicklung ist es natürlich sinnvoll, /usr/local/arm-linux/bin permanent im Pfad zu haben. Dazu fügst du die oben genannte Zeile (also das mit dem export PATH...) in die Datei .bashrc in deinem Home-Verzeichnis ein.

Gruß
chii

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Re: Programm für die CCU entwickeln

Beitrag von powerup » 02.04.2012, 21:53

Vielen Dank hat perfekt geklappt.


Nun kann ich einen Befehl von der CCU per Skript an meinen Rechner schicken und dort wird dann ein Befehl ausgeführt.

z.B. Shutdown wird geschickt und kurz darauf geht der PC aus und der Zwischenstecker trennt den Strom

Benutzeravatar
powerup
Beiträge: 320
Registriert: 22.12.2011, 22:19

Re: Programm für die CCU entwickeln

Beitrag von powerup » 09.09.2012, 01:45

Hab leider die VM nochmal neuinstallieren müssen.

nun klapps nicht mehr. Wenn ich >>make menuconfig<< eingebe, kommt folgende Meldung:

Code: Alles auswählen

root@debian:/home/powerup/Desktop/Toolchain# make menuconfig
package/config/mconf: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
make: *** [menuconfig] Fehler 127
Bin aber 1:1 nach der Anleitung gegangen.

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Programm für die CCU entwickeln

Beitrag von anli » 09.09.2012, 14:03

powerup hat geschrieben:Hab leider die VM nochmal neuinstallieren müssen.

nun klapps nicht mehr. Wenn ich >>make menuconfig<< eingebe, kommt folgende Meldung:

Code: Alles auswählen

root@debian:/home/powerup/Desktop/Toolchain# make menuconfig
package/config/mconf: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
make: *** [menuconfig] Fehler 127
Bin aber 1:1 nach der Anleitung gegangen.
Dann musst Du die libncurses.so.5 nachinstallieren. Musst mal schauen, ob es das für Dein Release noch gibt. Ein möglicher Ansatz: http://debianforum.de/forum/viewtopic.php?f=12&p=794865
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“