Скетч для Uno на esp8266
- Войдите на сайт для отправки комментариев
Сб, 23/10/2021 - 02:26
Здравствуйте товарищи. Собственно вопрос от нуба. У меня есть проект котороый я делал для arduino uno с ethernet shield. Работает прекрасно. Но в эру беспроводных сетей захотелось перенести его в даль от проводов, для чего был избран nodeMCU с ESP8266. Так вот, в скетче используются достаточно библиотек, и одна не хочет компилироваться, выдает ошибки типа "неизвестная функция...". Так вот собственно вопрос. Можно ли подключить к ESP8266 какую-то библиотеку, которая автоматом подтянет все функции доступные для UNO, и скетч заработает. Или таки надо будет перекраивать проект/библиотеку в исправлении косяка?
надо будет
Или найти такую же библиотеку, но заточеную на 8266.
Links, то, что Вы хотите, принципиально невозможно.
Насколько я понял задачу, имеется ХЗ какой скетч, использующий ХЗ какие библиотеки. Можно ли как-то малой кровью скомпилировать его на ЕСП? Правильно? Ответ сами угадаете? Или сказать? В общем, ответ: ХЗ2!
Всем спасибо! Пошел перепиливать (но заточенную библиотеку поищу). Всем добра!
Никакую " заточенную библиотеку" вы не найдете. Сами подумайте, на уно вы общались с инетом через езернет-шилд, на есп вайфай контроллер. То есть мало того что платы разные, так еще и драйверы инета разные и даже поинципы разные - на одном проводной инет, на другом радио.
Придется переписывать и переписывать кардинально.
Интересно за что мне минусов наставили?
И главное - кто?! ))
Лично я плюсанул.
Хотя, с точки зрения синтаксиса логики программы, разница будет (в основном) только в инициализации интерфейса. Дальше только работа с протоколами/стеками. А большинство известных мне либ работают с ними очень одинаково. Поправить скетч с Ардуино-езернет на ESP-Wifi дело получаса от силы.
Полчаса - это если ранее недели полторы потрахался.
Конечно, если там отслеживания коннекта, реинита и пр. нет, а только пара client.read(), то быстрее канеш.
Ни программы, ни библиотек - чего обсуждаете.
У ТС - Маниловщина проглядывает...
Ого! Поблагодарил всех, отошел, а тут вон какие страсти разыгрались))) Правда тут полностью соглашусь, некорректно поставленная задача не то что к решению не приведет, а еще и вон каких дров наламает))
Простите за неясность выраженного вопроса, думал что четко описал что проблема в одной конкретной библиотеке, в конкретной функции, а не в лени переделывать проект под ESP. К сожалению, иногда приходится использовать оборудование производитель которого недопилил или забил на свое произведение, соответственно все тяжести падают на пользователей...
Собственно по теме. Таки оставлю тут, может пригодится кому. Проблема выглядела следующим образом - компилятор выдавал ошибку: "error: no matching function for call to 'min(size_t, const uint8_t&)". Поиск по гуглу дал подсказку. В библиотеке функция "min" была заменена переменной __min, с обьявлением вот так:
В итоге библиотека заработала.
Так что еще раз спасибо всем собравшимся, вопрос уже решен.
Ы ) съели, гуро? )) чувак заменил функцию на тернарный define __min и всё заалёкало :) Чуваку пять, гурам двойка, садитесь :)
Ы ) съели, гуро? )) чувак заменил функцию на тернарный define __min и всё заалёкало :) Чуваку пять, гурам двойка, садитесь :)
круто
А я все равно так и не понял - причём тут esp / uno? Что за неведомая «либа» и какую ошибку давала.
Воистину, правильно заданный вопрос - это половина ответа.
Ы ) съели, гуро? )) чувак заменил функцию на тернарный define __min и всё заалёкало :) Чуваку пять, гурам двойка, садитесь :)
Это точно! не в бровь а в глаз!
ВОПРОС: Мужики у меня что-то не так с электропроводкой. Как-то неправильно работает. Спасибо за помощь!
....
КОММЕНТАРИЙ: что никто из гур не может помочь? Сам, без вас, разобрался. Тоже мне гуры - знаний ноль, понты одни! "Таки оставлю тут, может пригодится кому" - я просто свет забыл включить, потому и темно было!
:-)
Простите за неясность выраженного вопроса, думал что четко описал что проблема в одной конкретной библиотеке, в конкретной функции
А Вы перечитайте сообщение сами - из него совершенно однозначно следует, что имеется в виду абсолютно любая библиотека и абсолютно любая функция в ней.
Т.е. требуется библиотека, которая заставит работать на esp любую программу, написанную для uno.
#define __min(a,b) ((a)<(b)?(a):(b));
И что - эта строчка решает поставленную задачу, т.е. позволяет любой программе, написанной для uno, работать на esp?
«Я же говорю - мозоли» (с) к/ф Факультет )))