• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Ищу сообщника, надо придумать и сделать WEB интерфейс

Интересно продолжение?

  • Интересно посмотреть / воспользоваться

    Голосов: 3 37.5%
  • Интересно поучаствовать

    Голосов: 2 25.0%
  • КГ/АМ

    Голосов: 3 37.5%

  • Всего проголосовало
    8

valerivp

Member
В общем создал я поделие. WEB сервер на ESP8266. Аналог Arduino Mega Server и WEB свалке от pvvx.

Текущий статус 80% от первой беты, сейчас в общий доступ ничего не положу, т.к. товар надо показать лицом, а красивого лица нету :(
Ищу сообщника который поможет сделать красивый понятный функциональный интерфейс для демонстрации возможностей решения. На данный момент проект предполагается сделать свободным, потому никаких денег не предлагаю. Сообщник получит необходимые исходники и пояснения. Найдутся желающие - велком в ветку и в личку.

Мое решение я создаю как интерфейс для системы управления теплым полом, т.е. это полтора десятка различных датчиков (температуры воды - на 1wire, воздуха - китайские беспроводные от метеостанций, давления, ...) и набор реле (клапаны, насосы, котел, ...). Цель текущего проекта сделать именно интерфейс, без привязки логики к коду системы. Датчики распределены в пространстве. Т.о. есть необходимость связи нескольких систем в одну посредством беспроводных средств. Т.е. датчики будут на одной ESP, а WEB сервер - на другой.

Но проект строится как универсальный. Ни в одной строчке кода не будет привязки к конкретным задачам. Текущий проект призван сделать универсальные WEB интерфейс, систему сенсоров и логический контроллер.

Описание существующего функционала и планы, отличия от аналогов:

Я анализировал два решения - они в начале топика.
AMS мне не понравилось структурой и малой функциональностью.
Свалка - да простит меня автор, мое мнение субъективно - она и есть свалка. Ничего не понятно, кроме того что это круто. Необходимо использовать Эклипс, иначе собрать эту свалку не возможно. Да и функционал хромает.

Что сделал я:
Проект разрабатывается в Visual Micro, весь проект - набор нескольких проектов, в которых из одних исходников собирается именно то решение, которое требуется, с учетом нужного функционала. Используются стандартные библиотеки и классы ESP, никаких собственных стеков TCP и пр. - может и есть нестабильности в работе, зато все понятно. При желании, свалив все в один каталог можно скомпилировать в Aduino или в другой среде.
Сейчас параметры кода такие:
Program size: 312 831 bytes (used 30% of a 1 044 464 byte maximum) (12,41 secs)
Minimum Memory Usage: 44488 bytes (54% of a 81920 byte maximum)

Несколько ESP могут объединяться в систему. При этом каждая из ESP может быть как сервером датчиков, так и клиентом, или одновременно (сейчас не реализовано, только идея, а идея - 50% решения). При этом совершенно не важно куда именно подключен конкретный датчик. На каждой ESP из системы будут видны все датчики всех ESP. Датчики адресуются по именам. Соответствие имен датчиков и их ID указывается на той ESP, к которой они физически подключены. Состав показателей датчиков может быть произвольный. Обязательными показателями являются:
  • ID - я решил, что все датчики будут иметь 16 битный ID, если физический длиннее - берем CRC16.
  • Name,
  • Type,
  • Source - адрес ESP к которой подключен датчик
  • TimeLabel - метка времени получения данных датчиков. Чтобы все хорошо работало, нужно чтобы время было синхронизировано на всех ESP.
  • Остальной набор будет зависеть от типа датчика. Но все значения будут int32. Если надо дробные - использовать показатели с фиксированной запятой, например "temperatureX10"
Таким образом добавление и замена датчиков будет делом элементарным. WEB интерфейс и логический контролер адресуют датчик по имени (например "SensorInRoom1") и если датчик сгорит, надо просто назначить этому имени другой ID.
Так же будут виртуальные датчики, значения для которых будут задаваться в файле настроек. Это позволит простым образом унифицировать обращение к датчикам и настройкам на всех ESP в сети.

Автономные датчики - никаких сетей NFR24. Как я понимаю, ESP умеет спать самостоятельно. Поэтому может использоваться как автономный датчик. Если надо что-то другое, то имеет смысл выделить отдельную ESP как сервер датчиков, который собирает данные и отдает их ESP которая делает интерфейс. А логический контролер может быть на третьей ESP.

Реализован WEB сервер с минимальным набором встроенных сервисов. Не отключаемых сервисов на данный момент 3:
  • Текущее время. Просто транслирует текущее время. Настройки синхронизации пока нет, сервер пока в коде написан. Но сейчас сервер умеет быть как клиентом NTP, так и сервером. Т.е. одна ESP (любая из сети) может смотреть в инет или иметь RTC, и раздавать время остальным.
  • Настройки WiFi. Если ESP не настроена для подключения к роутеру, она переходит в режим точки доступа. Присутствует элементарный интерфейс для настройки подключения. Если хочется не элементарный, а с рюшками - надо просто реализовать htm страницу (если включена поддержка файловой системы) с красивой формой. А сервис для применения изменений уже есть. Встроенный интерфейс выглядит так: 2017-06-23_0835.png, а можно загрузить страницу, и будет несколько иначе: 2017-06-23_0836.png
  • Встроенная справка по реализованным сервисам. Т.е. встроенная страница 404 содержит описание возможных сервисов с параметрами. Может быть заменена загрузкой страницы 404.htm (если включена поддержка файловой системы).

Все остальное может опционально:
  • Поддержка файловой системы SPIFFS.
  • Редактор файлов (интернет не требуется, ~100KB на FS). Будет в т.ч. использоваться для редактирования настроек, которые будут в файлах.
  • Редактироваться настройки так же могут WEB интерфейсе (не реализовано). Хранение настроек - в файлах.
  • Поддержка активного содержимого на стороне сервера. Да-да, сервер уже умеет исполнять скрипты. На данный момент он умеет исполнять их из файлов, файл запускается только из консоли COM. Скрипты могут выполняться в фоне. Запускаться автоматически при старте ESP. Т.о. ESP превращается в простой логический контролер. Скриптовый язык простой, но может расширяться функциями на С. Работа с пинами - в базе, работа с FS присутствует. Редактироваться скрипты могут средствами браузера и ESP.
  • Сервер не умеет модифицировать файлы (ну кроме как скриптом), всякие метки, метаблоки и пр. не предусмотрены. Модификация страниц происходит на стороне клиента (AJAX) или скриптом.
  • Поддерживаются web-сокеты.
  • Поддерживаются датчики 1wire, набор датчиков на одной шине. Адреса в коде указывать не надо.
  • Поддерживаюся китайские метеодатчики (a93cfb83.jpg ), набор датчиков на одном приемнике.
Но идея - унифицировать програмный интерфейс всех датчиков. Поэтому добавление поддержки любых датчиков будет делом элементарным.

Вот.
Написал тут много, а показать нечего. Рисовать не умею, дизайнер из меня хреновый. Навыки HTML базовые. С программированием Arduino / ESP знаком полгода (иногда бывает час-два в день или в неделю на это :) ). Как готовить Git - не знаю.
Я программирую на языке очень далеком от С, и текущий проект - хобби.
Кто хочет сделать интересную штуку - приглашаю к сотрудничеству.
 
Последнее редактирование:

Victor

Administrator
Команда форума

pvvx

Активный участник сообщества
Наличие вопросов и желания иметь web на WiFi SoC постоянно возрастает, а имеющие реализации на ESP и особенно в Arduino для этого не годятся. На имеющихся WiFi SoC, из-за ограничения ресурсов стандартные методики и библиотеки не подходят. Все “писатели”, использующие стандартные подходы, находятся в режиме “ожидания” контроллеров с большими ресурсами и производительностью. Web-свалка на ESP8266 создавалась для демонстрации, что средней поршивости Web возможен при использовании ресурсов только одного дешевого WiFi SoC и свою миссию выполнила. В её составе нет ни одной стандартной либы от “сообщества” и используется только LwIP. Дальнейшая оптимизация не имеет смысла из-за других ограничений ESP8266 и может принести не более 10% каких-либо доп. плюшек. Применение SPIFFS убьет Web из-за его медлительности уже на среднем размере диска.

В пользовательском устройстве, созданном на Arduino, для создания одной странички “настроек” нет никакого смыслу в использовании Web-сервера. Там достаточно встроенного в C/C++ текста и обработки одного TCP соединения (через TCP socket), что уже откатано в Arduino у других писателей c примитивным парсингом переменных в GET и POST запросах. Более не имеет смысла по причинам не относящимся к web-серверу, а связанных с ограничениями в Arduino других функций и их производительности. Никакие “куки” или “мультидата” или одновременное открытие нескольких файлов и соединений там не требуются. Т.е. не требуется к 80% функциональности HTTP-WEB сервера. Чтобы перевести всю систему на оптимизированные либы потребуется работа не одного человека в течении многих месяцев. И смысла в ней нет – за это время появятся более навороченные WiFi SoC, способные переваривать уже имеющиеся стандартные либы и подходы. В итоге есть смысл оптимизации только того, что получит “окно” на время использования до выхода более крутых микросхем с той-же ценой. С ESP8266 это уже произошло и она является устаревшей – не имеющей смысла в дальнейших разработках. Этого вы не учитываете.
Пока производительность и ресурсы простейших WiFi-SoC дойдут до *nix, c Web уже стоит вопрос реализации совмещения с PHP или другими языками в одном флаконе – т.е. приближение к полноценному web-серверу, в понятиях *nix. На решение этих более перспективных вопросов и ушили все “программеры” и возвращаться к хилому и глючному ESP8266 они не будут. По этому вам остается только одна возможность – привлечение “союзников” за оплату, т.е. платных программистов. :)

Итог - мой выбор КГ/AM в опроснике :p
 
Последнее редактирование:

valerivp

Member
Свой проект я делаю не как депонстрацию, а как универсальную систему, которую можно масштабировать горизонтально. Я не предполагаю использовать ESP как многопользовательский портал. Система строится для автономной работы, ну и доступ в инет - опционален. Я столкнулся с не возможностью иметь в ESP опрос гирлянды 1wire и web. Поэтому решил использовать сеть дешевых устройств для разделения нагрузки. Десяток ESP8266 стоят как одна ESP32.
 

pvvx

Активный участник сообщества
Свой проект я делаю не как депонстрацию, а как универсальную систему, которую можно масштабировать горизонтально. Я не предполагаю использовать ESP как многопользовательский портал. Система строится для автономной работы, ну и доступ в инет - опционален. Я столкнулся с не возможностью иметь в ESP опрос гирлянды 1wire и web. Поэтому решил использовать сеть дешевых устройств для разделения нагрузки. Десяток ESP8266 стоят как одна ESP32.
“Народное” направление стремиться к использованию языков типа Java. Осваивать CИ/С++ простому обывателю сложно. Тем более ресурсы новоиспеченных дешевых WiFi SoC уже почти готовы для этого. Цена на модуль с WiFi SoC с улучшенными характеристиками для автономной работы и имеющие более 1МБ RAM, плюс штатное подключение микро-SD для файловой системы на Гегобайты всего в 2 раза выше ESP8266 на сегодня.
Почему и указал на SPIFFS – он не является “стандартным и универсальным” решением. Его область применения (мелкие MCU с пару КБ RAM) давно пройдена. Так-же и у самой реализации моей Web-свалки. Она рассчитана и оптимизирована на устройства с объемом RAM в 0.1..1МБ. При больших ресурсах вступает в силу многозадачность – RTOS и там примененные в данном Web алгоритмы не являются оптимальными и следует использовать другой подход с тем-же LwIP. И так везде, со всеми техническими наработками и описанными у вас либами – они всегда устаревают и должны соответствовать аппаратной части.
Вы же ищите кто вам поможет. Но никто из изучающих и интересующихся на дому с каким-то уже имеющимся багажом знаний и бесплатно поддерживающих пользователей не будет брать устаревший WiFi-SoC для новых разработок. Это могут сделать столько те, у кого есть материальная заинтересованность в окучивании пользователей.
иногда бывает час-два в день или в неделю на это :) ). Как готовить Git - не знаю.
Я программирую на языке очень далеком от С, и текущий проект - хобби.
Вот этого и не хватит для успешной реализации в видимых временных рамках готового проекта по вашему описанию. К тому времени народ уйдет на другие WiFi-SoC, т.к. там будет больше и проще.
 
Последнее редактирование:

valerivp

Member
Вы же ищите кто вам поможет
Мне не требуется помощь в разработке. Исключительно WEB интерфейс. Это то, что я не способен сделать сам, ну ни как. Ибо хочу красиво, а красиво делать HTML не умею.
Вот этого и не хватит для успешной реализации в видимых временных рамках готового проекта по вашему описанию.
Проект готов на 80%. По большому счету осталось сделать подсистему датчиков. Я знаю в деталях что и как надо сделать. Я оцениваю это часов в 8...10. Плюс остальные плюшки - еще столько же.

Осваивать CИ/С++ простому обывателю сложно.
Точно! Поэтому я решил, что лазить в код прошивки не нужно будет. Ну только если чтобы описать получение данных со своих специфичных датчиков.
Для кастомизации надо будет использовать скрипты (я использую bitlash).
И так везде, со всеми техническими наработками и описанными у вас либами – они всегда устаревают и должны соответствовать аппаратной части
Я использую стандартные библиотеки. Поэтому при появлении другого железа переход будет минимально трудоемок.
 

pvvx

Активный участник сообщества
Проект готов на 80%. По большому счету осталось сделать подсистему датчиков. Я знаю в деталях что и как надо сделать. Я оцениваю это часов в 8...10. Плюс остальные плюшки - еще столько же.
Значит зайду через неделю-две :)

Мне нужен web c логгером - записью статистики за годовой цикл и отображением текущих графиков с датчиков на любое устройство с браузером без внешних обращений к глобальной инет сети. Никой привязки к датчикам там нет, как и методов получения от них значений. Есть только общие условия, исходящие из производительности WiFi и ресурсов WiFi-SoC. Это значит, что годовая кольцевая статистика имеет дискрет точки в 1..5 минут, в зависимости от кол-ва датчиков, а текущий интерактивный график должен отображаться со скорость точек менее 0.1 сек. Отсылка данных типа MQTT и связь с внешним глобальным инет решается другими уже готовыми интерфейсами и к web мало относится. Отношение к web тут только одно – он не должен “падать” от внешних запросов и атак.
 
Последнее редактирование:

=AK=

New member
Мое решение я создаю как интерфейс для системы управления теплым полом, т.е. это полтора десятка различных датчиков (температуры воды - на 1wire, воздуха - китайские беспроводные от метеостанций, давления, ...) и набор реле (клапаны, насосы, котел, ...). Цель текущего проекта сделать именно интерфейс, без привязки логики к коду системы. Датчики распределены в пространстве. Т.о. есть необходимость связи нескольких систем в одну посредством беспроводных средств.
Непонятно, почему вы привязались к беспроводному интерфейсу, да вдобавок именно к WiFi. Питаться ваши датчики святым духом будут, что ли? Для батарейного питания WiFi малопригоден. Есть другие радиоинтерфейсы, которые потребляют на порядок или на два меньше. Ну а если к узлам сети проброшены провода питания, то логично и сигналы передавать по проводам. Помимо прочего, это и намного надежнее будет.
 

pvvx

Активный участник сообщества
Непонятно, почему вы привязались к беспроводному интерфейсу, да вдобавок именно к WiFi. Питаться ваши датчики святым духом будут, что ли? Для батарейного питания WiFi малопригоден. Есть другие радиоинтерфейсы, которые потребляют на порядок или на два меньше. Ну а если к узлам сети проброшены провода питания, то логично и сигналы передавать по проводам. Помимо прочего, это и намного надежнее будет.
Позвольте спросить - у вас домашние WiFi роутеры тоже с батарейкой, без проброса кабелей?
"Другие радиоинтерфейсы, которые потребляют на порядок или на два меньше" не позволяют передать необходимый поток. WiFi вступает, когда требуется поток к 100 килобайт в сек, а не как у Arduino на ESP8266. К примеру на RTL8711AM/8195, встроенный ADC уже не вписывается в BT, как и множественные датчики на I2C приходящие с нескольких устройств. Web так-же имеет смысл только при скоростях более 100 килобайт в сек, т.к. переливание страниц с графиками по две точки никого уже не устраивает. Так-же сеть WiFi часто создается для экспериментов, а не для обывательского повседневного использования... прокладывать кабеля в бетонные стены ради снятий замеров с десятка датчиков в недельном эксперименте нет никакого смыслу, если только не желаете выглядеть дятлом с перфоратором для соседей. :)
 

=AK=

New member
Позвольте спросить - у вас домашние WiFi роутеры тоже с батарейкой, без проброса кабелей?
"Другие радиоинтерфейсы, которые потребляют на порядок или на два меньше" не позволяют передать необходимый поток. WiFi вступает, когда требуется поток к 100 килобайт в сек,
Это для управления теплым полом? Смешно. Для этой задачи даже пропускной способности SIGFOX хватит за глаза.

прокладывать кабеля в бетонные стены ради снятий замеров с десятка датчиков в недельном эксперименте нет никакого смыслу, если только не желаете выглядеть дятлом с перфоратором для соседей
Мало-мальски вменяемый человек для недельного эксперимента кабели оставит лежащими на поверхности.

Когда человек говорит о котлах, насосах и пр, то, значит, речь идет не о бетонной хрущобе, а о чем-то вроде загородного дома. В силу чего весь ваш наивный пафос про перфораторы и соседей совершенно неуместен.
 

nikolz

Well-known member
Попытка создать универсальную систему заведомо обречена на провал.
А наличие очевидной идеи, как правило, вечно остается почти работающим проектом.
 

Wilder

New member
Привет всем,

решил немного поучавствовать в дисскусии.

Как не печельно это признавать но, pvvx, прав. Сделать что-то более менее серьезное на esp8266 почти не возможно, в виде огранниченности ресурсов. Я сам загорелся идеей автоматизации купил данный чип и реализовал свой проект, но столкнулся с тем что для нормальной работы нужно постоянно что-то дописывать, выяснять почему не работает тот или иной кусок кода. В итоге я просто прошил свой роутер на прошивку от падавана, и запустил там node.js. Тут тоже есть свои проблемы, но ресурсов пока хватает на все и при этом загрузка не более 5%

Для чего я сейчас хочу использовать ESP8266 ? На сегодняшний момент чип может быть использован только как оконечное устройство, но никак не сервер. И причем использовать его можно предпочтительно для управления какой-любо нагрузкой, так как в качестве датчиков, есть куча рабочих альтернатив на других радиостандартах, я например использую датчики от Xiaomi.

Если кому интересно могут глянуть мою версию wi-fi manager c файловым менеджером здесь. Основное отличие что он умеет редактировать файлы в gzip.
 

nikolz

Well-known member
А зачем из велосипеда делать студебекер.
Почему бы не ездить на велосипеде и радоваться, что какой хороший велосипед.
-----------------------------------------
Уж сколько раз твердили миру Ну не для многостраничных серверов ESP8266.
------------------------
ESP8266 очень удобный чип для создания умных датчиков.
--------------------------
Перечисляю что я сделал:
1) спектрометр
2)измеритель влаги в нефти
3) измеритель уровня воды
4) систему мониторинга для разработки неинвазивного измерителя сахара в крови
5) устройство подсчета капель для вискозиметра
6) Не говорю уж об измерителях температуры, влажности,давления расстояния.
Подобные устройства работают от батарейки и от солнечной панельки.
------------------------
Сервер у меня на компе. А на ESP8266 - станция
----------------------
Надо реально смотреть на возможности чипов и все будет ГУД и даже ВЕРИ.
 

pvvx

Активный участник сообщества
Мало-мальски вменяемый человек для недельного эксперимента кабели оставит лежащими на поверхности.
Вам ещё для справки: витая пара (100..300 м) стоит к 10 штукам WiFi модулей, обеспечивающим общее (суммарное) расстояние связи в 10 раз более. Не забудьте туда ещё включить штробирование стен, коробочки и свичи c подводкой лепестричества… Бригаде неделю работать ради нескольких замеров или экспериментатору запутаться в раскиданных проводах? :)
Может у вас есть предложения по промышленному беспроводному интерфейсу с трафиком за 1 МегБайт/сек?
Когда человек говорит о котлах, насосах и пр, то, значит, речь идет не о бетонной хрущобе, а о чем-то вроде загородного дома. В силу чего весь ваш наивный пафос про перфораторы и соседей совершенно неуместен.
Если бы вы умели читать, то автор топика вам уже ответил – у него гирлянды датчиков и один модуль не справляется с ними :)
Не всем же мигать одним светодиодом, да ещё с пафосом, что вам не дали документации для вашего уровня развития, как это сделать. :)
Уж сколько раз твердили миру Ну не для многостраничных серверов ESP8266.
А у меня и у других, кто что-то делает и иногда выкладывает всем для возможности повторения, ESP8266 справляется c данной задачей без проблем, пока вы только мечтаете сделать то, что описываете.

PS: И =AK= - вам nikolz подтверждает, что выбор WiFi у него неверен, а для его поделок достаточно простых BT модулей. Ему и пишите, что WiFi совершенно не нужен для его задуманных, но ещё не реализованных поделок.
Устройства с проводным инет да Web на 3..4 пользователя были сделаны и откатаны более 10 лет назад на микруках ещё дешевле, чем ESP8266. Там самая дорогая деталь - разъем изернет. Но тут сайт про WiFi SoC и рамки их применения давно сформировались. И действительно, Arduino + ESP8266 не вписывается в них, а требует другого уровня подхода для реализации задач.
Для "начинающих" изучение эти ограничения не важны - в данном топике чел хочет попробовать разобраться с принципами расширения системы, как он выразился "горизонтально", и ему не нужны ваши кабеля и ваши глупости. Это всего эксперимент для развития, в целях обучения. Релиз они сделают без ваших подсказок - т.е. я и другие всё равно продолжат стремиться к большему, не ограничиваясь вашими не умениями и не желаниями в дальнейшем развитии... :p

PS2: Вам и тут показали что ваше мнение - есть "старые-пердуны" не воспринимающие современных тенденций. :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Написал тут много, а показать нечего. Рисовать не умею, дизайнер из меня хреновый. Навыки HTML базовые. С программированием Arduino / ESP знаком полгода (иногда бывает час-два в день или в неделю на это :) ).
Я тоже в поисках нормальных javascript, умеющих отображать живой график с нескольких датчиков на разнообразных конечных устройствах с инет-браузером. Статическое отображение графиков и логгов на странице уже освоено и окучено – там всего то нужен протокол по передаче запрашиваемых блоков накопленных данных с устройства с трансфером как раз укладывающихся в полосу WiFi. SPIFFS, в данном случае и является ограничением из-за своей медлительности. Для отображения разнообразных графиков с устройства на страницу, его Web-серверу необходимо передать сам HTML, css, картинки, javascript и данные, общим объемом к 0.3..0.5MB. На SPIFFS и ESP8266 это выливается в ожидание более нескольких секунд до полного отображения, что совершенно не комфортно…
Желающих иметь отображение графиков с множества датчиков в интерактивном режиме всё время увеличивается, достаточно посмотреть любой раздел тем данного форума...
Ожидаю, что вы найдете решение этого вопроса... А на "старых-пердунов" не обращайте внимания - их тут всего пара завелась на данном сайте и как-нибудь окучим. :)
 
Последнее редактирование:

=AK=

New member
Вам ещё для справки: витая пара (100..300 м) стоит к 10 штукам WiFi модулей, обеспечивающим общее (суммарное) расстояние связи в 10 раз более. Не забудьте туда ещё включить штробирование стен, коробочки и свичи c подводкой лепестричества… Бригаде неделю работать ради нескольких замеров или экспериментатору запутаться в раскиданных проводах? :)
Выковырянные из носа аргумены идут в помойку. Нафиг никому не нужно это ваше "суммарное расстояние".

С первого раза до вас не доходит, придется повторять:
  • Провода все равно придется прокладывать, чтобы обеспечить питанием прожорливые WiFi модули.
  • В загородном доме штробить приходится крайне редко. Например, в моем доме это пришлось делать всего 2 раза за 20 с лишним лет, в остальных примерно 100 случаях скрытая проводка прокладывалась гораздо проще, очень быстро, без шума и пыли. Но как это делается - зашоренные жители бетонных хрущоб даже не догадываются. :p
 

tretyakov_sa

Moderator
Команда форума
Вот.
Написал тут много, а показать нечего. Рисовать не умею, дизайнер из меня хреновый. Навыки HTML базовые. С программированием Arduino / ESP знаком полгода (иногда бывает час-два в день или в неделю на это :) ). Как готовить Git - не знаю.
Я программирую на языке очень далеком от С, и текущий проект - хобби.
Кто хочет сделать интересную штуку - приглашаю к сотрудничеству.
Смотрите это видео. Может быть подойдет!
Описание здесь:
Home · tretyakovsa/Sonoff_WiFi_switch Wiki · GitHub
 

Wilder

New member
Я тоже в поисках нормальных javascript, умеющих отображать живой график с нескольких датчиков на разнообразных конечных устройствах с инет-браузером.
Желающих иметь отображение графиков с множества датчиков в интерактивном режиме всё время увеличивается, достаточно посмотреть любой раздел тем данного форума...
:)
Не совсем понимаю, в чем проблема. Как раз это относительно не сложно реализовать через WebSocket. Изначально все необходимые файлы(библиотеки) записываются в SPIFFS или PROGMEM. Все эти файлы будут нужны только первый раз. В дальнейшем они кладуться в кэш и уже не тормозят. А объем данных который нужен для оперетивного отображения не превышает сотню байт.
 

pvvx

Активный участник сообщества
Не совсем понимаю, в чем проблема. Как раз это относительно не сложно реализовать через WebSocket. Изначально все необходимые файлы(библиотеки) записываются в SPIFFS или PROGMEM. Все эти файлы будут нужны только первый раз. В дальнейшем они кладуться в кэш и уже не тормозят. А объем данных который нужен для оперетивного отображения не превышает сотню байт.
Ну это для ESP8266 проектов. Там итог всех проектов в изменении 1 бита в час и WiFi не требуется.
Выковырянные из носа аргумены идут в помойку. Нафиг никому не нужно это ваше "суммарное расстояние".

С первого раза до вас не доходит, придется повторять:
  • Провода все равно придется прокладывать, чтобы обеспечить питанием прожорливые WiFi модули.
  • В загородном доме штробить приходится крайне редко. Например, в моем доме это пришлось делать всего 2 раза за 20 с лишним лет, в остальных примерно 100 случаях скрытая проводка прокладывалась гораздо проще, очень быстро, без шума и пыли. Но как это делается - зашоренные жители бетонных хрущоб даже не догадываются. :p
Это частный случай и не требует никаких разработок или продумывания каких-то проектов и экспериментов. Датчики ставятся не в поле, и там уже существует проводка питания.
Для вас пример: У меня вот на участке есть парник. До него от ближайшей постройки более 50 метров, и все пересекаются проложенными дорогами для прохода хоть перегруженного камаза (имею в виду что там уже типа стробить и потом чинить эти дорогу придется). Туда кинут броневой кабель в трубах для включения наноса и всяких реле полива. Тянуть ещё один кабель через это всё? :)
Да, а в городе у меня не хрущеба, а простой "таунхауз" сделанный "Монолитстрой" спб из железобетона с замесом гранита и штробится достаточно сложно, а электропроводка заложена до заливки... Это внешнюю стену проще - там всего кирпич, да типа пеноблок на 0.5 метра...
Смотрите это видео. Может быть подойдет!
Описание здесь:
Home · tretyakovsa/Sonoff_WiFi_switch Wiki · GitHub
Там всего 30 точек через 3 сек - явное рекомендуемое применение BT или устройств 433MГц, а не WiFi. :) А если надо пусть 100 точек с 5 датчиков в сек?
Для примера - самая дешевая INA219 дает 500 точек 12 бит 2 значения в сек - ток и напряжение...
Никакой "джсон" уже не справиться.
Тогда всё (?) - отказываться от простого WiFi SoC и ставить что-то типа R Pi ? :)

С одним соединением, через Ajax, ESP ещё как-то справляется на 200 точек в сек, но не в Arduino:
А для большего, без проблем тянет websocket:
Вплоть до 20к точек в сек:
При этом, возникают уже другие проблемы – содержание больших скриптов на web самого устройства и тормознутость javascript на внешнем устройстве где требуется отображение. Стандартные библиотеки javascript уже не подходят, а писать свои нет особого желания. По этому и ведется поиск простых подходящих методов решения совокупности этих вопросов с расчетом на производительность малых WiFi SoC.

У вас то решение не для WiFi, а в пределе для BT и позиционирование WiFi для рабочих проектов выбрано не верно. Только в целях обучения… и то простые WiFi SoC уже доросли до передачи сигналов телеуправления одновременно с видео потоком, а вы застряли на уровне передачи 1 символа в сек…
Простой проект на RTL-ке:
Но топикастер вроде хочет получить что-то рабочее, а не только игрушку в целях изучения (?)
 
Последнее редактирование:

view24

Member
Универсальный WEB-интерфейс. Звучит очень правильно. Вот реализации: http://view24.org/mks.htm
аналогично, но с некоторыми объяснениями
Chart on-line monitoring fermenter's measurement by free OPC

То, о чем Вы говорите - называется 'панель' или по-буржуйски 'dash-board'.
Еще пример: Группа БиоСофт-24. Автоматизация и визуализация научно-исследовательских и производственных процессов. - BioSoft24.ru
Но эта панель без управления.
Может быть Вы будете первым человеком, кто заинтересуется этой панелью 'view24' со стороны помимо моих заказчиков.
 
Сверху Снизу