Иван
Ground
VGS (Gate-to-Source Voltage) – напряжение насыщения затвор-исток. Это напряжение, при превышении которого увеличения тока через канал не происходит. По сути, это максимальное напряжение между затвором и истоком. Почем +/- ХЗ
Ground
https://learn.sparkfun.com/tutorials/retired---using-the-logic-level-converter Норм схема TTL конвертора, можно пользоваться?! Только я не понял зачем там на одной плате сразу и bi-direction и Uni-direction, можно ведь поставить 2 bi direct и без разницы будет где RX а где TX
Ground
👍🏻
Ground
Я смотрю у вас все бидирект
Дмитрий
👍🏻
http://alex-exe.ru/radio/microcontrollers/module-co-ordination-logical-level/
Дмитрий
Я смотрю у вас все бидирект
Иники у них видимо для сигнальных линий или хз чего, мне бидиректа заглаза
Ground
Спасибо за ссылку, встроенный стабилизатор это хорошая идея!
Ground
не знаю смотрю что там за полевик, врядли думаю.
Ground
может это просто что для N типа положительный потенциал подаём, для P отрицательный
Ground
Есть тут кто KiCad'ом 5-ым пользуется?
Sergio
Никто не встречал у китайцев платку с распаяными мосфетами (и обвязкой) так что-бы штук 10 на одной, что-бы и от 3,3 и от 5 вольтовой логики норм работала?! на чём-то вроде FDN306P или AO3400?
Это единственные платы которые почему то китайцы не додумались делать и приходится их постоянно паять. Были бы где не дорогие, взял бы штук 50 сразу
Sergio
Кстати если коммутировать полевиком реле, то возможно параллельно реле нужно будет диод поставить, что-бы индукционным током при выключении полевик не попортить.
Всегда так делаю и для реле(не трех что на модулях, там есть) и дач электро магнитов. Бывало что и контроллер умирал, если забывал.Но чаще просить глюки лезут неадекватные, сразу понятно, где то диод забыл
Resident
Если pin на есп умер может ли он быть всегда в состоянии закрытия реле
Resident
Потому что не реагирует а реле всегда включено
Ground
На выход или на вход не реагирует?
Resident
Ни как вообще
Ground
Я бы просто вольтметром померял (или если есть осцилографом) что на нём когда переключаешь состояния и тогда можно сделать выводы. В ESP вот не знаю есть-ли какая защита по току у пинов, думаю спалить их при желании не сложно
Resident
Релейный модуль на 8 релюшек
Алексей
светодиодом проверить и все
Алексей
отключив релейный модуль
Ground
может там 5 вольтовый он, и ESP его не может включить
Resident
Включал же
Ground
ещё где-то читал что некоторые китайские модули только в путь могут всё сжечь ибо ток там больше чем нужно на пинах и подключать их напрямую нельзя
Ground
а с другими пинами таких проблем нету?
Resident
Нет
Alexander
Сделаю аборт по телефону!) Смотреть и проверять все нужно. Мог и умереть. Но могли что то накосячить с кодом или с контактом
Resident
Тогда уумер скорее всего
Resident
Сборка без пайки на перемычках
Alexander
Потому что 3 дня все отлично было
Ничего не гарантирует. Очень часто мы делаем ошибочные выводы упуская какие то детали
Resident
С норм разъёмами с норм опресовкой контактов
Resident
Ща
Resident
#include <ESP8266WiFi.h> #include <WiFiClient.h> #include <ESP8266WebServer.h> #include <ESP8266mDNS.h> #include <ESP8266HTTPUpdateServer.h> #include <PubSubClient.h> const char *host = "esp8266-webupdate"; const char *ssid = "Xiaomi"; // Имя роутера const char *pass = "891261AA"; // Пароль роутера const char *mqtt_server = "192.168.1.166"; // Имя сервера MQTT const int mqtt_port = 1883; // Порт для подключения к серверу MQTT const char *mqtt_user = "elgro"; //wyebltda Логи для подключения к серверу MQTT const char *mqtt_pass = "891261AS"; //hAUHZd6r4_N_ Пароль для подключения к серверу MQTT #define BUFFER_SIZE 100 WiFiClient wclient; PubSubClient client(wclient, mqtt_server, mqtt_port); ESP8266WebServer httpServer(80); ESP8266HTTPUpdateServer httpUpdater; //---MQTT-------------------.length() // Функция получения данных от сервера void callback(const MQTT::Publish& pub) { String payload = pub.payload_string(); String topic = pub.topic(); String param; Serial.print(pub.topic()); // выводим в сериал порт название топика Serial.print(" => "); Serial.println(payload); // выводим в сериал порт значение полученных данн ///////////////////////////////////////// // проверяем из нужного ли нам топика пришли данные if(topic == "home/relay/D1"){ if(payload == "on"){ Serial.println("D1 On"); digitalWrite(D1, HIGH); } if(payload == "off"){ Serial.println("D1 Off"); digitalWrite(D1, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D2"){ if(payload == "on"){ Serial.println("D2 On"); digitalWrite(D2, HIGH); } if(payload == "off"){ Serial.println("D2 Off"); digitalWrite(D2, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D3"){ if(payload == "on"){ Serial.println("D3 On"); digitalWrite(D3, HIGH); } if(payload == "off"){ Serial.println("D3 Off"); digitalWrite(D3, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D4"){ if(payload == "on"){ Serial.println("D4 On"); digitalWrite(D4, HIGH); } if(payload == "off"){ Serial.println("D4 Off"); digitalWrite(D4, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D5"){ if(payload == "on"){ Serial.println("D5 On"); digitalWrite(D5, HIGH); } if(payload == "off"){ Serial.println("D5 Off"); digitalWrite(D5, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D6"){ if(payload == "on"){ Serial.println("D6 On"); digitalWrite(D6, HIGH); } if(payload == "off"){ Serial.println("D6 Off"); digitalWrite(D6, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D7"){ if(payload == "on"){ Serial.println("D7 On"); digitalWrite(D7, HIGH); } if(payload == "off"){ Serial.println("D7 Off"); digitalWrite(D7, LOW); } } // проверяем из нужного ли нам топика пришли данные if(topic == "in/relay/D8"){ if(payload == "on"){ Serial.println("D8 On"); digitalWrite(D8, HIGH); } if(payload == "off"){ Serial.println("D8 Off"); digitalWrite(D8, LOW); } } ///////////////////////////////////////// // проверяем из нужного ли нам топика пришли данные if(topic.indexOf("relay") != -1){ //param = topic.substring(topic.lastIndexOf("/")+1, topic.length()); //param.toCharArray(param_ch, 2); //payload.toCharArray(payload_ch, pl_len); //digitalWrite(param_ch, payload_ch); Serial.println("OK"); } } //MqttConnect void MQTTSetup() { // подключаемся к MQTT серверу if (WiFi.status() == WL_CONNECTED) { if (!client.connected()) { Serial.print("Connecting to MQTT server "); Serial.print(mqtt_server); String clientId = "ESP8266Cliental-"; clientId += String(random(0xffff), HEX)
Resident
; Serial.println("..."); if (client.connect(MQTT::Connect("arduinoClient35").set_auth(mqtt_user, mqtt_pass))) { Serial.println("Connected to MQTT server "); client.set_callback(callback); // подписываемся под топики client.subscribe("in/#"); // client.subscribe("test1/2"); } else { Serial.println("Could not connect to MQTT server"); } } if (client.connected()){ client.loop(); //refreshData(); } } } // void WifiSetup() { WiFi.hostname("Project93"); // подключаемся к wi-fi if (WiFi.status() != WL_CONNECTED) { Serial.print("Connecting to "); Serial.print(ssid); Serial.println("..."); WiFi.begin(ssid, pass); if (WiFi.waitForConnectResult() != WL_CONNECTED) return; Serial.println("WiFi connected"); pinMode(LED_BUILTIN, OUTPUT); delay(500); } } void setup(void){ Serial.begin(115200); Serial.println(); Serial.println("Booting Sketch..."); delay(10); pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); pinMode(D3, OUTPUT); pinMode(D4, OUTPUT); pinMode(D5, OUTPUT); pinMode(D6, OUTPUT); pinMode(D7, OUTPUT); pinMode(D8, OUTPUT); MDNS.begin(host); httpUpdater.setup(&httpServer); httpServer.begin(); MDNS.addService("http", "tcp", 80); Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", host); } void loop(void){ WifiSetup(); MQTTSetup(); httpServer.handleClient(); delay(10); }
Alexander
Рекомендую прозвонить соединения, потом прошить скетч blink с этим портом. Если не будет «мигать» значит накрылся. Иначе могут быть какие то связанные факторы
Alexander
Кстати пин какой?
Resident
D1 D2
Resident
D2 D3 точнее
Alexander
Насколько понимаю на разных платах это могут быть разные gpio
Resident
Nodemcu
Ground
в коде же gpio указывают а не физические пины?!
Resident
Это без разницы
Ground
Может та какой RXTX сидит а вы его дёргаете
Resident
Может та какой RXTX сидит а вы его дёргаете
Вы в коде у меня где то библиотеку wire увидели))
Resident
В коде проблем нет
Resident
Не получилось ещё пока это место реализовать
Resident
if(topic.indexOf("relay") != -1){ //param = topic.substring(topic.lastIndexOf("/")+1, topic.length()); //param.toCharArray(param_ch, 2); //payload.toCharArray(payload_ch, pl_len); //digitalWrite(param_ch, payload_ch); Serial.println("OK"); }
Ground
Вообщем самый хороший совет уже прозвучал тут, прошить блинк на этот порт, если работать не будет, забить на него и пользоваться остальными
Resident
Видимо придётся так поступить
Алексей
можно даже не блин, а тупо прошить espeasy и поиграться
Алексей
чтоб быстрее было
Resident
Да вопрос другой был
Resident
Может ли пин умереть и остаться в состоянии LOW
Ground
может
Resident
Тогда хреново)
Alexander
Может ли пин умереть и остаться в состоянии LOW
Вероятность есть. Но чаще всего выходной каскад пробивает насквозь после чего чип начинает заметно греться и глючить.
Resident
Такого не наблюдал всё штатно ребутов небыло
Alexander
прусь от esp
Alexander
Alexander
испльзую вэб конфигуратор для своей прошивки, добавил номер версии чтобы знать на чем какая версия. может кто знает способ как автоматизировать инкремент версии?
Alexander
хотя наверно можно не версию запоминать а время компиляции?
Павел
прусь от esp
А можно посмотреть вашу реализацию кода, тоже хочу сделать веб интерфейс, с минимумом информации, в основном для обновления прошивки.
Alexander
какая часть кода интересует?
Alexander
Alexander
это библиотека для постоения вэб интерфейса. хотя если вы не изучали шаблоны прочитать будет трудно) но я как только изучил шаблоны без них теперь никуда. я от них прям прусь. гениальная вещь. библиотека сделана так, что в нее можно как плагин вставлять новые странички и набор параметров для редактирования.
Павел
А что за шаблоны, подскажите?
Alexander
расширение языка с++, в частности версии с++11
Павел
Спасибо, почитаю)
испльзую вэб конфигуратор для своей прошивки, добавил номер версии чтобы знать на чем какая версия. может кто знает способ как автоматизировать инкремент версии?
многие так пользуют. А вариант с SPIFFS не нравиться? зато код С постоянно не надо компилить. Залил изменненые полноценные web страницы в SPIFFS и все. Или все же в коде С удобнее страницы писать?
просто интересно мнение кому как нравиться
Alexander
с SPIFFS не разбирался. html сейчас совсем мало, не критично и в коде писать
Павел
Мне понравилось исполнение метеостанции с spiffs https://it4it.club/topic/55-meteostanciya-na-esp8266-ot-it4itclub/
Alexander
кто знает хороший клиент для mqtt под виндуз? пользую mqtt-spy, но он глючный
Ground
@alexxill mqtt.fx попробуй не знаю как насчёт хороший, но я пользуюсь вроде все ок
Немного оффтопа может интересно будет кому.