first commit
This commit is contained in:
109
ESP32_DOMOTICZ_ECRAN/Domoticz.cpp
Normal file
109
ESP32_DOMOTICZ_ECRAN/Domoticz.cpp
Normal file
@@ -0,0 +1,109 @@
|
||||
#include "Domoticz.h"
|
||||
|
||||
Domoticz::Domoticz(String domoticz, String port, const char* ssid, const char* pass)
|
||||
{
|
||||
_domoticz = domoticz;
|
||||
_port = port;
|
||||
_ssid = ssid;
|
||||
_pass = pass;
|
||||
|
||||
// // Domo
|
||||
// _domoc[_domoticz.length() + 1];
|
||||
// _domoticz.toCharArray(_domoc, _domoticz.length() + 1);
|
||||
//
|
||||
// // Port
|
||||
// char portc[_port.length() + 1];
|
||||
// _port.toCharArray(portc, _port.length() + 1);
|
||||
// _iport = atoi(portc);
|
||||
|
||||
}
|
||||
|
||||
boolean Domoticz::connect()
|
||||
{
|
||||
|
||||
// Domo
|
||||
char _domoc[_domoticz.length() + 1];
|
||||
_domoticz.toCharArray(_domoc, _domoticz.length() + 1);
|
||||
|
||||
// Port
|
||||
char portc[_port.length() + 1];
|
||||
_port.toCharArray(portc, _port.length() + 1);
|
||||
int _iport = atoi(portc);
|
||||
|
||||
boolean connected = _client.connect(_domoc, _iport);
|
||||
Serial.print(_domoc);
|
||||
Serial.print(" ");
|
||||
Serial.print(_iport);
|
||||
Serial.print(" ");
|
||||
Serial.println(" connected ");
|
||||
// // printf(connected);
|
||||
|
||||
return connected;
|
||||
}
|
||||
|
||||
void Domoticz::close()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Domoticz::initWifi()
|
||||
{
|
||||
WiFi.mode(WIFI_AP);
|
||||
WiFi.begin(_ssid, _pass); //Connect to local Wifi
|
||||
|
||||
// printf();
|
||||
// printf("Connecting to WiFi");
|
||||
while (WiFi.status() != WL_CONNECTED)
|
||||
{
|
||||
Serial.print(".");
|
||||
delay(500);
|
||||
}
|
||||
Serial.println("");
|
||||
Serial.println("WiFi Connected!");
|
||||
Serial.print("Connexion au reseau ");
|
||||
Serial.println(WiFi.localIP());
|
||||
delay(500);
|
||||
}
|
||||
|
||||
String Domoticz::generateKey()
|
||||
{
|
||||
// WiFi.mode(WIFI_AP);
|
||||
|
||||
// Do a little work to get a unique-ish name. Append the
|
||||
// last two bytes of the MAC (HEX'd) to "Thing-":
|
||||
uint8_t mac[WL_MAC_ADDR_LENGTH];
|
||||
WiFi.softAPmacAddress(mac);
|
||||
String macID = String(mac[WL_MAC_ADDR_LENGTH - 2], HEX) + String(mac[WL_MAC_ADDR_LENGTH - 1], HEX);
|
||||
macID.toUpperCase();
|
||||
String AP_NameString = "ESP32 Thing " + macID;
|
||||
|
||||
char AP_NameChar[AP_NameString.length() + 1];
|
||||
memset(AP_NameChar, 0, AP_NameString.length() + 1);
|
||||
|
||||
for (int i = 0; i < AP_NameString.length(); i++)
|
||||
{
|
||||
AP_NameChar[i] = AP_NameString.charAt(i);
|
||||
}
|
||||
|
||||
// WiFi.softAP(AP_NameChar, WiFiAPPSK);
|
||||
|
||||
// printf("macID=" + macID);
|
||||
|
||||
return macID;
|
||||
}
|
||||
|
||||
String Domoticz::getIndexOfString(String data, String separator, int index)
|
||||
{
|
||||
int found = 0;
|
||||
int strIndex[] = { 0, -1 };
|
||||
int maxIndex = data.length() - 1;
|
||||
|
||||
for (int i = 0; i <= maxIndex && found <= index; i++) {
|
||||
if (data.charAt(i) == separator.charAt(0) || i == maxIndex) {
|
||||
found++;
|
||||
strIndex[0] = strIndex[1] + 1;
|
||||
strIndex[1] = (i == maxIndex) ? i + 1 : i;
|
||||
}
|
||||
}
|
||||
return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
|
||||
}
|
||||
Reference in New Issue
Block a user