Рубрики
Без рубрики

Как я построил решение для вывесок с полным стеком, используя Python, Tornado и Arduino.

Как я построил решение для вывесок с полным стеком.

Автор оригинала: liavkoren.

Обо мне

Я программист/решатель проблем в Торонто, Канада. Меня интересуют Python, comp sci, ML/AI, безопасность ИИ, эффективный альтруизм, искусство, дизайн и другие вещи.

Проблема, которую я хотел решить

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

Как я построил решение для вывесок с полным стеком, используя Python, Tornado и Arudino?

Я построил решение с полным стеком, включая веб-интерфейс, который позволял отображать текст вывески, веб-сервер Tornado, который преобразовывал текстовые строки в 1-битные растровые изображения с правильным целевым разрешением и отправлял растровые изображения на контакты GPIO, которые были подключены к оборудованию драйвера ЖК-дисплея.

Технический стек

Я использовал стандартный интерфейс HTML/JS с bootstrap, потому что нам просто нужен был простой, чистый, стандартный интерфейс для ввода текста конечными пользователями. Для сервера я использовал Tornado для легкой обработки запросов/ответов, работающий на arduino с низкими ресурсами памяти.

Процесс создания, Как я построил полное решение для вывесок стека с использованием Python, Tornado и Arudino.

Процесс включал в себя работу с разработчиками оборудования и выполнение итераций пользовательского интерфейса и вывода в течение нескольких недель, пока пользовательский интерфейс не стал хорошим и система не выдала правильную информацию о растровом отображении.

Проблемы, с которыми я столкнулся

Проблемы включали работу в целевой среде с ограниченным объемом памяти в короткие сроки.

Основные уроки

Я многое узнал о серверной среде Tornado и запущенных серверах на arduino.

Советы и рекомендации

Tornado-это отличный серверный фреймворк для обработки веб-запросов/ответов на встроенных системах, таких как Arduino!

Заключительные мысли и следующие шаги

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

Вы можете прочитать больше об этом и других проектах, которые я сделал на моем сайте .