Анатолий
А хрен их знает 🤣
где брал на али или в нормальном магазине? Давно покупал?
AKE
Часть давно покупали, одну партию недавно
Анатолий
есть arduino скетч который проверяет датчики на оригинальность если интересно
AKE
Пока не актуально да и адруино не держим
AKE
А что там с китайскими, временнЫе характеристики плывут?
AKE
Из первой партии на морозе переставали мерить, пришлось какой то из таймаутов подправить
Анатолий
А что там с китайскими, временнЫе характеристики плывут?
https://cnx-software.ru/2020/07/13/bolshinstvo-datchikov-temperatury-ds18b20-prodavaemyh-onlajn-yavlyayutsya-poddelnymi-ili-imeyut-poddelnye-detali/
Ілля
День добрый! Отправляю запрос по http на сервер, который отвечает от 0-20 секунд. Через секунду после отправки запроса получаю http response code -11. В сорцах <ESP8266HTTPClient.h> нашел что этот код означает HTTPC_ERROR_READ_TIMEOUT. Как можно избежать этого кода?
Ілля
Исходный код запроса
AKE
https://cnx-software.ru/2020/07/13/bolshinstvo-datchikov-temperatury-ds18b20-prodavaemyh-onlajn-yavlyayutsya-poddelnymi-ili-imeyut-poddelnye-detali/
Спасибо. Интересно. Сейчас глянул, вроде оригиналы у нас, судя по надписям 🤷‍♂ И код 28 ХХ хх
Анатолий
Спасибо. Интересно. Сейчас глянул, вроде оригиналы у нас, судя по надписям 🤷‍♂ И код 28 ХХ хх
вот отчет о моей подделки, у меня запасы ардуин есть) 28-0E-E5-07-D6-01-3C-92: ROM does not follow expected pattern 28-xx-xx-xx-xx-00-00-crc. Error. Scratchpad Register: 90/01/55/05/7F/A5/A5/66/B4 Info only: Scratchpad bytes 2,3,4 (55/05/7F): not Maxim default values 4B/46/7F. Scratchpad byte 5 (0xA5): should have been 0xFF according to datasheet. Error. Scratchpad byte 6 (0xA5): unexpected value. Error. Scratchpad byte 7 (0x66): should have been 0x10 according to datasheet. Error. 0x4E modifies alarm registers: ok. 0x4E accepts 10 bit resolution: ok. 0x4E preserves reserved bytes: ok. 0x4E accepts 12 bit resolution: ok. 0x4E preserves reserved bytes: ok. Checking byte 6 upon temperature change: not necessary. Skipped. --> Sensor appears to be counterfeit based on 4 deviations.
Анатолий
кто нибудь использует акселерометры в качестве датчиков кражи (по вибрации)?
AKE
А надпись Dallas есть на подделке?
Анатолий
А надпись Dallas есть на подделке?
думаешь у китайцев на это лазер не поднимется?) конечно есть сзади буквы P нет но при желании это они тоже легко сделают
Ілля
Что это за ушлёпский сервер, если отвечает через 20 секунд?
long polling, он отвечает только если есть новое состояние для устройства. Время соединения 20сек
Slava
long polling, он отвечает только если есть новое состояние для устройства. Время соединения 20сек
Ну если знаешь что такое long polling, тот наверное догадываешься как он работает и что попробовать сделать. Я пробовал разобраться на примере с телеграммом, но не осилил.
Slava
https://www.youtube.com/watch?v=VT6bY-iSveI
Slava
соноф созрел
Anton
ппл, уже обсуждался вопрос снятия крышечки с есп32?
romanetz
Чот было
Anton
есть какой-либо смысл в этом? сильно ли уменьшается занимаемый размер?
Юрий
Недавно боролся с проблемой высоты, уменьшить толщину платы 1.6->0.6 оказалось проще.
Anonymous
HTTP.on("/description.xml", HTTP_GET, []() { SSDP.schema(HTTP.client()); }); - подскажите, как эту химеру расшифровать
romanetz
Лямбда-функция тут
Anonymous
Лямбда-функция тут
так я говорю - химера, можно подробненько, особенно что означает , []() и далее
romanetz
[]()обозначение такого выражения, () пустые - список аргументов функции, в {} тело функции
romanetz
Лямбда-выражения в C++ | Microsoft Docs https://docs.microsoft.com/ru-ru/cpp/cpp/lambda-expressions-in-cpp
romanetz
Там ещё хитрее )
Anonymous
Лямбда-выражения в C++ | Microsoft Docs https://docs.microsoft.com/ru-ru/cpp/cpp/lambda-expressions-in-cpp
спасибо за ссылку, это я изучу, а SSDP.schema(HTTP.client()) что это?
Anonymous
квадратный трехчлен???
Anonymous
вспомнил про Петьку
romanetz
Надо смотреть объявления, что такое SSDP и HTTP
romanetz
Если это объекты - то их методы дёргаются, или это статические методы классов соответствующих
Anonymous
это пример использования библиотеки esp8266webserver.h, а вот описание этой библиотеки тоже хрень химерическая. Не пойму, неужели нельзя нормальным языком описать?
romanetz
C++11 - нормальный язык?
Anonymous
https://links2004.github.io/Arduino/d3/d58/class_e_s_p8266_web_server.html#a15bf040c1f1cb499e25cb6eadbc3b7af - вот оно, там тоже все зашифровано
Anonymous
C++11 - нормальный язык?
Что за язык, знаю С, С++
romanetz
Версия стандарта
romanetz
Что зашифровано-то?
romanetz
Веб сервер обычный, в духе ООП написан
Anonymous
Язык как язык, работал на разных. Химеру не люблю.
Anonymous
Версия стандарта
В духе ООП было бы понятно, а тут ?????
romanetz
А что тут не так?
Anonymous
Полагаю Вы опытный спец, ну и поясните, что это значит, смысл одним-двумя предложениями : HTTP.on("/description.xml", HTTP_GET, []() { SSDP.schema(HTTP.client()); });
Anonymous
Гуглил, я не первый, кто впал в ступор
romanetz
void on (const char *uri, HTTPMethod method, THandlerFunction fn)
romanetz
У вас вот эта функция используется, и третьим параметром обработчик прописан
romanetz
Что через жопу - согласен
romanetz
Вы функцию в функцию передаёте здесь
Anonymous
void on (const char *uri, HTTPMethod method, THandlerFunction fn)
Это понятно. Итак, если клиент направит серверу запрос с окончанием "description.xml", выполнить HTTP_GET а дальше ...???? смысл, что выполнить, откуда брать, куда передать?
romanetz
Нет, неправильно
romanetz
Если клиент ЗАПРОСИТ методом GET эту ссылку, выполнить вот эту функцию
romanetz
Сервер не может ничего по HTTP сам отправить/отдать, он на запросы клиента только отвечает
romanetz
Отдать результат выполнения функции клиенту
Anonymous
Если клиент ЗАПРОСИТ методом GET эту ссылку, выполнить вот эту функцию
Т.е. если клиент запросит ссылку "description.xml", то необходимо выполнить SSDP.schema(HTTP.client()); ?
romanetz
Бинго, и отдать ему в качестве полезной нагрузки (помимо httpшных заголовков) её результат
garik
SSDP - это UPnP такой, нужен для поиска девайсов, предоставляющих сервисы в локалке. description.xml эти сервисы описывает
Anonymous
Бинго, и отдать ему в качестве полезной нагрузки (помимо httpшных заголовков) её результат
Спасибо, с трудом. SSDP.schema где находится, что делает ... все равно туман пока. Но все равно спасибо за некоторое понимание.
romanetz
Ну так смотрите исходник глубже, что такое SSDP.schema, и почему ему надо подсовывать самого клиента в качестве аргумента )
romanetz
Я ssdp не копал никогда, просто этот функционал не нужен был
garik
Я тоже только что загуглил 😄
Anonymous
Ну так смотрите исходник глубже, что такое SSDP.schema, и почему ему надо подсовывать самого клиента в качестве аргумента )
В исходнике этого, к сожалению, нет. void SSDP_init(void) { // SSDP дескриптор HTTP.on("/description.xml", HTTP_GET, []() { SSDP.schema(HTTP.client()); }); //Если версия 2.0.0 закаментируйте следующую строчку SSDP.setDeviceType("upnp:rootdevice"); SSDP.setSchemaURL("description.xml"); SSDP.setHTTPPort(80); SSDP.setName(SSDP_Name); SSDP.setSerialNumber("001788102201"); SSDP.setURL("/"); SSDP.setModelName("SSDP-Test"); SSDP.setModelNumber("000000000001"); SSDP.setModelURL("http://esp8266-arduinoide.ru/step3-ssdp/"); SSDP.setManufacturer("Tretyakov Sergey"); SSDP.setManufacturerURL("http://www.esp8266-arduinoide.ru"); SSDP.begin();
Anonymous
Есть вот это и все
romanetz
Там класс же есть - SSDP?
Anonymous
Там класс же есть - SSDP?
Роман, спасибо! Попробую найти этот класс. Может, расшифрую.
romanetz
Что его искать, он в этом исходнике должен быть объявлен/в библиотеках, которые к нему пристёгнуты
romanetz
Шаг №3 - SSDP обнаружение - ESP8266 https://youtu.be/9kOorpWDarY