mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-26 22:22:16 +03:00
global vars
This commit is contained in:
236
include/Consts.h
236
include/Consts.h
@@ -1,223 +1,45 @@
|
||||
#include <Arduino.h>
|
||||
#pragma once
|
||||
|
||||
#define firmware_version "2.3.3"
|
||||
|
||||
/*
|
||||
* Firmware settings
|
||||
*/
|
||||
#define mb_4_of_memory 1
|
||||
#define wifi_mqtt_reconnecting 20000
|
||||
#define blink_pin 2
|
||||
#define tank_level_times_to_send 10 //после скольки выстрелов делать отправку данных
|
||||
#define statistics_update 1000 * 60 * 60 * 2
|
||||
|
||||
/*******************************************************************
|
||||
**********************FIRMWARE SETTINGS****************************
|
||||
******************************************************************/
|
||||
String firmware_version = "2.3.3";
|
||||
boolean mb_4_of_memory = true;
|
||||
//#define OTA_enable
|
||||
//#define MDNS_enable
|
||||
//#define WS_enable
|
||||
//#define layout_in_ram
|
||||
#define UDP_enable
|
||||
/*==========================SENSORS===============================*/
|
||||
|
||||
/*
|
||||
* Sensor
|
||||
*/
|
||||
//#define level_enable
|
||||
//#define analog_enable
|
||||
//#define dallas_enable
|
||||
//#define dht_enable //подъедает оперативку сука
|
||||
//#define dht_enable
|
||||
//#define bmp_enable
|
||||
//#define bme_enable
|
||||
/*=========================LOGGING================================*/
|
||||
|
||||
/*
|
||||
* Logging
|
||||
*/
|
||||
#define logging_enable
|
||||
/*==========================GEARS=================================*/
|
||||
|
||||
/*
|
||||
* Gears
|
||||
*/
|
||||
#define stepper_enable
|
||||
#define servo_enable
|
||||
/*=========================OTHER==================================*/
|
||||
|
||||
/*
|
||||
* Other
|
||||
*/
|
||||
#define serial_enable
|
||||
#define push_enable
|
||||
/*================================================================*/
|
||||
#define wifi_mqtt_reconnecting 20000
|
||||
#define blink_pin 2
|
||||
#define tank_level_times_to_send 10 //после скольки выстрелов делать отправку данных
|
||||
#define statistics_update 1000 * 60 * 60 * 2
|
||||
/*================================================================*/
|
||||
|
||||
//===============общие библиотеки и объекты===============================
|
||||
#include <Arduino.h>
|
||||
#include <ArduinoJson.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <FS.h>
|
||||
#include <SPIFFSEditor.h>
|
||||
#include <time.h>
|
||||
|
||||
//===============библиотеки и объекты для ESP8266=======================
|
||||
#ifdef ESP8266
|
||||
#include <ESP8266HTTPClient.h>
|
||||
#include <ESP8266HTTPUpdateServer.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ESP8266httpUpdate.h>
|
||||
ESP8266HTTPUpdateServer httpUpdater;
|
||||
#include <WiFiUdp.h>
|
||||
WiFiUDP Udp;
|
||||
#include <Servo.h>
|
||||
Servo myServo1;
|
||||
Servo myServo2;
|
||||
#ifdef MDNS_enable
|
||||
#include <ESP8266mDNS.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//===============библиотеки и объекты для ESP32===========================
|
||||
#ifdef ESP32
|
||||
#include <AsyncTCP.h>
|
||||
#include <AsyncUDP.h>
|
||||
#include <HTTPClient.h>
|
||||
#include <HTTPUpdate.h>
|
||||
#include <SPIFFS.h>
|
||||
#include <WiFi.h>
|
||||
#include <analogWrite.h>
|
||||
AsyncUDP udp;
|
||||
#include <ESP32Servo.h>
|
||||
Servo myServo1;
|
||||
Servo myServo2;
|
||||
#ifdef MDNS_enable
|
||||
#include <ESPmDNS.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef OTA_enable
|
||||
#include <ArduinoOTA.h>
|
||||
#endif
|
||||
|
||||
AsyncWebServer server(80);
|
||||
|
||||
#ifdef WS_enable
|
||||
AsyncWebSocket ws("/ws");
|
||||
#endif
|
||||
|
||||
AsyncEventSource events("/events");
|
||||
#include <TickerScheduler.h>
|
||||
#include <time.h>
|
||||
enum { ROUTER_SEARCHING,
|
||||
WIFI_MQTT_CONNECTION_CHECK,
|
||||
SENSORS,
|
||||
STEPPER1,
|
||||
STEPPER2,
|
||||
LOG1,
|
||||
LOG2,
|
||||
LOG3,
|
||||
LOG4,
|
||||
LOG5,
|
||||
TIMER_COUNTDOWN,
|
||||
TIME,
|
||||
TIME_SYNC,
|
||||
STATISTICS,
|
||||
UDP,
|
||||
UDP_DB,
|
||||
TEST };
|
||||
TickerScheduler ts(TEST + 1);
|
||||
|
||||
#include <PubSubClient.h>
|
||||
WiFiClient espClient;
|
||||
PubSubClient client_mqtt(espClient);
|
||||
|
||||
#include <StringCommand.h>
|
||||
StringCommand sCmd;
|
||||
|
||||
#include <Bounce2.h>
|
||||
#define NUM_BUTTONS 6
|
||||
boolean but[NUM_BUTTONS];
|
||||
Bounce *buttons = new Bounce[NUM_BUTTONS];
|
||||
|
||||
#ifdef level_enable
|
||||
#include "GyverFilters.h" //настраивается в GyverHacks.h - MEDIAN_FILTER_SIZE
|
||||
GMedian medianFilter;
|
||||
#endif
|
||||
|
||||
#ifdef dallas_enable
|
||||
#include <DallasTemperature.h>
|
||||
#include <OneWire.h>
|
||||
OneWire *oneWire;
|
||||
DallasTemperature sensors;
|
||||
#endif
|
||||
|
||||
#ifdef dht_enable
|
||||
#include <DHTesp.h>
|
||||
DHTesp dht;
|
||||
#endif
|
||||
|
||||
#include <Wire.h>
|
||||
|
||||
#ifdef bmp_enable
|
||||
#include <Adafruit_BMP280.h>
|
||||
Adafruit_BMP280 bmp; // use I2C interface
|
||||
Adafruit_Sensor *bmp_temp = bmp.getTemperatureSensor();
|
||||
Adafruit_Sensor *bmp_pressure = bmp.getPressureSensor();
|
||||
#endif
|
||||
|
||||
#ifdef bme_enable
|
||||
#include <Adafruit_BME280.h>
|
||||
Adafruit_BME280 bme; // use I2C interface
|
||||
Adafruit_Sensor *bme_temp = bme.getTemperatureSensor();
|
||||
Adafruit_Sensor *bme_pressure = bme.getPressureSensor();
|
||||
Adafruit_Sensor *bme_humidity = bme.getHumiditySensor();
|
||||
#endif
|
||||
|
||||
//#include <SoftwareSerial.h>
|
||||
//SoftwareSerial mySerial(14, 12);
|
||||
|
||||
//===============FIRMWARE VARS========================
|
||||
boolean just_load = true;
|
||||
const char *hostName = "IoT Manager";
|
||||
//JSON
|
||||
String configSetup = "{}";
|
||||
String configJson = "{}";
|
||||
String optionJson = "{}";
|
||||
//MQTT
|
||||
String chipID = "";
|
||||
String prex;
|
||||
String all_widgets = "";
|
||||
String scenario;
|
||||
String order_loop;
|
||||
//SENSORS
|
||||
String analog_value_names_list;
|
||||
int enter_to_analog_counter;
|
||||
|
||||
String level_value_name;
|
||||
|
||||
String dhtT_value_name;
|
||||
String dhtH_value_name;
|
||||
|
||||
String bmp280T_value_name;
|
||||
String bmp280P_value_name;
|
||||
|
||||
String bme280T_value_name;
|
||||
String bme280P_value_name;
|
||||
String bme280H_value_name;
|
||||
String bme280A_value_name;
|
||||
|
||||
int sensors_reading_map[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//============================0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14
|
||||
|
||||
//LOGGING
|
||||
String logging_value_names_list;
|
||||
int enter_to_logging_counter;
|
||||
//NTP and TIME
|
||||
String current_time;
|
||||
//SCENARIO
|
||||
int scenario_line_status[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
||||
//ERRORS
|
||||
int wifi_lost_error = 0;
|
||||
int mqtt_lost_error = 0;
|
||||
String last_version;
|
||||
//ASYNC ACTIONS
|
||||
boolean upgrade_url = false;
|
||||
boolean upgrade = false;
|
||||
boolean mqtt_connection = false;
|
||||
boolean udp_data_parse = false;
|
||||
boolean mqtt_send_settings_to_udp = false;
|
||||
boolean i2c_scanning = false;
|
||||
//UDP
|
||||
boolean udp_busy = false;
|
||||
unsigned int udp_port = 4210;
|
||||
#ifdef ESP8266
|
||||
IPAddress udp_multicastIP(255, 255, 255, 255);
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
IPAddress udp_multicastIP(239, 255, 255, 255);
|
||||
#endif
|
||||
String received_ip;
|
||||
String received_udp_line;
|
||||
int udp_period;
|
||||
//i2c
|
||||
String i2c_list;
|
||||
|
||||
195
include/Global.h
195
include/Global.h
@@ -1,9 +1,191 @@
|
||||
#pragma once
|
||||
|
||||
#include <Arduino.h>
|
||||
#include <ArduinoJson.h>
|
||||
#include <Bounce2.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <FS.h>
|
||||
#include <PubSubClient.h>
|
||||
#include <SPIFFSEditor.h>
|
||||
#include <StringCommand.h>
|
||||
#include <TickerScheduler.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "Consts.h"
|
||||
|
||||
/*
|
||||
* ESP8266
|
||||
*/
|
||||
#ifdef ESP8266
|
||||
#include <ESP8266HTTPClient.h>
|
||||
#include <ESP8266HTTPUpdateServer.h>
|
||||
#include <ESP8266WiFi.h>
|
||||
#include <ESP8266httpUpdate.h>
|
||||
ESP8266HTTPUpdateServer httpUpdater;
|
||||
#include <WiFiUdp.h>
|
||||
WiFiUDP Udp;
|
||||
#include <Servo.h>
|
||||
#ifdef MDNS_enable
|
||||
#include <ESP8266mDNS.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ESP32
|
||||
*/
|
||||
#ifdef ESP32
|
||||
#include <AsyncTCP.h>
|
||||
#include <AsyncUDP.h>
|
||||
#include <HTTPClient.h>
|
||||
#include <HTTPUpdate.h>
|
||||
#include <SPIFFS.h>
|
||||
#include <WiFi.h>
|
||||
#include <analogWrite.h>
|
||||
extern AsyncUDP udp;
|
||||
#include <ESP32Servo.h>
|
||||
#ifdef MDNS_enable
|
||||
#include <ESPmDNS.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern Servo myServo1;
|
||||
extern Servo myServo2;
|
||||
|
||||
#ifdef OTA_enable
|
||||
#include <ArduinoOTA.h>
|
||||
#endif
|
||||
|
||||
extern AsyncWebServer server;
|
||||
|
||||
// Global vars
|
||||
extern boolean just_load;
|
||||
extern const char *hostName;
|
||||
|
||||
extern String configSetup;
|
||||
extern String configJson;
|
||||
extern String optionJson;
|
||||
|
||||
extern String chipID;
|
||||
extern String prex;
|
||||
extern String all_widgets;
|
||||
extern String scenario;
|
||||
extern String order_loop;
|
||||
|
||||
extern String analog_value_names_list;
|
||||
extern int enter_to_analog_counter;
|
||||
|
||||
extern String level_value_name;
|
||||
|
||||
extern String dhtT_value_name;
|
||||
extern String dhtH_value_name;
|
||||
|
||||
extern String bmp280T_value_name;
|
||||
extern String bmp280P_value_name;
|
||||
|
||||
extern String bme280T_value_name;
|
||||
extern String bme280P_value_name;
|
||||
extern String bme280H_value_name;
|
||||
extern String bme280A_value_name;
|
||||
|
||||
extern String logging_value_names_list;
|
||||
extern int enter_to_logging_counter;
|
||||
|
||||
extern String current_time;
|
||||
|
||||
extern int scenario_line_status[40];
|
||||
|
||||
extern int wifi_lost_error;
|
||||
extern int mqtt_lost_error;
|
||||
|
||||
extern String last_version;
|
||||
|
||||
extern boolean upgrade_url;
|
||||
extern boolean upgrade;
|
||||
extern boolean mqtt_connection;
|
||||
extern boolean udp_data_parse;
|
||||
extern boolean mqtt_send_settings_to_udp;
|
||||
extern boolean i2c_scanning;
|
||||
|
||||
#ifdef WS_enable
|
||||
extern AsyncWebSocket ws;
|
||||
#endif
|
||||
|
||||
extern AsyncEventSource events;
|
||||
|
||||
extern int sensors_reading_map[15];
|
||||
|
||||
enum { ROUTER_SEARCHING,
|
||||
WIFI_MQTT_CONNECTION_CHECK,
|
||||
SENSORS,
|
||||
STEPPER1,
|
||||
STEPPER2,
|
||||
LOG1,
|
||||
LOG2,
|
||||
LOG3,
|
||||
LOG4,
|
||||
LOG5,
|
||||
TIMER_COUNTDOWN,
|
||||
TIME,
|
||||
TIME_SYNC,
|
||||
STATISTICS,
|
||||
UDP,
|
||||
UDP_DB,
|
||||
TEST };
|
||||
|
||||
extern TickerScheduler ts;
|
||||
|
||||
extern WiFiClient espClient;
|
||||
extern PubSubClient client_mqtt;
|
||||
extern StringCommand sCmd;
|
||||
|
||||
#define NUM_BUTTONS 6
|
||||
extern boolean but[NUM_BUTTONS];
|
||||
extern Bounce *buttons;
|
||||
|
||||
extern boolean udp_busy;
|
||||
extern unsigned int udp_port;
|
||||
extern IPAddress udp_multicastIP;
|
||||
extern String received_ip;
|
||||
extern String received_udp_line;
|
||||
extern int udp_period;
|
||||
|
||||
#ifdef level_enable
|
||||
#include "GyverFilters.h" //настраивается в GyverHacks.h - MEDIAN_FILTER_SIZE
|
||||
GMedian medianFilter;
|
||||
#endif
|
||||
|
||||
#ifdef dallas_enable
|
||||
#include <DallasTemperature.h>
|
||||
#include <OneWire.h>
|
||||
OneWire *oneWire;
|
||||
DallasTemperature sensors;
|
||||
#endif
|
||||
|
||||
#ifdef dht_enable
|
||||
#include <DHTesp.h>
|
||||
DHTesp dht;
|
||||
#endif
|
||||
|
||||
#include <Wire.h>
|
||||
|
||||
#ifdef bmp_enable
|
||||
#include <Adafruit_BMP280.h>
|
||||
Adafruit_BMP280 bmp; // use I2C interface
|
||||
Adafruit_Sensor *bmp_temp = bmp.getTemperatureSensor();
|
||||
Adafruit_Sensor *bmp_pressure = bmp.getPressureSensor();
|
||||
#endif
|
||||
|
||||
#ifdef bme_enable
|
||||
#include <Adafruit_BME280.h>
|
||||
Adafruit_BME280 bme; // use I2C interface
|
||||
Adafruit_Sensor *bme_temp = bme.getTemperatureSensor();
|
||||
Adafruit_Sensor *bme_pressure = bme.getPressureSensor();
|
||||
Adafruit_Sensor *bme_humidity = bme.getHumiditySensor();
|
||||
#endif
|
||||
|
||||
//#include <SoftwareSerial.h>
|
||||
//SoftwareSerial mySerial(14, 12);
|
||||
|
||||
// Cmd
|
||||
extern void CMD_init();
|
||||
extern void button();
|
||||
@@ -61,12 +243,12 @@ extern void choose_log_date_and_send();
|
||||
// Main
|
||||
void getMemoryLoad(String text);
|
||||
|
||||
extern String jsonReadStr(String& json, String name);
|
||||
extern int jsonReadInt(String& json, String name);
|
||||
extern String jsonWriteInt(String& json, String name, int volume);
|
||||
extern String jsonWriteStr(String& json, String name, String volume);
|
||||
extern String jsonReadStr(String &json, String name);
|
||||
extern int jsonReadInt(String &json, String name);
|
||||
extern String jsonWriteInt(String &json, String name, int volume);
|
||||
extern String jsonWriteStr(String &json, String name, String volume);
|
||||
extern void saveConfig();
|
||||
extern String jsonWriteFloat(String& json, String name, float volume);
|
||||
extern String jsonWriteFloat(String &json, String name, float volume);
|
||||
|
||||
extern String getURL(String urls);
|
||||
|
||||
@@ -85,11 +267,10 @@ extern String selectFromMarkerToMarker(String str, String found, int number);
|
||||
|
||||
extern void servo_();
|
||||
extern boolean isDigitStr(String str);
|
||||
extern String jsonWriteStr(String& json, String name, String volume);
|
||||
extern String jsonWriteStr(String &json, String name, String volume);
|
||||
extern void led_blink(String satus);
|
||||
extern int count(String str, String found);
|
||||
|
||||
|
||||
// Mqtt
|
||||
extern void MQTT_init();
|
||||
extern boolean MQTT_Connecting();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include "Global.h"
|
||||
|
||||
inline void Push_init() {
|
||||
void Push_init() {
|
||||
server.on("/pushingboxDate", HTTP_GET, [](AsyncWebServerRequest* request) {
|
||||
if (request->hasArg("pushingbox_id")) {
|
||||
jsonWriteStr(configSetup, "pushingbox_id", request->getParam("pushingbox_id")->value());
|
||||
|
||||
100
src/Global.cpp
Normal file
100
src/Global.cpp
Normal file
@@ -0,0 +1,100 @@
|
||||
#include "Global.h"
|
||||
|
||||
TickerScheduler ts(TEST + 1);
|
||||
|
||||
WiFiClient espClient;
|
||||
PubSubClient client_mqtt(espClient);
|
||||
StringCommand sCmd;
|
||||
|
||||
// Web
|
||||
AsyncWebServer server(80);
|
||||
|
||||
#ifdef WS_enable
|
||||
AsyncWebSocket ws("/ws");
|
||||
#endif
|
||||
|
||||
AsyncEventSource events("/events");
|
||||
|
||||
// Global vars
|
||||
boolean just_load = true;
|
||||
const char *hostName = "IoT Manager";
|
||||
|
||||
// Json
|
||||
String configSetup = "{}";
|
||||
String configJson = "{}";
|
||||
String optionJson = "{}";
|
||||
|
||||
// Mqtt
|
||||
String chipID = "";
|
||||
String prex;
|
||||
String all_widgets = "";
|
||||
String scenario;
|
||||
String order_loop;
|
||||
|
||||
// Sensors
|
||||
String analog_value_names_list;
|
||||
int enter_to_analog_counter;
|
||||
|
||||
String level_value_name;
|
||||
|
||||
String dhtT_value_name;
|
||||
String dhtH_value_name;
|
||||
|
||||
String bmp280T_value_name;
|
||||
String bmp280P_value_name;
|
||||
|
||||
String bme280T_value_name;
|
||||
String bme280P_value_name;
|
||||
String bme280H_value_name;
|
||||
String bme280A_value_name;
|
||||
|
||||
int sensors_reading_map[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
// Logging
|
||||
String logging_value_names_list;
|
||||
int enter_to_logging_counter;
|
||||
|
||||
// Ntp and time
|
||||
String current_time;
|
||||
|
||||
// Scenario
|
||||
int scenario_line_status[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
|
||||
|
||||
// Errors
|
||||
int wifi_lost_error = 0;
|
||||
int mqtt_lost_error = 0;
|
||||
|
||||
String last_version;
|
||||
|
||||
// Async actions
|
||||
boolean upgrade_url = false;
|
||||
boolean upgrade = false;
|
||||
boolean mqtt_connection = false;
|
||||
boolean udp_data_parse = false;
|
||||
boolean mqtt_send_settings_to_udp = false;
|
||||
boolean i2c_scanning = false;
|
||||
|
||||
// Servo
|
||||
Servo myServo1;
|
||||
Servo myServo2;
|
||||
|
||||
//Buttons
|
||||
boolean but[NUM_BUTTONS];
|
||||
Bounce *buttons = new Bounce[NUM_BUTTONS];
|
||||
|
||||
// Udp
|
||||
boolean udp_busy = false;
|
||||
unsigned int udp_port = 4210;
|
||||
#ifdef ESP8266
|
||||
IPAddress udp_multicastIP(255, 255, 255, 255);
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
IPAddress udp_multicastIP(239, 255, 255, 255);
|
||||
AsyncUDP udp;
|
||||
#endif
|
||||
String received_ip;
|
||||
String received_udp_line;
|
||||
int udp_period;
|
||||
|
||||
// i2c
|
||||
String i2c_list;
|
||||
10
src/Init.cpp
10
src/Init.cpp
@@ -66,7 +66,7 @@ void Device_init() {
|
||||
|
||||
int array_sz = sizeof(sensors_reading_map) / sizeof(sensors_reading_map[0]);
|
||||
|
||||
for (int i = 0; i < array_sz; i++) {
|
||||
for (int i = 0; i < array_sz; i++) {
|
||||
sensors_reading_map[i] = 0;
|
||||
}
|
||||
|
||||
@@ -219,20 +219,16 @@ void statistics() {
|
||||
urls += "iot-manager_esp32";
|
||||
#endif
|
||||
urls += "&";
|
||||
//-----------------------------------------------------------------
|
||||
#ifdef ESP8266
|
||||
urls += ESP.getResetReason();
|
||||
//Serial.println(ESP.getResetReason());
|
||||
#endif
|
||||
#ifdef ESP32
|
||||
urls += "Power on";
|
||||
#endif
|
||||
urls += "&";
|
||||
//-----------------------------------------------------------------
|
||||
urls += "ver: " + firmware_version;
|
||||
//-----------------------------------------------------------------
|
||||
urls += "ver: ";
|
||||
urls += String(firmware_version);
|
||||
String stat = getURL(urls);
|
||||
//Serial.println(stat);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user