-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Mikrocontroller ins WLAN einbinden

  1. #1

    Mikrocontroller ins WLAN einbinden

    Anzeige

    Guten Tag!

    ich möchte einen Mikrocontroller ins WLAN einbinden und dann darüber als erste Übung ein paar LEDs, die am uC hängen, steuern. Am liebsten per Android-App. In der Android- als auch in der uC-Programmierung habe ich bereits einige Erfahrung, jedoch nicht im Bereich Ethernet oder WLAN.

    Folgendes habe ich mir gedacht: Der Mikrocontroller verbindet sich per WLAN mit dem heimischen Router. Per Smartphone verbinde ich mich dann mit dem uC und toggle ein paar LEDs. Später möchte ich den Mikrocontroller mal als Server benutzen auf dem Daten gespeichert werden können, die von mehreren Benutzern über eine App abgerufen und auch verändert werden können. Aber ich möchte mir erstmal die Grundlagen aneignen.

    Das sind meine Fragen:
    zur Hardware(möglichst günstig!): Welche Hardware benötige ich? Habe ein paar Atmega 88A, die dürften vermutlich ein wenig zu klein sein oder? Was für ein WLAN Modul ist empfehlenswert?
    zur Software: wie bekomme ich eine Verbindung zwischen uC und Router hin? TCP/IP? Wie implementiere ich das konkret?(Beispiel-Code?) Wie bekomme ich eine Verbindung von Smarthphone zu uC hin?
    Ist es am Anfang erstmal am einfachsten auf dem uC einen Webserver zu implementieren, welche dann im Browser aufgerufen werden kann?

    Ich würde gerne soviel wie möglich selbst machen, da ich dabei ja schließlich etwas lernen möchte.

    Vielen Dank für eure Hilfe!

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.167
    Diese Modulen die Seit den Sommer bekannt geworden sind sind ganz Billig. Wenn man sie aus China kommen last, weniger Euros als Finger an deiner Hand. Und sehr einfach mit ein Mikrocontroller zu steuern (Serielle Schnittstelle). Und ziemlich klein aber fressen Strom (200-300 ma). Den uC davon kann man eben selbst programmieren.


    http://hackaday.com/tag/esp8266/

    https://github.com/esp8266/esp8266-wiki/wiki

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.04.2008
    Beiträge
    279
    Am einfachsten dürfte es fast mit einem Arduino gehen. Dafür gibt es extra Ethernet und WiFi shields. Ich persönlich mag den DigiX: http://shop.cboden.de/Digistump/DigiX/DigiX.html der hat WiFi bereits an Bord. Da sollte ein fertiger Webserver eigentlich schon mit drauf sein - muss ich aber selbst erst mal testen: http://digistump.com/wiki/digix/tutorials/wifi

    In der IDE gibt es auch einige Beispiele für einen Webserver auf so einem Ding. Wenn Du die fertigen Bibliotheken nicht verwenden willst, kannst Du dort aber zumindest nachlesen, wie es geht

  4. #4
    Hallo, vielen Dank für eure Antworten!
    Zitat Zitat von Valen
    Diese Modulen die Seit den Sommer bekannt geworden sind sind ganz Billig. Wenn man sie aus China kommen last, weniger Euros als Finger an deiner Hand. Und sehr einfach mit ein Mikrocontroller zu steuern (Serielle Schnittstelle). Und ziemlich klein aber fressen Strom (200-300 ma). Den uC davon kann man eben selbst programmieren.
    http://hackaday.com/tag/esp8266/
    https://github.com/esp8266/esp8266-wiki/wiki
    Das hört sich sehr gut an für läppische 3 Euro! Ich habe aber noch ein paar Fragen: der ESP8266 stellt eine WLAN Verbindung bereit und kann dann per UART mit meinem uC verbunden werden? Kann ich den ESP8266 auch mit meinem Router verbinden um von theoretisch überall auf der Welt auf ihn zugreifen zu können? Wie genau läuft ein Befehl ab, z.B. das togglen einer LED? Android Handy->ESP8266 (per TCP/IP) ->uC(per UART)->Led an?

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von anr31 Beitrag anzeigen
    1. der ESP8266 stellt eine WLAN Verbindung bereit und kann dann per UART mit meinem uC verbunden werden?
    2. Kann ich den ESP8266 auch mit meinem Router verbinden um von theoretisch überall auf der Welt auf ihn zugreifen zu können?
    3. Wie genau läuft ein Befehl ab, z.B. das togglen einer LED? Android Handy->ESP8266 (per TCP/IP) ->uC(per UART)->Led an?
    1. Ja, das ist die eine Seite des Moduls.
    2. Ja, mit WLAN kannst du praktisch nur eine Verbindung zu einem WLAN-Router oder einem Gateway herstellen.
    3. Das ist dann dein Bier! das WLAN übertragt nur deine Daten, von einem Punkt zu einem anderen. Ob du nun eine binäre 0 oder 1 für LED Aus/Ein senden willst oder on die LED bei "Bier" eingeschaltet und mit "Wein" ausgeschaltet wird, bleibt dir überlassen. Du musst nur dafür sorgen, dass beide Programme am Ende der Kette (App und µC) die selbe Sprache sprechen.

    Das ist wie bei der Post. Die Post transportiert den Umschlag von A nach B. Was im Umschlag steckt, kümmert die Post nicht. Dieser Teil entspricht dem (W)LAN.
    Den Brief kannst du in altägyptischen Hieroglyphen, chinesisch, englisch oder einer Geheimschrift verfassen, das ist für die Post unerheblich. Wichtig ist aber, dass der Empfänger die Zeichen deuten kann. Das gilt auch für dein Problem.

    Technisch musst du zuerst eine Verbindung zu deinem Modul über das Internet aufbauen, dann kannst du die Daten übertragen, welche dann 1:1 am seriellen Port des ESP8266 ausgegeben werden. Der C muss dann diese Daten auswerten und entsprechend handeln.

    Du solltest dich vielleicht erst einmal mit den Grundlagen der Netzwerktechnik etwas vertraut machen.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    3. Das ist dann dein Bier! ... Du musst nur dafür sorgen, dass beide Programme am Ende der Kette (App und µC) die selbe Sprache sprechen.
    Es gibt auch Varianten, wo man nur an einer Seite der Kette programmieren muss. Dafür braucht man aber etwas mehr Hardwarepower als bei einem Arduino.

    Würdest du auf diese Seite gehen
    http://beagleboard.org/Support/BoneScript/digitalWrite/
    und ein Beaglebone Black wäre unter seiner Standard-IP-Adresse in deinem Netzwerk sichtbar, dann wäre oben auf der Seite das Feld "Did you know ? ..." nicht orange sondern grün und es stände da "Board detected ...".

    Dann könnest Du weiter unten in dem Feld "Example" einfach auf "Run" klicken und eine LED am auf dem Board geht an. Insbesondere kann man auf jedem Smartphone, Tablett oder Computer in das Textfeld dort Befehle eingeben und das Board führt sie aus.

    Das ist eine ganz andere Art der Programmierung als auf einem Arduino. Das Programm das dahintersteckt ist dieses
    http://nodejs.org/

    Kommt ganz drauf an, wohin sich das ganze entwickeln soll ...

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von Mxt Beitrag anzeigen
    Es gibt auch Varianten, wo man nur an einer Seite der Kette programmieren muss. Dafür braucht man aber etwas mehr Hardwarepower als bei einem Arduino.
    Gut, da hat einer die halbe Arbeit schon erledigt.
    Allerdings musst du dann die vorgegebene Sprache dieses Anderen sprechen, damit es funktioniert.

    Nur Port Ein/Aus geht meistens schon ganz ohne Programm mit dem Debugger.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Hi,

    also einmal hat der Fragesteller auch das hier geschrieben, das lies mich gleich an den Beaglebone denken
    Zitat Zitat von anr31 Beitrag anzeigen
    Später möchte ich den Mikrocontroller mal als Server benutzen auf dem Daten gespeichert werden können, die von mehreren Benutzern über eine App abgerufen und auch verändert werden können.
    [Technische Erläuterung für Fortgeschrittene:]

    Eine "vorgegebene Sprache des anderen" gibt es nicht, das ist nur eine Webseite. Auf dem Server (also dem Board) können die Scripts natürlich auch Programme in belibiegen Sprachen aufrufen. Normalerweise schreibt man sich zur Bedienung ja eine Webseite mit ein paar Buttons. Diese Demoseite ist etwas raffinierter gemacht, da hinter dem Run-Button kein fester Code auf dem Server hinterlegt ist. Vielmehr ist das Textfeld über einen Websocket an den Server gebunden. Wenn der Run-Button geklickt wird, wird auf dem Server das Javascript aus dem Textfeld im Browser des Clients ausgeführt ...

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    59
    Beiträge
    2.435
    Hallo,
    Zitat Zitat von Mxt Beitrag anzeigen
    Eine "vorgegebene Sprache des anderen" gibt es nicht, das ist nur eine Webseite. Auf dem Server (also dem Board) können die Scripts natürlich auch Programme in belibiegen Sprachen aufrufen. Normalerweise schreibt man sich zur Bedienung ja eine Webseite mit ein paar Buttons. Diese Demoseite ist etwas raffinierter gemacht, da hinter dem Run-Button kein fester Code auf dem Server hinterlegt ist. Vielmehr ist das Textfeld über einen Websocket an den Server gebunden. Wenn der Run-Button geklickt wird, wird auf dem Server das Javascript aus dem Textfeld im Browser des Clients ausgeführt ...
    Wo ist da jetzt der Widerspruch?

    Entweder verwende ich etwas fertiges von einem anderen oder ich schreibe selbst etwas für den Client und lade es irgendwie auf den Client. Dabei spielt es keine Rolle ob ich das in den Client ins ROM schreibe oder ein Script runter lade und ausführen lasse.

    In dem Fall mit dem Webbrowser muss ich mich an die Vorgaben von Javascript und den Mechanismus der Webseite halten.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    599
    Zitat Zitat von Peter(TOO) Beitrag anzeigen
    Wo ist da jetzt der Widerspruch?
    Genau darin. Entweder man schreibt etwas für den Client oder nicht.

    Man braucht kein Javascript, das ist nur die Sprache im Beispiel. Man braucht keinen Mechanismus der Webseite. Man kann eine LED einschalten, einfach dadurch, dass man eine Webseite aufruft (REST). Es gibt dann einfach eine URL für LED-an und eine für LED-aus. Das geht auch mit Clients, die man evttl. gar nicht selbst programmieren kann, z.B. EBook Reader.


    [Nachtrag:]
    Die Webseite(n) muss man natürlich schreiben. Und die Clients müssen http können. Das ist alles.
    Geändert von Mxt (16.12.2014 um 09:47 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. IF-Sensoren ins BSRNFRA32-Board einbinden
    Von Flack im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 26.11.2013, 15:56
  2. WLAN Chip RN-XV Kommunikation mit Mikrocontroller
    Von jcrypter im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 12.12.2012, 19:30
  3. Videosignal ins Wlan bzw auf Website streamen?
    Von dremler im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 19
    Letzter Beitrag: 21.10.2009, 01:01
  4. "normalen" PC mit Access Point ins WLAN?
    Von Jaecko im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 6
    Letzter Beitrag: 17.08.2009, 20:03
  5. Einbinden einer Library auf Mikrocontroller
    Von SummerTime im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 25.03.2008, 20:53

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •