在上一篇文章《通过AD采集获取温湿度》我们介绍了物联网智能网关的AD端口的使用情况,AD接口是.NET Micro Framework标准库函数之一,只要底层BSP支持就可以直接使用。但是对一些比较复杂的传感器,比如串口摄像头就没有什么库可以直接使用了,需要用户根据摄像头的通信协议,进行串口编程,由于相对复杂,对一些初入门用户是有一些开发难度的。鉴于此,故开发了一套扩展库,用户只要几行代码,就可以完成和传感器的通信,从而获取数据。YFSoft.Hardware.Camera.PTC01.dll就是一种这样的库。

在我以前写过的一篇文章《摄像头蓝牙图像远程获取》中曾介绍过YFSoft.Hardware.Camera.PTC01.dll库的使用,不过当时由于.NET Micro Framework开发板并不支持WPF,所以没有在LCD上显示。今天的程序示例和以前的有所不同,是通过用户按按钮进行拍照的,并且把照片显示在LCD上。

物联网智能网关共引出5个串口,其中串口1为调试口,串口5为485口,其他三个串口都可以使用(注意:紫藤207系统的COM2其实是COM6),我们使用COM3。

摄像头除了一个串口外,还引出两根线,白线或红线接5V电源正,黑线或灰线接电源负。开发板本身有5V接口,串口地和电源地是互通的,所以我们只需要把白线或红线接入5V端子即可,黑线或灰线就不用管了。当然你也可以不用开发板上输出的电源(输出功率相对较小),直接外接5V电源也可以。

首先在代码中要打开串口,设置必要的参数:

PCT01 pct01 = new PCT01("COM3", PCT01.Baudrate.Baudrate_38400);

if (!pct01.Open())

{

Debug.Print("Open failed");

pct01.Close();

return;

}

摄像头有两种图像大小可以获取,一个是320*240,一个是640*480,由于我们的LCD的分辨率是320*240,所以我们设置获取的图片的大小就为320*240。

if (!pct01.SetPhotoSize(PCT01.PhotoSize.Photo_320_240))

{

Debug.Print("SetPhotoSize failed");

pct01.Close();

return;

}

另外摄像头还可以设置jpg的压缩率,压缩率越高,jpg的图片越小,但是越不清晰。

if (!pct01.SetCompre***atio(0x36))  //0xFF

{

Debug.Print("SetCompre***atio failed");

pct01.Close();

return;

}

按键相关的代码,由于比较简单,这里就略去不说了,有兴趣的朋友,可以参见我以前写的文章《GPIO测试》。

按钮按下后,发出图像获取指令,图像获取后,就在LCD上显示:

byte[] picData = null;

pct01.GetPhoho(out picData);

Bitmap bmp = new Bitmap(picData, Bitmap.BitmapImageType.Jpeg);

bmp.Flush();

非常简洁的几句代码,就完成了图像获取和图像显示。实际的拍摄效果图如下:

本文源码:http://www.sky-walker.com.cn/MFRelease/Sample/YFCamera_Test.rar

MF简介:http://blog.csdn.net/yefanqiu/article/details/5711770

MF资料:http://www.sky-walker.com.cn/News.asp?Id=25

【物联网智能网关-02】获取摄像头数据+显示相关推荐

  1. 【物联网智能网关-01】通过AD采集获取温湿度

    无论是机房管理系统,还是面向农村温室大棚的管理系统,温湿度采集模块是必不可少的.常见的温湿度模块从通信接口上来说,一般有三种,第一种是单总线方式(我以前写了两篇博文来介绍这方面的内容<DHT11 ...

  2. 【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较

    TinyGUI是我在2010上半年的时候,基于.NET Micro Framework系统开发的一个轻量级图形库,虽然TinyGUI运行需要的资源少,运行快,但是不支持汉字显示(如需显示汉字还是必须借 ...

  3. opencv-python 实时获取摄像头数据并实时显示。

    opencv-python 实时获取摄像头数据并实时显示. 目录 opencv-python 实时获取摄像头数据并实时显示. 代码: 一.关于 cv2.VideoCapture(source) 函数 ...

  4. 西门子SIMATIC IOT2050与钡铼技术BL102工业物联网智能网关的区别

    工业物联网智能网关是工业物联网技术不断发展的必然产物,是融合IT与OT的纽带.不管是工业控制领域的国际大品牌玩家,还是国内的小精专企业,都根据市场需求推出了自己的产品.这些工业物联网智能网关广泛应用于 ...

  5. 物联网智能网关应用系统的一般设计方法

    随着互联网的日益普及.信息共享程度的要求不断提高,各种家电设备.仪器仪表以及工业生产中的数据采集与控制设别在逐步走向网络化,以便利用庞大的网络资源,实现分布式远程监控.信息交换与共享.物联网的发展更是 ...

  6. BHIOT-833物联网智能网关

    物联网网关可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换.既可以实现广域互联.也可以实现局域互联. 简单的来说,有了网关,所谓的 M2M 不再是狭义上机器与机器的对话,而是设备.系统. ...

  7. opencv能够打开摄像头却无法获取摄像头数据

    笔者之前遇到的问题,弄了半个多小时,实在是浪费时间,想着这些问题应该也会有人遇见吧,遂记录 以videocapture来进行视频捕捉时,类构造函数如果是调用内置摄像头时,基本都是传入0 代码基本正确( ...

  8. 工业4.0时代,您需要的是高性价工业物联网智能网关(超高性价比),PLC远程监控,PLC远程维护,系统数据采集,一个都不能少。

    www.maiside.cn www.maiside.top 如何实现智能制造? 第一步能够完成生产过程的自动化,第二步将生产过程中的数据实时上送到MES.ERP.EAM.大数据分析系统.设备远程运维 ...

  9. win摄像头怎么在linux,如何利用Video4Linux获取摄像头数据

    Video4Linux是Linux下用于获取视频和音频数据的API接口,在这篇文章中,着重阐述如何利用Video4Linux获取摄像头数据,以实现连续影像的播放. 1. 摄像头的安装 在 Linux下 ...

最新文章

  1. 为什么程序员总是发现不了自己的Bug?
  2. 典型方法_华北电力大学 赵振兵等: 输电线路典型金具视觉检测方法研究
  3. Linux系统介绍 文本查看、操作、统计命令(head/tail cat/tac less/more • wc sort uniq • cut paste)
  4. “黑科技”要会用才行,探讨人工智能如何落地
  5. 邀请别人进入队伍rust_林俊杰组建DOTA2队伍,原Newbee五人被终身禁赛
  6. 广东移动数据中心攻关“液/气双通道散热技术”
  7. 如何在VS一个工程里面测试不同代码?(创建不同项目,并将需要运行的项目设为启动项目)
  8. linux搭建环境经验,经验总结54--搭建linux虚拟机环境
  9. 深度学习基础(常见的网络2)
  10. 阻止xap文件在浏览器中缓存
  11. poj 3278 Catch That Cow (bfs)
  12. CAD制图系列之中心线画法
  13. 【转】linux系统的7种运行级别
  14. pxe无盘服务器教程,PXE无盘网络原理简介及实战应用
  15. nc文件的读取与写入
  16. 地形图测量中的等高线裁剪方法
  17. python中transform_Python rendering.Transform方法代码示例
  18. Flask框架基础入门教程
  19. 雷神众测开启团队竞赛模式
  20. vs开发工具必备插件

热门文章

  1. 使用 NSUserDefaults 存储字典的一个坑
  2. 《github一天一道算法题》:并归排序
  3. 如何安装并使用Windows 8 Client Hyper-V
  4. 基于SAAS的IT运维管理方案
  5. Flutter 28: 图解 ListView/GridView 混用时滑动冲突小尝试
  6. [LUOGU] P2330 [SCOI2005]繁忙的都市
  7. new Date() 在 ie 浏览器中兼容性的问题
  8. Mybatis集成二级缓存与同时使用缓存与事务存在的坑
  9. C# 代码注释规范文档
  10. 设计模式总结(Java)—— 观察者模式