首页 文章

如何使用I2C和Arduino或Raspberry-pi 3从相机获取数据?

提问于
浏览
1

我有CMOS camera它只有3个引脚(v,gnd和视频输出),视频输出是模拟信号 .
做一些重新研究,我发现这台相机使用了一个PC1089K CMOS传感器,它有一个数字输出和一个用于与串行EEPROM存储器(AT24C16K芯片)通信的I2C连接 .
我找到了I2C引脚,我需要知道是否可以使用Arduino或Raspberry-pi从相机获取数据,以便我可以通过Xbee发送视频流 .

1 回答

  • 4

    简短的回答?绝对不 . 在没有专用硬件压缩器的情况下,通过低带宽连接(如I2C)发送视频数据几乎是不可能的 .

    原因? I2C最大时钟速度为400kHz . 让's say that every byte is sent in 10 clock cycles (it is a bit more, since you have to send out also the address, but anyway...). This means 40kB/s. Let'说你只用一个字节编码每个像素(非常差,这是256色设置,参见例如this image) . 你有每秒40k像素 . 适当的视频速度是每秒25帧,但让's go down to 1 frame per second (you will see ONE image every second, like whn you open low quality cam view). so every image is 40k pixels. This means a frame about 240x180. So you have a VERY little view (smaller than the worst image setting in youtube), with one picture per second, with only 256 colors and that is the best you can achieve in the best conditions... Well, no, you definitely can' t .

    此外,如果您有疑问,请阅读手册(或在电子领域,数据表) . 例如,你可以找到here .

    您可以看到I2C接口被标记为主设备(这意味着摄像机OWNS总线),并且,阅读更多,您会发现,唯一的用途是允许用户(或设计人员)放置I2C EEPROM为寄存器提供初始化值 .

    因此,从相机获取视频的唯一方法是通过模拟端口 . 没有其他接口,也没有压缩就可以使用低带宽通道(如I2C或XBee) .

    现在,如果您必须无线传输视频,我建议您按照优先顺序,

    • 获取wifi摄像头

    • 获取Raspicam和覆盆子并在wifi链接上分享视频

    • 与上述相同,但使用USB网络摄像头而不是raspicam

    • ......

    • ......

    • 放弃这个项目

    • ......

    • 使用raspicam或usb,覆盆子和Xbee(覆盆子应该压缩视频很多,例如用h264或者,如果cpu可以,h265)

    • 使用带有USB视频采集外设和树莓的cmos传感器,然后压缩视频并使用wifi或...不,至少不是xbee

相关问题