Mysensors 2.0 ESP8266 serial gateway



  • I set in sketch static ip aadress and if esp booting and connected to lan i see in serial monitor
    Connected with home, channel 1
    dhcp client start...
    chg_B1:-40
    0;255;3;0;9;TSM:READY
    f r-40, scandone
    ...................pm open,type:2 0
    ......................................................................................................................................................................................................................................................................................................................0�~?�4�����OCAZ��0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGE--,VER=2.0.1-beta
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:INIT:TSP OK
    0;255;3;0;9;TSM:INIT:GW MODE
    scandone
    state: 0 -> 2 (b0)
    state: 2 -> 3 (0)
    state: 3 -> 5 (10)
    add 0
    aid 1
    cnt
    chg_B1:-40



  • #include <EEPROM.h>
    #include <SPI.h>
    #include <ArduinoOTA.h>

    // Enable debug prints to serial monitor
    #define MY_DEBUG

    // Use a bit lower baudrate for serial prints on ESP8266 than default in MyConfig.h
    #define MY_BAUD_RATE 9600

    // Enables and select radio type (if attached)
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69

    #define MY_GATEWAY_ESP8266

    #define MY_ESP8266_SSID "home"
    #define MY_ESP8266_PASSWORD "123456789"

    // Set the hostname for the WiFi Client. This is the hostname
    // it will pass to the DHCP server if not static.
    #define MY_ESP8266_HOSTNAME "ota-gateway-CH.100"

    // Enable UDP communication
    //#define MY_USE_UDP

    // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
    #define MY_IP_ADDRESS 10, 124, 77, 101

    // If using static ip you need to define Gateway and Subnet address as well
    #define MY_IP_GATEWAY_ADDRESS 10, 124, 77, 176
    #define MY_IP_SUBNET_ADDRESS 255, 255, 255, 0

    // The port to keep open on node server mode
    #define MY_PORT 5003

    // How many clients should be able to connect to this gateway (default 1)
    #define MY_GATEWAY_MAX_CLIENTS 1

    // Controller ip address. Enables client mode (default is "server" mode).
    // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere.
    //#define MY_CONTROLLER_IP_ADDRESS 10, 124, 77, 46

    // Enable inclusion mode
    #define MY_INCLUSION_MODE_FEATURE

    // Enable Inclusion mode button on gateway
    // #define MY_INCLUSION_BUTTON_FEATURE
    // Set inclusion mode duration (in seconds)
    #define MY_INCLUSION_MODE_DURATION 60
    // Digital pin used for inclusion mode button
    #define MY_INCLUSION_MODE_BUTTON_PIN 3

    // Flash leds on rx/tx/err
    // #define MY_LEDS_BLINKING_FEATURE
    // Set blinking period
    // #define MY_DEFAULT_LED_BLINK_PERIOD 300

    // Led pins used if blinking feature is enabled above
    #define MY_DEFAULT_ERR_LED_PIN 16 // Error led pin
    #define MY_DEFAULT_RX_LED_PIN 16 // Receive led pin
    #define MY_DEFAULT_TX_LED_PIN 16 // the PCB, on board LED

    #if defined(MY_USE_UDP)
    #include <WiFiUDP.h>
    #else
    #include <ESP8266WiFi.h>
    #endif

    #include <MySensors.h>

    void setup() {

    ArduinoOTA.onStart( {
    Serial.println("ArduinoOTA start");
    });
    ArduinoOTA.onEnd( {
    Serial.println("\nArduinoOTA end");
    });
    ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("OTA Progress: %u%%\r", (progress / (total / 100)));
    });
    ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
    });
    ArduinoOTA.begin();
    Serial.println("Ready");
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP());

    }

    void presentation() {
    // Present locally attached sensors here
    }

    void loop() {
    // Send locally attech sensors data here
    ArduinoOTA.handle();
    }


 

491
Online

7.9k
Users

8.8k
Topics

94.2k
Posts