网络监控系统中服务器与单片机实时通信的设计与实现
1 引言
本系统主要是实现移动机器人的音频视频监视和网络控制的功能,用户可以通过安装在移动机器人的麦克风和摄像头进行音频和视频采集,利用网络进行音频视频信号的传输,可以在上位机上随时获得机器人当前所处的环境,在本地主机上能接收到远端主机采集的音视频信号,并能通过本地上位机键盘向远端发送控制命令,可对其进行高级控制:躲避障碍物、定向运动等。同时能够对特定的视频信号进行捕捉,并进行存储。
2驱动系统
移动机器人的控制系统与驱动系统采用各自独立的CPU进行控制。嵌入式计算机作为整个控制系统的核心,驱动系统中采用凌阳16位单片机 SPCE061A作为控制核心。驱动系统与嵌入式计算机控制系统之间采用RS232串行通讯协议进行信号的传递。光电传感器用于速度检测以及MAX202 进行串口通信中的电平转换芯片组成。控制系统通过简单的指令就可以实现移动机器人的各种行动的控制,为控制系统减轻负担,获得更佳的性能做出铺垫。
总体结构图如图1所示:
图1 驱动系统总体结构图
3.网络控制命令传输的设计
网络通信套接字(socket)是一种网络编程接口,它是对通信端点的一种抽象,提供了一种发送和接收数据的机制。用户目前可以使用两种套接字,它们是数据报套接字(Datagram Sockets)和流式套接字(Stream Sockets),在本系统中,控制命令的传输必须相当可靠,为了适合外部复杂恶劣环境,采用了流式套接字来传输网络控制命令。
流式套接字可以将数据按顺序无重复地发送到目的地,它提供的是—种可靠的面向连接的数据传输方式。不管是对单个的数据报、还是对数据包,流式套接字 都提供了—种流式数据传输。流式套接字使用传输控制协议(TCP),是基于连接的协议。当用户发送大批量数据或让发送的数据按顺序无重复地到达目的地时,使用流式套接字是最方便的。 本项目使用了一个CAsyncSocket类,它是在很低程度上对 WinSock API的封装,提供的低级接口几乎和WinSock API的函数调用直接对应。项目中用于通信的套接字都运用了面向对象中类继承的概念,CSocketClient、CSocketServer都是派生于 CasyncSocket类。
本系统采用C/S架构,服务器端一直处于对客户端请求的监听状态,客户端具体实施对连接的请求。
4. 服务器与下位单片机实时通信的设计
使用流式套接字只是在服务器和客户端之间建立了通信链路。而控制命令也只是从客户端传输到了远程服务器上,要想控制命令能驱动机器人的电机,还必须将控制命令传输到下位单片机上,通过单片机和底层驱动电路来控制电机的转动方向。
相关文章
- 2024-08-21新型回热器内工质流动数值模拟分析
- 2024-08-05基于最小包容区域法的平面度误差的快速评定法-新测点分类法
- 2024-06-20蛙人探测声纳中的波束形成
- 2024-01-05高过载微型加速度计结构设计及数值模拟
- 2024-04-12流体环境中静电微悬臂梁的多场耦合仿真分析



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。