”WinForm上位机+OV7670摄像头+STM32+蓝牙“图像采集系统(二)PC-MCU蓝牙通信及WinForm上位机开发

上篇Blog谈了一下stm32驱动ov7670进行图像采集,这一篇谈一下后续的几个步骤:


1、图像处理

因为对图像质量要求不高,而且串口蓝牙通信速度局限于波特率。所以决定只传输灰度图像,简单地用了RGB565三个分量取高四位的均值。将两个像素拼接在一起,放在一个unsigned char变量里,前一像素的4位灰度值放在高四位,后一像素放在低四位。 这样就只需要传输320 * 240 / 2 = 38400个byte就可以了。


2、图像传输

用的经典蓝牙模块(hc05或hc06),很简单的串口程序,不再赘述。


3、图像显示


先来一张效果图!




如上图:是通过C#开发的WinForm程序,功能就是接受串口送来的像素灰度值,刷新出图片显示在右侧,并保存.bmp格式的图片到电脑


1)首先,将电脑蓝牙打开,连接MCU侧的经典蓝牙模块,在控制面板中打开蓝牙,并添加设备。在设备管理器中确保Bluetooth驱动已安装(上方红框)。

其实PC内置的蓝牙,对PC而言也就是一个串口设备,跟一般的232串口并无区别。所以可以在端口里可以看到两个COM口(下方红框),在上位机中打开COM26(因机而异)即可。

注:有的PC蓝牙打不开,可以百度一下如何打开,记得要去官网下载蓝牙驱动程序并安装



2)Winform程序


打开高逼格的VS2015



新建Windows窗体程序




通过左侧的工具箱,添加各种空间。通过右侧的属性窗口,更改属性值,最终的布局如下图:




网上类似的上位机程序应该有很多,下面附上我的程序,一部分也是参照网友的程序修改的,得于网络,馈于网络:

用到的东西应该也就  串口类SerialPort 、 线程Thread 、 Bitmap类 三样东西,相对简单。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace MyCom
{
    public partial class Form1 : Form
    {
   
  • 12
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
WinForm 是一个用于 Windows 桌面应用程序开发的框架,可用于创建用户界面。在 WinForm 上位开发中,你可以使用 C# 或 VB.NET 等编程语言来编写代码。 要开始 WinForm 上位开发,首先需要了解一些基本概念和技术。以下是一些步骤和建议供参考: 1. 环境搭建:确保你的系统上已经安装了 Visual Studio 开发环境,它提供了丰富的工具和组件用于 WinForm 开发。 2. 创建项目:使用 Visual Studio 创建一个新的 WinForm 项目。选择适合你的需求的项目模板,例如空白应用程序或窗体应用程序。 3. 设计界面:通过拖放控件和调整属性来设计界面。WinForm 提供了许多常用的控件,如按钮、文本框、标签等。你可以根据需要自定义界面,并设置控件的属性和事件处理程序。 4. 数据处理:根据你的应用需求,编写代码来处理数据。例如,你可以使用串口通信来与外部设备进行数据交换,或者通过网络连接与服务器通信。在事件处理程序中编写代码来处理输入和输出数据。 5. 功能实现:根据你的应用需求,实现所需的功能。例如,你可以编写代码来采集数据、控制设备、生成报表等。使用合适的类和方法来实现这些功能。 6. 测试与调试:在开发过程中,进行测试和调试是非常重要的。确保你的应用程序能够正确地运行并处理各种情况。使用调试工具来跟踪代码执行过程和调试错误。 7. 部署与发布:完成开发后,你可以将应用程序部署到目标器上。创建安装程序或将执行文件复制到目标器上,以便用户可以使用你的应用程序。 这只是一个简单的指南,WinForm 上位开发还涉及很多其他方面,如异步编程、多线程处理、数据存储等。根据你的需求和项目规模,你可能需要进一步学习和探索这些概念。 希望这些信息对你有所帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值