Однако времена шли и появлялось все больше дешевых микроконтроллеров, которые содержали внутри себя MAC уровень, требуя лишь снаружи микросхему PHY. А для ленивых производитель давал готовые решения по интеграции в проект LWIP со стороны софта и демо платы и примеры разводки PHY под свой микроконтроллер со стороны железа. Изредко появлялись чипы с PHY прямо на кристалле микроконтроллера.
Микроконтроллеры PIC18F67J60 и PIC18F97J60 со встроенным PHY появились давно.
PIC32MX795F512L и аналогичные из этой серии с МАС на борту так же появились давно.
Стек протоколов достаточно хорошо описан и документирован, были курсы по применению ТСР стека и данных микроконтроллеров. Информации очень много. Легко сделать веб интерфейс настроек своего устройства и организовать обмен с сервером. А легко ли сделать ВЕБ интерфейс на данном МК? ВЕБ с которого настраивают и управляют устройством?
По всей видимости данный микроконтроллер задумывался исключительно как конвертер интерфейсов ETH <-> SPI/I2C/UART/PWM.
Уже было подобное , называется X-port , даже вмонтированное в разъем RJ45, но не взлетело.
Применение в качестве ETH <-> SPI/I2C/UART/PWM это совсем маленький круг задач.
Если только интегрируют в экосистему Ардуино, может тогда что то получится. Но если будет сложно делать ВЕБ управления своим устройством - то точно никому не нужно.
Данные структуры отличаются от того, что можно составить по документации. Так как в документации множество ошибок.
Признание этого факта , а также совмещение на кристале МК , которые сложно настраиваются, отталкивает от использования данного МК в своих проектах.
Суть этого формата не только в том , что бы описать передаваемую последовательность , но его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.
Оборудование которое поддерживает этот формат достаточно много, тот же iRidium о котором здесь писали , есть и другие. Может кто из iRidium более подробно напишет о базе ИК пультов. Есть оборудование , которое сканирует ИК команды в этот формат. Есть даже очень удобные и с современным удобным веб интерфейсом.
Есть такие устройства. Очень часто используются для синхронного перевода на другие языки в конференц залах. Идея и реализация очень проста. На несущей , в диапазоне 50-100кГц с помощью частотной модуляции передается сигнал, на приемной стороне(беспроводная гарнитура) стоит микросхема ЧМ приемника , которая преобразует сигнал и подает его на наушники. Оборудование и схемы легко находятся по запросу "синхронный перевод ИК".
Это немного другая область и к ИК управлению имеет самое далекое отношение.
Еще раз перечитал стаью. Безусловно , статья очень полезная и подробная , насколько позволял объем. Очень хорошо описание добавляют рисунки.
Для меня осталась еще пара вопросов , которые не затронули в комментариях и нет описания в статье.
Есть ли возможность редактировать сырые данные , что бы немного подчистить то, что словил Флиппер? Для более четкого формирования в дальнейшем ИК посылки.
Не нашел среди протоколов , представленных вами , протокола на приемник спутникового телевидения HUMAX , видимо потому что он немного не стандартный. )
Кодировка пульта похожа на NEC, только не стандартно передается команда. Если записать в НЕХ виде то получится
55AADA25___55AADA25___F50A04FB___F50A04FB , т.е вместо одной команды передается две команды, но это не две команды , а одна команда для ресивера.
Интересно как Флиппер это распознает ?
С повтором сырых данных думаю проблем не возникнет
По поводу растояния: оптимальное растояние 0,5-2м . При близком располажении оригинального ИК пульта и Флиппера ик приемники TSOP начинают портить тайминги ИК посылок. При растоянии более 3м и отраженном сигнале качественно измерить тайминги ИК сигнала становится проблематично.
Из того , что видел Флиппер уверенно можно назвать достойным помощником для ИК управления. На те проблемы , что описал реально приходится не более 10% ситуаций. Но если что то возникнет - то это уже отдельная тема.
Замена на TSMP77000 решает одну проблему , но создает друю. При помощи TSMP77000 мы выделим несущую частоту. Сможем измерить частоту несущей. Но возникает проблема с получением огибающей ИК сигнала управления. Придется делать программную фильтрацию полезного сигнала.
Добавление TSMP77000 позволяет решить проблему с определениемнесущей частоты и подстройки частоты излучения ИК светодиода. Но и то не в широком диапазоне , так как приемник TSOP75338 имеет ограниченную полосу пропускания, и мы не сможем в широком диапазоне принимать огибающую ИК сигнала.
Для диапазона 36-38кГц в котором работает большинство пультов Флиппер будет работать. в остальных диапазонах работоспособность под вопросом.
За модуль ИК управления можно поставить твердую 3.
Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.
Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.
На "ИНСТРУМЕНТ" в области ИК управления Флиппер не тянет. Поправить это уже невозможно , так как не предусмотрено в железе.
Что насчет интересного протокола Global Cache , который поддерживают разные производители ? Скорее всего будет невозможно по причинам которые писал выше. А жаль , в этом формате очень большая база ИК пультов.
Предусмотрена ли возможность отправлять ИК сигнал на один из пинов Флиппера? Это для того чтобы повесить дополнительные внешние ИК излучатели и физически разнести управление устройствами с одинаковыми командами?
что мешало поставить ИК принимающий фотодиод и захватывать частоту ИК сигнала? А огибающую принимать на TSOP. Конструкцию усложнит - факт. Но Флиппер это не повторение ардуиновских поделок, прибор все таки для гиков, как вы его позиционируете. Для меня это существенный недостаток в ИК управлении.
Есть несколько вопросов как к ИК приемнику так и к ИК передатчику.
если частота оригинального пульта отличается от 38кГц на которую настроена TSOP - то Флиппер всетаки примет ИК команду, но вот повторив ее с частотой заполнения 38кГц, а не родной частотой заполнения пульта возникнет ситуация , когда управляемое устройство отеажется принимать команды от Флиппера . Для этого есть определенные методы. Что у вас сделано?
есть ИК пульты которые шлют в одной посылке две стандартные команды в формате NEC . и многие распознавалки захватывают только одну часть команды. И естественно потом не работает воспроизведение команды. Как с этим вы боретесь?
По ИК передатчику. Есть ли возможность подстройки частоты излучения? к примеру можно ли установить частоту 32кГц?.
Некоторые ИК пульты формируют пачки управляющих сигналов используя подсчет количества импульсов несущей ИК сигнала. При вашем методе возникает погрешность формирования сигнала. А если это еще и связано с П.1 - то проблема эмуляции пульта с подходом как у Флиппера только усилится.
Что сделано для распознавания и составления ИК команд управления с кодом повтора. Как известно , нужно указывать с какого импульса исходной ИК последовательности нужно повторить "хвостик" команды. Как это у вас работает?
Сжатие контента. Современные браузеры поддерживают компрессию передаваемых страниц и сопутствующих файлов. Компрессия типичных HTML файлов, скриптов и стилей позволяет уменьшит объем передаваемых данных в 3-4 раза. Сервер HTTP Azure не поддерживает компрессию на лету, для микроконтроллеров компрессия может оказаться более продолжительным процессом чем передача несжатого контента. Есть возможность выполнить компрессию статических файлов сразу же при подготовке контента. И хранить файлы на SD карте уже сжатыми, однако HTTP сервер Azure не поддерживает распознавание сжатых файлов и соответствующую модификацию заголовков HTTP.
Для МК это очень актуально. Только файлы нужно заранее зиповать, что бы хранились уже подготовленными и МК не тратил ресурсы.
В HTTP сервере придется делать связку с файловой системой, что бы распознавать атрибуты файлов и править заголовки сервера, что бы указать, что файл зазипован.
Представленный в статье подход позволяет вроде бы быстро стартануть, но в дальнейшем это превратится в ком проблем, если начать делать, что то сложнее чем было показано.
Прочитал статью, потому что меня интересовал именно WEB сервер на МК.
Но прочитав статью не нашел для себя нужной информации.
Если написали про WEB интерфейс, то где примеры с графикой, шкалами, анимацией? интересно было бы посмотреть слайдеры, индикаторы уровня аудио сигнала, создание кастомной странички пользователя, на которую выносятся только нужные элементы управления. ВЕБ, что в статье легко поднимается на восьмибитном процессоре. Вебом для настройки на МК сейчас никого не удивишь.
Не в курсе насчет того, что их можно перепрограммировать, информации не нашел.
Потом этот стандарт БТ на этой микросхеме уже не самый последний, не все доступные удобства БТ поддерживаются. Так что стоит смотреть в сторону более новых БТ модулей, хотя они дороже выйдут.
Для вашей задачи — очень достойное применение.
Было бы лучше если бы производители прикрутили к этому усилителю универсальный USB проигрыватель с БТ на этой микросхеме с экранчиком (таких модулей полно). Тогда получился бы интересный девайс, который можно сразу использовать.
Кстати, в описании на TPA3116 приводится рекомендуемый радиатор, и он выпускается массово и имеет свой партномер. Так что жаль, что производитель этого не сделал.
Скорее всего ужимались максимально по бюджету и упустили некоторые моменты, которые были бы интересны покупателям.
по выходу обвязку переделывать — точно не надо, проверено, работает.
TPA3116 позволяет перевести ее в режим МОСТ. При этом получим мощность 100Вт на одном канале.
Только данная плата никогда не даст заявленные характеристики по мощности. Во-первых, для TPA3116 нужен радиатор и довольно приличный, а на плате под это ничего не предусмотрено. Во-вторых, дроссели должны быть расчитаны на больший ток. Дроссели что стоят на этой плате будут греться. В-третьих, на эту плату не стоит подавать питание больше 12-15 вольт, иначе начнет сильно греться TPA3116 и дроссели. А при питании 12-15 вольт никогда не получим паспортной мощности TPA3116.
Микросхема БТ модуля позволяет делать регулировку частот, обеспечивать моно-стерео режим. Но производители этой платы пошли простым путем и не стали ставить микроконтроллер управления БТ модулем и соответственно режимами работы, а сделали аналоговый регулятор громкости и тембров.
Так как динамик (как вы пишите) один, то проще и правильнее было бы перевести именно TPA3116 в соответствующий режим, сделать сумматор на резисторах перед входом TPA3116 и увеличить чувствительность входа TPA3116.
Микросхема TPA3116 для своего класса усилителей очень приличная, используем ее в своих конструкциях.
Когда фигурка становится зеленой, красной… тогда можно будить маму, а если фигурка не светится — значит еще рано. В полне понятное объяснение для ребенка. А сколько циферки показывают — ребенку все равно.
А это еще зачем, то вы говорите что влезли в PIC18, то у вас какой то FTP (сервер или клиент) на МК крутится
Совершенно верно: на МК крутится FTP и HTTP сервер. А иначе как МК будет взаимодействовать с ВЕБ интерфейсом? И POST запросы МК обрабатывает, а иначе как МК получит данные с ВЕБ интерфейса? Можно и GET запросом делать, но тогда страница будет обновляться.
Статья называется «Разрабатываем web-site для микроконтроллера» вот это и сбивает с толку. Если ВЕБ для МК, тогда и стоит показать как на МК реализовать ВЕБ. А у вас целевой МК очень жирненький для многих применений, где может потребоваться настройка девайса через веб интерфейс.
Я также не специалист по ВЕБ дизайну, я схемотехник и программист МК.
Разработка ВЕБ интерфейса на МК сводится к нескольким шагам:
1. Содается эскиз страниц и определется какие данные нужно отображать на веб интерфейсе. Это могут быть значения датчика температуры, состояние входов, состояние кнопок управления и различные индикаторы. Определяется какие данные необходимо передавать с веб интерфейса в контроллер, как правило, это настройки и изменение органов управления устройством.
2. Определяется структура json файла, так же POST запросы.
Далее процес распараллеливается — ВЕБ программист пишет свою часть. т.е. делает веб интерфейс привычными ему средствами. А программист МК пишет обработчик POST запросов и вывод в json файл. На этом этапе как у ВЕБ программиста, так и программиста МК много средств для отладки и контроля работоспособности кода.
Программист МК составляет таблицу переменных для обеспечения работы ВЕБ интерфейса и переменных, задействованных непосредственно в логике работы устройства.
3. Загружаем файлы ВЕБ проекта в память по FTP или через ВЕБ интерфейс по uploud и проверяем и отлаживаем ВЕБ интерфес уже непосредственно в МК.
Такой подход позволяет разрабатывать проект двумя командами, каждый использует удобный набор инструментов, что сокращает время разработки.
Микроконтроллеры PIC18F67J60 и PIC18F97J60 со встроенным PHY появились давно.
PIC32MX795F512L и аналогичные из этой серии с МАС на борту так же появились давно.
Стек протоколов достаточно хорошо описан и документирован, были курсы по применению ТСР стека и данных микроконтроллеров. Информации очень много. Легко сделать веб интерфейс настроек своего устройства и организовать обмен с сервером. А легко ли сделать ВЕБ интерфейс на данном МК? ВЕБ с которого настраивают и управляют устройством?
Уже было подобное , называется X-port , даже вмонтированное в разъем RJ45, но не взлетело.
Применение в качестве ETH <-> SPI/I2C/UART/PWM это совсем маленький круг задач.
Если только интегрируют в экосистему Ардуино, может тогда что то получится. Но если будет сложно делать ВЕБ управления своим устройством - то точно никому не нужно.
Признание этого факта , а также совмещение на кристале МК , которые сложно настраиваются, отталкивает от использования данного МК в своих проектах.
Суть этого формата не только в том , что бы описать передаваемую последовательность , но его очень легко конвертировать с экрана осциллографа в описание импульсов. В отношении Флиппера уже задавал вопрос, но пока ответа не увидел.
Вот здесь есть база , но она для зарегистрированных пользователей https://irdb.globalcache.com/Home/Database
можно найти на спец ресурсах типа этого http://www.remotecentral.com/cgi-bin/mboard/forums.cgi
Если поискать - то точно много найдется.
Оборудование которое поддерживает этот формат достаточно много, тот же iRidium о котором здесь писали , есть и другие. Может кто из iRidium более подробно напишет о базе ИК пультов. Есть оборудование , которое сканирует ИК команды в этот формат. Есть даже очень удобные и с современным удобным веб интерфейсом.
Есть такие устройства. Очень часто используются для синхронного перевода на другие языки в конференц залах. Идея и реализация очень проста. На несущей , в диапазоне 50-100кГц с помощью частотной модуляции передается сигнал, на приемной стороне(беспроводная гарнитура) стоит микросхема ЧМ приемника , которая преобразует сигнал и подает его на наушники. Оборудование и схемы легко находятся по запросу "синхронный перевод ИК".
Это немного другая область и к ИК управлению имеет самое далекое отношение.
Еще раз перечитал стаью. Безусловно , статья очень полезная и подробная , насколько позволял объем. Очень хорошо описание добавляют рисунки.
Для меня осталась еще пара вопросов , которые не затронули в комментариях и нет описания в статье.
Есть ли возможность редактировать сырые данные , что бы немного подчистить то, что словил Флиппер? Для более четкого формирования в дальнейшем ИК посылки.
есть ли возможность "переноса" информации полученной при помощи осциллографа? Как перенести описание ИК посылки "ручным" методом , к примеру с этой картинки https://hsto.org/r/w1560/webt/um/fq/et/umfqetm2o0aywwoico969m9ruv4.png в Флиппер?
Не нашел среди протоколов , представленных вами , протокола на приемник спутникового телевидения HUMAX , видимо потому что он немного не стандартный. )
Кодировка пульта похожа на NEC, только не стандартно передается команда. Если записать в НЕХ виде то получится
55AADA25___55AADA25___F50A04FB___F50A04FB , т.е вместо одной команды передается две команды, но это не две команды , а одна команда для ресивера.
Интересно как Флиппер это распознает ?
С повтором сырых данных думаю проблем не возникнет
эмиттер - излучатель. Совершенно верно, имеется ввиду один ИК светодиод.
По поводу растояния: оптимальное растояние 0,5-2м . При близком располажении оригинального ИК пульта и Флиппера ик приемники TSOP начинают портить тайминги ИК посылок. При растоянии более 3м и отраженном сигнале качественно измерить тайминги ИК сигнала становится проблематично.
Из того , что видел Флиппер уверенно можно назвать достойным помощником для ИК управления. На те проблемы , что описал реально приходится не более 10% ситуаций. Но если что то возникнет - то это уже отдельная тема.
Замена на TSMP77000 решает одну проблему , но создает друю. При помощи TSMP77000 мы выделим несущую частоту. Сможем измерить частоту несущей. Но возникает проблема с получением огибающей ИК сигнала управления. Придется делать программную фильтрацию полезного сигнала.
Добавление TSMP77000 позволяет решить проблему с определениемнесущей частоты и подстройки частоты излучения ИК светодиода. Но и то не в широком диапазоне , так как приемник TSOP75338 имеет ограниченную полосу пропускания, и мы не сможем в широком диапазоне принимать огибающую ИК сигнала.
Для диапазона 36-38кГц в котором работает большинство пультов Флиппер будет работать. в остальных диапазонах работоспособность под вопросом.
За модуль ИК управления можно поставить твердую 3.
Так как ничем не отличается от функционала смартфонов, не вносит ничего дополнительного к тому, что делает самый рядовой смартфон с ИК модулем.
Вот эта фраза в статье: "Для проверки и отладки сигнала неизвестного ИК-протокола, надежнее всего использовать осциллограф. Если вы не уверены, что ИК-приемник работает правильно — осциллограф поможет увидеть, что именно приходит на приемник. " - окончательно ставит точки над i.
На "ИНСТРУМЕНТ" в области ИК управления Флиппер не тянет. Поправить это уже невозможно , так как не предусмотрено в железе.
Что насчет интересного протокола Global Cache , который поддерживают разные производители ? Скорее всего будет невозможно по причинам которые писал выше. А жаль , в этом формате очень большая база ИК пультов.
например http://wiki2.iridiummobile.ru/Global_Cache:_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%BE_%D0%98%D0%9A
Предусмотрена ли возможность отправлять ИК сигнал на один из пинов Флиппера? Это для того чтобы повесить дополнительные внешние ИК излучатели и физически разнести управление устройствами с одинаковыми командами?
что мешало поставить ИК принимающий фотодиод и захватывать частоту ИК сигнала? А огибающую принимать на TSOP. Конструкцию усложнит - факт. Но Флиппер это не повторение ардуиновских поделок, прибор все таки для гиков, как вы его позиционируете. Для меня это существенный недостаток в ИК управлении.
Есть несколько вопросов как к ИК приемнику так и к ИК передатчику.
если частота оригинального пульта отличается от 38кГц на которую настроена TSOP - то Флиппер всетаки примет ИК команду, но вот повторив ее с частотой заполнения 38кГц, а не родной частотой заполнения пульта возникнет ситуация , когда управляемое устройство отеажется принимать команды от Флиппера . Для этого есть определенные методы. Что у вас сделано?
есть ИК пульты которые шлют в одной посылке две стандартные команды в формате NEC . и многие распознавалки захватывают только одну часть команды. И естественно потом не работает воспроизведение команды. Как с этим вы боретесь?
По ИК передатчику. Есть ли возможность подстройки частоты излучения? к примеру можно ли установить частоту 32кГц?.
Некоторые ИК пульты формируют пачки управляющих сигналов используя подсчет количества импульсов несущей ИК сигнала. При вашем методе возникает погрешность формирования сигнала. А если это еще и связано с П.1 - то проблема эмуляции пульта с подходом как у Флиппера только усилится.
Что сделано для распознавания и составления ИК команд управления с кодом повтора. Как известно , нужно указывать с какого импульса исходной ИК последовательности нужно повторить "хвостик" команды. Как это у вас работает?
Для МК это очень актуально. Только файлы нужно заранее зиповать, что бы хранились уже подготовленными и МК не тратил ресурсы.
В HTTP сервере придется делать связку с файловой системой, что бы распознавать атрибуты файлов и править заголовки сервера, что бы указать, что файл зазипован.
Представленный в статье подход позволяет вроде бы быстро стартануть, но в дальнейшем это превратится в ком проблем, если начать делать, что то сложнее чем было показано.
Но прочитав статью не нашел для себя нужной информации.
Если написали про WEB интерфейс, то где примеры с графикой, шкалами, анимацией? интересно было бы посмотреть слайдеры, индикаторы уровня аудио сигнала, создание кастомной странички пользователя, на которую выносятся только нужные элементы управления. ВЕБ, что в статье легко поднимается на восьмибитном процессоре. Вебом для настройки на МК сейчас никого не удивишь.
Потом этот стандарт БТ на этой микросхеме уже не самый последний, не все доступные удобства БТ поддерживаются. Так что стоит смотреть в сторону более новых БТ модулей, хотя они дороже выйдут.
Для вашей задачи — очень достойное применение.
Было бы лучше если бы производители прикрутили к этому усилителю универсальный USB проигрыватель с БТ на этой микросхеме с экранчиком (таких модулей полно). Тогда получился бы интересный девайс, который можно сразу использовать.
Кстати, в описании на TPA3116 приводится рекомендуемый радиатор, и он выпускается массово и имеет свой партномер. Так что жаль, что производитель этого не сделал.
Скорее всего ужимались максимально по бюджету и упустили некоторые моменты, которые были бы интересны покупателям.
по выходу обвязку переделывать — точно не надо, проверено, работает.
Только данная плата никогда не даст заявленные характеристики по мощности. Во-первых, для TPA3116 нужен радиатор и довольно приличный, а на плате под это ничего не предусмотрено. Во-вторых, дроссели должны быть расчитаны на больший ток. Дроссели что стоят на этой плате будут греться. В-третьих, на эту плату не стоит подавать питание больше 12-15 вольт, иначе начнет сильно греться TPA3116 и дроссели. А при питании 12-15 вольт никогда не получим паспортной мощности TPA3116.
Микросхема БТ модуля позволяет делать регулировку частот, обеспечивать моно-стерео режим. Но производители этой платы пошли простым путем и не стали ставить микроконтроллер управления БТ модулем и соответственно режимами работы, а сделали аналоговый регулятор громкости и тембров.
Так как динамик (как вы пишите) один, то проще и правильнее было бы перевести именно TPA3116 в соответствующий режим, сделать сумматор на резисторах перед входом TPA3116 и увеличить чувствительность входа TPA3116.
Микросхема TPA3116 для своего класса усилителей очень приличная, используем ее в своих конструкциях.
Совершенно верно: на МК крутится FTP и HTTP сервер. А иначе как МК будет взаимодействовать с ВЕБ интерфейсом? И POST запросы МК обрабатывает, а иначе как МК получит данные с ВЕБ интерфейса? Можно и GET запросом делать, но тогда страница будет обновляться.
Статья называется «Разрабатываем web-site для микроконтроллера» вот это и сбивает с толку. Если ВЕБ для МК, тогда и стоит показать как на МК реализовать ВЕБ. А у вас целевой МК очень жирненький для многих применений, где может потребоваться настройка девайса через веб интерфейс.
Разработка ВЕБ интерфейса на МК сводится к нескольким шагам:
1. Содается эскиз страниц и определется какие данные нужно отображать на веб интерфейсе. Это могут быть значения датчика температуры, состояние входов, состояние кнопок управления и различные индикаторы. Определяется какие данные необходимо передавать с веб интерфейса в контроллер, как правило, это настройки и изменение органов управления устройством.
2. Определяется структура json файла, так же POST запросы.
Далее процес распараллеливается — ВЕБ программист пишет свою часть. т.е. делает веб интерфейс привычными ему средствами. А программист МК пишет обработчик POST запросов и вывод в json файл. На этом этапе как у ВЕБ программиста, так и программиста МК много средств для отладки и контроля работоспособности кода.
Программист МК составляет таблицу переменных для обеспечения работы ВЕБ интерфейса и переменных, задействованных непосредственно в логике работы устройства.
3. Загружаем файлы ВЕБ проекта в память по FTP или через ВЕБ интерфейс по uploud и проверяем и отлаживаем ВЕБ интерфес уже непосредственно в МК.
Такой подход позволяет разрабатывать проект двумя командами, каждый использует удобный набор инструментов, что сокращает время разработки.