Nicolas: per USB ein/ausschalten - Steuerung via Web

Hallo,

gibt es eine Möglichkeit z.B. eine Kaffemaschine über einen USB-Port ein- bzw. auszuschalten? Gibt es da Hardware bzw. auch Software?

Würde das Ganze dann gerne via Web / PHP schalten ...

Habt Ihr eine Idee?

Gruss, Nicolas

  1. Hi,

    gibt es eine Möglichkeit z.B. eine Kaffemaschine über einen USB-Port ein- bzw. auszuschalten? Gibt es da Hardware bzw. auch Software?

    für den USB-Port ist mir da nichts Fertiges (oder auch Bausatz) bekannt. Für den Parallelport gibt es allerdings von verschiedenen Anbietern (Reichelt, Conrad, Westfalia, usw.) fertige 8fach-Relais-Interfaces, über die man galvanisch getrennt auch Geräte am 230V-Netz ein- und ausschalten kann.
    Die Software dazu ist meist trivial.

    Würde das Ganze dann gerne via Web / PHP schalten ...

    Okay, um von PHP aus darauf zugreifen zu können, müsste man sich vermutlich selbst eine Art Mini-Treiber schreiben. Unter Windows ein klassisches Winter-Sonntagsprojekt; unter Linux vermutlich ähnlich einfach, aber da kann ich es mangels genauer Kenntnis des Systems nicht wirklich abschätzen.

    So long,
     Martin

    --
    Wenn alle das täten, wass sie mich können,
    käme ich gar nicht mehr zum Sitzen.
    1. Hi Nicolas,

      Wenn du irgend etwas über usb machen willst, dann kommst du an dieser Adresse fast nicht vorbei:

      www.mattronik.com

      Der Inhaber zählt zu den schlausten Köpfen Deutschlands und bietet solche Karten an. Er fertigt auch Sonderschaltungen an und liefert auf Wunsch die entsprechenden Treiber (.dll) gleich mit.

      Kleine Hintergrundinfo...
      Erstens: wird der LPT-Port am PC ganz verschwinden. Auch der Serielle Anschluss ist nicht gerade zukunftsicher. Also wer eine Steuerung für die Zukunft realisieren möchte braucht USB.

      Zweitens: Will man was mit USB machen braucht man einen Microcontroller.
      Denn im Gegensatz zum LPT- Anschluss kann man keine Pins am Stecker einzeln ansteuern. Der USB Anschluss hat 4 Pins. Pin 1 und 4 sind die Stromversorgung. Pin 2 und 3 sind Data+ und Data-. Hier findet die Digitale Datenübertragung statt. Deshalb braucht man immer auf der anderen Seite des PC's einen Microcontroller (im Prinzip ein kompletter PC auf einem Chip), damit die Zwei Geräte (PC und USB-Peripherie) miteinander kommunizieren können.

      Gebräuchliche Chips für die Realisierung solcher Projekte sind z. B.
      der AVR-Chip und der FTDI-Chip. Die Beschreibung der Programmierung dieser Chips würde hier zu weit führen.

      Wie du also hier erkennen kannst, ist es ein kompliziertes, wenn auch sehr interessantes Thema. Eine USB- Steuerung ist immer doppelt schwehr,da du zur Hardware auch Software (Treiber) brauchst. Der Lohn des ganzen Aufwandes ist aber dafür eine maximale Kompatibilität die quasi an jedem Computer gegeben ist.

      Gruss gary

      1. Hallo gary,

        Hi Nicolas,

        da hast du dich wohl vertan ... ;-)

        Wenn du irgend etwas über usb machen willst, dann kommst du an dieser Adresse fast nicht vorbei:
        www.mattronik.com

        Kannte ich noch nicht, danke. Aber mir fällt jetzt noch Code Mercenaries ein.

        Erstens: wird der LPT-Port am PC ganz verschwinden.

        Bei mir nicht. Centronics- und RS232-Anschlüsse sind in meinen Augen integrale Bestandteile des PC-Designs. Das gleiche gilt für ein Floppy-Laufwerk. Wenn mir ein Rechner in die Finger fällt, an dem eine dieser Komponenten fehlt, wird sie umgehend nachgerüstet.
        Okay, auf den Parallelport könnte ich teilweise noch verzichten, auf RS232 aber nicht.

        Also wer eine Steuerung für die Zukunft realisieren möchte braucht USB.

        Oder Ethernet. Oder CAN.

        [...] Deshalb braucht man immer auf der anderen Seite des PC's einen Microcontroller (im Prinzip ein kompletter PC auf einem Chip)

        Nana, wir wollen mal nicht übertreiben. Die USB-Controller, die man inzwischen bekommen kann, sind teilweise winzig und haben nur einen minimalen Funktionsumfang.

        Eine USB- Steuerung ist immer doppelt schwehr,da du zur Hardware auch Software (Treiber) brauchst.

        Software (evtl. sogar auf Treiberebene) brauche ich aber auch, wenn ich eine Steuerung über RS232 oder Centronics realisieren will. Denn die im Betriebssystem integrierten Treiber sind sind für die direkte Ansteuerung einzelner Port-Pins gedacht und bieten diese Funktion meist gar nicht.

        Der Lohn des ganzen Aufwandes ist aber dafür eine maximale Kompatibilität die quasi an jedem Computer gegeben ist.

        Wenn er einen USB-Anschluss hat. Gerade das ist aber bei älteren oder auch bei kleinen Embedded-PCs oft nicht der Fall.

        Schönen Sonntag noch,
         Martin

        --
        Kleine Geschenke erhalten die Freundschaft.
        Große verderben sie aber meist auch nicht.
        1. Hallo Martin,

          da hast du dich wohl vertan ... ;-)

          Ein wenig vielleicht,was den Serial-Anschluss betrifft. Der bleibt uns so wie es aussieht noch eine weile erhalten. Der LPT ist aber definitiv tot. Grosse Automobilhersteller sind nämlich kräftig am Umrüsten. Steuergerätprogrammierung und Fehlerauslesung zwar weiterhin über markenspezifische Servicestecker, Computerseitig aber nun auf USB. Auch zahlreiche Robotersteuerungen nun via USB. (Insiderwissen !)

          »»Das gleiche gilt für ein Floppy-Laufwerk.

          OK. Wenn ich meinen Kollegen das mit der Floppy erzähle, würde ich warscheinlich ausgelacht werden. Mit nem modernen CD-ROM ist eine Floppy nicht unbedingt notwendig um z.B. ein System neu aufzuziehen.

          Okay, auf den Parallelport könnte ich teilweise noch verzichten...

          Wie gesagt, wirst du verzichten müssen...

          »»Also wer eine Steuerung für die Zukunft realisieren möchte braucht USB... Oder Ethernet. Oder CAN.

          Das ist Richtig, aber den Massenmarkt erreicht man nur über USB...

          Nana, wir wollen mal nicht übertreiben. Die USB-Controller, die man inzwischen bekommen kann, sind teilweise winzig und haben nur einen minimalen Funktionsumfang.

          Aber merkmale eines Microkontroller (Quatz für Taktfrequenz, Speicher, usw.)Und das sie gross sind hab ich nie behauptet.

          Software (evtl. sogar auf Treiberebene) brauche ich aber auch, wenn ich eine Steuerung über RS232 oder Centronics realisieren will. Denn die im Betriebssystem integrierten Treiber sind sind für die direkte Ansteuerung einzelner Port-Pins gedacht und bieten diese Funktion meist gar nicht.

          Mit Software meinst du Programme, die ein bestimmtes verhalten der Schnittstelle ermöglichen. Aber der eigentliche Befehl (z.B. open com, Poke die und die Speicherstelle auf ein Wert usw.) ist wie du schreibst schon im Betriebssystem drin. Nicht so bei USB. Dort muss ich alles erst anmelden und über Treiber (die ich dort zwangsläufig selber schreiben muss)so bewerkstelligen, das das angeschlossene USB-Gerät überhaupt weis, was es machen soll. Ich meine dort geht die Schwierigkeit bereits bei der Kommunikation los.

          Wenn er einen USB-Anschluss hat. Gerade das ist aber bei älteren oder auch bei kleinen Embedded-PCs oft nicht der Fall.

          Jetzt aber, welcher neue Rechner hat keinen USB-Anschluss ? Und die "Alten sind eben irgendwann Geschichte.

          Auch Dir nen schönen Sonntag

          gruss gary

          PS. Auch wenn ich in JavaScript und Perl keine Leuchte bin, beim USB kenn ich mich, glaube ich zu meinen, ein bischen aus ;-)

          1. n'Abend,

            da hast du dich wohl vertan ... ;-)
            Ein wenig vielleicht,was den Serial-Anschluss betrifft.

            nein, ich meinte, was das Antworten auf das richtige Posting betrifft.

            Der LPT ist aber definitiv tot.

            Wie gesagt: Für mich nicht. Und Totgesagte leben länger. :-P

            Grosse Automobilhersteller sind nämlich kräftig am Umrüsten.

            Ja und? Das betrifft doch den Massenmarkt nicht.

            Steuergerätprogrammierung und Fehlerauslesung zwar weiterhin über markenspezifische Servicestecker, Computerseitig aber nun auf USB. Auch zahlreiche Robotersteuerungen nun via USB. (Insiderwissen !)

            Das ist ja okay, können die gern so machen - es ändert nichts daran, dass ich für meine Rechner den LPT-Port auch weiterhin beibehalten werde.

            Das gleiche gilt für ein Floppy-Laufwerk.
            OK. Wenn ich meinen Kollegen das mit der Floppy erzähle, würde ich warscheinlich ausgelacht werden. Mit nem modernen CD-ROM ist eine Floppy nicht unbedingt notwendig um z.B. ein System neu aufzuziehen.

            "Nicht unbedingt notwendig" trifft es ziemlich gut. Es macht die ersten Schritte beim Einrichten oder Testen eines neuen Systems aber wesentlich leichter. Sonst müsste ich mir ja für jede Änderung der Bootkonfiguration wieder eine neue CD brennen. Nee, für solche Lowlevel-Sachen ist ein Floppylaufwerk einfach unschlagbar.

            Okay, auf den Parallelport könnte ich teilweise noch verzichten...
            Wie gesagt, wirst du verzichten müssen...

            Nö, wieso müssen? Ist doch alles da, und wird auch auf Jahre noch zumindest als Add-On erhältlich sein.

            Also wer eine Steuerung für die Zukunft realisieren möchte braucht USB... Oder Ethernet. Oder CAN.
            Das ist Richtig, aber den Massenmarkt erreicht man nur über USB...

            Komisch, jetzt sprichst du vom Massenmarkt, eben waren's noch industrielle Sonderanwendungen?

            Nana, wir wollen mal nicht übertreiben. Die USB-Controller, die man inzwischen bekommen kann, sind teilweise winzig und haben nur einen minimalen Funktionsumfang.
            Aber merkmale eines Microkontroller (Quatz für Taktfrequenz, Speicher, usw.) Und das sie gross sind hab ich nie behauptet.

            Nein, nur dass sie "im Prinzip ein kompletter PC auf einem Chip" seien. Und das ist ganz sicher übertrieben.

            Software (evtl. sogar auf Treiberebene) brauche ich aber auch, wenn ich eine Steuerung über RS232 oder Centronics realisieren will. Denn die im Betriebssystem integrierten Treiber sind sind für die direkte Ansteuerung einzelner Port-Pins gedacht und bieten diese Funktion meist gar nicht.
            Mit Software meinst du Programme, die ein bestimmtes verhalten der Schnittstelle ermöglichen.

            Programme im weitesten Sinn. Dazu zählen auch eventuell im OS integrierte Treiber oder sogar das BIOS.

            Aber der eigentliche Befehl (z.B. open com, Poke die und die Speicherstelle auf ein Wert usw.) ist wie du schreibst schon im Betriebssystem drin.

            Ja, aber die Zugriffe auf Port-Ebene, die ich zum direkten Ansteuern z.B. eines Relais-Interfaces am Parallelport bräuchte, werden vom OS meistens gar nicht mehr geduldet.

            Nicht so bei USB. Dort muss ich alles erst anmelden und über Treiber (die ich dort zwangsläufig selber schreiben muss)so bewerkstelligen, das das angeschlossene USB-Gerät überhaupt weis, was es machen soll.

            Schon klar, aber beim Direktzugriff auf LPT- oder COM-Schnittstellen muss ich dem OS auch erst einen speziellen Treiber unterschieben, der mir den direkten Zugriff auf die einzelnen Pins erlaubt. Über die Standardtreiber geht's eben nicht (okay, bei Win98 kann man die Hardware noch direkt adressieren, aber ab XP/2000 ist Schluss damit, Linux ähnlich).

            Wenn er einen USB-Anschluss hat. Gerade das ist aber bei älteren oder auch bei kleinen Embedded-PCs oft nicht der Fall.
            Jetzt aber, welcher neue Rechner hat keinen USB-Anschluss ?

            Wie gesagt: Vor allem kleine Embedded-PCs haben oft kein USB, dafür aber vielleicht vier COMs, eine I2C-Schnittstelle, einen Watchdog-Timer, usw.

            Und die "Alten sind eben irgendwann Geschichte.

            Solange sie funktionieren, gibt es sie noch. ;-)

            PS. Auch wenn ich in JavaScript und Perl keine Leuchte bin, beim USB kenn ich mich, glaube ich zu meinen, ein bischen aus ;-)

            Das glaube ich dir gern - ich kann dafür solide Kenntnisse in hardware- und systemnaher Programmierung bis hinunter auf Assemblerebene anbieten - das würde sich doch prima ergänzen.

            So long,
             Martin

            --
            Die meisten Menschen werden früher oder später durch Computer ersetzt.
            Für manche würde aber auch schon ein einfacher Taschenrechner genügen.
            1. »» Wie gesagt: Für mich nicht. Und Totgesagte leben länger. :-P
              Den hast du vom Honecker geklaut...

              Ja und? Das betrifft doch den Massenmarkt nicht.

              Damit wollte ich ausdrücken, das wenn selbst die auf USB umrüsten, der LPT wirklich verschwinden wird.

              ...es ändert nichts daran, dass ich für meine Rechner den LPT-Port auch weiterhin beibehalten werde.

              Macht der Antiquitätenhändler genau so ;-)

              Sonst müsste ich mir ja für jede Änderung der Bootkonfiguration wieder eine neue CD brennen...ist ein Floppylaufwerk einfach unschlagbar.

              OK, stimmt für deinen Bereich der Systembetreung warscheinlich. Dann dürfen aber die Tools und Programme die du hierfür benötigst nicht allzu gross sein. Sonst hat man sehr schnell das DJ-Syndrom - eine raus, die nächste rein... / ...und man mus Zeit haben, weil Floppy nicht gleich Sportwagen...

              Komisch, jetzt sprichst du vom Massenmarkt, eben waren's noch industrielle Sonderanwendungen?

              Erklärung siehe oben.

              Das glaube ich dir gern - ich kann dafür solide Kenntnisse in hardware- und systemnaher Programmierung bis hinunter auf Assemblerebene anbieten - das würde sich doch prima ergänzen.

              Na ganz toll - wenn ich das mal früher gewusst hätte ! Dann hätte ich mir viele Euros Entwicklungskosten für mein Projekt sparen können...

              So denn, hat wieder mal Spass gemacht mit dir zu plaudern :-).

              Wünsch dir ne gute Nacht

              Gruss gary

              1. n'Abend!

                Ja und? Das betrifft doch den Massenmarkt nicht.
                Damit wollte ich ausdrücken, das wenn selbst die [Autoindustrie] auf USB umrüsten, der LPT wirklich verschwinden wird.

                Wieso das? Meinst du, die Automobilindustrie ist ein nennenswerter Faktor bei der Verwendung der LPT-Schnittstelle? Ich glaub's nicht. Ich vermute da eher die vielen -zigtausend Office- und Privatanwender, die noch Drucker mit einem anständigen Parallelanschluss haben.

                ...es ändert nichts daran, dass ich für meine Rechner den LPT-Port auch weiterhin beibehalten werde.
                Macht der Antiquitätenhändler genau so ;-)

                Mit dem Vergleich habe ich kein Problem. ;-)
                Den Spagat zwischen Antiquitätenhändler und Anwender aktueller Techniken mache ich fast mühelos.

                Sonst müsste ich mir ja für jede Änderung der Bootkonfiguration wieder eine neue CD brennen...ist ein Floppylaufwerk einfach unschlagbar.
                Dann dürfen aber die Tools und Programme die du hierfür benötigst nicht allzu gross sein.

                Oh, kein Problem. Eine gewöhnliche 3½"-Diskette fasst bei vernünftiger Formatierung 1600kB, da kriegt man einiges drauf. In Assembler geschriebene Programme sind üblicherweise sehr kompakt. Es reicht beispielsweise bequem für ein komplettes Disk Imaging Tool.

                und man mus Zeit haben, weil Floppy nicht gleich Sportwagen...

                Och, halb so wild. Man will ja auch mal einen Moment zwischendurch verschnaufen.

                ich kann dafür solide Kenntnisse in hardware- und systemnaher Programmierung bis hinunter auf Assemblerebene anbieten - das würde sich doch prima ergänzen.
                Na ganz toll - wenn ich das mal früher gewusst hätte ! Dann hätte ich mir viele Euros Entwicklungskosten für mein Projekt sparen können...

                Vielleicht ergibt sich ja mal wieder eine Gelegenheit! :-)

                So denn, hat wieder mal Spass gemacht mit dir zu plaudern :-)

                Danke, das beruht auf Gegenseitigkeit.

                Schönen Abend noch,
                 Martin

                --
                Wissen erwirbt man, indem man immer das Kleingedruckte sorgfältig liest.
                Erfahrung bekommt man, indem man das nicht tut.