basic ota code with ini
This commit is contained in:
parent
af0f794756
commit
d08e241c0b
@ -12,3 +12,14 @@
|
|||||||
platform = espressif8266
|
platform = espressif8266
|
||||||
board = sonoff_basic
|
board = sonoff_basic
|
||||||
framework = arduino
|
framework = arduino
|
||||||
|
|
||||||
|
lib_deps =
|
||||||
|
ESP8266WiFi@1.0
|
||||||
|
adafruit/DHT sensor library
|
||||||
|
|
||||||
|
monitor_speed = 115200
|
||||||
|
|
||||||
|
;upload_protocol = esptool
|
||||||
|
|
||||||
|
upload_port = myesp32.local
|
||||||
|
upload_protocol = espota
|
||||||
|
@ -1,12 +1,142 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
void setup()
|
#include <ESP8266WiFi.h>
|
||||||
{
|
#include <ESP8266mDNS.h>
|
||||||
Serial.begin(9600);
|
#include <WiFiUdp.h>
|
||||||
|
#include <ArduinoOTA.h>
|
||||||
|
|
||||||
|
// DHT Temperature & Humidity Sensor
|
||||||
|
// Unified Sensor Library Example
|
||||||
|
// Written by Tony DiCola for Adafruit Industries
|
||||||
|
// Released under an MIT license.
|
||||||
|
|
||||||
|
// REQUIRES the following Arduino libraries:
|
||||||
|
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library
|
||||||
|
// - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor
|
||||||
|
|
||||||
|
#include <Adafruit_Sensor.h>
|
||||||
|
#include <DHT.h>
|
||||||
|
#include <DHT_U.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define DHTPIN 2
|
||||||
|
|
||||||
|
#define DHTTYPE DHT22 // DHT 22 (AM2302)
|
||||||
|
|
||||||
|
|
||||||
|
DHT_Unified dht(DHTPIN, DHTTYPE);
|
||||||
|
|
||||||
|
uint32_t delayMS;
|
||||||
|
|
||||||
|
const char* ssid = "fan_XXX";
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(115200);
|
||||||
|
Serial.println("Booting");
|
||||||
|
boolean result = WiFi.softAP(ssid);
|
||||||
|
while (result == false) {
|
||||||
|
Serial.println("Connection Failed! Rebooting...");
|
||||||
|
delay(5000);
|
||||||
|
ESP.restart();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Port defaults to 3232
|
||||||
|
// ArduinoOTA.setPort(8266);
|
||||||
|
|
||||||
|
// Hostname defaults to esp3232-[MAC]
|
||||||
|
ArduinoOTA.setHostname("myesp32.local");
|
||||||
|
|
||||||
|
// No authentication by default
|
||||||
|
// ArduinoOTA.setPassword("admin");
|
||||||
|
|
||||||
|
// Password can be set with it's md5 value as well
|
||||||
|
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
|
||||||
|
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
|
||||||
|
|
||||||
|
ArduinoOTA.onStart([]() {
|
||||||
|
String type;
|
||||||
|
if (ArduinoOTA.getCommand() == U_FLASH)
|
||||||
|
type = "sketch";
|
||||||
|
else // U_SPIFFS
|
||||||
|
type = "filesystem";
|
||||||
|
|
||||||
|
// NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
|
||||||
|
Serial.println("Start updating " + type);
|
||||||
|
});
|
||||||
|
ArduinoOTA.onEnd([]() {
|
||||||
|
Serial.println("\nEnd");
|
||||||
|
});
|
||||||
|
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
|
||||||
|
Serial.printf("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());
|
||||||
|
|
||||||
|
|
||||||
|
// Initialize device.
|
||||||
|
dht.begin();
|
||||||
|
Serial.println(F("DHTxx Unified Sensor Example"));
|
||||||
|
// Print temperature sensor details.
|
||||||
|
sensor_t sensor;
|
||||||
|
dht.temperature().getSensor(&sensor);
|
||||||
|
Serial.println(F("------------------------------------"));
|
||||||
|
Serial.println(F("Temperature Sensor"));
|
||||||
|
Serial.print (F("Sensor Type: ")); Serial.println(sensor.name);
|
||||||
|
Serial.print (F("Driver Ver: ")); Serial.println(sensor.version);
|
||||||
|
Serial.print (F("Unique ID: ")); Serial.println(sensor.sensor_id);
|
||||||
|
Serial.print (F("Max Value: ")); Serial.print(sensor.max_value); Serial.println(F("°C"));
|
||||||
|
Serial.print (F("Min Value: ")); Serial.print(sensor.min_value); Serial.println(F("°C"));
|
||||||
|
Serial.print (F("Resolution: ")); Serial.print(sensor.resolution); Serial.println(F("°C"));
|
||||||
|
Serial.println(F("------------------------------------"));
|
||||||
|
// Print humidity sensor details.
|
||||||
|
dht.humidity().getSensor(&sensor);
|
||||||
|
Serial.println(F("Humidity Sensor"));
|
||||||
|
Serial.print (F("Sensor Type: ")); Serial.println(sensor.name);
|
||||||
|
Serial.print (F("Driver Ver: ")); Serial.println(sensor.version);
|
||||||
|
Serial.print (F("Unique ID: ")); Serial.println(sensor.sensor_id);
|
||||||
|
Serial.print (F("Max Value: ")); Serial.print(sensor.max_value); Serial.println(F("%"));
|
||||||
|
Serial.print (F("Min Value: ")); Serial.print(sensor.min_value); Serial.println(F("%"));
|
||||||
|
Serial.print (F("Resolution: ")); Serial.print(sensor.resolution); Serial.println(F("%"));
|
||||||
|
Serial.println(F("------------------------------------"));
|
||||||
|
// Set delay between sensor readings based on sensor details.
|
||||||
|
delayMS = sensor.min_delay / 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop() {
|
||||||
{
|
ArduinoOTA.handle();
|
||||||
Serial.println("Hello world!");
|
|
||||||
delay(1000);
|
// Delay between measurements.
|
||||||
|
delay(delayMS);
|
||||||
|
|
||||||
|
// Get temperature event and print its value.
|
||||||
|
sensors_event_t event;
|
||||||
|
dht.temperature().getEvent(&event);
|
||||||
|
if (isnan(event.temperature)) {
|
||||||
|
Serial.println(F("Error reading temperature!"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Serial.print(F("Temperature: "));
|
||||||
|
Serial.print(event.temperature);
|
||||||
|
Serial.println(F("°C"));
|
||||||
|
}
|
||||||
|
// Get humidity event and print its value.
|
||||||
|
dht.humidity().getEvent(&event);
|
||||||
|
if (isnan(event.relative_humidity)) {
|
||||||
|
Serial.println(F("Error reading humidity!"));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Serial.print(F("Humidity: "));
|
||||||
|
Serial.print(event.relative_humidity);
|
||||||
|
Serial.println(F("%"));
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user