- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 20 von 91

Thema: abstandhalten mit 433MHz

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    Du könntest versuchen, die Laufzeit eines Signals zu messen. Zum Server hinschicken, der schickt es direkt zurück und Du ermittelst, wie lange das gedauert hat. Vielleicht ist das brauchbarer. Das Signal/Zeichen kann auch vom Server kommen, der Client schickt es zurück und Du ermittelst die Laufzeit auf dem Server.

    MfG

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    diese antennen habe ich getestet:
    Klicke auf die Grafik für eine größere Ansicht

Name:	2020_07_04_antennen.jpg
Hits:	3
Größe:	15,1 KB
ID:	35151

    die kleinste reicht bis ca 70m, die grosse gut 100m, die mittlere ist seltsammerweiase die schlechteste - ca.40m

    und das ist der letzter stand der software:

    AP mit UDP server:
    Code:
    #include <ESP8266WiFi.h>
    #include <WiFiUdp.h>
    
    const int ledPin_rt =  D5;
    const int ledPin_gn =  D6;
    const int ledPin_bl =  D7;
    
    int ledState_rt = LOW;
    int ledState_gn = LOW;
    int ledState_bl = LOW;
    
    long previousMillis_rt = 0;        
    long previousMillis_gn = 0;       
    long previousMillis_bl = 0;
    
    long interval_rt = 100;           
    long interval_gn = 250;
    long interval_bl = 50;
    
    WiFiServer server(80);
    IPAddress IP(192, 168, 4, 15);
    IPAddress mask = (255, 255, 255, 0);
    
    byte ledPin = 2;
    
    // hier die Adresse vom Slave eintragen
    IPAddress remoteIP(192, 168, 4, 114);
    unsigned int remotePort = 4210;  // remote port to listen on
    char befehl[10];
    
    WiFiUDP Udp;
    uint32_t aktMillis;
    uint32_t prevMillis;
    
    boolean ledStatus = false;
    
    void setup()
    {
    
      pinMode(ledPin_rt, OUTPUT);
      pinMode(ledPin_gn, OUTPUT);
      pinMode(ledPin_bl, OUTPUT);
    
      Serial.begin(115200);
    
      WiFi.mode(WIFI_AP);
      WiFi.softAP("Wemos_AP", "Wemos_comm");
      WiFi.softAPConfig(IP, IP, mask);
      server.begin();
      pinMode(ledPin, OUTPUT);
    
      Serial.println();
      Serial.println("accesspoint_bare_01.ino");
      Serial.println("Server started.");
      Serial.print("IP: ");     Serial.println(WiFi.softAPIP());
      Serial.print("MAC:");     Serial.println(WiFi.softAPmacAddress());
    }
    
    void loop()
    {
    
      aktMillis = millis();
      if (aktMillis - prevMillis >= 100)
      {
        prevMillis = aktMillis;
        Serial.print("LED schalten auf ");
        if (ledStatus)
        {
          Serial.println("An");
          befehl[0] = 1;
        }
        else
        {
          Serial.println("Aus");
          befehl[0] = 0;
        }
        Udp.beginPacket(remoteIP, remotePort);
        Udp.write(befehl, 1);
        Udp.endPacket();
        ledStatus = !ledStatus;
      }
    
      WiFiClient client = server.available();
      if (!client) {
        return;
      }
      byte request = client.read();
      Serial.println("********************************");
      Serial.print("From the station: ");
      Serial.println(request);
      client.flush();
    
    }
    
    void blinken (void)
    {
    
      unsigned long currentMillis_rt = millis();  // aktueller Wert rot
      if (currentMillis_rt - previousMillis_rt > interval_rt)
      {
        previousMillis_rt = currentMillis_rt;   // aktuellen Wert speichern
        ledState_rt = ((ledState_rt == LOW) ? HIGH : LOW); // toggeln
        digitalWrite(ledPin_rt, ledState_rt);   // LED ansteuern
      }
    }
    client mit UDP slave:

    Code:
    #include <ESP8266WiFi.h>
    #include <WiFiUdp.h>
    
    const int ledPin_rt =  D5;
    const int ledPin_gn =  D6;
    const int ledPin_bl =  D7;
    
    int ledState_rt = LOW;
    int ledState_gn = LOW;
    int ledState_bl = LOW;
    
    long previousMillis_rt = 0;        
    long previousMillis_gn = 0;       
    long previousMillis_bl = 0;
    
    long interval_rt = 100;           
    long interval_gn = 250;
    long interval_bl = 50;
    
    //Variablen deklarieren
    //######################################
    byte ledPin = 2;         //2           // Interne LED vom ESP 8266 Modul
    byte Taster = 4;                    // GPIO 4 wird mit einem Taster beschaltet
    byte temp, memo = 0;                // Merker für Tasterstatus & Hilfsmerker
    char ssid[] = "Wemos_AP";           // SSID of your AP
    char password[] = "Wemos_comm";         // password of your AP
    
    IPAddress server(192, 168, 4, 15);  // IP address of the AP
    WiFiClient client;
    
    WiFiUDP Udp;
    unsigned int localUdpPort = 4210;  // local port to listen on
    char befehl[10];  // buffer for incoming packets
    boolean ledStatus = false;
    
    
    //Setup
    //######################################
    void setup()
    {
      pinMode(ledPin_rt, OUTPUT);
      pinMode(ledPin_gn, OUTPUT);
      pinMode(ledPin_bl, OUTPUT);
    
    
      Serial.begin(115200);
      pinMode(ledPin, OUTPUT);
      pinMode(Taster, INPUT_PULLUP);
    
      //Inizialisiere WIFI
      //######################################
      WiFi.mode(WIFI_STA);
      WiFi.begin(ssid, password);
    
      Serial.println();
      Serial.println("Connection to the AP");
    
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
      }
      Serial.println();
      Serial.println("Connected");
      Serial.println("station_bare_01.ino");
      Serial.print("LocalIP:"); Serial.println(WiFi.localIP());
      Serial.println("MAC:" + WiFi.macAddress());
      Serial.print("Gateway:"); Serial.println(WiFi.gatewayIP());
      Serial.print("AP MAC:"); Serial.println(WiFi.BSSIDstr());
    
      Udp.begin(localUdpPort);
      Serial.print(" connected. UDP-Server bereit an IP: ");
      Serial.println(WiFi.localIP());
      Serial.println("UDP-Server bereit.");
    
    }
    
    
    //Daten an AP senden
    //######################################
    void data_to_AP (byte temp) {
      client.connect(server, 80);
      digitalWrite(ledPin, LOW);
      Serial.println("********************************");
      Serial.print("Byte sent to the AP: ");
      Serial.println(temp);
      Serial.println(client.write(temp));
      client.flush();
      digitalWrite(ledPin, HIGH);
      client.stop();
    }
    
    
    //HAUPTPROGRAMM
    //######################################
    void loop()
    {
    
      int packetSize, len;
      // UDP
      packetSize = Udp.parsePacket();
      // Da ist was da
      if (packetSize) 
      {
        Serial.print("Empfangen "); Serial.print(packetSize);
        Serial.print(" von IP "); Serial.print(Udp.remoteIP());
        Serial.print(" Port "); Serial.println(Udp.remotePort());
        len = Udp.read(befehl, 10);
        ledStatus = befehl[0]; // erstes Byte 0 oder 1
        if (ledStatus) 
        {
          //digitalWrite(LED, HIGH);
          digitalWrite(ledPin_rt, HIGH);
          Serial.println("LED einschalten");
        }
        else {
          //digitalWrite(LED, LOW);
          digitalWrite(ledPin_rt, LOW);
          Serial.println("LED ausschalten");
        }
      }
      
      /*
      temp = digitalRead(Taster);
    
    
      if (temp == LOW & memo == LOW)
      {
        Serial.print("TASTER: LOW   ");
        Serial.println(temp);
        memo = HIGH;
        data_to_AP(temp);
        Serial.println("********************************");
        Serial.println("********************************");
        Serial.println("");
    
    
      } else if (temp == HIGH & memo == HIGH)
      {
        Serial.print("TASTER: HIGH   ");
        Serial.println(temp);
        memo = LOW;
        data_to_AP(temp);
        Serial.println("********************************");
        Serial.println("********************************");
        Serial.println("");
    
      }
      delay(500);
      */
    }
    
    void blinken (void)
    {
    
      unsigned long currentMillis_rt = millis();  // aktueller Wert rot
      if (currentMillis_rt - previousMillis_rt > interval_rt)
      {
        previousMillis_rt = currentMillis_rt;   // aktuellen Wert speichern
        ledState_rt = ((ledState_rt == LOW) ? HIGH : LOW); // toggeln
        digitalWrite(ledPin_rt, ledState_rt);   // LED ansteuern
      }
    }
    gruß inka

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. 433MHz Funkmodule bei Pollin
    Von toemchen im Forum Elektronik
    Antworten: 97
    Letzter Beitrag: 24.05.2009, 20:43
  2. antenne 433MHz Easyradio
    Von nobody1900 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 30.01.2007, 12:46
  3. 433MHz Übertragung
    Von Muecke im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 28.12.2006, 20:01
  4. 433Mhz Verstärker
    Von BastelWastel im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 16.09.2006, 21:35
  5. Problem mit Abstandhalten zur Wand
    Von semicolon im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 12.07.2006, 21:08

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress