Мышиная веб-камера

Ежедневно преодолевая десятки метров своей оптической компьютерной мышкой по рабочем столу, вы, наверное, даже и не задумываетесь о том, что у вас под рукой находится миниатюрная веб-камера. А вот любознательный хакер Franci Kapel задумался и решил выяснить наверняка какими именно характеристиками эта камера обладает.

Для этого ему пришлось разобрать свою старую мышку Logitech RX 250, содержащую оптический сенсор ADNS-5020. Оказалось, что сенсор способен записывать видео разрешением 15х15 пикселов в черно-белом диапазоне и вычислят перемещение мыши по осям X-Y.

arduino-web-camera

Чтобы закончить трансформацию мышки в веб-камеру, Franci пришлось задействовать Arduino, к которому присоединил сенсор. Он подключил микроконтроллер к компьютеру с помощью кабеля Ethernet, отсоединил некоторые контакты сенсора с мышью и между входом 5 V и контактом NRESET впаял резистор 10k.

arduino

В своем блоге автор разместил Arduino-скетч, который можно использовать, заменив только IP-адрес. Далее необходимо скачать node.js и socket.io и настроить веб-сервер. Node.js будет получать UDP-пакеты от мыши и переправлять их в браузер с установленным socket.io. Поднимаем сервер, который получает данные от socket.io и обновляет картинку 15х15 пикселов в реальном времени. Все необходимые файлы можно найти здесь.

socket-io

 

По материалам frenki.net и xakep.ru