Forum: PC Hard- und Software Lampe - LED via Internet ansteuern


von Georg L. (georg-lum)


Lesenswert?

Hallo,
ich wende mich an Euch, in der Hoffnung, dass jemand mir weiter helfen 
kann, bzw. dass ich es in der richtiger Kategorie poste.
Habe viel nach recherchiert, jedoch nicht das gefunden, was ich gerne 
haben möchte.

Ich möchte gerne mit einem Smartfon  (eigener (Android) App), egal was, 
- sagen wir eine LED, .... Lampe anschalten.
Gefunden habe ich;

1) ALLNET ALL4075
Ist mir aber "zu leicht" - basiert auf ne xml Datei. Man implementiert 
die *.xml Datei auf ne Homepage und es wird alles nötiges (Steuerung) 
"generiert".
...
42) Entwickler- Board´s ohne Betriebsystem .... dafür bin ich sorry! zu 
blöd.

Was ich suche ist ´ne Hardware, welche ich mit Internet (an meinen 
Router) verbinde (? feste IP) und mit einem Protokoll (Code) aus meiner 
App es steuern kann.
Stelle mir das in etwas so vor:
- mit (ip) x.x.x.x.y Verbinden
- 12345 (Adresse) eines Relais1 (LED1) für an senden -> Relais1 (LED1) 
-> AN
- 12346 (Adresse) des Relais1 (LED1) für aus senden -> Relais1 (LED1) -> 
AUS

Für jeden Tipp - werde mich sehr freuen.
Danke &

LG
Georg

: Verschoben durch Moderator
von TestX .. (xaos)


Lesenswert?

zB Lantronics XPort mit Relaiskarte
zB RaspberryPI mit Relaiskarte
...

von Georg L. (georg-lum)


Lesenswert?

WOW,
danke für die schnelle Antwort!
Ich werde mir dies ansehen.

von Shadow x.h. (Gast)


Lesenswert?

Würd den RaspberryPi nehmen und dann ne kleine Webapp in Python 
schreiben die den gpio ansteuert. Wenn man doch mal was anderes machen 
will kann man dem nem wlan-stick geben und hat ihn mobil im netz.
Als Betriebssystem Linux Raspbian.
für 10 euro noch lautsprecher ran (bei mir stromversorgt über aktivem 
usb-hub den man noch braucht wenn man festplatten etc. an den pi 
anschließen will) und man hat nebenbei mit den Lautsprechern noch 
webradio oder kann Sprachausgabe-Meldungen mit espeak machen:


echo "I sound like a female" | espeak -v female3

echo "The time is `date +"%H %M"`"| espeak -v female3

echo "Old Mc Donald had a Farm IAH IAH OH." | espeak -v english -s 140

von Simon S. (-schumi-)


Lesenswert?

Ich arbeite gerade an sowas und benutze einen Raspberry Pi mit Python3 
und Tornado um einen Websocket-Server zu schreiben der die Kommandos 
entgegennimmt. Minimalbeispiel:
1
#!/usr/bin/env python3
2
3
import tornado.web
4
import tornado.websocket
5
import tornado.ioloop
6
7
class WebSocketHandler(tornado.websocket.WebSocketHandler):
8
    # the client connected
9
    def open(self):
10
        print("New client connected")
11
        self.write_message("You are connected")
12
13
    # the client sent the message
14
    def on_message(self, message):
15
        print("Got a message: >>>"+message+"<<<, parsing it..")
16
        self.write_message(RequestHandler(message))
17
18
    # client disconnected
19
    def on_close(self):
20
        print("Client disconnected")
21
22
23
def RequestHandler(requestlist):
24
    requestlist = requestlist.splitlines()      # String von Kommandos (jedes Kommando eine Zeile) aufteilen
25
    returnlist = ""                             # Liste für abgearbeitete Kommandos (wird zurück zum Client geschickt)
26
    for request in requestlist:
27
        request =  request.strip()              # Unnötige Whitespaces entfernen
28
        requestsplit = request.split(':')       # "command:value" auftrennen
29
        requestsplit.append("dummy")            # Falls keine value mitgegeben wurde wird "dummy" als value benutzt (um Fehler bei der Ausführung zu vemeiden)
30
        command = requestsplit[0]
31
        value = requestsplit[1]
32
        if command == "set.led1":
33
            if value == "on":
34
                # Hier LED1 einschalten
35
                returnlist += "\n set.led1:ok"
36
            if value == "off":
37
                # Hier LED1 ausschalten
38
                returnlist += "\n set.led1:ok"
39
        
40
    return returnlist
41
42
43
# start a new WebSocket Application
44
# use "/" as the root, and the
45
# WebSocketHandler as our handler
46
application = tornado.web.Application([
47
    (r"/", WebSocketHandler),
48
])
49
50
# start the tornado server on port 8888
51
if __name__ == "__main__":
52
    application.listen(8888)
53
    tornado.ioloop.IOLoop.instance().start()
Hier auch noch der Code der im Moment auf meinem Roboter läuft: 
https://github.com/schuhumi/autocut/blob/master/Software/Main%20Module/Commandserver/CommandServer/main.py

Um Befehle an den Server zu schicken benutze ich Javascript, das auch 
auf dem Roboter gehostet wird. Zur Orientierung: 
https://github.com/schuhumi/autocut/blob/master/Software/Main%20Module/Webserver/js/websocket.js 
(function set_ws_status(status) gehört da nicht rein sehe ich grade...)
Die LED würdest du damit so anschalten:
1
WebSocket_Open();
2
WebSocket_Send('set.led1:on')
3
WebSocket_Close();

von Georg L. (georg-lum)


Lesenswert?

Hallo,
VIELEN! dank für Eure antworten.
Vorher wusste ich nicht wonach ich explizit suchen soll!
Jetzt "Toogle" ich zwischen Lantronics XPort und RaspberryPi.
Beide  sind "HOCH" interessant.
Im besonderen danke an @Simon S für Deine ausführliche (fast Tutorial) 
Antwort.
Embedded Systeme sind leider für mich schon OUT! - (bin 52-ig und habe 
die "PC- Evolution" so zusagen verschlafen") Bei der "Oberfläche 
Programmierung" - geht es einiger masse bei mir. Als "Krönung" meiner 
""Hobby Welt" - möchte gerne das Projekt durchziehen:
Mit Handy (App schreiben) eine LED / Lampe (Hardware) via Internet 
(steuern).
Es ist mir bewusst!, - dass so was schon Fertig auf dem Markt zu finden 
ist, - viele von euch es in ein paar Stunden - Tage - es kreieren 
könnten .... ist für mich ne letzte Voraussetzung.
blablabla ... OK!
Habe mich durch Eure Vorschläge (Lantronics XPort, RaspberryPi) etwas 
durchgeklickt.
Egal an was ich mich entscheide; - ich bedanke mich herzlich für die 
Tipps.
Irgendwie, sagt mir aber mein "Orakel Paul", dass ich hier 
(diesbezüglich) noch was fragen würde - hihihi
Leute - DANKE!

LG
Georg

Ps.
An Moderator: - sorry & danke für die Verschiebung in die richtige 
Kategorie.

von Sven L. (sven_rvbg)


Lesenswert?

Pollin Net I/O da gibt es auch eine app, zumindest für das iPhone

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Es gibt schaltbare Steckdosenleisten mit Ethernet-Anschluß. Nur die App 
müsstest du ggf. selbst machen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Jürgen S. (jurs)


Lesenswert?

Thorsten Ostermann schrieb:
> Es gibt schaltbare Steckdosenleisten mit Ethernet-Anschluß. Nur die App
> müsstest du ggf. selbst machen.

Nö, gibt auch welche mit fertigen Apps für iPhone oder Android:
http://www.amazon.de/EnerGenie-EG-PM2-LAN-programmierbare-IP-Steckdosenleiste-LAN-Schnittstelle/dp/B00AACIHPS/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.