作品简介
随着生活智能化的不断发展,智能家居将是未来发展的必然趋势。对于无人值守的地方、隐蔽场所以及黑暗处的监测也成为必须解决的问题。而现在嵌入wifi功能的设备随处可见,所以利用现有的网络资源搭建一台wifi视频监控小车的想法就诞生了,即利用带有wifi的设备进行控制小车,实现无线监控。对于那些不安全的以及人无法进入的场所进行无线监测,通过wifi小车是一个很好的解决方案,利用现有的PC终端就可以进行监控控制。
本系统主要由无线监测终端和PC上位机两部分组成。无线终端的小车车体是自己利用铝材设计组装完成的。小车前端的摄像头对周围的环境进行监测,同时把视频信号传回给PC上位机。通过PC上位机可以随时控制小车行进方向,而且可以操作摄像头随意上下、左右转动,扩大小车拍摄视野。另外在小车上加装了超声波雷达装置,可以360度旋转对小车周围的障碍物进行探测,同时上位机上实时显示出检测到的数据。
使用说明:使用时打开小车电源开关,等待约30秒的时间路由器正常启动,然后打开PC端无线信号开关搜索到名称为“wifi—robot”的无线信号,输入密码:hngc点击连接。连接上以后打开wifi视频小车操作平台通过界面上的按钮就可打开视频并对小车进行操控。同时可以通过PC机键盘上的Q、W、A、S、D键控制小车行走,I、J、K、L、O键控制小车上摄像头转动方向。
平台选型说明
单片机开发板(以STC15F2K61S2芯片为控制核心)
设计说明
对小车进行整体分析,基本功能是对小车周围进行视频监控,并且通过超声波探测周围的障碍物距离。上位机可以实时显示小车传回监控的画面和超声波探测的数据,同时上位机可以控制小车的行走方向和摄像头的转向。
一、系统设计
1、系统框图
由图3可以看出PC上位机和无线终端之间通过wifi信号进行通信,来实现它们之间通信的是PC上的无线网卡以及监测终端上的无线路由器。
2、终端总体设计
图4列出了无线监测终端上的基本模块,而搭载这些模块的就是wifi视频监控小车。
二、硬件电路设计部分
硬件电路主要采用的是大赛指定的开发板 (以STC15F2K61S2芯片为控制核心),单片机接收上位机发送的指令并执行,来实现想让小车执行的动作。由于所用单片机上的定时器数量有限,因此对于控制摄像头转动的舵机又增加了一块STC89C52单片机进行控制,该单片机通过I/O口与主控芯片(STC15F2K61S2)进行通信,并执行主控芯片发出的命令来实现摄像头的上下和左右转动。
1、STC89C52单片机最小系统原理图如图5
2、电机驱动电路
由于单片机I/O口输出电流比较小,无法直接驱动小车上的电机进行旋转,因此需要一个驱动芯片来驱动小车电机进行运转。小车上的电机驱动部分采用的是L298N驱动芯片,通过单片机的I/O输入控制端的电平,即可对电机进行正反转和停止的操作。驱动电路原理图如图6
L298N内部包含4通道逻辑驱动电路,内含两个H桥的高电压大电流双全桥式驱动器,可用驱动两路直流电机。由于小车上带有四个直流电机,因此小车一侧的两个电机接L298N的一路输出。
3、电源部分
小车主电源用的是锂电池供电,可输出+12V,最大6A的直流电。它可以直接给车上的无线路由器供电,而开发板所需的5V电源则需要一个电源转换电路来实现。常用的5V电压可以用7805或者LM2596稳压得到,由于7805输出电流比较小,因此采用了LM2596把12V电源转变为5V给开发板供电。
三、单片机程序开发
主单片机与路由器的接口就是串口,所以主单片机的任务就是把接收到的串口数据按照预先制定的协议进行解码,而副单片机负责接收主单片机的命令然后控制舵机。
主单片机的main函数流程图
1、编写单片机控制小车车轮电机的前后左右行走函数,在.h头文件中留出这 几个函数的接口。
2、编写雷达控制函数,也在.h文件中留出接口。
3、编写给副单片机发送命令函数(副单片机用来控制摄像头舵机的旋转),也在.h文件中留出接口。
4、编写串口接收解码函数,直接在串口中断中进行处理解码,然后在主函数中查询命令,具体执行调用上部编写好的函数。
5、副单片机程序的编写,通过查询I/O口监测主单片机发送的命令,然后根据不同的命令调用不同的函数来执行舵机的调方向任务。
四、上位机软件开发
上位机负责把人的操作转化为命令发送到路由器,路由器再把命令转化为串口数据发送给主单片机进而执行对小车的控制。C#是一种面向对象的语言,并且基于dotnet类库中的socket类使网络编程更加简单化,所以本上位机时采用C#语言开发的。
1、打开视频后PC上位机给路由器发送一个请求,接着创建一个stream类的实例接收路由器端80端口传回的网络数据流,并对数据进行处理,然后在PC上位机上显示出来传回的视频画面。
2、上位机把操作转化为命令最终发送给单片机。为了命令的有效性和避免误触发,制定了一套协议将发送的命令数据进行包装,然后在单片机端进行解码。而且在发送命令时创建了一个socket和路由器端的端口相连接,一旦数据发送出去,socket立马被销毁。
3、超声波雷达部分需要接收数据,而为了保证这些数据的完整性需要制定一个协议。在单片机发送端把数据打包,上位机接收到数据以后再进行解码。由于上位机接收数据的时候会对线程进行阻塞,导致软件假死现象,所以需要用到多线程编程,即在需要接收数据时另外建立一个线程来不断等待接收数据,而主线程用来响应用户的界面操作。
软件界面是人和机器的接口,所以软件界面的设计本着简单化、人性化的设计原则。
作品特色
使用现在随处可见的wifi信号进行控制,无线终端上的摄像头可以把监测到的视野内的图像实时传输给PC上位机,超声波雷达可以360度旋转检测周围物体。只要PC带有无线网卡,安装了我们的上位机软件就可以对小车进行操控,同时人性化的操作界面也使上位机的控制简单易行。
一、先进性:利用wifi信号控制小车,通过PC端键盘或鼠标可以随意控制小车走向。四轴电机驱动可以实现小车原地旋转。摄像头可实现上下、左右180度旋转。
二、实用性:可以对无人区所进行无线监控,同时超声波雷达可以扫描探测到障碍物与小车间的距离。
三、创新性:超声波雷达固定于步进电机制作的平台之上,可以实现360度全方位探测,探测隐蔽处情况,检测障碍物距离。上位机的人性化界面使操作起来更加简单和灵活。
四、系统期望
1、对于智能家居的家庭监控功能的实现目前还不完善,下一步会让小车实现外网接入,这样把小车放在家里,通过家里再放置一部无线路由器连接到小车上,就可以随时在学校、公司通过网络打开小车的监控画面。
2、把小车改造成一部战车,安装高清摄像头,通过视频信号处理自动锁定进入小车视野中的目标,然后利用低功率激光模拟武器瞄准系统,通过上位机控制并对锁定物体进行攻击。