У меня есть CMOS camera, и у него всего 3 контакта (v +, gnd и видео выход), видеовыход - аналоговый сигнал.
Выполнение некоторого перегрева, я считаю, что эта камера использует датчик CMOS PC1089K, у которого есть цифровой выход, и соединение I2C, используемое для связи с последовательной памятью EEPROM (чип AT24C16K).
Я нашел контакты I2C, и мне нужно знать, могу ли я использовать Arduino или Raspberry-pi для получения данных с камеры, чтобы я мог отправлять видеопоток через Xbee.Как использовать данные с камеры с помощью I2C и Arduino или Raspberry-pi 3?
ответ
Короткий ответ? Точно нет. Практически невозможно отправлять видеоданные через низкоскоростное соединение (например, I2C) без специального аппаратного компрессора.
Причина? Максимальная тактовая частота I2C составляет 400 кГц. Предположим, что каждый байт отправляется в 10 тактов (это немного больше, так как вы должны отправить также адрес, но в любом случае ...). Это означает 40 кБ/с. Предположим, вы кодируете каждый пиксель только с одним байтом (ОЧЕНЬ бедный, это 256 цветов, см., Например, this image). У вас есть 40 тыс. Пикселей в секунду. Правильная скорость видео составляет 25 кадров в секунду, но давайте снижаемся до 1 кадра в секунду (вы увидите одно изображение каждую секунду, например, когда вы открываете низкокачественный просмотр камеры). поэтому каждое изображение составляет 40 тыс. пикселей. Это означает раму около 240x180. Таким образом, у вас есть ОЧЕНЬ маленький вид (меньше, чем худший параметр изображения в YouTube), с одним снимком в секунду, всего 256 цветов, и это лучшее, что вы можете достичь в лучших условиях ... Ну, нет, вы определенно можете «т.
Кроме того, если у вас есть сомнения, прочтите руководство (или в поле электроники, техническое описание). Например, вы можете найти его here.
Вы можете видеть, что интерфейс I2C обозначен как ведущий (это означает, что камера OWNS-шина), и, читая немного больше, вы обнаружите, что единственное использование для этого - позволить пользователю (или дизайнеру) для установки EEPROM I2C для предоставления значений инициализации для регистров.
Итак, единственный способ получить видео с камеры - через аналоговый порт. Нет другого интерфейса, и вы не можете использовать канал с низкой пропускной способностью (например, I2C или даже XBee) без сжатия.
Теперь, если у вас есть для передачи видео по беспроводной сети, я предлагаю вам, в порядке предпочтения,
- Получить WiFi камеру
- Получить Raspicam и малину и обмениваться видео на ссылку Wi-Fi
- То же, что и выше, но с USB веб-камера вместо raspicam
- ...
- ...
- Откажитесь на этом проекте
- ...
- Использование raspicam или USB, малиновый и Xbee (малина должен сжать видео много, например, с h264 или, если центральный процессор может, h265)
- Используйте датчик CMOS вы с USB-приемник видео периферии и малины, затем сжать видео и использовать Wi-Fi или ... Нет, по крайней мере, не xbee
Не я уже говорил вам, чтобы получить цифровую камеру несколько недель назад? EEPROM на камерах обычно служат только одной цели. для хранения таких параметров, как время затвора, усиление, ip-адрес и т. д. см. ответ ниже. – Piglet
да, да, я просто не могу позволить себе новую камеру прямо сейчас, цена дорогая в моей стране. Но поскольку я трачу много времени зря, работая с этой камерой, я думаю, пришло время выяснить, как купить новую камеру :). Так что спасибо @Piglet – NYoussef