каждый запрос к странице производит прямой запрос к устройству на порту
Довольно плохое решение.
Во-первых, веб-сервер и работающая с железом программа должны запускаться в разных процессах.
Во-вторых, для коммуникации между процессами можете взять что-то типа
pyzmq причем со стороны веб-сервера это нужно делать асинхронно, например, с использованием
gevent +
gevent-zeromq