Jump to content
iT4iT.CLUB

All Activity

This stream auto-updates     

  1. Today
  2. Доброе время суток. Немного об измерении скорости ветра. Была собрана следующая конструкция: ардуина нано - имитирует датчик скорости (формирует импульсы) , через преобразователь уровней на микросхеме передает на gpio_14 ESP8266 nodemcu (в скетче gpio_14 закомпелировано). Код измерения скорости ветра использовал из предыдущих постов. После прошивки и настройки ESP, она подключается нормально к моей сети, показания скорости появляются на WEB странице. А вот дальше начинаются непонятки - при попытке обновить страницу, ESP уходит в цикл перезагрузок по Watch dog-у, по Serial видно, что html постепенно подтягивает по 1-2 файла и через 1-2 минуты станица обновляется и до следующей попытки вручную обновить страницу работает нормально. Вот ситуация в двух словах. Первое, что приходит в голову - не связано ли это как то с прерываниями, которые используются для подсчета входящих импульсов? Описанная выше сборка по шине I2C работает нормально.
  3. Yesterday
  4. Last week
  5. Доброе время суток. Вы все делаете правильно. В ходе одного из обновлений была допущена оплошность. Самый простой вариант решения проблемы, это не комментировать данную строчку. Или можно исправить оплошность и в файле wifi.h найти строку if (!MDNS.begin(hostname.c_str())) { console.println("Error setting up MDNS responder!"); } и заменить её на if (!MDNS.begin(hostname.c_str())) { #ifdef console console.println("Error setting up MDNS responder!"); #endif } Я загружу исправления в ближайшее время.
  6. Приветствую Вас, @Kitsum ! Для начала хочу поблагодарить Вас за данный проект, хорошая работа! Собственно решился собрать, тут-то и появились вопросы при попытке загрузить скетч в МК. Расписывать не буду, все видно на скрине. Что я делаю не так?
  7. Earlier
  8. Я бы не тратил на это время. Намного надежнее и практичнее взять LTE+WIFI маршрутизатор, например, БУ по объявлениям. Это избавить от кучи подводных камней. А если Вы сами довольно много времени будите проводить в зоне действия будущей точке доступа, то лучше взять хороший маршрутизатор и возможность подключения LTE модема или со встроенным модемом. Это окупит себя многократно и сэкономит кучу бессонных ночей.
  9. А кто-нибудь пробовал подключаться к интернету через что-то типо GSM-модуля SIM800L или подобного?? И получиться ли это реализовать?
  10. Самое главное - прописать порт сервера вместо 1883.
  11. ни как не получается отправить данные на сервер cloudmqtt.com. У кого получилось, плз поделитесь!!
  12. стандартно используется 5 проводов, 3 SPI, CE и CSN , если передавать модулем не планируется, а работать только на прием, на CE можно просто подать высокий уровень, итого используется 4 вывода IRQ использовать не обязательно, за раз NRF принимает 32 байта и хранит их в буфере, есть ли в буфере данные проверяется флагом, который после прочтения буфера сбрасывается библиотеку использую RF24, вот так проверяется буфер if(radio.available()){ radio.read( &data, sizeof(data)); } чуть позже выложу простой рабочий скетч на esp, который просто принимает данные
  13. Если будет кому-то необходимо подключить NRF к ESP не напрямую, а через ардуино про мини по I2C, попробую сформулировать это в одном посте, что бы не искать по всему форуму. Всё работает отлично, только пришлось отключить накопление статистики по большинству датчиков, т.к. у ESP не хватает оперативки. В данный момент работают две метеостанции. Хочу отметить, поскольку не разобрался со страничной передачей данных по I2C, у меня на одной метеостации 2 NRFки и на другой 3 NRFки. Каждая NRFка может принимать данные от пяти NRFок, но передаёт на ESP только 16 параметров INT. Структура датчиков в приложенном PDFе. Данные пока сбрасываю только на народный монитор. MQTT работает, проверял, нет времени подключить окончательно комп. метеостанция ESP8266 структура_int 12-7-19.xlsx.pdf
  14. @post125 да, подключение через контроллер посредник будет самым выгодным. На сколько мне помнится, Вы уже скидывали в эту тему свои наработки. Вот бегло нашел первый пост https://it4it.club/topic/55-meteostanciya-na-esp8266-ot-it4itclub/?do=findComment&comment=1203, начиная с него можно почитать о Вашем опыте. Но хоть это больше про I2C, думаю заинтересованным будет интересно.
  15. Добрый день! А сделать , как у меня с Вашей помощью получилось, через slave-ардуину по I2C чем плохо? порты дополнительные не нужны, прерывания не нужны, лишняя библиотека не нужна, NRFке никто не мешает принимать данные и они не теряются. Небольшая проблема в нехватке оперативки у ESP8266 при большом количестве датчиков, так эта же проблема проявится и при подключении по SPI. Стоимость ардуино pro mini в районе 100р, что не сильно повысит общую стоимость.
  16. Просто закомментируйте не нужный вам вызов управления A0 Прикрепите пожалуйста весь текст ошибки т.к по скриншоту невозможно определить где проблема.
  17. Доброе время суток. Вот небольшой спойлер, но работы ведутся совсем не такими темпами как мне бы хотелось, банально из-за нехватки времени в связи с переездом в другой город и со всеми вытекающими из этого событиями. Я постарался сделать снимок экрана так, чтобы, присмотревшись к косвенным признакам, была возможность понять, что уже реализовано и, что используется в коде. Последние изменения были сделаны еще в конце лета 2019. @kamikozz Рад, что Вы с таким азартом отнеслись к этому проекту. Но, к сожалению, Вы упустили главную мысль - проект модульный и wifi.h один из модулей с малым количеством зависимостей, а если быть точным, то от него не зависят другие модули вообще. Вы вправе вообще удалить его или полностью переписать согласно необходимой логике работы. Главная идея wifi.h, это балансировка между режимами AP и STA. Нормальным считается, что контроллер подключен к домашней беспроводной сети, если этот пункт не выполнен, то контроллер переходит в режим AP и периодически пытается найти домашнюю сеть. В этом режиме мы получаем возможность его перенастроить т.к контроллер мог потерять домашнюю сеть из-за того, что у неё изменился SSID или контроллер переехал на другое место жительства. В Вашем случае работа данного модуля немного противоречит тому, что Вы хотите получить т.к в случае отсутствия связи с домашней точкой доступа контроллер будет пытаться её найти, а это возможно только при переводе контроллера в режим STA для сканирования эфира. В Вашем случае в этом нет необходимости, и можно пользоваться штатными средствами восстановления связи, предоставляемыми на аппаратном уровне т.к для установки новой точки доступа в качестве домашней, достаточно подключиться к точке поднимаемой контроллером в режиме AP+STA, ведь она доступна всегда. Но у меня вопрос, зачем Вам режим AP+STA? Возможно лучше и надежнее подключить второй контроллер к общей с первым точке доступа и просто перекидываться через HTTP API запросами? Почему я это спрашиваю - дело в том, что я упоминал, в том числе и в первом посте, что мы ограничены количеством обрабатываемых контроллером запросов и при некоторой нагрузке все может поломаться. Кстати, именно по этой причине много кода WEB интерфейса размазано по малому количеству файлов, в Index.htm валяется и css и java, а в css сохранены некоторые картинки. Динамическая подгрузка компонентов. Все это позволяет уложиться в минимальное, как я это видел, количество tcp соединений с контроллером т.к браузер загружает все компоненты страницы параллельно, а текущий web сервер не способен обрабатывать более одного соединения за раз, да и у контроллера попросту нет на это ресурсов. Обязательно помните об этом. Но вернемся к wifi.h. Если Вам ближе режим AP+STA место центрального маршрутизатора для обоих контроллеров, то просто удалите wifi.h и в основном файле добавьте необходимый режим. Убедитесь, что имеете доступ со стороны AP и STA. После этого можете начинать прикручивать сохраненные в config значения параметров для поднятия точки с нужным именем и для подключения к домашней точке доступа. @Neon @den48rus давайте разбираться с NRF. Под рукой, в текущий момент, её нет, но мы попробуем и пробежимся по основным моментам. На сколько я понимаю, подключается она по SPI, а это значит, что потребуется много портов. Следовательно, Вам придется освободить все порты, используемые под управление нагрузкой, но скорее всего еще что-то. На фото ниже видны 5 основных портов для передачи данных и один для прерывания. В данном проекте придется использовать прерывания т.к NRF может получить данные в момент когда будет происходить другая длительная операция, например загрузка web интерфейса. В таком случае данные будут потеряны. Прерывание поможет получать данные в тот момент когда, они пришли и это будет незаметно для остальных процессов. Бегло, я нашел информацию, что прерывание генерирует низкий уровень сигнала на порту IRQ. Отследить его можно с помощью attachInterrupt. В функции, которая будет вызвана при прерывании реализуйте логику чтения данных, как это делается в обычном случае. А теперь самое интересное. Например, в библиотеки RF24.h, которую, как мне кажется, используют многие, возможно использовать свой тип данных для передачи. Таким образом Вы можете объявить свою структуру, в которой можно определить что угодно. Допустим не просто пустые и безликие данные, а тип сенсора, показания с нескольких датчиков и, например, напряжение питания удаленного устройства. struct { byte type; float temperature; float humidity; float voltage; } nrf_data; nrf_data remote_sensor; Теперь важный момент. Переменная, которую мы будем использовать для хранения данных (в примере remote_sensor), должна быть объявлена в глобальном пространстве имен чтобы избежать проблем в дальнейшем, конечно, если у Вас нет иного механизма передачи данных между модулями проекта. После того как данные будут переданы, они будут сохранены в оперативной памяти микроконтроллера. Теперь их необходимо связать с сенсором, а это уже совсем не сложно. sensors.add(new knob_t(0, 100, ".01", "Влажность", "%"), "Humidity", [&](){ return remote_sensor.humidity; } ); Конечно, могут быть ситуации, когда в момент чтения переменной будет произведена попытка её перезаписи, но и это можно решить. В общем, у Вас все должно получиться. Но если будут вопросы, то обязательно пишите, и я постараюсь найти NFR24 и подготовить полноценный код для решения этой задачи.
  18. Пробовал подключать nrf24l01+ к esp8266, все работает без проблем Нужно только встроить код работы с nrf в код метеостанции и передать данные переменным метеостанции
  19. Доброго времени суток участники треда и @Kitsum, вопрос такой, можно ли имплементировать логику работы в режиме AP+STA, помимо AP, STA в текущую прошивку? Пытаемся с другом сделать уже 2 месяца. Удалось подкорректировать вашу прошивку под наши нужды (конечно, в домашнее пользование), слегка подправить front-end, разбив разметку, стили, скрипты в отдельные файлы (возможно, дольше первоначальная загрузка, зато, имхо, это лучше чем динамическая подгрузка скриптов), прикрутить кастомные датчики (AHT10), добавили даже AP+STA, но, из-за того, что не понимаем логику работы wifi.h, в частности работу методов wifi::disconnect(), wifi::start(), wifi::ap(), wifi::sta(), wifi::handle...() станция работает примерно 4-8 часов и затем наглухо крашится (помогает только ручной сброс питания). Попытались обновиться на вашу прошивку 2.0 и прикрутить датчики - все работает и не падает, но необходим именно режим AP+STA, для того, чтобы другая плата ESP8266, которая является часами с дисплеем, отображающим данные с датчиков могла периодически стучаться в метеостанцию, получать данные о времени и датчиках, и возвращать их обратно в часы. wifi::disconnect(): - в случае AP+STA, я так понимаю, можно просто написать: WiFi.softAPdisconnect(); // без еще дополнительного отсоединения для STA: WiFi.disconnect() wifi::ap_sta(): - в случае AP+STA, тут у нас изначально было что-то смещенное из wifi::ap() и wifi::sta(), но зачем создавать две точки доступа, посредством softAP() и begin() wifi::handle..(): - в случае AP+STA, можно ли просто использовать те же методы, ту же логику, что и используется уже у вас в режиме Access Point (AP)? Большое спасибо за любую помощь или подсказку, как это можно реализовать и можно ли вообще реализовать!
  20. Извините меня тема очень старая, но потребность встала только сейчас в создании данного устройства. Проблема в следующем
  21. Будем наблюдать. Сравнивать показания с метеостанциями в городе. Пока станция работает хорошо. Датчик CCS811 почти бесполезен, не могу уловить суть его работы и показания, от чего зависят, с чем связаны резкие скачки и т.д. Читал, что он должен корректировать свои показания от температуры. К датчику BH1750 вопросов нет, показания начинают расти точно по времени рассвета из прогноза погоды. Чем бы заменить CCS811?! Есть ли у кого-то какие-нибудь наработки с NRF2401?! И последнее. Буду очень благодарен за инструкцию, как прикрутить Blynk. Спасибо!
  22. Спасибо! Будем пробовать, лишь бы не слетели ардуины slave. А ESP32 на горизонте не виднеется?
  23. если это северная сторона , летом всё будет ок; зимой будут показания завышаться
  24. Файлы проекта обновлены. Добавлена поддержка последних, на момент публикации, версий Arduino IDE и модуля ESP8266. Добавлены небольшие исправления и доработки. При использовании, указанных в основном посте, версий программных компонентов Вы не получите вылет программы с критической ошибкой. Исправлена серьезная ошибка в медианном фильтре, кто использует проект обязательно обновите у себя объект medianFilter_t, он находится в tools.h В разделе загрузок, добавлена утилита для загрузки файлов web сервера во flash память. Также в описании к файлам, добавлена ссылка на скачивание готовой Arduino IDE со всеми библиотеками, утилитами, и последней версией проекта. Для работы модуля загрузки файлов во Flash может понадобится последняя версия Python https://www.python.org/downloads/
  25. @godzillajenkins доброе время суток. Вы можете составить списки преобразований основываясь на MIB файле который опубликован с шаблоном.
  26. Добрый день. Подскажите, случайно списка преобразований для ИБП Ippon у Вас нет? Спасибо.
  27. такое расположение датчиков температуры и влажности , будут летом неправильные показания, они будут завышены. потоки воздуха от стены и ее нагрев.
  28. D1 (SCL) и D2 (SDA) точно не перепутаны. ну и поменять их не составит труда. проверял на другой программе с этими же пинами , всё работало. ФФ браузер , проц два ядра 2 озу.
  1. Load more activity
×
×
  • Create New...