Entwicklerfragen

Hallo zusammen,

es freut mich, dass ich nicht der einzige bin, der sich mit dem Thema ausseinandersetzt. Als langjähriger PHP-Programmierer bin ich natürlich von einer PHP-Lösung primär begeistert. Meine bisherige Automation beschränkt sich auf lokale C#/PHP/REST-Systeme (Sprachsteuerung, Lagerverwaltung für Lebensmittel, Fernsteuerung/Verwaltung übers Handy, automatische Synchronisation mit externer Webdatenbank, sowie ein internes Steuermodul zum verteilen von Statuscodes an andere Rechner).

Als begeisterter PHP-Programmierer interessiere ich mich natürlich vor allem für die Oberfläche und für die Erweiterbarkeit (Verknüpfung mit meiner bisherigen Software). Ich plane gegen Ende des Jahres mit einer erweiterten Automatisierung fortzufahren und habe zum Programm ein paar Fragen.

  1. Modularisierung:
    Als Programmierer kommt man für gewöhnlich auf ziemlich seltsame Ideen. Besteht eine Modul-Struktur um das bestehende System für eigene Zwecke zu erweitern ohne in den Core eingreifen zu müssen und eine Updatefähigkeit zu erhalten?

  2. Oberfläche:
    Meine bisherigen Oberflächen verfolgen ein vorbestimmtes Layout. Ist die Web-Oberfläche über ein Templatesystem oder ist diese anderweitig vom Core getrennt?

  3. SOAP
    Ist das System weitestgehend über die Soap-Schnittstelle steuerbar? (Erweiterung der bestehenden Sprachsteuerung und Steuerung durch Zweitgeräte)

Tut mir leid, das ich etwas ausführlicher geschrieben habe, trotzdem oder gerade deswegen vielen Dank für die Zeit!

Craven

Hallo craven und willkommen im Forum.

In IPS kannst du Module in Delphi erstellen. Das sind eine Art Plugins die dir den PHP-Befehls-Schatz (cooles Wort) erweitern. So gibt es zum Beispiel ab Werk spezielle PHP-Befehle die direkt auf die Interne Datenbank (IPS-Variablen) zugreifen. Wenn du beispielsweise ein Handy an deinen PC anschließt kannst du mit so einem Modul (also einem Handy-Plugin) per PHP und den zusätzlichen PHP-Funktionen aus diesem Modul darauf zugreifen und zum Beispiel SMS senden.

In IPS ist ein spezieller Webserver integriert, so dass du diese PHP-Befehle auch im Netz verwenden kannst. Du hast zu jederzeit und an jedem Ort innerhalb deiner „Steuer-Homepage“ die volle Power von IPS verfügbar. Das Webinterface ist „nur“ eine Art Standard-Homepage für Leute die sich selbst keine bauen können. Du kannst dir aber auch eine von der ersten Zeile an selbst schreiben. Ich persönlich experimentiere grad daran Joomla! und IPS zu verheiraten.

Weitgehend? Nein. Vollständig!

Die Adminconsole zum Beispiel arbeitet über SOAP. Alles was du dort einstellen kannst (Also alles ;)) kannst du theoretisch auch selbst proggen. Ich sage theoretisch weil Internas nicht dokumentiert sind. Aber man kann sich da reinwuseln wenn man das will. Das geht. Hab ich auch so gemacht.

Gruß,

Toni

Mich beschleicht das Gefühl, dass du der Meinung wärst, IP-Symcon wäre komplett in PHP entwickelt worden. IP-Symcon ist ein normale Windows-Software, dir DIR erlaubt es über PHP zu erweitern und über PHP alles nach belieben steuern und verbiegen kannst.

Da du ja programmieren willst, muss ich dir nicht sagen, dass du es für einfach Visualisierungs- und Steueraufgaben gar nicht musst… Du kannst vieles einfach zusammenklicken.

paresy

Vielen Dank für die ausführliche Information meiner beiden Vorredner! Ich freue mich schon auf das System und auf die Arbeit damit :slight_smile: Ich hoffe mal, das ich meinen Teil (Schnipsel und Tipps) zu so einer genialen Betreung und einer solchen Community beitragen kann.

@paresy
Ich bin nicht davon ausgegangen, das es in PHP programmiert wäre, tut mir leid, das es möglicherweise so rübergekommen ist. Systemkomponenten und -IO’s sind über PHP natürlich nicht ansprechbar. Es war einfach sehr spät schäm. Programmieren will ich nicht, werde ich aber aufgrund des Projektumfangs aber tun müssen.
Gesamtaufgabe wird sein: Fernsteuerung so vieler Funktionen wie möglich (über Spracheingabe, Mobiltelefon, PDA’s, Touchpanels und nur im schlimmsten Fall Tastatur und Maus).

Godspeed!

über Spracheingabe

Das interessiert mich jetzt, kannst Du mal etwas darüber sagen.

So weit, bis auf die Spracheingabe, nicht wirklich das Problem. Das wichtigste hast du vergessen, nämlich das Teil, dass sich immer noch am besten für die alltäglichen Dinge eignet: Die Universal-Fernbedienung, die ausser den Fernseher und die HIFI Anlage nun auch die dazu passende Lichtscene oder die Jalousien steuert.

@Smudo
Das soll ja dann Ziel des Spiels werden.

@Ferengi

Deinem Auftritt zu folge baust Du sicher genauso an einem privaten LCARS wie ich :).
Die Umsetzung ist relativ einfach (primär im englischen) - im Deutschen hapert es am geringen Wortschatz,
ausser man hat Lust sämtliche englischen Begriffe in der Sprachbibliothek nachzupflegen.
Ich persönlich habe mit der Windows7 angehängten Spracherkennung relativ schnelle Erfolge erzielen könnnen.
Bisher habe ich in C# und in Java einige schnelle Ergebnisse erzielt.

Als Pseudocde kann ichs mal kurz darstellen. Die Umzusetzende Programmiersprache wäre relativ egal,
jedoch wäre eine Application die beste Umsetzung. (Kleine Tipps noch am Rande, bitte arbeitet mit
Threads, sonst wirds Programm ein wenig zu Ressourcenfressend)

Wiederhole(Lausche [Input] bis [Schlagwort])
-Wenn [Schlagwort] dann [Bearbeitungsmodus]
–Wenn [Bearbeitungsmodus] Dann
—Auswahl([INPUT]) ([Event1],[Event2],[Event3],[default]->verlasse [Bearbeitungsmodus])

Randinfo:
!Wichtig! Die Spracherkennung von Win7 braucht ca 300 MB Arbeitsspeicher, d.h. nicht zu klein dimensionieren.

Verwendete Objekte beim 1. Test waren c# form-application die ein rtf-Feld mit dauerfocus hatte + 2 Timer. Timer 1 zum löschen des rtfs um sie nicht zu überfüllen (wirkt NICHT wenn das System nicht im o.g. Bearbeitungsmodus ist, sonst löscht man ja eingaben, die eventuell gebraucht werden. Der 2. Timer hat eine maximale Zeit für den Bearbeitungsmodus, damit der Rechner nicht ewig im Bearbeitungsmodus ist, falls jemand zufällig das [Schlagwort] ausspricht.

Ich gucke mal ob ich noch das alte Testteil noch rumfliegen habe :slight_smile:

Welche Erfahrungen hast Du mit überlagernden Frequenzen gemacht?

Das Problem habe ich so direkt nicht, die Architektur meiner Wohnung (Gewölbe) hilft mir in gewisser Art dabei. Nen selbstgebauter Absorber zu den Boxen tun dann sein übriges. Mutwillige Überlagerungen kann man natürlich nicht verhindern :slight_smile:

Godspeed!

Craven

Wer nicht :rolleyes:

Zu deutsch: Computer - <bliedeliep> - Earl gray, heiß - <düdööt>

Mein Ansatz hakt bei der SAPI. Das was ich realisieren konnte - einige kennen Isis ja noch aus dem IPS-Chat - reagiert auf Voice nur sehr sporadisch. Mein Hoffnung lag voll auf der Version 5.3 die mit dem angekündigten Vista ausgeliefert werden sollte (ja, das Projekt ist schon ne Weile her). Die stellte sich aber als Flopp raus. Mehr als ne nette Spielerei ist das nicht gewesen.

Eigendlich wäre es mal an der Zeit das Projekt wieder hoch zu holen, mit aktueller Technik zu versehen und schauen was dabei rum kommt.

Mein Ansatz:
Die Engine: Verbots
Das Avatar: Guile 3D Studio - Virtual Characteres for web site
Frontend: Download details: Microsoft Agent 2.0 Core components self-installing executable
Spracheingabe über SAPI und Netzwerk (Anbindung an IPS und IRC) via Indy: Indy

Toni

Ich glaube im Bereich Spacherkennung hat sich nicht wirklich viel getan die letzten Jahre. Sobald es nicht muckmäuschenstill im Raum ist versagt die Erkennung komplett. Die Zeit würde ich mir an eurer Stelle sparen.

Aber bei dem Stichwort LCARS bekomm ich sofort spitze Ohren. Leider gibt das Dashboard nicht die nowendigen Funktionen und Leistung her um so etwas zu bauen, aber das wäre doch bestimmt mal ein Projekt an dem einige Leute Interesse hätten. Also ran an die Arbeit, Toni :). Ich kann es leider nicht, sonst hätte ich mich schon lange selbst darüber hergemacht.

Soweit funktioniert es schon. Mein momentanes Mikro hat einen Absorber zu diversen anderen Audio-Ausgabegeräten. Neben leiser Musik muss man schon mit Stimme sprechen (hier meine ich die Technik :slight_smile: ). Da ich aber noch nicht den ganzen Raum ausleuchte, werde ich sicherlich noch auf das ein oder andere Problem stoßen. Es müsste sicherlich möglich sein, dass das Mikro oder der Filter hinten dran nur die Frequenzen für die menschliche Sprache filtern, andersrum funktioniert es ja auch (Karaokemodus bei diversen Soundkarten, der je nach Soundkartenqualität gut bis weniger gut funktioniert ^^)

Mein LCARS verwaltet so komische Dinge wie die Medienbibliothek, Haushaltswaren aller Art (Minderbestandlisten, Einkaufslisten fürs Handy, Einbuchung/Ausbuchung über EAN), syncronisiert das ganze mit einer Webdatenbank über ein eigenes Protokoll (in beide Richtungen). Das Handy ist in der Lage über Webservices die Webdatenbank zu manipulieren und somit auch dann die Hauptdatenbank. Der Schritt über die Webdatenbank wird einigen Leuten sicherlich als unnötig erscheinen - soweit richtig :slight_smile: - aber ich habe weder das Bedürfnis einer festen IP noch die Nutzung von Diensten ala Dyndns. Momentan arbeite ich noch an der Oberfläche das sie genauso anpassbar ist wie das Original, also das im Menümodus alle Elemente frei positionierbar und transformierbar sind.

PS:@Smudo: Brauchst Du Sounds?^^

Danke für das Angebot aber Sounds sind nicht so das Problem.