【物联网智能网关-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
相关文章
|
9天前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
25 1
|
26天前
|
传感器 监控 安全
未来家居生活的智能化革命:探索物联网技术在智能家居中的应用
【8月更文挑战第5天】当物联网技术遇上智能家居,一场关于便捷、舒适与节能的生活革命悄然拉开帷幕。本文将探讨物联网如何通过高度互联的设备网络,实现家庭环境的智能管理,提升居住体验的同时,促进能源的有效利用。
|
2月前
|
传感器 监控 安全
智能物联网技术在现代城市管理中的应用与挑战
【7月更文挑战第31天】本文深入探讨了智能物联网技术在现代城市管理中的关键作用,并分析了其带来的显著效益及所面临的主要挑战。文章通过具体案例分析,展示了物联网技术如何优化城市基础设施、改善公共服务质量以及增强城市安全系统。同时,本文也指出了物联网技术在数据安全、隐私保护、技术标准化和成本投入方面的主要挑战,并对未来的发展方向提出了展望。
|
3天前
|
人工智能 网络协议 物联网
AIoT智能物联网平台技术架构
AIoT智能物联网平台的技术架构从终端设备到物联网平台可分为边缘侧网关、接入网关层、基础设施层、中台层和应用层。
24 14
|
11天前
|
数据采集 人工智能 物联网
|
19天前
|
机器学习/深度学习 传感器 物联网
使用Python实现深度学习模型:智能物联网与智能家居
【8月更文挑战第13天】 使用Python实现深度学习模型:智能物联网与智能家居
24 2
|
20天前
|
存储 传感器 监控
理解并利用物联网(IoT)数据的技术探索
【8月更文挑战第11天】物联网数据是数字化转型的重要资源。通过深入理解物联网数据的特性和价值,并采取有效的收集、处理和分析策略,我们可以更好地利用这些数据为企业决策提供支持、优化运营效率、创造新的商业模式并推动数字化转型的深入发展。
|
2月前
|
存储 传感器 安全
云上智能物联网平台:构建未来智联世界的基石
四、未来发展趋势 4.1 边缘计算的融合 随着物联网设备数量的不断增加和数据量的快速增长,边缘计算将成为云上智能物联网平台的重要组成部分。通过将计算能力和数据存储能力下沉到边缘侧,可以减少数据传输延迟和带宽消耗,提高系统的响应速度和稳定性。
81 7
|
2月前
|
机器学习/深度学习 人工智能 安全
智能之网:探索AI在物联网中的应用与挑战
随着科技的飞速发展,人工智能(AI)已经渗透到我们生活的方方面面,特别是在物联网(IoT)领域的应用日益广泛。本文将探讨AI技术如何在物联网中发挥作用,提升设备智能化水平,优化数据管理,以及在实现这一过程中遇到的技术、安全和伦理等挑战。通过分析具体案例,我们将揭示AI和物联网结合带来的创新机遇及其对未来社会可能产生的影响。
|
2月前
|
传感器 供应链 物联网
ERP系统与物联网(IoT)集成:实现智能化业务管理
【7月更文挑战第29天】 ERP系统与物联网(IoT)集成:实现智能化业务管理
62 0

相关产品

  • 物联网平台
  • 下一篇
    云函数