Rucni profilometer(defektoskop) 1.0
Modul pro mereni profilu kol draznich vozidel
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Datové struktury | Definice maker | Funkce | Proměnné
Dokumentace souboru main.cpp

Rucni defektoskop, rizeni a mereni. ...

#include <Arduino.h>
#include <WiFi.h>
#include <AsyncTCP.h>
#include <ESPAsyncWebServer.h>
#include "SPIFFS.h"
#include "AsyncJson.h"
#include "ArduinoJson.h"
#include <SPI.h>
#include <SD.h>
#include "config.h"
#include "ADS1X15.h"
#include "FastAccelStepper.h"
#include "time.h"
#include <vector>
Graf závislostí na vkládaných souborech pro main.cpp:

Datové struktury

struct  ESPConfig
 Struktura pro konfiguraci WiFi připojení ESP32. ...
 
struct  Measurement
 Struktura pro uložení jedné měřicí sady dat. ...
 

Definice maker

#define UART_BAUD   115200
 Rychlost sériové linky pro UART komunikaci.
 
#define PIN_DTR   25
 Pin DTR (Data Terminal Ready) modulu SIM7000G.
 
#define PIN_TX   27
 UART TX pin směrem k SIM7000G.
 
#define PIN_RX   26
 UART RX pin z modulu SIM7000G.
 
#define PWR_PIN   4
 Pin pro zapnutí napájení modulu.
 
#define SD_MISO   2
 SPI MISO pin pro SD kartu.
 
#define SD_MOSI   15
 SPI MOSI pin pro SD kartu.
 
#define SD_SCLK   14
 SPI hodinový pin pro SD kartu.
 
#define SD_CS   13
 SPI chip select pin pro SD kartu.
 
#define LED_PIN   12
 Indikační LED pin.
 
#define LDPin   33
 Pin pro ovladani laseru.
 

Funkce

ADS1115 ADS (0x48)
 
AsyncWebServer server (80)
 HTTP server běžící na portu 80.
 
AsyncWebSocket ws ("/ws")
 WebSocket server na cestě /ws.
 
void onWsEvent (AsyncWebSocket *server, AsyncWebSocketClient *client, AwsEventType type, void *arg, uint8_t *data, size_t len)
 Obsluha událostí WebSocket serveru.
 
void espConfig ()
 Načte konfiguraci zařízení ze souboru espconfig.txt uloženého ve SPIFFS.
 
void saveESPConfig ()
 Uloží aktuální konfiguraci zařízení do souboru espconfig.txt ve SPIFFS.
 
void setupWifi ()
 Inicializuje WiFi připojení podle uložené konfigurace.
 
void httpConfig ()
 Inicializuje a konfiguruje HTTP server a WebSocket na ESP zařízení.
 
void debug (String debugMessage)
 Odesílá ladicí zprávu všem připojeným klientům přes WebSocket.
 
void copyFile (const char *oldFileName, const char *newFileName)
 Zkopíruje obsah jednoho souboru na SD kartě do druhého.
 
float vypocetHodnoty (int ref1, int ref2, int adc1, int adc2, float X, float Y, float Z)
 Vypočítá hodnotu na základě referenčních a ADC vstupů a zadaných parametrů.
 
float vypocitejY (float x)
 Vypočítá hodnotu y na základě polynomu 6.
 
bool isValidFileName (String filename)
 Ověří, zda je název souboru platný pro další zpracování.
 
void dataCalculate ()
 Provádí výpočty a analýzu naměřených dat uložených v globálním vektoru MeasurementData.
 
void sendChunkData ()
 Odesílá data ze souboru /data.csv po částech (chunkech) přes WebSocket.
 
void measure2 (int steeps, int motorSpeed, int motorAccel)
 Provede měření během pohybu krokového motoru.
 
void messageHandler (String msg)
 Zpracovává přijaté JSON zprávy a vykonává příslušné příkazy.
 
void setup ()
 Inicializuje hardware a konfiguraci systému při spuštění zařízení.
 
void loop ()
 Hlavní smyčka programu, která zpracovává příchozí zprávy, odesílá data a provádí výpočty.
 

Proměnné

int order = 6
 Počet řádu použité interpolace.
 
double coeffs [7]
 Pole koeficientů interpolace.
 
const char * ntpServer = "pool.ntp.org"
 Adresa NTP serveru pro synchronizaci času.
 
const long gmtOffset_sec = 3600
 Časový posun vůči UTC v sekundách.
 
const int daylightOffset_sec = 3600
 Posun pro letní čas v sekundách.
 
AsyncWebSocketClient * globalClient = NULL
 Ukazatel na aktivního WebSocket klienta.
 
unsigned long previousMillis = 0
 Čas posledního odeslání zprávy (v milisekundách).
 
const long interval = 1000
 Interval v milisekundách pro periodické úlohy (např.
 
bool newMessageHandle = false
 Příznak, zda byla přijata nová zpráva přes WebSocket.
 
bool sendChunkDataBool = false
 Příznak pro odeslání dat po částech (chunked).
 
bool calculateData = false
 Příznak, zda je požadováno přepočítání dat.
 
String newMessage = ""
 Uchovává text nové příchozí zprávy z WebSocketu.
 
ESPConfig espconfig
 Globální proměnná uchovávající konfiguraci WiFi pro ESP32.
 
std::vector< MeasurementMeasurementData
 Vektor všech naměřených hodnot typu Measurement.
 
const char * ssid = "SensTrain"
 
const char * password = "sensTrain"
 
const int chunkSize = 20
 Počet položek odesílaných najednou v rámci jednoho datového bloku (chunku).
 
bool adcReady = false
 Příznak dostupnosti dat z ADC (analogově-digitálního převodníku).
 
bool rtcReady = false
 Příznak úspěšné inicializace nebo synchronizace RTC (Real-Time Clock).
 
bool sdReady = false
 Příznak úspěšné inicializace SD karty.
 

Nastaveni krokoveho motoru

Konfigurace krokoveho motoru.

#define dirPinStepper   18
 pin direction krokoveho motoru.
 
#define enablePinStepper   32
 enable pin krokoveho motoru.
 
#define stepPinStepper   19
 step pin krokoveho motoru.
 
#define DRIVER_TYPE   DRIVER_RMT
 Typ použitého driveru pro krokový motor.
 
FastAccelStepperEngine engine = FastAccelStepperEngine()
 Instance motorového enginu pro řízení krokového motoru.
 
FastAccelStepper * stepper = NULL
 Ukazatel na krokový motor.
 
const uint8_t CPU_CORE = 1
 Číslo CPU jádra, na kterém poběží interní task knihovny.
 

Detailní popis

Rucni defektoskop, rizeni a mereni.

Tento soubor obsahuje funkce pro práci s profilometrem, ovladani krokoveho motoru, mereni externiho adc...

Autor
Tomas Stratil
Datum
2025-06-27
Verze
1.0

Dokumentace definic maker

◆ dirPinStepper

#define dirPinStepper   18

pin direction krokoveho motoru.

◆ DRIVER_TYPE

#define DRIVER_TYPE   DRIVER_RMT

Typ použitého driveru pro krokový motor.

DRIVER_RMT využívá RMT (Remote Control) periférii ESP32, která je velmi přesná a vhodná pro řízení krokových motorů s vysokým časovým rozlišením.

◆ enablePinStepper

#define enablePinStepper   32

enable pin krokoveho motoru.

◆ LDPin

#define LDPin   33

Pin pro ovladani laseru.

◆ LED_PIN

#define LED_PIN   12

Indikační LED pin.

◆ PIN_DTR

#define PIN_DTR   25

Pin DTR (Data Terminal Ready) modulu SIM7000G.

◆ PIN_RX

#define PIN_RX   26

UART RX pin z modulu SIM7000G.

◆ PIN_TX

#define PIN_TX   27

UART TX pin směrem k SIM7000G.

◆ PWR_PIN

#define PWR_PIN   4

Pin pro zapnutí napájení modulu.

◆ SD_CS

#define SD_CS   13

SPI chip select pin pro SD kartu.

◆ SD_MISO

#define SD_MISO   2

SPI MISO pin pro SD kartu.

◆ SD_MOSI

#define SD_MOSI   15

SPI MOSI pin pro SD kartu.

◆ SD_SCLK

#define SD_SCLK   14

SPI hodinový pin pro SD kartu.

◆ stepPinStepper

#define stepPinStepper   19

step pin krokoveho motoru.

◆ UART_BAUD

#define UART_BAUD   115200

Rychlost sériové linky pro UART komunikaci.

Dokumentace funkcí

◆ ADS()

ADS1115 ADS ( 0x48  )

◆ copyFile()

void copyFile ( const char *  oldFileName,
const char *  newFileName 
)

Zkopíruje obsah jednoho souboru na SD kartě do druhého.

Funkce otevře zdrojový soubor ve čtecím režimu a cílový soubor v režimu zápisu. Postupně čte data ze zdrojového souboru a zapisuje je do cílového souboru. Nakonec oba soubory uzavře.

Parametry
oldFileNameCesta k původnímu (zdrojovému) souboru, který má být kopírován.
newFileNameCesta k novému (cílovému) souboru, do kterého se má zkopírovat obsah.
Poznámka
Pokud se nepodaří otevřít jeden z těchto souborů, funkce vypíše chybové hlášení a kopírování nebude provedeno.
Viz také
SD.open()
File::read()
File::write()

◆ dataCalculate()

void dataCalculate ( )

Provádí výpočty a analýzu naměřených dat uložených v globálním vektoru MeasurementData.

Funkce nejprve smaže starý soubor /data.csv, pokud existuje, a otevře nový soubor pro zápis. Následně iteruje přes všechny záznamy v MeasurementData, přepočítá hodnoty X a Y pomocí funkcí vypocetHodnoty a vypocitejY a uloží je do CSV souboru spolu s hodnotami ADC.

Poté vypočítá několik klíčových bodů (P1 až P5) na základě naměřených dat a parametrů, použije lineární interpolaci a hledání nejbližších hodnot, vyčistí vektor MeasurementData a zavře soubor.

Výsledné hodnoty a body jsou odeslány přes websocket jako JSON zprávy.

Poznámka
Funkce využívá globální proměnné a objekty: MeasurementData, devel, lparams, ws a sendChunkDataBool.
Viz také
vypocetHodnoty()
vypocitejY()
interpolujYproX()
najdiXproNejblizsiY()
najdiXproNejblizsiYP4()

◆ debug()

void debug ( String  debugMessage)

Odesílá ladicí zprávu všem připojeným klientům přes WebSocket.

Funkce vytvoří JSON objekt s klíči:

  • "command" – obsahuje hodnotu "debug"
  • "message" – obsahuje text předaný jako vstupní parametr debugMessage

Poté serializuje objekt do textové podoby a rozešle všem připojeným klientům prostřednictvím ws.textAll().

Parametry
debugMessageText ladicí zprávy, která má být odeslána klientům.
Poznámka
Předpokládá se, že WebSocket server (ws) je předem inicializovaný a aktivní.
Viz také
ws
serializeJson()
DynamicJsonDocument

◆ espConfig()

void espConfig ( )

Načte konfiguraci zařízení ze souboru espconfig.txt uloženého ve SPIFFS.

Tato funkce otevře JSON soubor /espconfig.txt ve SPIFFS a načte z něj konfiguraci do globálních struktur espconfig, devel, coeffs a lparams.

Používá knihovnu ArduinoJson pro deserializaci JSON dokumentu a kopírování hodnot.

Očekávaná struktura JSON dokumentu:

{
"wifimode": "AP",
"login": "admin",
"AP": {
"ssid": "ESP_AP",
"password": "password"
},
"STA": {
"ssid": "MyWiFi",
"password": "wifi1234"
}
}
Poznámka
Pokud není soubor nalezen nebo dojde k chybě při deserializaci, funkce vypíše chybu do Serialu.
Hodnoty jsou kopírovány do globálních proměnných pomocí strlcpy a .as<>().
Viz také
espconfig
SPIFFS
ArduinoJson

◆ httpConfig()

void httpConfig ( )

Inicializuje a konfiguruje HTTP server a WebSocket na ESP zařízení.

Tato funkce nastavuje:

  • WebSocket události pomocí ws.onEvent(onWsEvent)
  • HTTP endpointy pro hlavní HTML stránku a přidružené CSS, JS, SVG, obrázky a fonty
  • Dynamický endpoint /download, který umožňuje stáhnout CSV soubory ze SD karty

Soubory jsou načítány z interního SPIFFS souborového systému nebo z SD karty v případě stahování.

Každá route definuje konkrétní cestu (URI) a typ požadavku (např. HTTP_GET), a vrací odpovídající soubor se správným MIME typem.

Poznámka
Funkce by měla být volána pouze jednou při inicializaci, typicky z setup().
Pozor
Ujisti se, že všechny požadované soubory existují na SPIFFS nebo SD, jinak bude vrácena chyba 404.
Viz také
AsyncWebServer
AsyncWebSocket
onWsEvent()
SPIFFS
SD

◆ isValidFileName()

bool isValidFileName ( String  filename)

Ověří, zda je název souboru platný pro další zpracování.

Tato funkce kontroluje, zda název souboru:

  • má alespoň 4 znaky,
  • končí příponou ".csv",
  • obsahuje pouze tisknutelné znaky (bez speciálních nebo nečitelných znaků).

Používá se k filtrování relevantních souborů při načítání obsahu SD karty.

Parametry
filenameNázev souboru jako String, který se má ověřit.
Návratová hodnota
true, pokud je název platný; jinak false.

◆ loop()

void loop ( )

Hlavní smyčka programu, která zpracovává příchozí zprávy, odesílá data a provádí výpočty.

Funkce loop() pravidelně kontroluje a zpracovává:

  • Příchozí zprávy přes WebSocket (pokud je nová zpráva, zavolá messageHandler).
  • Odesílání dat v blocích (chunků) voláním sendChunkData().
  • Výpočet dat voláním dataCalculate().

Dále kontroluje časový interval a v pravidelných intervalech ověřuje stav připojení klienta a stav základních komponent (ADC, RTC, SD karta). Pokud některá komponenta není připravena, odešle chybovou zprávu přes WebSocket. Pokud není připojen žádný klient, vypíše to do sériové konzole.

◆ measure2()

void measure2 ( int  steeps,
int  motorSpeed,
int  motorAccel 
)

Provede měření během pohybu krokového motoru.

Funkce spustí krokový motor na zadaný počet kroků s definovanou rychlostí a akcelerací. Během pohybu opakovaně čte hodnoty z ADC kanálů a aktuální pozici motoru, přičemž tyto hodnoty ukládá do globálního vektoru MeasurementData jako objekty typu Measurement. Po dokončení pohybu motor vrátí zpět na výchozí pozici.

Parametry
steepsPočet kroků, o které se má motor pohnout.
motorSpeedRychlost motoru v krocích za sekundu.
motorAccelAkcelerace motoru v krocích za sekundu na druhou.
Poznámka
Po dokončení měření je nastavena příznaková proměnná calculateData na true.
Naměřená data jsou ukládána do globálního pole MeasurementData.

◆ messageHandler()

void messageHandler ( String  msg)

Zpracovává přijaté JSON zprávy a vykonává příslušné příkazy.

Funkce přijímá řetězec JSON zprávy, deserializuje ji a podle hodnoty klíče "command" provádí různé akce, například spuštění měření, čtení a zápis konfigurace, kalibraci nebo restart ESP modulu.

Podporované příkazy zahrnují mimo jiné:

  • "startMeasure": spustí měření pomocí funkce measure2 s pevnými parametry.
  • "startDevel" a "startDevel2": spustí měření s parametry z JSON.
  • "gethistory": odešle seznam souborů na SD kartě.
  • "writeEspConfig", "readEsp", "writeDevel", "readDevel", "writeLparams", "readLparams": zápis a čtení různých konfiguračních parametrů.
  • "calibration": spustí kalibraci.
  • "rebootEspModule": restartuje ESP modul.
Parametry
msgŘetězec obsahující JSON zprávu s příkazem a případnými parametry.

◆ onWsEvent()

void onWsEvent ( AsyncWebSocket *  server,
AsyncWebSocketClient *  client,
AwsEventType  type,
void *  arg,
uint8_t *  data,
size_t  len 
)

Obsluha událostí WebSocket serveru.

Tato funkce je volána při různých událostech WebSocketu, jako je připojení klienta, odpojení, příjem dat, chybové stavy nebo ping/pong komunikace.

Parametry
serverUkazatel na instanci WebSocket serveru.
clientUkazatel na připojeného klienta, který událost vyvolal.
typeTyp události (např. připojení, odpojení, data, chyba...).
argDodatečný argument, jehož význam závisí na typu události.
dataUkazatel na přijatá data (např. textová nebo binární zpráva).
lenDélka přijatých dat v bajtech.
  • Při připojení klienta (WS_EVT_CONNECT) je klient registrován a odpoví se pingem.
  • Při odpojení (WS_EVT_DISCONNECT) je klient odregistrován.
  • Při chybě (WS_EVT_ERROR) se vypíše chybový kód a zpráva.
  • Při příjmu pong zprávy (WS_EVT_PONG) se vypíše její obsah.
  • Při příjmu dat (WS_EVT_DATA) se zpráva zkompletuje a uloží do newMessage, přičemž se nastaví příznak newMessageHandle pro další zpracování.
Poznámka
Tato funkce používá Serial.printf() pro ladicí výstup. Textové zprávy se ukládají jako String, binární jsou konvertovány na hex.
Viz také
AsyncWebSocket
AsyncWebSocketClient
AwsEventType

◆ saveESPConfig()

void saveESPConfig ( )

Uloží aktuální konfiguraci zařízení do souboru espconfig.txt ve SPIFFS.

Tato funkce vytvoří nový JSON dokument pomocí knihovny ArduinoJson, do kterého uloží aktuální hodnoty z globálních struktur espconfig, devel, coeffs a lparams. Následně tento JSON dokument serializuje a uloží do souboru ve SPIFFS.

JSON dokument bude mít následující strukturu:

{
"wifimode": "...",
"login": "...",
"AP": {
"ssid": "...",
"password": "..."
},
"STA": {
"ssid": "...",
"password": "..."
}
}
Poznámka
Pokud se soubor nepodaří otevřít nebo zápis selže, je vypsána chybová hláška do sériové konzole.
Viz také
espConfig()
espconfig
SPIFFS
serializeJson

◆ sendChunkData()

void sendChunkData ( )

Odesílá data ze souboru /data.csv po částech (chunkech) přes WebSocket.

Funkce čte CSV soubor po řádcích, zpracovává data a balí je do JSON zpráv, které postupně odesílá přes websocket všem připojeným klientům. Data jsou odesílána v blocích velikosti definované chunkSize. Po odeslání každého bloku je JSON dokument vyčištěn a připraven pro další blok.

Formát odesílaných dat v JSON:

  • command: "data"
  • chunk: číslo aktuální části (chunku)
  • data: pole obsahující pole hodnot [index, V1, V2, X], kde
    • V1 = rozdíl hodnot ref0 - adc0
    • V2 = rozdíl hodnot ref1 - adc1
Poznámka
Funkce předpokládá existenci otevřeného SPIFFS a připojení k websocket serveru ws.
Pozor
Pokud soubor nelze otevřít, funkce vypíše chybu do sériového portu a ukončí se.

◆ server()

AsyncWebServer server ( 80  )

HTTP server běžící na portu 80.

Používá se k obsluze webového rozhraní – např. pro statické soubory nebo REST API. Spolupracuje s AsyncWebSocket.

◆ setup()

void setup ( )

Inicializuje hardware a konfiguraci systému při spuštění zařízení.

Funkce setup() provádí následující kroky:

  • Inicializuje sériovou komunikaci pro debug výstupy.
  • Inicializuje SPIFFS souborový systém.
  • Nastaví čas pomocí NTP serveru a konfiguruje RTC.
  • Inicializuje I2C sběrnici a ADC převodník ADS.
  • Načte konfiguraci ESP a nastaví WiFi připojení.
  • Inicializuje HTTP konfiguraci.
  • Nastaví výstupní pin pro laserový diodový modul (LDPin).
  • Inicializuje SD kartu a ověří její připravenost.
  • Inicializuje krokový motor (stepper) a nastaví jeho parametry rychlosti a zrychlení.
  • Vypne laserový diodový modul na začátku.

Pokud nastane chyba při některé inicializaci (např. SPIFFS, ADS, SD karta), vypíše chybové hlášení do sériové konzole.

◆ setupWifi()

void setupWifi ( )

Inicializuje WiFi připojení podle uložené konfigurace.

Tato funkce rozhoduje, zda má být zařízení spuštěno v režimu Access Point (AP), klientském režimu (STA - Station), nebo ve výchozím nouzovém režimu AP, pokud konfigurace neodpovídá známým hodnotám.

  • Pokud je espconfig.wifimode == "AP", zařízení vytvoří vlastní WiFi síť.
  • Pokud je espconfig.wifimode == "STA", zařízení se pokusí připojit k existující síti.
  • Pokud je hodnota wifimode neplatná, spustí se výchozí AP režim s předdefinovaným SSID a heslem.
Poznámka
Výsledky jsou vypisovány na sériovou linku (Serial), včetně IP adresy zařízení.
Pozor
Pokud připojení ve STA režimu selže, funkce se ukončí bez fallbacku na AP režim.
Viz také
espconfig
WiFi
WiFi.softAP()
WiFi.begin()
WiFi.localIP()

◆ vypocetHodnoty()

float vypocetHodnoty ( int  ref1,
int  ref2,
int  adc1,
int  adc2,
float  X,
float  Y,
float  Z 
)

Vypočítá hodnotu na základě referenčních a ADC vstupů a zadaných parametrů.

Funkce provádí matematický výpočet pomocí vstupních rozdílů mezi referenčními hodnotami a skutečně naměřenými ADC hodnotami. Na základě těchto rozdílů a souřadnic X, Y, Z provádí výpočet podle specifického vzorce. Pokud dojde k dělení nulou, vrací 0.0.

Parametry
ref1Referenční hodnota 1.
ref2Referenční hodnota 2.
adc1Naměřená hodnota z ADC kanálu 1.
adc2Naměřená hodnota z ADC kanálu 2.
XParametr X .
YParametr Y .
ZParametr Z přepočtový faktor.
Návratová hodnota
Vypočtená hodnota jako float. Vrací 0.0 při dělení nulou.

◆ vypocitejY()

float vypocitejY ( float  x)

Vypočítá hodnotu y na základě polynomu 6.

řádu.

Funkce počítá hodnotu y jako výsledek dosazení hodnoty x do polynomu 6. stupně se zadanými koeficienty uloženými v poli coeffs. Koeficienty se předpokládají ve formátu:

y = c₀·x⁶ + c₁·x⁵ + c₂·x⁴ + c₃·x³ + c₄·x² + c₅·x + c₆

Parametry
xHodnota proměnné, pro kterou se má hodnota polynomu spočítat.
Návratová hodnota
Spočítaná hodnota y jako float.
Poznámka
Pole coeffs musí obsahovat přesně 7 prvků (c₀ až c₆), jinak může dojít k chybě.

◆ ws()

AsyncWebSocket ws ( "/ws"  )

WebSocket server na cestě /ws.

Umožňuje obousměrnou komunikaci mezi ESP32 a webovým klientem pomocí WebSocket protokolu.

Dokumentace proměnných

◆ adcReady

bool adcReady = false

Příznak dostupnosti dat z ADC (analogově-digitálního převodníku).

Nastavuje se na true, když je ADC uspesne nastaveno. Pouziva se pro oznameni chyby ADC.

◆ calculateData

bool calculateData = false

Příznak, zda je požadováno přepočítání dat.

Nastane po konci mereni profilometru.

◆ chunkSize

const int chunkSize = 20

Počet položek odesílaných najednou v rámci jednoho datového bloku (chunku).

Používá se při sekvenčním odesílání větších datových struktur (např. JSON pole) přes WebSocket.

◆ coeffs

double coeffs[7]

Pole koeficientů interpolace.

Používá se pro výpočty při zpracování namerenych hodnot. Velikost pole by měla odpovídat hodnotě order + 1.

◆ CPU_CORE

const uint8_t CPU_CORE = 1

Číslo CPU jádra, na kterém poběží interní task knihovny.

ESP32 má dvě jádra:

  • 0 – primární jádro, běží zde WiFi/Bluetooth stack (nepreferováno pro časově citlivé úlohy)
  • 1 – sekundární jádro, vhodné pro real-time úlohy (např. řízení motoru)

◆ daylightOffset_sec

const int daylightOffset_sec = 3600

Posun pro letní čas v sekundách.

Například v případě letního času (CEST) je přidáno dalších +3600 sekund. Pokud se letní čas nepoužívá, nastav na 0.

◆ engine

FastAccelStepperEngine engine = FastAccelStepperEngine()

Instance motorového enginu pro řízení krokového motoru.

Tato instance slouží ke správě a inicializaci FastAccelStepper objektů.

◆ espconfig

ESPConfig espconfig

Globální proměnná uchovávající konfiguraci WiFi pro ESP32.

◆ globalClient

AsyncWebSocketClient* globalClient = NULL

Ukazatel na aktivního WebSocket klienta.

Používá se pro odesílání zpráv konkrétnímu připojenému klientovi. Pokud není nikdo připojen, hodnota je NULL.

◆ gmtOffset_sec

const long gmtOffset_sec = 3600

Časový posun vůči UTC v sekundách.

Pro středoevropský čas (CET) je hodnota +3600 (tj. UTC+1).

◆ interval

const long interval = 1000

Interval v milisekundách pro periodické úlohy (např.

odesílání dat).

Výchozí hodnota je 1000 ms (tj. 1 sekunda).

◆ MeasurementData

std::vector<Measurement> MeasurementData

Vektor všech naměřených hodnot typu Measurement.

Používá se pro uchování průběhu měřeni.

◆ newMessage

String newMessage = ""

Uchovává text nové příchozí zprávy z WebSocketu.

Obsah zprávy se může dále zpracovávat nebo interpretovat jako JSON.

◆ newMessageHandle

bool newMessageHandle = false

Příznak, zda byla přijata nová zpráva přes WebSocket.

Nastavuje se na true při přijetí zprávy a zpracovává se v hlavní smyčce.

◆ ntpServer

const char* ntpServer = "pool.ntp.org"

Adresa NTP serveru pro synchronizaci času.

Používá se k získání aktuálního UTC času přes internet. Standardní veřejný NTP pool: https://www.pool.ntp.org

◆ order

int order = 6

Počet řádu použité interpolace.

◆ password

const char* password = "sensTrain"

◆ previousMillis

unsigned long previousMillis = 0

Čas posledního odeslání zprávy (v milisekundách).

Používá se pro řízení periodického odesílání zpráv v intervalu.

◆ rtcReady

bool rtcReady = false

Příznak úspěšné inicializace nebo synchronizace RTC (Real-Time Clock).

Pokud je true, je dostupný RTC modul. Pouziva se pro oznameni nefunkcniho RTC modulu.

◆ sdReady

bool sdReady = false

Příznak úspěšné inicializace SD karty.

Je-li true, je SD karta pripraena k pouziti. Pouziva se pro oznameni nefunkcnosti SD karty.

◆ sendChunkDataBool

bool sendChunkDataBool = false

Příznak pro odeslání dat po částech (chunked).

Pokud je nastaveno na true, bude spuštěno sekvenční odesílání většího množství dat.

◆ ssid

const char* ssid = "SensTrain"

◆ stepper

FastAccelStepper* stepper = NULL

Ukazatel na krokový motor.

Ukazatel bude později inicializován voláním engine.stepperConnectToPin(...).