SuplaDevice 2.4.2
Mam pytanie zrobiłem próbę z przykładem WebInterface, ładnie rozsyła sieć Supla-ESP8266-XXXX ale aplikacja nie wykrywa modułu jak to ma miejsce z firmware GUI Genneric. Trzeba wchodzić na stronę konfiguracyjną i wszystko wpisywać ręcznie.
Co zrobić aby aplikacja rozpoznawała urządzenie?
Co zrobić aby aplikacja rozpoznawała urządzenie?
Niespełniony automatyk.
https://3d-lamp.photos/
https://3d-lamp.photos/
Tam jest nieco inny format niż ten wykrywany przez apki. Miała być zrobiona aktualizacja tego w apkach, ale jeszcze nie maLector pisze: ↑pt cze 24, 2022 1:43 pm Mam pytanie zrobiłem próbę z przykładem WebInterface, ładnie rozsyła sieć Supla-ESP8266-XXXX ale aplikacja nie wykrywa modułu jak to ma miejsce z firmware GUI Genneric. Trzeba wchodzić na stronę konfiguracyjną i wszystko wpisywać ręcznie.
Co zrobić aby aplikacja rozpoznawała urządzenie?
Widzimy się na Supla Offline Party vol. 2
Jak wygląda aktualizowanie modułu po przez OTA , znalazłem biblioteki
ale nie wiem czy z ich pomocą da się to to wykonać?
Kod: Zaznacz cały
<supla/network/html/sw_update_beta.h>
<supla/network/html/sw_update.h>
<supla/network/html/custom_sw_update.h>
- Załączniki
-
- update.jpg (27.66 KiB) Przejrzano 1080 razy
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024
To nie jest przygotowane pod Arduino IDE, tylko do kompilacji na ESP8266 RTOS SDK i na ESP-IDF SDK.shimano73 pisze: ↑pn cze 27, 2022 6:53 am Jak wygląda aktualizowanie modułu po przez OTA , znalazłem bibliotekiale nie wiem czy z ich pomocą da się to to wykonać?Kod: Zaznacz cały
<supla/network/html/sw_update_beta.h> <supla/network/html/sw_update.h> <supla/network/html/custom_sw_update.h>
Procedura jest bardzo podobna do tego co jest w "supla-espressif-esp" - czyli update odbywa się za pośrednictwem serwerów Supli. Została natomiast wprowadzona mała modyfikacja, która polega na tym, że urządzenie nie musi się rejestrować w Supli, tylko odpytuje dedykowanego serwera o dostępność nowego softu. Jest to zrobione pod kątem użytkowników komercyjnych urządzeń Supli, którzy decydują się koryzstać z "lokalnego MQTT" bez udziału serwerów Supli.
Może na kolejny release przygotowałbym też opcję na OTA przez podanie nowej binarki z dysku, tak aby to działało z kompilacjami z Arduino IDE.
Widzimy się na Supla Offline Party vol. 2
Rozumiem, było by super , będę cierpliwie czekał.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie
Wezmę udział w Supla Offline Party 2024
Wezmę udział w Supla Offline Party 2024
U mnie podobna sytuacja. Kompilacje na ESP8266 wywala będy.klew pisze: ↑czw cze 23, 2022 8:19 amPewnie masz jakiąś starą wersję boardów dla ESP8266.Zibi pisze: ↑czw cze 23, 2022 8:15 am @klew idziesz jak burza Gratulacje!
Próbowałem odpalić przykład WebInterface ale ciągle pluje mi błedem Bład kompilacji dla płytki ESP8266.
Kod: Zaznacz cały
In file included from D:\Arduino 1.8.16 AT Supla\arduino-ide-portable_1.8.16\arduino-1.8.16\libraries\supla-arduino-master\examples\WebInterface\WebInterface.ino:40:0: D:\Arduino 1.8.16 AT Supla\arduino-ide-portable_1.8.16\arduino-1.8.16\libraries\supla-arduino-master\src/supla/network/esp_wifi.h: In member function 'virtual void Supla::ESPWifi::setup()': D:\Arduino 1.8.16 AT Supla\arduino-ide-portable_1.8.16\arduino-1.8.16\libraries\supla-arduino-master\src/supla/network/esp_wifi.h:140:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname' WiFi.setHostname(hostname); ^ D:\Arduino 1.8.16 AT Supla\arduino-ide-portable_1.8.16\arduino-1.8.16\libraries\supla-arduino-master\src/supla/network/esp_wifi.h:217:12: error: 'class ESP8266WiFiClass' has no member named 'setHostname' WiFi.setHostname(hostname); ^ Znaleziono wiele bibliotek w "ESP8266WiFi.h" Wykorzystane: C:\Users\Lenovo\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4\libraries\ESP8266WiFi Niewykorzystane: D:\Arduino 1.8.16 AT Supla\arduino-ide-portable_1.8.16\arduino-1.8.16\libraries\ESP8266WiFi exit status 1 Błąd kompilacji dla płytki Generic ESP8266 Module.
Jeśli nie aktualizuje Ci się, to upewnij się, że dla ESP8266 masz ustawione:
https://arduino.esp8266.com/stable/pack ... index.json
A dla ESP32:
https://raw.githubusercontent.com/espre ... index.json
Board 2.7.4
Board 3.0.2
Na takich boardach próbowałem
Przy ESP32 kompiluje się bez błędnie
Na 3.0.2 powinno działać. Upewnij się, że masz dobrze ustawione źródło boardów. Jeśli nadal nie będzie działać, to włącz pełne logowanie kompilacji i wyślij mi na priv cały log z kompilacji.radzik_r pisze: ↑pn cze 27, 2022 8:25 pmU mnie podobna sytuacja. Kompilacje na ESP8266 wywala będy.klew pisze: ↑czw cze 23, 2022 8:19 am Pewnie masz jakiąś starą wersję boardów dla ESP8266.
Jeśli nie aktualizuje Ci się, to upewnij się, że dla ESP8266 masz ustawione:
https://arduino.esp8266.com/stable/pack ... index.json
A dla ESP32:
https://raw.githubusercontent.com/espre ... index.json
Board 2.7.4
Board 3.0.2
Na takich boardach próbowałem
Przy ESP32 kompiluje się bez błędnie
Widzimy się na Supla Offline Party vol. 2
Witam,
próbuję uruchomić ESP32 z płytką LAN8720. Płytka LAN jest podłączona zgodnie ze schematem udostępnionym przez @elmaya w wątku ESP32+LAN8720 (swoją drogą nie wiedziałem, czy pisać tam czy tu; jako że obsługa LAN dla ESP32 jest już dostępna w SuplaDevice, to zdecydowałem się opublikować post tutaj).
Nie wiem, którym pinem w płytce LAN ustawia się adres, więc poza podłączeniem LAN-u 8720 do ESP i wyłączeniem oscylatora, nic więcej nie robiłem.
Proszę o pomoc.
Poniżej przesyłam błędy, jakie wyświetla ESP.
i kod:
próbuję uruchomić ESP32 z płytką LAN8720. Płytka LAN jest podłączona zgodnie ze schematem udostępnionym przez @elmaya w wątku ESP32+LAN8720 (swoją drogą nie wiedziałem, czy pisać tam czy tu; jako że obsługa LAN dla ESP32 jest już dostępna w SuplaDevice, to zdecydowałem się opublikować post tutaj).
Nie wiem, którym pinem w płytce LAN ustawia się adres, więc poza podłączeniem LAN-u 8720 do ESP i wyłączeniem oscylatora, nic więcej nie robiłem.
Proszę o pomoc.
Poniżej przesyłam błędy, jakie wyświetla ESP.
Kod: Zaznacz cały
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DOUT, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13160
load:0x40080400,len:3036
entry 0x400805e4
Supla - starting initialization
Main storage not configured
Config storage not configured
Relay[0] turn OFF (duration 0 ms)
**** Digital write[0], gpio: 108; value 0
Relay[1] turn OFF (duration 0 ms)
**** Digital write[1], gpio: 109; value 0
Relay[2] turn OFF (duration 0 ms)
**** Digital write[2], gpio: 110; value 0
Relay[3] turn OFF (duration 0 ms)
**** Digital write[3], gpio: 111; value 0
Relay[4] turn OFF (duration 0 ms)
**** Digital write[4], gpio: 112; value 0
Relay[5] turn OFF (duration 0 ms)
**** Digital write[5], gpio: 113; value 0
Relay[6] turn OFF (duration 0 ms)
**** Digital write[6], gpio: 114; value 0
Relay[7] turn OFF (duration 0 ms)
**** Digital write[7], gpio: 115; value 0
Relay[8] turn OFF (duration 0 ms)
**** Digital write[8], gpio: 100; value 0
E (57079) gpio: GPIO can only be used as input mode
Relay[9] turn OFF (duration 0 ms)
**** Digital write[9], gpio: 101; value 0
E (58080) gpio: GPIO can only be used as input mode
Relay[10] turn OFF (duration 0 ms)
**** Digital write[10], gpio: 102; value 0
E (59091) gpio: GPIO can only be used as input mode
Relay[11] turn OFF (duration 0 ms)
**** Digital write[11], gpio: 103; value 0
E (60102) gpio: GPIO can only be used as input mode
Relay[12] turn OFF (duration 0 ms)
**** Digital write[12], gpio: 104; value 0
Relay[13] turn OFF (duration 0 ms)
**** Digital write[13], gpio: 105; value 0
Relay[14] turn OFF (duration 0 ms)
**** Digital write[14], gpio: 106; value 0
Relay[15] turn OFF (duration 0 ms)
**** Digital write[15], gpio: 107; value 0
Relay[16] turn OFF (duration 0 ms)
**** Digital write[16], gpio: 32; value 0
Relay[17] turn OFF (duration 0 ms)
**** Digital write[17], gpio: 33; value 0
Initializing network layer
Network AP/hostname: SUPLA-ESP32
Enter normal mode
establishing Lan connection
E (64241) lan87xx: lan87xx_pwrctl(409): power up timeout
E (64241) lan87xx: lan87xx_init(491): power control failed
E (64242) esp_eth: esp_eth_driver_install(215): init phy failed
Using Supla protocol version 16
Current status: [5] SuplaDevice initialized
Conn fail counter 1
Current status: [8] No connection to network
Conn fail counter 2
Conn fail counter 3
Conn fail counter 4
Conn fail counter 5
Conn fail counter 6
Connection fail counter overflow. Trying to setup network interface again
establishing Lan connection
E (124857) esp_netif_lwip: esp_netif_new: Failed to configure netif with config=0x3ffb2610 (config or if_key is NULL or duplicate key)
E (124867) esp.emac: esp_eth_mac_new_esp32(595): alloc emac interrupt failed
Kod: Zaznacz cały
/*
Copyright (C) AC SOFTWARE SP. Z O.O.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/*
-(50MHz) Osc. Enable to GND -
GPIO22 - EMAC_TXD1 : TX1
GPIO19 - EMAC_TXD0 : TX0
GPIO21 - EMAC_TX_EN : TX_EN
GPIO26 - EMAC_RXD1 : RX1
GPIO25 - EMAC_RXD0 : RX0
GPIO27 - EMAC_RX_DV : CRS
GPIO17 - EMAC_TX_CLK : nINT/REFCLK (50MHz)
GPIO23 - SMI_MDC : MDC
GPIO18 - SMI_MDIO : MDIO
GND : GND
3V3 : VCC
*/
#define supla_lib_config_h_ // silences debug messages
#include <SuplaDevice.h>
#include <Adafruit_MCP23017.h>
#include <SPI.h>
#include <supla/io.h>
#include <supla/control/relay.h>
#include <supla/network/esp32eth.h>
Supla::ESPETH Eth(0); // uint_t ETH_ADDR = I²C-address of Ethernet PHY (0 or 1)
Adafruit_MCP23017 mcp;
Adafruit_MCP23017 mcp2;
class MyMcp23017 : public Supla::Io {
public:
void customDigitalWrite(int channelNumber, uint8_t pin, uint8_t val) {
if ((pin >= 100) && (pin <= 115)) {
mcp.digitalWrite(pin - 100, val);
return;
}
if (pin <= 99) {
return ::digitalWrite(pin, val); // ------------------------------ so that the other channels work normally
}
}
int customDigitalRead(int channelNumber, uint8_t pin) {
if ((pin >= 100) && (pin <= 115)) {
return mcp.digitalRead(pin - 100);
}
if (pin <= 99) {
return ::digitalRead(pin); // ------------------------------ so that the other channels work normally
}
if ((pin >= 200) && (pin <= 215)) {
return mcp2.digitalRead(pin - 200);
}
}
} MyMcp23017;
void setup() {
Serial.begin(115200);
Wire.begin(4,16); //Wire.begin (sda, scl)
mcp.begin(); //ustawia adres MCP na 0x20
mcp.pinMode(0, OUTPUT);
mcp.pinMode(1, OUTPUT);
mcp.pinMode(2, OUTPUT);
mcp.pinMode(3, OUTPUT);
mcp.pinMode(4, OUTPUT);
mcp.pinMode(5, OUTPUT);
mcp.pinMode(6, OUTPUT);
mcp.pinMode(7, OUTPUT);
mcp.pinMode(8, OUTPUT);
mcp.pinMode(9, OUTPUT);
mcp.pinMode(10, OUTPUT);
mcp.pinMode(11, OUTPUT);
mcp.pinMode(12, OUTPUT);
mcp.pinMode(13, OUTPUT);
mcp.pinMode(14, OUTPUT);
mcp.pinMode(15, OUTPUT);
mcp2.begin(1); //ustawia adres MCP2 na 0x21
mcp2.pinMode(0, INPUT); mcp2.pullUp(0, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(1, INPUT); mcp2.pullUp(1, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(2, INPUT); mcp2.pullUp(2, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(3, INPUT); mcp2.pullUp(3, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(4, INPUT); mcp2.pullUp(4, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(5, INPUT); mcp2.pullUp(5, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(6, INPUT); mcp2.pullUp(6, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(7, INPUT); mcp2.pullUp(7, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(8, INPUT); mcp2.pullUp(8, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(9, INPUT); mcp2.pullUp(9, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(10, INPUT); mcp2.pullUp(10, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(11, INPUT); mcp2.pullUp(11, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(12, INPUT); mcp2.pullUp(12, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(13, INPUT); mcp2.pullUp(13, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(14, INPUT); mcp2.pullUp(14, HIGH); // turn on a 100K pullup internally
mcp2.pinMode(15, INPUT); mcp2.pullUp(15, HIGH); // turn on a 100K pullup internally
// Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
char GUID[SUPLA_GUID_SIZE] = {0x8B,0x90,0x40,0x6C,0x89,0xAC,0xCB,0xE5,0x34,0x4D,0x60,0x8B,0x97,0x9B,0xF2,0x89};
// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x2E,0x6E,0x02,0xF8,0xF8,0xE9,0x91,0xE7,0x74,0xD8,0x5C,0xD5,0x6C,0x85,0x57,0xA5};
auto r101 = new Supla::Control::Relay(108);
auto r102 = new Supla::Control::Relay(109);
auto r103 = new Supla::Control::Relay(110);
auto r104 = new Supla::Control::Relay(111);
auto r105 = new Supla::Control::Relay(112);
auto r106 = new Supla::Control::Relay(113);
auto r107 = new Supla::Control::Relay(114);
auto r108 = new Supla::Control::Relay(115);
auto r109 = new Supla::Control::Relay(100);
auto r110 = new Supla::Control::Relay(101);
auto r111 = new Supla::Control::Relay(102);
auto r112 = new Supla::Control::Relay(103);
auto r113 = new Supla::Control::Relay(104);
auto r114 = new Supla::Control::Relay(105);
auto r115 = new Supla::Control::Relay(106);
auto r116 = new Supla::Control::Relay(107);
auto r117 = new Supla::Control::Relay(32);
auto r118 = new Supla::Control::Relay(33);
/*
Having your device already registered at cloud.supla.org,
you want to change CHANNEL sequence or remove any of them,
then you must also remove the device itself from cloud.supla.org.
Otherwise you will get "Channel conflict!" error.
*/
/*
SuplaDevice Initialization.
Server address is available at https://cloud.supla.org
If you do not have an account, you can create it at
https://cloud.supla.org/account/create SUPLA and SUPLA CLOUD are free of
charge
*/
SuplaDevice.begin(
GUID, // Global Unique Identifier
"cloud.supla.org", // SUPLA server address
"moj@mail.com", // Email address used to login to Supla Cloud
AUTHKEY); // Authorization key
}
void loop() {
SuplaDevice.iterate();
}
Pozdrawiam
Jakub
PS. Czekam na Supla Offline Party 2024
Jakub
PS. Czekam na Supla Offline Party 2024
Witam
mam taki problem że stworzyłem sobie nowy sensor SUPLA_CHANNELTYPE_GENERAL_PURPOSE_MEASUREMENT:
#include "air_quality_sensor.h"
#include <supla/time.h>
Supla::Sensor::AirQualitySensor::AirQualitySensor() : lastReadTime(0) {
channel.setType(SUPLA_CHANNELTYPE_GENERAL_PURPOSE_MEASUREMENT);
channel.setDefault(SUPLA_CHANNELFNC_GENERAL_PURPOSE_MEASUREMENT);
}
double Supla::Sensor::AirQualitySensor::getValue() {
return READ_NOT_AVAILABLE;
}
void Supla::Sensor::AirQualitySensor::iterateAlways() {
if (millis() - lastReadTime > 10000) {
lastReadTime = millis();
channel.setNewValue(getValue());
}
}
i ogólnie go zarejestrowało, widzę go w urządzeniach supla-cloud, widzę w kodzie że wysyła wartości ESP32, ale nie widzę żadnej wartości w supla-cloud?
gdzie może leżeć problem?
Pozdrawiam
mam taki problem że stworzyłem sobie nowy sensor SUPLA_CHANNELTYPE_GENERAL_PURPOSE_MEASUREMENT:
#include "air_quality_sensor.h"
#include <supla/time.h>
Supla::Sensor::AirQualitySensor::AirQualitySensor() : lastReadTime(0) {
channel.setType(SUPLA_CHANNELTYPE_GENERAL_PURPOSE_MEASUREMENT);
channel.setDefault(SUPLA_CHANNELFNC_GENERAL_PURPOSE_MEASUREMENT);
}
double Supla::Sensor::AirQualitySensor::getValue() {
return READ_NOT_AVAILABLE;
}
void Supla::Sensor::AirQualitySensor::iterateAlways() {
if (millis() - lastReadTime > 10000) {
lastReadTime = millis();
channel.setNewValue(getValue());
}
}
i ogólnie go zarejestrowało, widzę go w urządzeniach supla-cloud, widzę w kodzie że wysyła wartości ESP32, ale nie widzę żadnej wartości w supla-cloud?
gdzie może leżeć problem?
Pozdrawiam