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

简介: 开发了一套扩展库,用户只要几行代码,就可以完成和传感器的通信,从而获取数据。YFSoft.Hardware.Camera.PTC01.dll就是一种这样的库。

在上一篇文章《通过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;

}

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

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

    {

        Debug.Print("SetPhotoSize failed");

        pct01.Close();

        return;

    }

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

if (!pct01.SetCompressRatio(0x36))  //0xFF

    {

        Debug.Print("SetCompressRatio failed");

        pct01.Close();

        return;

    }

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

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

byte[] picData = null;

pct01.GetPhoho(out picData);

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

bmp.Flush();

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

本文源码: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

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
1月前
|
人工智能 边缘计算 监控
【开源视频联动物联网平台】视频AI智能分析部署方式
【开源视频联动物联网平台】视频AI智能分析部署方式
86 3
|
7月前
|
关系型数据库 物联网 PostgreSQL
沉浸式学习PostgreSQL|PolarDB 11: 物联网(IoT)、监控系统、应用日志、用户行为记录等场景 - 时序数据高吞吐存取分析
物联网场景, 通常有大量的传感器(例如水质监控、气象监测、新能源汽车上的大量传感器)不断探测最新数据并上报到数据库. 监控系统, 通常也会有采集程序不断的读取被监控指标(例如CPU、网络数据包转发、磁盘的IOPS和BW占用情况、内存的使用率等等), 同时将监控数据上报到数据库. 应用日志、用户行为日志, 也就有同样的特征, 不断产生并上报到数据库. 以上数据具有时序特征, 对数据库的关键能力要求如下: 数据高速写入 高速按时间区间读取和分析, 目的是发现异常, 分析规律. 尽量节省存储空间
595 1
|
1月前
|
传感器 物联网 决策智能
Node-RED 规则引擎:开启物联网时代的智能决策
Node-RED 规则引擎:开启物联网时代的智能决策
72 0
|
1月前
|
Web App开发 监控 中间件
【开源视频联动物联网平台】视频接入网关的用法
【开源视频联动物联网平台】视频接入网关的用法
31 1
|
1月前
|
传感器 边缘计算 物联网
【开源视频联动物联网平台】为什么需要物联网网关?
【开源视频联动物联网平台】为什么需要物联网网关?
27 2
|
1月前
|
传感器 移动开发 监控
嵌入式物联网设计水稻田智能灌溉系统实现
嵌入式物联网设计水稻田智能灌溉系统实现
78 0
|
3月前
|
Dubbo Cloud Native 应用服务中间件
调研 7 个开源项目后,这家数据合规平台如何构建高性能网关
调研 7 个开源项目后,这家数据合规平台如何构建高性能网关
|
4月前
|
数据采集 SQL Oracle
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
助力工业物联网,工业大数据之DWD层构建:数据抽取分析【十一】
48 0
|
4月前
|
人工智能 数据可视化 安全
Java带可视化数据大屏的物联网智慧工地系统源码
通过现场AI智能视频监控、临时设施动态管理,实时检测场地空间、资源、设施的运行状况,及时发现场地安全隐患,确保为工人营造一个安全、文明的场地作业环境。
59 0
|
4月前
|
传感器 人工智能 自动驾驶
【Android App】物联网实战项目之自动驾驶的智能小车(附源码和演示 超详细)
【Android App】物联网实战项目之自动驾驶的智能小车(附源码和演示 超详细)
83 0

相关产品

  • 物联网平台