Aktuelle Zeit: 18.11.2018 05:28

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: ESP8266 WI-FI mit Purebasic steuern
BeitragVerfasst: 29.12.2015 14:20 
Offline

Registriert: 31.12.2009 11:58
Hallo, guten Tag.

Ich kann es nicht lassen und habe mir mal dieses ESP8266-Modul gekauft und einem Arduino MEGA2560 :
http://esp8266-server.de/

Das ESP8266 ist ein WI-FI-Modul mit 512KB Speicher und kann über die Arduino IDE programmiert werden und arbeitet als eigenständiger Computer. Ich habe ein Purebasicprogramm geschrieben und möchte damit 8 Verschiedene Dinge ansteuern über den MEGA2560 (on/off). Das Purebasicprogramm schaltet den ESP8266 und der leitet die Daten Seriell weiter an den MEGA2560 um damit irgend etwas zu machen.
Ich habe die Daten die am MEGA2560 ankommen zur Kontrolle über TX1 an den PC gesendet ob es funktioniert.

Es geht auch ohne den MEGA2560 um zu kontrollieren, man geht dann mit dem TX vom ESP8266 zum USB-Serialwandler zum PC.

Ich möchte damit dieses ZUSI3 fernsteuern:
http://www.zusi.de/pages/dehaupt/zusi-3.php

Dieses Programm kommt in den ESP8266 :
Code:
#include <ESP8266WiFi.h>

const char* ssid = "......";
const char* password = "......";

WiFiServer server(80);

void setup() {
  Serial.begin(9600);
  delay(10);

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
 
  server.begin();
  Serial.println("Server started");

  Serial.println(WiFi.localIP());
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  while(!client.available()){
    delay(1);
  }
 
  String req = client.readStringUntil('\r');
  // Serial.println(req);
  client.flush();
 
  if (req.indexOf("0ON") != -1)
    Serial.println("0=on");
  else if (req.indexOf("0OFF") != -1)
     Serial.println("0=off");
     
  else if (req.indexOf("1ON") != -1)
    Serial.println("1=on");
  else if (req.indexOf("1OFF") != -1)
     Serial.println("1=off");
     
  else if (req.indexOf("2ON") != -1)
    Serial.println("2=on");
  else if (req.indexOf("2OFF") != -1)
     Serial.println("2=off");

  else if (req.indexOf("3ON") != -1)
    Serial.println("3=on");
  else if (req.indexOf("3OFF") != -1)
     Serial.println("3=off"); 

  else if (req.indexOf("4ON") != -1)
    Serial.println("4=on");
  else if (req.indexOf("4OFF") != -1)
     Serial.println("4=off");

  else if (req.indexOf("5ON") != -1)
    Serial.println("5=on");
  else if (req.indexOf("5OFF") != -1)
     Serial.println("5=off"); 

  else if (req.indexOf("6ON") != -1)
    Serial.println("6=on");
  else if (req.indexOf("6OFF") != -1)
     Serial.println("6=off");   

  else if (req.indexOf("7ON") != -1)
    Serial.println("7=on");
  else if (req.indexOf("7OFF") != -1)
     Serial.println("7=off");       
  else {
    Serial.println("invalid request");
    client.stop();
    return;
  }

  client.flush();

  delay(1);
}


Und dieses Ist das Purebasictestprogramm:
Code:
Global buffer.l, text_e.s, url.s

Enumeration
  #Window_0
  #Editor_0
  #z0_an
  #z0_aus
  #z1_an
  #z1_aus
  #z2_an
  #z2_aus
  #z3_an
  #z3_aus
  #z4_an
  #z4_aus
  #z5_an
  #z5_aus
  #z6_an
  #z6_aus
  #z7_an
  #z7_aus
EndEnumeration

InitNetwork()

url= "http://192.168.2.102/?pin=1ON"

OpenWindow(#Window_0,1000,200,420,500,"esp-webserver-http", #PB_Window_SystemMenu)

EditorGadget(#Editor_0, 10, 180, 300,280)

ButtonGadget(#z0_an, 10,60, 40, 25, "0 an")
ButtonGadget(#z0_aus, 10,85, 40, 25, "0 aus")
ButtonGadget(#z1_an, 50,60, 40, 25, "1 an")
ButtonGadget(#z1_aus,50,85, 40, 25, "1 aus")
ButtonGadget(#z2_an, 90,60, 40, 25, "2 an")
ButtonGadget(#z2_aus, 90,85, 40, 25, "2 aus")
ButtonGadget(#z3_an, 130,60, 40, 25, "3 an")
ButtonGadget(#z3_aus,130,85, 40, 25, "3 aus")

ButtonGadget(#z4_an, 170,60, 40, 25, "4 an")
ButtonGadget(#z4_aus,170,85, 40, 25, "4 aus")
ButtonGadget(#z5_an, 210,60, 40, 25, "5 an")
ButtonGadget(#z5_aus,210,85, 40, 25, "5 aus")
ButtonGadget(#z6_an, 250,60, 40, 25, "6 an")
ButtonGadget(#z6_aus,250,85, 40, 25, "6 aus")
ButtonGadget(#z7_an, 290,60, 40, 25, "7 an")
ButtonGadget(#z7_aus,290,85, 40, 25, "7 aus")

Repeat 
  Event = WaitWindowEvent()
 
  Select Event
    Case #PB_Event_Gadget
      EventGadget = EventGadget()
      EventType = EventType()
     
      If EventGadget =  #z0_an
        URL = SetURLPart(URL, "pin", "0ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z0_aus
        URL = SetURLPart(URL, "pin", "0OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z1_an
        URL = SetURLPart(URL, "pin", "1ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z1_aus
        URL = SetURLPart(URL, "pin", "1OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z2_an
        URL = SetURLPart(URL, "pin", "2ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z2_aus
        URL = SetURLPart(URL, "pin", "2OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z3_an
        URL = SetURLPart(URL, "pin", "3ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z3_aus
        URL = SetURLPart(URL, "pin", "3OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf
     
      If EventGadget =  #z4_an
        URL = SetURLPart(URL, "pin", "4ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z4_aus
        URL = SetURLPart(URL, "pin", "4OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z5_an
        URL = SetURLPart(URL, "pin", "5ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z5_aus
        URL = SetURLPart(URL, "pin", "5OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z6_an
        URL = SetURLPart(URL, "pin", "6ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf     
      If EventGadget =  #z6_aus
        URL = SetURLPart(URL, "pin", "6OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z7_an
        URL = SetURLPart(URL, "pin", "7ON")
        Buffer = ReceiveHTTPMemory(url)
      EndIf   
      If EventGadget =  #z7_aus
        URL = SetURLPart(URL, "pin", "7OFF")
        Buffer = ReceiveHTTPMemory(url)
      EndIf
     
    Case #PB_Event_CloseWindow
      EventWindow = EventWindow()
      If
EventWindow = #Window_0
        CloseWindow(#Window_0)
        Break
      EndIf
  EndSelect
ForEver


Das Bild ist unten am Textende :
http://forum.zusi.de/viewtopic.php?f=40 ... 04#p255104


Gruss


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: Exabot [Bot] und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye