INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 1 Bewertungen - 4 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nodemcu wie benutzen?
27.12.2016, 23:40
Beitrag #17
RE: Nodemcu wie benutzen?
Hier mal ein AP und ein Stationsprogramm
Code:
// Client Einwahl am Router mit:
// IP 192.168.178.35:80
// Fuer STATION mode:
const char *ssid = "FRITZ!Box WLAN 3370"; // Meine ROUTER SSID
const char *pw = "............";            // Password am Router
const int port = 80;                      // Port

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
WiFiServer server(port);
WiFiClient client;

char AppIn[1024];  // Empfangsbuffer von APP
word Ind1=0;
char SerIn[1024];  // Empfangsbuffer von Seriell
word Ind2=0;

//################################################################################​#############################
void setup()
  {
    delay(500);
    Serial.begin(115200);
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, pw);
    while (WiFi.status() != WL_CONNECTED)
      {
        delay(100);
      }
  server.begin(); // start TCP server  
}
//################################################################################​#############################
void loop()
  {
    if(!client.connected()) // Abfrage Smartphon verbunden
      {
        client = server.available(); // Anmeldung am Server
        return;
      }
  if(client.available()) // Abfrage Smartphon verbunden
    {
      delay(10);
      while(client.available()) // Smartphon mit Server verbundn
        {
          AppIn[Ind1] = (char)client.read(); // Lesen der Daten vo der (RoboRemo app) app)
          if(Ind1<1023) Ind1++; // Begrenzung des Array
        }
      Serial.write(AppIn, Ind1);  // Senden an Arduino über Seriell
      Ind1 = 0;
//      Serial.println(" ");  // Neue Zeile am Serialmonitor der IDE
    }

  if(Serial.available()) // Arduino Serielle Verbindung bereit
    {
      delay(10);
      while(Serial.available()) // Daten vom Arduino vorhanden
        {
          SerIn[Ind2] = (char)Serial.read(); // Lesen vom Arduino
          if(Ind2<1023) Ind2++;
        }
      client.write((char*)SerIn, Ind2); // Daten an (RoboRemo app) Senden
      Ind2 = 0;
    }
  }


Code:
// Accespoint Eigenstaendiges Netzwerk
// Einwahl Smartphon mit IP  192.168.0.1:300
// Password  =  12345678
// SSID  =  ESP_MCU
// Fuer AP mode:
const char *ssid = "ESP_MCU";  // Smartphon verbinden mit dieser SSID
const char *pw = "12345678"; //   password
const int port = 300; //          port

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
WiFiServer server(port);
WiFiClient client;

char AppIn[1024];  // Empfangsbuffer von APP
word Ind1=0;
char SerIn[1024];  // Empfangsbuffer von Seriell
word Ind2=0;

//################################################################################​#############################
void setup()
  {
    delay(500);
    Serial.begin(115200);
    IPAddress ip (192, 168, 0, 1); // Von der App Verbinden zu dieser IP und Port
    IPAddress netmask (255, 255, 255, 0);
    WiFi.softAPConfig(ip, ip, netmask); // configure ip address fuer softAP
    WiFi.softAP(ssid, pw); // SoftAP mit SSID und Password erstellen
  
    server.begin(); // start TCP server  
  }
//################################################################################​#############################
void loop()
  {
    if(!client.connected()) // Abfrage Smartphon verbunden
      {
        delay(10);
        client = server.available(); // Anmeldung am Server
        return;
      }
  if(client.available()) // Smartphon mit Server verbundn
    {
      delay(10);
      while(client.available()) // Smartphon bereit zum Senden
        {
          AppIn[Ind1] = (char)client.read(); // Lesen der Daten vo der (RoboRemo app)
          if(Ind1<1023) Ind1++; // Begrenzung des Array
        }
      Serial.write(AppIn, Ind1); // Senden an Arduino über Seriell
      Ind1 = 0;
      Serial.println(" ");  // Neue Zeile am Serialmonitor der IDE
    }

  if(Serial.available()) // Arduino Serielle Verbindung bereit
    {
      delay(10);
      while(Serial.available()) // Daten vom Arduino vorhanden
        {
          SerIn[Ind2] = (char)Serial.read(); // Lesen vom Arduino
          if(Ind2<1023) Ind2++;
        }
      client.write((char*)SerIn, Ind2); // Daten an (RoboRemo app) Senden
      Ind2 = 0;
    }
  }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2017, 18:42 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2017 18:43 von Binatone.)
Beitrag #18
RE: Nodemcu wie benutzen?
au weia...
Derzeit wenig Zeit - leider!

Dank Eurer Hilfe kann ich jetzt zumindest Daten dauerhaft sichern.
Die EEprom.h übernimmt das für uns fast komplett.

In der Arduino IDE kann man zunächst die Speicherverwaltung wählen:
Werkzeuge -> Flash Size -> 3M SPIFFS z.B.

Dann im Setup mit EEprom.begin(512) einen Bereich von 512 Byte reservieren.

Ab jetzt kann mit EEprom.read() oder EEprom.write gearbeitet werden.

Besonderheit beim ESP:
Nach EEprom.write() muss ein EEprom.commit() aufgerufen werden, damit wirklich gespeichert wird.

Das war also ne simple Geschichte, das andere hab ich noch nicht geblickt.
Sad

Naja, wird schon noch

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.01.2017, 12:14
Beitrag #19
RE: Nodemcu wie benutzen?
Ohhh Mann....

Ich komme einfach nicht weiter Sad

Beispiele durchgeackert, kein Erfolg
Google benutzt, stundenlang, kein Erfolg!

Was möchte ich erreichen?

Zwei ESP8266 sollen miteinander reden.
Zwischen den beiden werden nur Bytes ausgetauscht (0..255)

Beispiele gibt's viele im Netz.
Was ich fand, bringt irgendwelche Daten auf eine Webseite.
Oder die Verbindung zwischen 2 ESP läuft über einen Router.
Oder es wird eine Verbindung aufgebaut, aber keine Daten verschickt.
Oder es wird alles im Arduino gemacht und über AT Commands im ESP umgesetzt.

Es muss doch möglich sein, einen ESP als AP und den anderen als Client zu deklarieren und dann Daten zu verschicken.
Diese Daten sollen dann auf beiden Seiten im Loop verarbeitet werden können.

Beispiel:
ESP 1 erfasst die Umgebungstemperaur
ESP 2 empfängt diese Temperatur von ESP 1
Im ESP 2 wird die Zentralheizung geregelt (wärmer, kälter oder passt so)
Gleichzeitig enthält ESP 2 die Raum Temperaur Soll-Kurven.
Dann schickt ESP 2 die Info an ESP 1, wonach der Heizkörper im Raum nachgerietest wird.

Als ich mit den ESP gestartet bin, kam ich echt gut zurecht.
Aber 2 von den Dingern verknüpfen, das gelingt mir nicht.

Ich dachte, genau hier liegt deren Vorteil!
WLAN SSID, Passwort und Port auf beiden Seiten gleich.
Und schon kann man Variablen hin und her schieben.

Aber ich finden nüscht brauchbares Sad


Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.01.2017, 23:30
Beitrag #20
RE: Nodemcu wie benutzen?
es gibt viele möglichkeiten über wlan zu kommunizieren
zb über html server und client
sockets

am besten geht es meiner ansicht nach wenn du einen mqtt broker verwendest welcher zwischen beiden die daten vermittelt.

an was hast du gedacht ?

da hier das thema esp8266 eher unter sonstiges gehandelt wird möchte ich dich auf die facebookgruppe Esp8266 deutschland hinweisen - dort ist ziemliches know how versammelt .... https://www.facebook.com/groups/905929792828481/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.01.2017, 05:03
Beitrag #21
RE: Nodemcu wie benutzen?
Moin!
Und danke für die Antwort.

Es sollen zwei ESP "vernetzt" werden, ohne Einbindung in ein anderes System.
Kein Router, kein Internet, nur die beiden einsam und verlassen für sich.


Muss doch machbar sein Smile

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.01.2017, 14:37
Beitrag #22
RE: Nodemcu wie benutzen?
Das hatte ich auch mal gedacht, einfach ist eben nicht wirklich einfach. Ich wollte auch "nur" eine W-Lan-Strecke zwischen 2 Teilnehmern aufbauen die dann mit einander reden, das Projekt ruht z.Zt. weil ich nicht weiter weiß.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2017, 15:23
Beitrag #23
RE: Nodemcu wie benutzen?
Ja, es ist wie verhext...

Man findet reichlich Beispiele, wo die Verbindung über einen Router läuft.
Man findet auch genug Infos, wie man den ESO als Microcontroller nutzt (Blink)
Verbindungen zu einem Webserver, auch kein Problem.

aber Verbindung ESP direkt zu ESP scheint es nicht zu geben.

Ein Verschwörungstheoretiker würde jetzt wohl meinen, das dies so gewollt ist und man möglichst alle ESP der Welt am WWW hat, damit die sich ab und zu mal heimlich zuhause melden können und dort Daten abzuliefern.

Naja, ok...
Hier weis offensichtlich niemand Rat.
aber Facebook als Plattform für solche Fragen?
Ein Forum ist top dafür, weiß dann Suchfunktionen gibt.
In der Fratzenkladde verschwindet eine Frage doch nach 2-6 Stunden im Nirvana.

Naja, mach wat dran!

Bis neulich

Binatone
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2017, 20:17 (Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2017 21:34 von Tommy56.)
Beitrag #24
RE: Nodemcu wie benutzen?
(19.01.2017 15:23)Binatone schrieb:  Ja, es ist wie verhext...

Man findet reichlich Beispiele, wo die Verbindung über einen Router läuft.
Man findet auch genug Infos, wie man den ESO als Microcontroller nutzt (Blink)
Verbindungen zu einem Webserver, auch kein Problem.

aber Verbindung ESP direkt zu ESP scheint es nicht zu geben.

Ein Verschwörungstheoretiker würde jetzt wohl meinen, das dies so gewollt ist und man möglichst alle ESP der Welt am WWW hat, damit die sich ab und zu mal heimlich zuhause melden können und dort Daten abzuliefern.

Naja, ok...
Hier weis offensichtlich niemand Rat.
aber Facebook als Plattform für solche Fragen?
Ein Forum ist top dafür, weiß dann Suchfunktionen gibt.
In der Fratzenkladde verschwindet eine Frage doch nach 2-6 Stunden im Nirvana.

Naja, mach wat dran!

Bis neulich

Binatone
Ich habe noch nicht praktisch mit dem NodeMCU gearbeitet, habe das aber demnächst vor.
Wenn ich das richtig verstanden habe, müßte in Deinem Fall einer als Accesspoint arbeiten und ein Netz aufmachen.
Der andere soll sich dort dann einbuchen. Auf dem AP muss dan auch eine Art Server laufen. Das kann für den Anfang ja ein Webserver sein um die Verbindung zu testen.
Beide müssen dann von Haus aus eine passende feste IP haben, da ja wohl keiner DHCP spielen will.

Soweit ich weiß gibt es zumindestens AP-Beispiele am lokalen Netz. Die nutzen aber von dort eigentlich auch nur das DHCP.

Das sind nur Trockenüberlegungen, da ich praktisch noch nicht so weit bin. Evtl. hilft ja eine dieser Überlegungen weiter.

Gruß Tommy

Edit: Wie machst Du das mit 2 NodeMCU gleichzeitig? Mit 2 IDE arbeiten? Sonst wirft man doch den falschen Sketch auf den Prozessor.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  NodeMCU steuert UNO/NANO über I2C Tommy56 7 3.247 11.02.2017 15:30
Letzter Beitrag: Binatone
  NodeMCU + RemoteXY.com Binatone 2 1.781 06.01.2017 15:49
Letzter Beitrag: Binatone

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste