Обо мне
Я программист/решатель проблем в Торонто, Канада. Меня интересуют 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.
Вы можете прочитать больше об этом и других проектах, которые я сделал на моем сайте .