Prosba o dokumentacje + inne sprawy
Cześć wytłumaczysz mi w jakim formacie wysyłany jest TDCS_SuplaPingServer i TSDC_SuplaPingServerResult? Dokładniej timeval. Widzę że tam w importach dzieje się jakaś magia i nie bardzo wiem jak to interpretować. Dzięki!
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
W timeval masz dwie zmienne typu long sekundy i mikrosekundy.
Ping-a wysyłasz jeżeli nie miałeś komunikacji z urzadzeniem/klientem przez określony czas inaczej traktujesz sesję jako zombie i ją ubijasz
co jest jednoznaczne z zamknięciem połączenia.
Ping-a wysyłasz jeżeli nie miałeś komunikacji z urzadzeniem/klientem przez określony czas inaczej traktujesz sesję jako zombie i ją ubijasz
co jest jednoznaczne z zamknięciem połączenia.
Dzięki. Widzę że klient też wysyła tego pinga. To jest ten obowiązkowy ping co jakiś timeout żeby serwer go nie ubił?
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Tak
W tym przypadku 64
O co chodzi z sub value? To jest tak samo zakodowane value jak rozmawialiśmy wcześniej?typedef struct {
char value[SUPLA_CHANNELVALUE_SIZE];
char sub_value[SUPLA_CHANNELVALUE_SIZE]; // For example sensor value
}TSuplaChannelValue;
Java 4 Life
API Java
GUI
Server Mock
API Java
GUI
Server Mock
Format jest taki sam. Trafiają tam dane z kanałów połączonych. Np jak skojarzysz czujnik otwarcia bramy z otwieraniem bramy to w sub_value będzie stan czujnika. Serwer to składa do kupy.
Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Gdzie chcesz to odczytywać ? Z poziomu ESP czy z poziomu serwera czy klienta ?djack2017 pisze: ↑śr sty 17, 2018 12:44 pm Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:
void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);
#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek