[Beginner] Programmieren von Philips Hue



  • Hallo zusammen,

    vorab möchte ich mich vorstellen. Ich bin Schulle und habe E-Technik, jedoch Automatisierungstechnik, studiert und die Grundlagen der Programmierung (C,C++, Java) kennen lernen dürfen.

    Jetzt möchte ich in C++ tiefer einsteigen und mir ein kleines Programm schreiben, mit dem ich Philips Hue Leuchten konfigurieren kann. Ich lese mich derzeit nochmal im Umgang mit Philips Hue ein und habe nun die erste Frage. Für die Philips-Hue-Welt gibt es eine API mit den wichtigsten Befehlen. Jedoch muss ich hierfür natürlich in C++ ein Netzwerk-Zugriff einrichten, der einen Login auf dem Hue-Gateway durchführt. Werden solche Netzwerkzugriffe auch mit GET-Befehlen ausgeführt, oder gibt es hier andere Tricks und Kniffe?

    Bitte entschuldigt diese Anfänger-Fragen, ich versuche jedoch aktuell einen kleinen Überblick zu bekommen.

    Viele Grüße,

    Schulle



  • Hallo schulle,

    Erstmal suchst du dich nach ner Bibliothek um. Wenn du eine findest kannst du sofort loslegen. Wenn nicht, dann muss du wohl was von Haus aus machen. Oder eine Sprache verwenden, für die es bereits ne geeignete Lib gibt.

    Wenn du jetzt jedoch mit C++ weitermachen möchtest, musst du wohl oder übel selber mit den Sockets hantieren. Aber so schwer ist das nicht. Such nach Beejs Guide und du wirst fündig. Eigne dir erstmal die Grundlagen der Netzwerkprogrammierung an (Sockets erstellen, Verbindungen initiieren, Daten verschicken und empfangen, ...) und schreibe auf Basis deines ergatterten Grundwissens dann dein Programm.

    GET-Befehle sind im Übrigen HTTP-spezifisch, ich glaube kaum, dass sich die Lampen mit HTTP-Befehlen steuern lassen. Dieses gephillips sind meistens Protokolle, die nicht standardisiert sind, also von Phillips selbst implementiert wurden und die halt ihr Manual öffentlich machen.

    Back to Topic, wenn du keine Lib findest, musst du wohl kurz einen Gang in den C zurückschalten, dir etwas Netzwerkprogrammierung aneignen und erst dann loslegen.



  • Die öffentlich einsehbare Doku sieht nach HTTP und JSON aus. Das könnte man mit Microsofts Casablanca, Qt oder vielleicht boost.asio + boost.PropertyTree lösen.


Log in to reply