- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Mikrocontroller ins WLAN einbinden

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Mikrocontroller ins WLAN einbinden

    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.170
    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
    282
    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
    66
    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 Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    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
    66
    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 Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Zitat Zitat von anr31 Beitrag anzeigen
    ... 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?
    Ich habe bis jetzt nur einiger gekauft, aber noch nicht mit rum gespielt. Also muss ich dich auf google hinwiesen fur weitere detail info. Den chip ist ein microcontroller mit eingebautem wlan radio. Leider ist die chip dokumentation bis jetzt nebelartig: im prinzip nicht von NDA frei gegeben (geleckt). Es ist aber teilweise aus die Chinesische sprache umgewandelt.

    Den ESP8266 kann man selbst programmieren mif den espressif toolchain sdk, und so autonom seiner wlan schnitstelle und gpio benutzen lassen.( Sehe speziell den letzte link den ich im letzten beitrag gegeben habe. Irgend wo gibt es dort schon ein blinky code beispiel.) Es hat aber schon firmware das ein externe microcontroller uber UART ein verbindung zu dein wlan erstellen last. Dafur muss die ext. Mikrocontroller bestimte AT kommandos senden und ihre ruckmeldungen interpretieren. Ob es schon kommandos gibt die den gpio pins einstellt habe ich noch nicht verstanden. (Einige pins werden aber im bootloader prozess verwendet den firmwareupdate quelle zu wahlen)

    Die AT kommandos erstellen ein verbindung zu den ssid von dein (heim) wlan router. Wenn das gelungen ist kannst du ein verbindung erstellen zu jeder IP (v4) adresse und port uber tcp/udp protokoll das deinen router erreichen kann. Mit portforwarding richtig eingestellt auf dein router solltest du dein ESP8266 im heimnetzwerk erreichen konnen von wo auch immer auf das netz. Was du dein microcontroller oder android client senden oder empfangen last ist an ihn und den server. Also Peter(TOO) hat das schon deutlich beschrieben: sie sollen sich verstehbar machen.

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Also um die Dinge etwas zusammenzufassen:

    Nur die LED über TCP schalten kann man mit so einem billigen WLAN Modul machen.

    Das mit dem Server, den Benutzern und den Daten ist so eine Sache. Wie viele Daten ? Sowas wie ein Dateiupload ? Mehrere Benutzer gleichzeitig ?

    Es gibt diverse kleine Webserver für Mikrocontroller. Da kenne ich mich nicht so aus. Ob die dann mit dem WLAN Modul laufen ist eine andere Geschichte. Natürlich kann man sich auch selber einen Webserver schreiben, dann muss man aber einiges an Doku zu den Protokollen lesen.

    Abhängig von der benötigten Servergröße wäre dann ein kleiner Linux Rechner, wie der Raspi, die leistungsfähigere Lösung. Da ist die Größe dann nach oben offen, man kann immer auf was größeres wechseln. Webprogrammierung für Linux gibt es wahrscheinlich in tausend verschiedenen Arten, das oben gezeigte war nur ein einfaches Beispiel, was gut mit Mobilen Clients zusammen arbeitet.

    Einen Mikrocontroller kann man für IO-Aufgaben dann immer noch an den Linux Rechner hängen.

    Wie gesagt, es hängt alles davon ab, wie weit das über eine LED hinaus wachsen soll ...

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    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 ...

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
  •  

LiFePO4 Speicher Test