Количество камер, качество картинки, бюджет?
Если партия большая, можно заказать изготовление специализированного устройства, если нет, то придется конструировать из того что доступно в продаже:
1. MR3020 + OpenWRT + вебкамера. Дополнительно могут потребоваться usb-хаб и флэшка. Недорого, но качество картинки будет так себе.
2. Raspberry Pi + Raspicam. При необходимости можно повысить светосилу и резкость добавив объектив от камеры видеонаблюдения. Самый гибкий и беспроблемный вариант.
3. DSLR (Canon/Nikon) + фикс (объектив) + gphoto2 + RPi или MR3020. Высокое качество картинки.
Кнопки:
В MR3020 есть встроенная кнопка, которую можно использовать для любых задач, в том числе для запуска пользовательских скриптов (необходимо уточнить ее ресурс). У RPi есть GPIO порты, к которым можно подключить любую кнопку. Альтернативные варианты: микроконтроллер, клавиатура, мышка, указка, гарнитура, и т.д.
Свет:
При хорошем освещении можно делать приемлемые снимки даже простой камерой, а при плохом может спасовать и зеркалка. Поэтому желательно установить дополнительные лампы непосредственно над местом съемки. Свет нужен яркий, но мягкий, лампы должны быть с хорошим CRI. Можно управлять светом программно - включать его только на время съемки (с помощью GPIO через транзистор управлять релюшкой, к которой подключить лампы).
Отправка на сервер:
Скрипт на bash или python. При нажатии на кнопку записывать кадр с камеры во временный файл, запускать rsync для его копирования на сервер, удалять файл.