Pull to refresh

Comments 56

Вы так смело и активно пишете про 3D графику на ESP8266, что кто-то может подумать, что она и правда что-то там рендерит. Но рендерит то браузер, а вся интерактивная часть — на джаваскрипте. ESP8266 же — это обычный http сервер. Разве не так?

Кстати, на вашем сайте я с трудом нашёл ссылки на скачивание, и не нашёл ссылок на репозиторий с исходниками.
В статье два абзаца а посвящены ответу на ваш первый вопрос «Пару слов скажу об интересном психологическом эффекте...». По поводу второго вопроса — планируется редизайн сайта и (крупные) кнопки загрузки во всех возможных местах. По поводу третьего вопроса — дистрибутив это и есть исходный код (в полном объёме и со свободной лицензией).

Небольшое пояснение: 3D это именно «фишка» — уникальная технология, которой нет ни в одном проекте на ESP8266, но в общем объёме свойств АМС это только очень маленькая часть.
Фишка браузера и javascript!? Уникальная??!!! Карл…
4:03 на видео — стандартный example из three.js (пруф). Какая-то странная «фишка проекта» — навставлять стандартных демок из туториолов.
Совершенно верно, демонстрируется не разработка оригинальной 3D графики, а принципиальная возможность её работы на ESP8266.
Я в упор не понимаю, в чем принципиальная разница для ESP8266 отдавать статический js с кодом, который там показывает текущую нагрузку или 3d графику или пиликает или что еще угодно.
Абсолютно никакой разницы, это очевидно. Но речь идёт не об этом, а о том, что нет проектов с 3D графикой на ESP8266, кроме АМС.
Вы бредите, уймитесь уже. ESP8266 никакого отношения к 3D не имеет, это http-сервер, который отдает странички и ресурсы к ним, об этом и пишите.
Ложь. Например, я дома игрался и делал панель управления 3д-кубом трехмерную. На ESP8266 (NodeMCU прошивке, если интересно), так что как минимум один есть.

Я не понимаю, зачем вы тянете сюда совершенно ненужную технологию. Какая разница как именно пользователь решит оформить свою панель управления, если esp8266 все равно отдает либо статику, либо отвечает на простенькие json запросы? А там хоть нейроинтерфейс и VR.
3D это не главная часть проекта, а одна из множества его возможностей, которую можно использовать (если она вам нужна) и не использовать, если не нужна.
Единственная претензия — 3d к вашему проекту не имеет никакого отношения кроме попытки показать «смотрите, как круто». Вы написали стандарт WebGL? Или хотя бы three.js? Вы рендерите картинку на ESP8266? Или хотя бы написали библиотеку, которая генерирует модельки или текстурки на нем? Нет, вы скопипастили статичный пример с сайта и выдаете это за достижение. Да с таким успехом можно открывать ссылку на фильм в iframe и говорить «смотрите, мы можем показывать фильмы!», или вообще открыть гугл в том же iframe и утверждать, что вы делаете поиск на ESP8266.
К моему проекту имеет отношение сборка в одну гармоничную систему множества разрозненных технологий и предоставление её (системы) в бесплатное пользование всем желающим.
Как вы изящно только что приписали себе достижения W3C, Google, Microsoft, а так же многолетний путь развития графических технологий. Каким именно образом выражается ваша гармоничность системы в связке с 3d-графикой?

Повторюсь: никто тут не говорит плохого о вашей системе, она [наверное] хороша и очень интересна. Осуждают только то, что вы за невидимые уши притягиваете технологию ради технологии, исключительно для раскрутки, которая никакого отношения ни к проекту, ни к стеку технологий не имеет. Не на том ресурсе решили выпендриться тем, что вы в статику вставили код по отображению трехмерной графики в браузере (не в той теме, точнее. Если бы это была статья о том, как пользоваться тем же three.js — другое дело).
Почему вы решили, что это технология ради технологии? В статье же ясно написано, что это основа для обучающих методик, игрушек, обучающих наборов и т. д. Это целое направление — контроллеры со встроенным интерфейсом, примерами и т. д.

Что тут непонятного?
Вы просто руините данный проект такими ответами… Очень жаль, что AMC заказал статью именно вам, вы фундаментально не разбираетесь в веб-технологиях.

Контроллер со встроенным интерфейсом — это прекрасно. Любой роутер это контроллер со встроенным интерфейсом. Но интерфейс, это не ключевая часть вашего продукта, как бы вам этого не хотелось. Ваш продукт — это практически полноценный веб-сервер для микроконтроллеров, способный обрабатывать http запросы в соответствии со спецификацией HTTP/1.1 (RFC 2068) и корректно отвечать на них, опять же в соответствии со спецификацией. Вы научились работать в несколько потоков, чтобы сразу отдавать html и подключаемый js или картинки, и тем самым отказались от стороннего хоста с ресурсами. Вы решили проблему c именами файлов 8.3.

Из описаний на сайте правда пока не понятно, отвязались ли вы от чипа С5100 и сделали ли код универсальным для любого WiFi шилда… но, раз уж вы стали партировать код под разные платы, то хочется верить, что и с любым wifi-шилдом работу наладите через библиотеки и базовый класс wifi, благо базовые методы wifi.read, print, availabe во всех библиотеках как правило называются и работают приблизительно одинаково.

Следующим шагом к победе несомненно ждем не разные версии кода для разных чипов, а одну версию, где через #define BOARD_TYPE или WIFI_CHIP можно будет выбирать режим компиляции с правильной реализацией методов.
А что по поводу ваших 6и страниц с 3D, вы спросите? А ничего, и нашим не нать, и вашим не нать.
А вот если реализуете то, что я описал выше, я с удовольствием буду покупать лицензию на ваш настоящий веб-сервер.

Ну и здоровья вам, держитесь тут.
Теоретически, можно добавить поддержку Wi-Fi шилдов, нужно пробовать, но ESP8266 настолько хорош, что я просто забыл о Wi-Fi шилдах. Скоро выйдет ESP32, который будет вне конкуренции, судя по характеристикам.

По поводу моих комментариев — это тот случай, когда две стороны искренне не могут понять друг друга. Почему? На мой взгляд потому, что мы слишком по-разному смотрим на одни и те же вещи.

Но я не вижу проблемы — поживём, как говорится — увидим (кто был ближе к истине).
Что вы ерунду сейчас какую-то городите. У вас прекрасный веб-сервер разрабатывается, уже партируется на разные востребованные платформы. ESP8266 это одна из них, не первая и не последняя.
Когда вы наконец перестанете нести околесицу про какие-то фитчи проекта на конкретном чипе и сосредоточитесь на самом веб-сервере!? У вас с же уже почти Apach получился. Выкиньте на хрен ваши 6 с половиной встроенных html-лек, они никому в упор не уперлись! Все сами напишем себе нужных html код, и свои js и пр. и пр. и со своим интерфейсом и в 3D и в хвост и в гриву! Веб-дизайн вообще, ВООБЩЕ! никакого отношения в АМС и к конкретному чипу не имеют. Пишите уже сам сервер дальше, партируйте, занимайтесь тем, что у вас получается и что реально нужно пользователям. Я с вами на эту тему уже переписывался год назад, вы как тогда рогами уперлись в свои странички, так и сейчас у вас позиционирование проекта с ног на голове стоит. Слава богу, вы за этот год вняли трезвому уму, и стали заниматься партированием на другие чипы и wifi модули.
А то, что вы сейчас написали в статье, это вообще апогей какой-то ахинеи. Вы же на Хабре, что же вы тут за идиотов нас считаете, которые в не понимают, кто рендерит 3D и как js загружается в браузер и что с ним дальше происходит?? Уймитесь уже со своим веб-дизайном, пишите свой прекрасный http-сервер, и пишите о СЕРВЕРЕ.
Уважаемый Sterpa, если вам что-то кажется непонятным или не имеющим смысла, то совсем необязательно, что это так и есть на самом деле.
Много слов «шикарный» и «роскошный», но на сайте я не нашел ни одного готового проекта на АМС. Есть слова, что все возможности воплощены в проекте Мега контроллер — но увы, проект «засерен», со словами об оформлении. Если нет проекта, готовго к «потыкать» — может хотя бы создадите демку, куда можно будет зайти, и увидеть, как оно выглядит?
АМС это «движок» и шаблон для творчества и воплощения ваших идей и решения ваших задач. В дистрибутиве собраны примеры «на все случаи жизни», которые вы можете изменить и приспособить для ваших нужд.

От пользователей поступали отклики, что АМС успешно трудится в их реализованных частных проектах.
На борту полноценный Arduino Mega Server
Модуль может содержать десятки полноценных сайтов

чо?
Сам интерфейс Arduino Mega Server является полноценным сайтом работающем на стандартных веб-технологиях HTML, CSS, JavaScript, Ajax и библиотеках Three.js, flotr2.js и Processing.js.

Кроме того, дистрибутив содержит ещё 6 сайтов, каждый со своим дизайном, своим функционалом и своей топологией. И нет никаких принципиальных преград для добавления новых сайтов.
и она всё это успевает прожевать?
В том-то всё и дело! В конце статьи есть видео. Это не фейк, а демонстрация реальной работы Arduino Mega Server на ESP8266.
В видео есть 6-7 статичных страниц, обновляющих информацию по json, который собирает простенькое состояние. Такое даже обычная ардуинка сможет (разве что ей даже на это памяти вряд ли хватит). По спецификации esp8266 можешь поддерживать до 16мб энергонезависимой памяти (не считая внешних накопителей), куда не просто «десятки полноценных сайтов» не влезут, а даже один и даже без бд. Более того, даже если влезут на внешний накопитель, то ни 144 кб оперативы, ни двухядерный 160МГц процессор (на сколько мне известно, такие они в последнем поколении) ни на что кроме как отдавать статику и предоставлять json-api по современным меркам не хватит.
Это смотря, что понимать под полноценным сайтом, если сайт с SQL базой, то вы правы. Разумеется «запихнуть» SQL в ESP8266 будет крайне проблематично :)

В статье под полноценными сайтами подразумеваются сайты использующие стандартные веб-технологии HTML, CSS, JavaScript, Ajax и хранящие контент в виде файлов на Флеш памяти модуля или подключённой SD карте (если нужно) до 32 ГБ.
поэтому и «полноценность» спорная.
В этом смысле — да. Но вот я бы не поручился, что мне не придёт в голову интегрировать SQL в ESP8266. Шутка. Хотя… :)
Поддерживает ли АМС на данной платформе управление питанием, в частности режим глубокого сна?
Речь идёт (и в статье это указано) о первой тестовой сборке АМС для этой платформы. Решался принципиальный вопрос — возможно ли такое чудо, как работа АМС на ESP8266. И эксперимент завершился полным триумфом — это работает лучше, чем даже на «больших» платах. Например, потоковая скорость передачи на ESP8266 в четыре (!) раза выше, чем на других контроллерах (проводных).

Всё остальное, в том числе режим сна — дело будущих экспериментов.
WatchDog самого Arduino работает и настраивается?

Так же согласен с комментариями выше — хорошо бы иметь готовый работающий пример из «коробки», так же доступный онлайн ( как на сайтах роутеров и т.п.)

У мня все руки никак не дойдут установить сервер.
До WatchDog дело не доходило, речь идёт о первой тестовой сборке (см. ответ выше). Что касается демонстрации работы, то была такая идея, но из-за нехватки времени она пока не реализована.

Хорошей заменой может служить видео, во всех подробностях демонстрирующее работу с системой, на канале на youtube (аж на 29 минут, пользуемся перемоткой):

Arduino Mega Server promo
По моему в ESP8266 мало RAM, даже фраза «640 кб хватит всем» не уместна.
Ну это наверно смотря для чего — для WiFi модема или «беспроводной розетки» — достаточно. Я пишу на Lua, там популярен механизм загрузки-выгрузки модулей в процессе работы скрипта. Долговечности флеша это конечно не добавляет… но…
Для попыток впихнуть «Все что можно» безусловно оперативки мало
Я пишу на Си и стараюсь бороться за каждый байт ОЗУ. Что то с шифрованием и json форматированием уже заставляет страдать, а если при этом еще с UART работать, то полный финиш. Для чего то серьезного предпочитаю CC3200
Как я вас понимаю, хотя мне 8кБайт оперативки вполне хватило и для авторизации, и для поточного шифрования, и одновременного прогона JPEG файлов с двух UART камер на внешний сервер.
живой пример

Извините, но английский на вашем сайте и в видео ужасен. Гугл Транслейт финишд.

Тут согласен, в планах стоит решение этого вопроса.
Плюсанул, хотя просто промазал по минусу. 3d, несколько полноценных серверов…
Линукс на есп-шку не поставишь. Самостийный web-сервер — это отлично, но боюсь, вас не хватит на свести все технологии в гармоничный проект. Даже если он не хобби. А вот углубиться в аппаратные тонкости — вполне. Посоветовал бы вам исследовать WatchDog и спящие режимы той же esp-шки и уже начинать смотреть в сторону esp32. Разные там web-технологии каждый сам себе выберет потом.
Как только ESP32 появится в моём распоряжении, так сразу АМС будет портирован на эту платформу. Я её считаю очень перспективной, об этом написано в статье.
«Из недостатков можно назвать только один — это небольшое число цифровых пинов и всего один аналоговый вход (привет, Малина!). Это несколько сужает сферу применения этих модулей, но для большинства случаев имеющихся выводов достаточно. В тех же случаях, когда их всё же мало, можно использовать тандем из ESP8266 и Arduino Pro Mini.»
Можно расширить порты проще и дешевле, чем с Arduino Pro Mini — с 74HC165 или 74HC595. homes-smart.ru/index.php/oborudovanie/prochee/rasshiryaem-porty
Можно расширять порты при помощи специализированных микросхем, но Pro Mini имеет больше возможностей — что выбрать — дело конкретного проекта. Прелесть технологии в том, что ESP8266 с AMS на борту это законченное решение за 100 рублей (плюс ещё 100 рублей за Pro Mini) и у вас их может быть десяток, каждая в нужной конфигурации.
У меня есть WeMos D1 mini V2, как можно установить AWS на него?
Легко! Пока я работал с этой платой — стал её фанатом. :) Просто прелесть. Сегодня или в крайнем случае завтра на официальном сайте в разделе «Документация» появится секция «Платформа ESP8266» с подробной инструкцией по установке.

Если вы достаточно подготовленный пользователь, то можете воспользоваться краткой инструкцией из файла readme.txt дистрибутива.
Буду ждать подробную инструкцию. Потому что совершенно не знаю что делать. По умолчанию на WeMos стоит nodeMCU. (Промахнулся веткой)
Вам повезло, основные трудности в работе с ESP8266 это грамотный «обвяз» и подключение, на вашей плате все эти проблемы уже решены инженерами WeMos. Вам осталось только «воткнуть» плату и пару раз кликнуть мышкой. И восьмое чудо света перед вами.
Только когда я подключаю по USB эту плату, то компьютер её не видит в диспетчере устройств вообще. Думал увижу новое устройство без драйвер, но нет. Только две wi-fi сети появились ESP_1BA904 без пароля и с паролем mcb44/1-16 которая через время пропадает.
Это вам нужен драйвер CH340. Где точно взять не подскажу, но по поиску найти можно, или кто подскажет точнее.
Драйвер ставил (Windows 10 64bit), но дело в том что без драйвера, устройство не помечается как не опознанное. На Windows 7 32bit результат тот-же. Не понятно как диагностировать проблему.
Вот тут я затрудняюсь сказать. Может драйвер не тот, может плата не работает. А может стоит подключить к другому порту — у меня на одном работает, на другом — нет.
https://www.dropbox.com/s/7f90bezfd02aaav/CH341SER.zip?dl=0
Спасибо, но я тут вижу проблему больше в том, что нет устройства в диспетчере задач, когда я его подключаю по USB. Оно же должно отображаться как не известное.
Не уверен на 100%, но насколько я помню, именно так у меня и было, пока не поставил драйвера — полная тишина в диспетчере.
Спасибо, с этим драйвером тоже не пошло, пытался на трёх компьютерах подключать, результат один и тот же. Возможно устройство браковано, хотя если нажимать на кнопку reset, то мигает светодиодом. usbdeview тоже не реагирует на подключение устройства.
Развитие проекта идёт очень быстро и за два дня после выхода статьи произошло два знаменательных события:

1. Выложена документация по работе AMS на платформе ESP8266 — подключение, установка, запуск, приёмы работы и т. д.

http://hi-lab.ru/arduino-mega-server/documentation/esp8266

2. Сформирована версия AMS для работы на модулях ESP-01 со всего одним мегабайтом памяти. Это значит, что вы можете достать свои пылящиеся и (почти) бесполезные модули ESP-01 и сделать из них беспроводные супер-станции.

Дистрибутив Arduino Mega Server для ESP-01 в ближайшие дни появится на официальном сайте в разделе «Загрузка».
http://hi-lab.ru/arduino-mega-server/details/download

(информация добавлена в конец статьи)
Sign up to leave a comment.

Articles