目前生产串口摄像头的厂家有很多,每家的通信协议也不同,所以针对不同的摄像头都必须编写相对应的摄像头驱动程序。
最早做医疗项目的时候,开发过一款串口摄像头的驱动,不过是配合TinyIOs而使用,并没有把其作为一个独立的库封装起来。最近手头上又有一款摄像头,拍摄质量还不错,所以封装成一个标准.NET Micro Framework库,供应用开发的用户直接调用。
目前M3的开发板,虽然前段时间可以支持WPF了,但是SRAM毕竟还是有限,所以从串口摄像头直接获取的jpg图像,并不能在LCD屏上显示出来(在模拟器上没有这个问题,可以直接呈现),所以我借助蓝牙接口,把另一个串口获取的图像数据发送到一台带蓝牙的PC上,PC上的程序否则实现数据接收,并把图像呈现出来。
其核心代码如下(部分代码被删减):
public static void Main()
{
Debug.Print("Camera Test ...");
PCT01 pct01 = new PCT01("COM1", PCT01.Baudrate.Baudrate_38400);
if (!pct01.Open())
{
Debug.Print("Open failed");
pct01.Close();
return;
}
//复位
if (!pct01.Reset())
{
Debug.Print("Reset failed");
pct01.Close();
return;
}
//设置图片大小
if (!pct01.SetPhotoSize(PCT01.PhotoSize.Photo_320_240))