mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-27 18:02:17 +03:00
Initial Upload From IDE
For Test ONLY
This commit is contained in:
committed by
Ivan Grokhotkov
parent
a82796f83f
commit
dc9072b94b
@ -66,11 +66,16 @@ extern "C" {
|
||||
#define MDNS_TYPE_PTR 0x000C
|
||||
#define MDNS_TYPE_SRV 0x0021
|
||||
#define MDNS_TYPE_TXT 0x0010
|
||||
#define MDNS_TYPE_NSEC 0x002F
|
||||
|
||||
#define MDNS_CLASS_IN 0x0001
|
||||
#define MDNS_CLASS_IN_FLUSH_CACHE 0x8001
|
||||
|
||||
#define MDNS_ANSWERS_ALL 0x0F
|
||||
#define MDNS_ANSWER_PTR 0x08
|
||||
#define MDNS_ANSWER_TXT 0x04
|
||||
#define MDNS_ANSWER_SRV 0x02
|
||||
#define MDNS_ANSWER_A 0x01
|
||||
|
||||
#define _conn_read32() (((uint32_t)_conn->read() << 24) | ((uint32_t)_conn->read() << 16) | ((uint32_t)_conn->read() << 8) | _conn->read())
|
||||
#define _conn_read16() (((uint16_t)_conn->read() << 8) | _conn->read())
|
||||
#define _conn_read8() _conn->read()
|
||||
@ -341,7 +346,6 @@ void MDNSResponder::_parsePacket(){
|
||||
else if(currentType == MDNS_TYPE_PTR) os_printf(" PTR ");
|
||||
else if(currentType == MDNS_TYPE_SRV) os_printf(" SRV ");
|
||||
else if(currentType == MDNS_TYPE_TXT) os_printf(" TXT ");
|
||||
else if(currentType == MDNS_TYPE_NSEC) os_printf(" NSEC ");
|
||||
else os_printf(" 0x%04X ", currentType);
|
||||
|
||||
if(currentClass == MDNS_CLASS_IN) os_printf(" IN ");
|
||||
|
@ -0,0 +1,50 @@
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ESP8266mDNS.h>
|
||||
#include <WiFiUDP.h>
|
||||
|
||||
const char* host = "esp8266-ota";
|
||||
const char* ssid = "**********";
|
||||
const char* pass = "**********";
|
||||
const uint16_t aport = 8266;
|
||||
|
||||
WiFiUDP listener;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
Serial.setDebugOutput(true);
|
||||
Serial.println("");
|
||||
Serial.println("Arduino OTA Test");
|
||||
|
||||
Serial.printf("Sketch size: %u\n", ESP.getSketchSize());
|
||||
Serial.printf("Free size: %u\n", ESP.getFreeSketchSpace());
|
||||
|
||||
WiFi.begin(ssid, pass);
|
||||
if(WiFi.waitForConnectResult() == WL_CONNECTED){
|
||||
MDNS.begin(host);
|
||||
MDNS.addService("arduino", "tcp", aport);
|
||||
listener.begin(aport);
|
||||
Serial.print("IP address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
}
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (ota_cmd_listener.parsePacket()) {
|
||||
IPAddress remote = listener.remoteIP();
|
||||
int cmd = listener.parseInt();
|
||||
int port = listener.parseInt();
|
||||
int sz = listener.parseInt();
|
||||
Serial.printf("Starting Update: cmd:%d, port:%d, size:%d\r\n", cmd, port, sz);
|
||||
WiFiClient cl;
|
||||
if (!cl.connect(remote, port)) {
|
||||
Serial.println("Failed to connect");
|
||||
return;
|
||||
}
|
||||
listener.stop();
|
||||
if (!ESP.updateSketch(cl, sz)) {
|
||||
Serial.println("Update failed");
|
||||
listener.begin(aport);
|
||||
}
|
||||
}
|
||||
delay(100);
|
||||
}
|
Reference in New Issue
Block a user