WiFi视频传输上位c#程序

WiFi视频传输上位c#程序
WiFi视频传输上位c#程序

界面效果

程序

using System;

using System.Collections.Generic; using https://www.360docs.net/doc/3c7546061.html,ponentModel; using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using https://www.360docs.net/doc/3c7546061.html,;

using https://www.360docs.net/doc/3c7546061.html,.Sockets;

using System.IO;

using Microsoft.Win32;

using System.Runtime.InteropServices;

namespace WifiVideo

{

publicpartialclass Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//声明读写INI文件的API函数

[DllImport("kernel32")]

privatestaticexternbool WritePrivateProfileString(string section, string key, string val, string filePath);

[DllImport("kernel32")]

privatestaticexternint GetPrivateProfileString(string section, string key, string def, byte[] retVal, int size, string filePath);

staticstring FileName=Application.StartupPath+"\\Config.ini" ;

publicstring ReadIni(string Section, string Ident, string Default)

{

Byte[] Buffer =new Byte[65535];

int bufLen=GetPrivateProfileString(Section, Ident, Default, Buffer, Buffer.GetUpperBound(0), FileName);

string s =Encoding.GetEncoding(0).GetString(Buffer);

s =s.Substring(0, bufLen);

return s.Trim();

}

string CameraIp="";

string ControlIp="192.168.1.1";

string Port ="81";

string CMD_Forward="", CMD_Backward="", CMD_TurnLeft="", CMD_TurnRight="", CMD_Stop="",

CMD_EngineUp="",CMD_EngineDown="",CMD_textLightsOn="",CMD_t extLightsOff="";

privatevoid button1_Click(object sender, EventArgs e)

{

timer1.Enabled =true;

}

privatevoid timer1_Tick(object sender, EventArgs e)

{

pictureBox1.ImageLocation =CameraIp;//

"http://192.168.1.1:8080/?action=snapshot";

}

void SendData(string data)

{

try

{

IPAddress ips=IPAddress.Parse(ControlIp.ToString());//("192. 168.2.1");

IPEndPoint ipe=new IPEndPoint(ips,

Convert.ToInt32(Port.ToString()));//把ip和端口转化为IPEndPoint实例

Socket c =new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket

c.Connect(ipe);//连接到服务器

byte[] bs=Encoding.ASCII.GetBytes(data);

c.Send(bs, bs.Length, 0);//发送测试信息

c.Close();

}

catch (Exception e)

{

MessageBox.Show(e.Message);

}

}

privatevoid button2_Click(object sender, EventArgs e) {

SendData(CMD_Forward);

}

privatevoid button5_Click(object sender, EventArgs e) {

SendData(CMD_Backward);

}

privatevoid button3_Click(object sender, EventArgs e) {

SendData(CMD_TurnLeft);

}

privatevoid button4_Click(object sender, EventArgs e) {

SendData(CMD_TurnRight);

}

privatevoid button6_Click(object sender, EventArgs e) {

Config cfg=new Config();

cfg.ShowDialog();

}

privatevoid Form1_Load(object sender, EventArgs e)

{

GetIni();

buttonForward.BackColor=Color.LightBlue; buttonBackward.BackColor=Color.LightBlue;

buttonLeft.BackColor=Color.LightBlue;

buttonRight.BackColor=Color.LightBlue;

buttonStop.BackColor=Color.LightBlue;

btnEngineUp.BackColor=Color.LightBlue;

btnEngineDown.BackColor=Color.LightBlue;

btnLightsOn.BackColor=Color.LightBlue;

btnLightsOff.BackColor=Color.LightBlue;

button6.BackColor =Color.LightBlue;

button1.BackColor =Color.LightBlue;

}

privatevoid GetIni()

{

CameraIp=ReadIni("VideoUrl", "videoUrl", "");

ControlIp=ReadIni("ControlUrl", "controlUrl", "");

Port =ReadIni("ControlPort", "controlPort", ""); CMD_Forward=ReadIni("ControlCommand", "CMD_Forward", ""); CMD_Backward=ReadIni("ControlCommand", "CMD_Backward", ""); CMD_TurnLeft=ReadIni("ControlCommand", "CMD_TurnLeft", ""); CMD_TurnRight=ReadIni("ControlCommand", "CMD_TurnRight", "");

CMD_Stop=ReadIni("ControlCommand", "CMD_Stop", "");

CMD_EngineUp=ReadIni("ControlCommand", "CMD_EngineUp", "");

CMD_EngineDown=ReadIni("ControlCommand", "CMD_EngineDown", "");

CMD_textLightsOn=ReadIni("ControlCommand",

"CMD_textLightsOn", "");

CMD_textLightsOff=ReadIni("ControlCommand",

"CMD_textLightsOff", "");

}

privatevoid Form1_KeyDown(object sender, KeyEventArgs e) {

if (e.KeyCode==Keys.W)

{

buttonForward.BackColor=Color.DarkGray;

buttonForward.PerformClick();

}

elseif (e.KeyCode==Keys.S)

{

buttonBackward.BackColor=Color.DarkGray; buttonBackward.PerformClick();

}

elseif (e.KeyCode==Keys.A)

{

buttonLeft.BackColor=Color.DarkGray; buttonLeft.PerformClick();

}

elseif (e.KeyCode==Keys.D)

{

buttonRight.BackColor=Color.DarkGray; buttonRight.PerformClick();

}

elseif (e.KeyCode==Keys.X)

{

buttonStop.BackColor=Color.DarkGray; buttonStop.PerformClick();

}

elseif (e.KeyCode==Keys.I)

{

btnEngineUp.BackColor=Color.DarkGray; btnEngineUp.PerformClick();

}

elseif (e.KeyCode==Keys.K)

{

btnEngineDown.BackColor=Color.DarkGray; btnEngineDown.PerformClick();

}

elseif (e.KeyCode==Keys.F)

{

btnLightsOn.BackColor=Color.DarkGray; btnLightsOn.PerformClick();

}

elseif (e.KeyCode==Keys.G)

{

btnLightsOff.BackColor=Color.DarkGray; btnLightsOff.PerformClick();

}

elseif (e.KeyCode==Keys.F2)

{

button6.BackColor =Color.DarkGray;

button6.PerformClick();

}

elseif (e.KeyCode==Keys.F1)

{

button1.BackColor =Color.DarkGray; button1.PerformClick();

}

}

privatevoid Form1_KeyUp(object sender, KeyEventArgs e) {

buttonStop.PerformClick();

buttonForward.BackColor=Color.LightBlue; buttonBackward.BackColor=Color.LightBlue;

buttonLeft.BackColor=Color.LightBlue;

buttonRight.BackColor=Color.LightBlue;

btnEngineUp.BackColor=Color.LightBlue; btnEngineDown.BackColor=Color.LightBlue; btnLightsOn.BackColor=Color.LightBlue;

btnLightsOff.BackColor=Color.LightBlue;

button6.BackColor =Color.LightBlue;

button1.BackColor =Color.LightBlue;

}

privatevoid btnEngineUp_Click(object sender, EventArgs e) {

SendData(CMD_EngineUp);

}

privatevoid btnEngineDown_Click(object sender, EventArgs e) {

SendData(CMD_EngineDown);

}

privatevoid buttonStop_Click(object sender, EventArgs e)

{

SendData(CMD_Stop);

}

privatevoid btnLightsOff_Click(object sender, EventArgs e)

{

SendData(CMD_textLightsOff);

}

privatevoid btnLightsOn_Click_1(object sender, EventArgs e) {

SendData(CMD_textLightsOn);

}

privatevoid groupBox1_Enter(object sender, EventArgs e)

{

}

}

}

外网远程控制WIFI智能小车机器人

本期教程专门介绍如何让我们的机器人与互联网相连,实现远程安防监控与控制!然后可以在全球范围内控制它。本教程使用的路由器为WR703N,DB120的路由外网控制设置。 一、基本原理 外网控制的基本原理就是“端口映射”+“动态域名”。什么叫端口映射呢?简单地说,就是在你家里的无线路由器上做一个设置,使得外网对于路由器上一个特定的端口的访问会被路由器重新转到一个指定的IP主机和端口,这样一来,家里的无线路由器就等于是一个“桥”,联通了外网和小车机器人上面的路由,使得我们可以在外网控制家里的机器人。 那么“动态域名”又是什么呢?大家可以想想:我们家里的路由器每次开机后,对外的IP 地址都是不同的,那么控制小车就需要每次通过查询路由对外的IP地址,然后重新设置控制端的IP,这是个很麻烦的事。“动态域名”就可以完美地解决这个问题,你先向动态域名提供商申请一个动态域名,这个域名是不变的,比如:https://www.360docs.net/doc/3c7546061.html,,提供商会给你一个账号密码,把这个账号密码填入路由的动态域名功能里面,每次开机的时候,路由就会向域名提供商的服务器登录,服务器就可以获取本次登录时,路由对外网的地址,然后自动帮你把这个新IP绑定在https://www.360docs.net/doc/3c7546061.html,这个域名上面,这样一来,我们就没必要每次都去找路由当前的IP了,直接输这个域名就可以连到我们的路由。 我们今天要做的也就是利用上面的原理完成外网到家里的无线路由器,再到机器人上面 的WIFI板这一过程。 二、外网映射设置 1、家庭路由器设置。 首先需要一个家用的路由器,可以上外网的,这个路由器就是作为沟通小车与外界的桥梁。在这里,我选用了我的TP-Link WR641G+路由器。 第一步:设置转发规则 如下图所示,登陆家庭路由器的192.168.1.1管理界面,找到转发规则——》虚拟服 务器 在这里,因为我们的WIFI机器人运行需要开两个端口,端口8080为视频端口,端口2001为控制端口,所以我们添加两个端口转发规则,这边我使用192.168.1.108作为转发的目标客户端,这就是我们的WIFI板IP地址。这个IP可以自己定的,但是必须为固定的。并 且在家庭路由器的DHCP范围内。 通过这个设置,来自外网的对8080端口和2001端口的访问将重新发送到 192.168.1.108这个IP的客户端上,也就是我们的WIFI板。

常见的视频传输方式

常见的视频传输方式 1、视频基带传输:是最为传统的电视监控传输方式,对0~6MHz视频基带信号不作任何处理,通过同轴电缆(非平衡)直接传输模拟信号。其优点是:短距离传输图像信号损失小,造价低廉,系统稳定。缺点:传输距离短,300米以上高频分量衰减较大,无法保证图像质量;一路视频信号需布一根电缆,传输控制信号需另布电缆;其结构为星形结构,布线量大、维护困难、可扩展性差,适合小系统。 2、光纤传输:常见的有模拟光端机和数字光端机,是解决几十甚至几百公里电视监控传输的最佳解决方式,通过把视频及控制信号转换为激光信号在光纤中传输。其优点是:传输距离远、衰减小,抗干扰性能好,适合远距离传输。其缺点是:对于几公里内监控信号传输不够经济;光熔接及维护需专业技术人员及设备操作处理,维护技术要求高,不易 升级扩容。 3、网络传输:是解决城域间远距离、点位极其分散的监控传输方式,采用MPEG2/ 4、 H.264音视频压缩格式传输监控信号。其优点是:采用网络视频服务器作为监控信号上传设备,只要有Internet网络的地方,安装上远程监控软件就可监看和控制。其缺点是:受网络带宽和速度的限制,目前的ADSL只能传输小画面、低画质的图像;每秒只能传输几到十几帧图像,动画效果十分明显并有延时,无法做到实时监控。 4、微波传输:是解决几公里甚至几十公里不易布线场所监控传输的解决方式之一。采用调频调制或调幅调制的办法,将图像搭载到高频载波上,转换为高频电磁波在空中传输。其优点是:综合成本低,性能更稳定,省去布线及线缆维护费用;可动态实时传输广播级图像,图像传输清晰度不错,而且完全实时;组网灵活,可扩展性好,即插即用;维护费用低。其缺点是:由于采用微波传输,频段在1GHz以上,常用的有L波段(1.0~2.0GHz)、S波段(2.0~3.0GHz)、Ku波段(10~12GHz),传输环境是开放的空间,如果在大城市使用,无线电波比较复杂,相对容易受外界电磁干扰;微波信号为直线传输,中间不能有山体、建筑物遮挡;如果有障碍物,需要加中继加以解决,Ku波段受天气影响较为严重,尤其是雨雪天气会有比较严重的雨衰现象。不过现在也有数字微波视频传输产品,抗干扰能 力和可扩展性都提高不少。 5、双绞线传输(平衡传输):也是视频基带传输的一种,将75Ω的非平衡模式转换为平衡模式来传输的。是解决监控图像1Km内传输,电磁环境相对复杂、场合比较好的解决方式,将监控图像信号处理通过平衡对称方式传输。其优点是:布线简易、成本低廉、抗共模干忧性能强。其缺点是:只能解决1Km以内监控图像传输,而且一根双绞线只能传输一路图像,不适合应用在大中型监控中;双绞线质地脆弱抗老化能力差,不适于野外传输; 双绞线传输高频分量衰减较大,图像颜色会受到很大损失。 6、宽频共缆传输:视频采用调幅调制、伴音调频搭载、FSK数据信号调制等技术,将数十路监控图像、伴音、控制及报警信号集成到“一根”同轴电缆中双向传输。其优点是:充分利用了同轴电缆的资源空间,三十路音视频及控制信号在同一根电缆中双向传输、实

智能wifi小车源程序

由于今年组委会光电管和摄像头分开比赛。所以传感器部分我们选择了光电管,比赛以小车的速度记成绩,为了让小车更快更稳得跑完全程,传感器的探测距离必须要远,既要有大的前瞻,普通的红外对管由于功率较小,探测距离增大时,干扰严重,所以我们自制了大功率对管,同时采用了程序控制脉冲发光的办法,有效的降低了发热,提高了系统的稳定性。 系统采用采用了7.2V 2000mAh Ni-Cd蓄电池作为系统能源,并且通过稳压电路分出6伏,5伏已分别给舵机和单片机供电。 直流电机驱动模块接收速度控制信号控制驱动电机运行,达到控制车速目的。转向伺服模块控制舵机转向,进而控制智能车转弯。速度测量模块实时测量智能车车速,用于系统的车速闭环控制,以精确控制车速。 系统充分使用了MC9S12DG128单片机的外围模块,具体使用到的模块包括:ADC模拟数字转换模块、定时器模块、PWM脉冲宽度调制模块、中断模块、I/O 端口和实时时钟模块等。 系统调试过程中,使用了组委会提供的代码调试环境CodeWarrior IDE,同时使用了清华的软件进行了仿真试验。 图1.1 系统结构框图 3.1舵机部分 为了使转弯更加灵活,对舵机相关部分作了部分改动。首先,我们将舵机力臂加长85mm。这样,对于同样的转弯角度值,只需更小的舵机转角,减小了舵机转弯时惯性带来的弊端。其次,我们将舵机反装,使舵机连杆水平,因为此时舵机提供的力全部用在转弯上。 3.2前轮部分 为了增加前轮转弯时的稳定性,对前轮相关部分进行了部分改动。首先,更改前后垫片

的数量,使前轮主销后倾,这样,车轮具有更好的自动回正功能。其次,更改连杆的长度,使车轮外倾,车轮转弯时,前半部分重心上移,促使赛车转弯更加稳定。再次,我们通过更改舵机连杆的长度,增加前轮前束,同样增加了前轮的稳定性。 3.3底盘部分 为了提高赛车运行时的稳定性,对地盘相关部分作了部分改动。首先,前轮相关位置加垫片,降低了前轮重心。其次,更改后轮车轴处的调节块,使后轮重心升高,这样,车身前倾,一定程度上,增加了车的稳定性。 3.4后轮部分 首先,更换后轮轮距调节块,使后轮两轮之间间距加大。这样,车在转弯时不容易产生侧滑。其次,调节后轮差速,使赛车转弯更加灵活。 4.1电源部分 为了能使智能车系统能正常工作,就需要对电池电压调节。其中,单片机系统、车速传感器电路需要5V 电压,路径识别的光电传感器和接收器电路电压工作为5V 、伺服电机工作电压范围4.8V 到6V(或直接由电池提供),直流电机可以使用7.2V 2000mAh Ni-cd 蓄电池直接供电。考虑到由于驱动电机引起的电压瞬间下降的现象,因此采用低压降的三端稳压器成为必然。我们在采用lm7805,和lm7806作为稳牙芯片。经试验电压纹波小,完全可以满足要求。 电池(7.2v ) 2000mAh Ni-cd 稳压电路 电机 图4.1系统电压调节图 5V 对管 单片机 舵机 测速板 6V 7.2V

基于Arduino单片机控制的WiFi智能小车

呼伦贝尔学院 计算机科学与技术学院 本科生毕业论文(设计) 题目:基于Arduino控制的 WIFI智能小车 学生姓名:苑伟 学号: 专业班级:2011级计算机科学与技术一班 指导教师:陶锐 完成时间: 2015年5月22日

目录

摘要 本次设计wifi智能小车主要采用Arduino作为底层硬件控制核心,接收来自路由器的指令执行相关操作;采用PWM脉冲调节小车速度、舵机控制以及灯光亮度;采用定时器实现小车数据的发送、小车的避障及计算小车的行驶速度;运用简单的PID算法实现轮胎直接的差速控制;采用路由器发射无线wifi,使用Lua脚本实现了接收单片机数据及发送操作指令,设计了web页面控制小车的B/S模式结构。 关键字:Arduino;PWM脉冲;PID算法;web控制

Abstract The design of wi-fi smart cars mainly adopts the Arduino as the control core to receive instructions from the router perform related operations; Using PWM pulse to adjust the vehicle speed, steering gear control and lighting brightness; using timer to realise the transmission of car data ,the breakdown of the car and calculate the car speeds; Using the simple PID algorithm tyre direct differential control; Using wireless wifi router launch, using the Lua script implements receiving MCU data and send operation instructions,and at last, it designs a web page to control the car B/S mode structure. Keyword: Arduino; PWM Pulse; PID arithmetic; Web manage

视频传输标准

视频传输标准 部门: xxx 时间: xxx 整理范文,仅供参考,可下载自行编辑

VGA概述 VGA(Video Graphics Array>是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。 目录[隐藏] VGA应用 VGA原理 内存寻址 程序技巧 技术性细节 标准文字模式 VGA色版 VGA线路 VGA 公插头(通常位于显示器侧> [编辑本段]VGA应用 VGA技术的应用还主要基于VGA显示卡的计算机、笔记本等设备,而在一些既要求显示彩色高分辨率图像又没有必要使用计算机的设备上,VGA技术的应用却很少见到。本文对嵌入式VGA显示的实现方法进行了研究。基于这种设计方法的嵌入式VGA显示系统,可以在不使用VGA显示卡和计算机的情况下,实现VGA图像的显示和控制。系统具有成本低、结构简单、应用灵活的优点,可广泛应用于超市、车站、飞机场等公共场所的广告宣传和提示信息显示,

也可应用于工厂车间生产过程中的操作信息显示,还能以多媒体形式应用于日常生活。b5E2RGbCAP [编辑本段]VGA原理 1 显示原理与VGA时序实现 通用VGA显示卡系统主要由控制电路、显示缓存区和视频BIOS程序三个部分组成。控制电路如图1所示。控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和D/A转换等功能;显示缓冲区提供显示数据缓存空间;视频BIOS作为控制程序固化在显示卡的ROM中。p1EanqFDPw 1.1 VGA时序分析 通过对VGA显示卡基本工作原理的分析可知,要实现VGA显示就要解决数据来源、数据存储、时序实现等问题,其中关键还是如何实现VGA时序。 VGA的标准参考显示时序如图2所示。行时序和帧时序都需要产生同步脉冲(Sync a>、显示后沿(Back porch b>、显示时序段(Display interval c>和显示前沿(Front porch d>四个部分。几种常用模式的时序参数如表1所示。DXDiTa9E3d 1.2 VGA时序实现 首先,根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率计算出行总周期数,再把表1中给出的a、b、c、d各时序段的时间按照主计数脉冲源频率折算成时钟周期数。在CPLD中利用计数器和RS触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图2中的

智能小车控制程序1

/*实现前进与后退功能*/ /*控制智能车向前行驶10秒,然后停3秒,再向后行驶6秒,停止*/ /********************************************************/ #include #define uint unsigned int /*进行端口声明时,应与具体硬件连接相对应,如不相互对应,将影响程序功能的正常实现*/ sbit S1=P1^3; //对电机端口声明 sbit S2=P1^4; sbit S3=P1^5; sbit S4=P1^6; /*功能函数定义*/ void delay(uint del) //延时函数,延时del毫秒 { uint i,j; for(i=0; i

{ go(); //前进 delay(10000); //前进10秒 stop(); //停止 delay(3000); //停3秒 back(); //后退 delay(6000); //后退6秒 stop(); //停止 }

多站点远程实时视频传输与控制系统

ISSN 1000-0054CN 11-2223/N 清华大学学报(自然科学版)J T singh ua Un iv (Sci &Tech ),2008年第48卷第7期 2008,V o l.48,N o.723/41 1154-1156   多站点远程实时视频传输与控制系统 刘小康, 戴梅萼, 王 昊, 吴照人, 孟凡博, 叶 银 (清华大学计算机科学与技术系,北京100084) 收稿日期:2006-01-22 基金项目:国家自然科学基金资助项目(60773148,60503039); 航天部创新基金项目(J0320060003) 作者简介:刘小康(1983—),男(汉),湖南,硕士研究生。通讯联系人:戴梅萼,教授,E-mail:me@tirc.cs.ts inghua.ed https://www.360docs.net/doc/3c7546061.html, 摘 要:为了实现远程监控图像的清晰,并保障系统的实时性和可靠性,需要高效率和高质量地进行视频压缩,无差错地进行快速网络传输,有效地进行命令控制。通过优化最新的H .264视频编码算法,设计有效的传输方案和引入自适应的传输机制来解决远程活动图像传输系统中存在的清晰、实时、高效、可靠性问题。实验结果表明:改进后的算法较原有的T .264编码方案速度提高了30%以上,设计的传输策略在保障传输速度的同时,能有效地适应不同的网络环境。在系统中引入的几个关键技术对远程视频传输系统提供了有力的支持。 关键词:应用软件;视频编码;视频传输;命令控制;自适 应;远程控制 中图分类号:T P 317 文献标识码:A 文章编号:1000-0054(2008)07-1154-03 Multiple site ,real -time video transmissions for remote control systems LIU Xiaokang ,DAI M ei ’e ,WANG Hao ,WU Zhaoren , MENG Fanbo ,YE Yin (Department of Computer Science and T echnology , T s inghua University ,Beij ing 100084,China ) Abstract :High image quality,fast,reliable rem ote control sys tems requ ire efficient video com pres sion algor ith ms, robus t netw ork tran smis sion strategies and effective control meth ods.T he H.264algorithm w as optim ized to des ign an effective tr ans miss ion meth od for a s elf-adaptive remote control sys tem.Tests sh ow that the optimized algorithm is more than 30%faster than the T.264algorithm. T he sys tem can b e applied to various netw ork en vir on men ts w ith more efficient transm ission.Th es e techniqu es sign ifican tly im prove remote con tr ol s ystem s. Key words :application software;video coding;video transm ission ; com man d control;s elf-adaptive,remote con tr ol 近年来网络多媒体技术越来越成熟,视频编码/解码技术也不断进步,H.264视频编码标准 [1] 的出 现,极大地提高了视频编码的压缩率,并能获得更好的视频重构质量。由于它支持多种视频格式和不同 网络条件,从而被迅速应用到各个领域,如视频点播、广播、视频压缩存储等。另一方面,视频监控技术的应用也越来越广泛,如交通管理中心对车流的监 控,护理中心对病人状况的监控等。该技术的核心问题是视频采集端的数据压缩、视频监控端的解压缩和二者之间的数据有效传输 [2,3] 。为减轻网络带宽负 荷,需要更高的视频压缩比;为实现更好的监控效果,需要更好的视频解码重构质量。 本文作者选用H.264进行视频压缩解压缩,并通过有效的传输方案和命令控制手段,实现了一个基于H.264的高保真活动图像远程传输与控制平台。 1 系统结构 整个视频传输与控制平台采用Client/Server 架构。采集端为Ser ver 端,获取原始的视频数据,作为服务器提供数据源;控制端作为Client 端,主动连接采集端获取视频数据,通过监控窗口显示远程视频图像,并对远程采集端进行命令控制。控制端通过多线程方式,可启动多个监控窗口,从而实现对多个采集站点进行实时监控。 整个视频远程传输与命令控制平台可分为3个子系统,具体包含9个小的功能模块。这3个子系统及其对应的模块描述如下。 1)视频编解码及传输子系统,包括模块如下。 a )视频采集与压缩模块。 从摄像头获取原始视频流,经H .264算法,形成压缩视频数据。 b)视频传输模块。将压缩视频数据经Internet 从采集端传输到控制端。 c )视频解压缩与显示模块。控制端解码并回放。

PWM调速+循迹__智能小车程序

//T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K 的上拉电阻。 /* 晶振采用12M,产生的PWM的频率约为100Hz */ #include #include #define uchar unsigned char #define uint unsigned int sbit en1=P3^4; /* L298的Enable A */ sbit en2=P3^5; /* L298的Enable B */ sbit s1=P1^0; /* L298的Input 1 */ sbit s2=P1^1; /* L298的Input 2 */ sbit s3=P1^3; /* L298的Input 3 */ sbit s4=P1^2; /* L298的Input 4 */ sbit R=P2^0; sbit C=P2^1; sbit L=P2^2; sbit key=P1^4; uchar t=0; /* 中断计数器*/ uchar m1=0; /* 电机1速度值*/ uchar m2=0; /* 电机2速度值*/ uchar tmp1,tmp2; /* 电机当前速度值*/ /* 电机控制函数index-电机号(1,2); speed-电机速度(0-100) */ void motor(uchar index, char speed) { if(speed<=100) { if(index==1) /* 电机1的处理*/ { m1=abs(speed); /* 取速度的绝对值*/ s1=1; s2=0; } if(index==2) /* 电机2的处理*/ { m2=abs(speed); /* 电机2的速度控制*/ s3=1; s4=0; } } } void Back(void) {

WIFI智能小车机器人

WIFI智能小车机器人 作者:福建师范大学协和学院陈洋斌叶志燕沈渊 指导教师:钟伟雄林民庆 作品简介 在平常的生活中,我们经常会见到有人在玩遥控车,甚至现在还有了遥控飞机。这一切在过去那些年都还只是人们眼中孩子们的玩具而已,然而随着科技的发展,关于机器人的电影,或者是现实生活中科学研究者研发出来的仿生机器人经常在各种媒体中不断的报导。这毫无疑问,再过个几十年,机器人将走进我们的家庭中,它将为我们带来更多的便利。如今,很多电子发烧友DIY出了各种版本WIFI机器人。Wifi Robot,顾名思义就是通过wifi无线网控制的机器人,比起普通的遥控车,它的好处就是遥控信号覆盖范围可以做到很广。 WIFI智能小车机器人是一种基于WIFI的无线远程智能遥控机器人,利用非常成熟的WIFI无线网络为数据载体,实现控制数据,视频数据传送而达到控制小车和视频监控等等功能。它是集无线通信、实时电机驱动、多向机械云台、视频监控、环境温度检测、为一体的多功能智能遥控车。本系统在电脑端上位机采用QT编程,由于QT面向多平台,并且可移植性好。通过QT编写的上位机,便可以把控制数据通过Socket发送到路由器,路由器再通过ser2net把数据包解开,然后转发到路由器的串口; 该系统的控制端采用STC15单片机作为微处理器,通过STC15单片机与路由器建立串口通信,便能利用路由器的串口数据进行控制电机的工作状态模式和三个陀机的工作角度。STC15单片机还负责实时监控环境温度并经过路由器反馈至电脑,让使用者可以实时了解小车所在地的气温,以便于在到达目的地之前设定好空调温度等应用。

平台选型说明 本设计使用本届大赛指定的单片机开发板(以STC15F2K61S2芯片为控制核心) 设计说明 1、设计要求 1.找一台能刷Linux的无线路由器,将其操作系统刷成OpenWrt。

实时视频传输与控制协议-v2

全球眼 实时视频传输和控制协议v2 修改历史 复审人

一、说明 这份协议描述了视频服务器与流媒体分发服务器、视频服务器与企业客户端之间传输实时视频的方法。文档中没有针对媒体分发服务器与企业客户端(第三方播放器)之间的通信方法,但是媒体分发服务器与企业客户端(第三方播放器)之间的通信方法尊守RTC1889和RPC2326定义的规范。 在这篇文档里我们把象视频服务器这样能够给观看者提供视频数据的设备称为逻辑上的服务端角色(也就是视频源),象企业客户端这样播放视频的终端设备称为逻辑上的客户端角色(也就是接收者或观看者)。流媒体分发服务器同时具有两种角色。 交互流程中列出了两种模式,我们当前要先实现接模式。推模式是为了视频服务器在私网环境时也可以通过流媒体发服务器向用户提供视频服务。推模式暂不实现。 协议中没有提及RTCP协议,但并不影响视频通信质量,而且目前很难实现有效的编解码之间返馈的处理方法,所以现在,以及将来的一段时间都不会考虑RTCP协议,除非出现有效的视频质量控制机制。 本文参考RFC 1889、1890、2326、3550完成,如有不符合标准的、或者不完善的陈述,请提出来,发电子邮件到piaoxichuang@。如果您有更好的想法也可以通过邮件进行交流。 二、协议 通信方式使用RTP over TCP方式。(RTC1889、RFC2326) 1、一个完整的包 网络字节顺序

2、RTP包的封装(RTP over TCP) 网络字节顺序 Channel Identifier:取值0。因为只有一个流在一个TCP连接中传递,同时不使用RTCP协议。参见RFC 2326 [10.12]节。 Lenth:取值为RTP包的大小,包括RTP头部,但不包含本身的4个字节,以BYTE为单位。 3、RTP 12字节头部 网络字节顺序 V:版本,取值2。[可能会使用0值,还没想清楚,可能的使用情况是为了实现防火墙穿透] P:附加数据,取值为0。 X:扩展头,取值为1。 CC:CSRC列表数量,取值为0。 M:记号,取值0或1。关于M字段的取值:如果扩展头中T字段为1,则当一个包(RTP Packet)是一个帧(Sample)的最后一个包时取值1,否则取值0;扩展头中T字段为1时,由于指令长度较小,一个RTP就可以传输完成,所以取值为1。除非要使用多个RTP包传输,最后一个RTP包取值为1,前面的包取值为0。 PT:负载类型,动态,取值96。参见RFC 1890 [7]节。 Sequence Number:RTP包的序号,初始值是随机的,不是0。 Timestamp:以视频编码算法提供者的需要填写或单调增长的时间戳。[将来可能把这个值也传递给视频解码算法中去。] SSRC:随机数,用于在同一个会话中区分不同的流。建议使用MD32。 UINT Y[4] If Y = MD5(X) Then MD32(X) = Y[1] ^ Y[2] ^ Y[3] ^ Y[4] 注:RTP包大小最大值为2048。(因为DSS支持的最大包为2048Bytes)

基于某51单片机的智能小车控制系统

工业职业技术学院 毕业设计 课题名称基于51与单片机的智能小车控制系统 系(院)名称电气工程系 专业及班级 学生 学号 指导教师

完成日期年11 月19 日

摘要 随着我国科学技术的进步,智能化作为现代社会的新产物开始越来越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域,使智能机器人越来越多样化。智能小车是一个多种高薪技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,可以涉及到当今许多前沿领域的技术。 整个小车平台主要以51单片机为控制核心,通过无线遥控实现前进后退和转向行驶,通过红外线传感器,实现小车的自适应巡航、避障等功能。设计采用对比选择,模块独立,综合处理的研究方法。通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。从电机车体,最小系统到无线遥控,红外线对管的自动寻迹再到红外线自动避障和语音控制,完成各模块设计。通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。 关键字:智能小车,单片机,红外传感器。

目录 第一章绪论.............................................................................................................................- 1 - 1.1.1智能循迹小车概述........................................................................................................- 1 - 1.1.2课题研究的目的和意义 ...............................................................................................- 2 - 1.1.3智能循迹小车智能循迹分类.......................................................................................- 3 - 1.1.4智能循迹小车的应用....................................................................................................- 3 - 第二章方案设计 ..........................................................................................................................- 5 - 2.1 主控系统.........................................................................................................................- 5 - 2.2单片机最小系统 ...............................................................................................................- 6 - 2.2.1 STC89C52简介...................................................................................................- 6 - 2.2.2 时钟电路...............................................................................................................- 8 - 2.2.3复位及复位电路....................................................................................................- 8 - 2.3 电机驱动模块................................................................................................................ - 10 - 2.4 循迹及避障模块............................................................................................................ - 11 - 2.5 机械系统......................................................................................................................... - 11 - 2.6电源模块......................................................................................................................... - 11 - 第三章硬件设计 ..................................................................................................................... - 12 - 3.1总体设计......................................................................................................................... - 12 - 3.1.1主板设计框图..................................................................................................... - 12 - 主板设计框图如图3-1,所需原件清单如表3-1 .................................................. - 12 -

基于单片机的WIFI智能小车设计

基于单片机的WIFI智能小车设计 摘要 WIFI智能小车由电机、小车车体、89C52控制芯片、WIFI收发模块、电机驱动、舵机、电源、摄像头等主要部件以及灯光、蜂鸣器、电平转换等辅助模块构成。WIFI智能小车利用笔记本或手机等能连接无线路由器的终端智能设备连接到路由器,通过应用软件显示路由器上摄像头上采集到的视频信号,再通过这些智能的终端设备发送控制指令到无线路由器,通过无线路由器将指令传送给单片机进行处理。然后通过单片机控制电机驱动驱动电机转动、舵机转动,从而实现控制小车的运动及视频采集。 关键词:路由器;wifi;智能小车;89C52

Abstract The intelligent WIFI car involved a motor, a body, the 89C52 control chip, a WIFI transfer module, motor drivers, a power supply, lights, a buzzer and a voltage converter. The intelligent WIFI car can use an intelligent terminal (such as a laptop or a mobile phone) to connect with the router and use application software to display the video signal collected by the camera, then the intelligent terminal will send control commands which can be processed by the MCU though the routers. The MCU will control the turning of motors and realize the moving of the car and the video collection. Keywords:Router;WIFI;intelligent car;89C52

视频传输类型及原理简介

视频传输类型及原理简介 视频传输 规定:视频设备的输入输出阻抗75Ω(相互配接和通用性) 种类:1、基带同轴传输。 2、基带双绞线传输。 3、射频调制解调传输。 4、光缆调制解调传输。 5、视频数字(网络)传输。 6、微波传输。 7、无线天线视频监控系统。 一、基带同轴传输:{0~6M,1V p-p,75Ω} 图: 同轴电缆是唯一可以不用附加传输设备也能有效传输视频信号方法。(绝对衰减最小)。突出矛盾就是频率失真,在传输通道视频失真度条件下,75-5可传输120m(200m以上可观察到失真)。 “频率加权放大技术”目前已成熟,仅用一个末端补偿设备,75-5→2000m;若前后补偿,可到3000m。 单端不平衡传输,一根为信号线;一根为零线,优点:传输阻抗,不受外界干扰和不对外产生干扰。缺点:分布参量值较大,损耗严重。线越长越严重。 线缆衰减是指线缆传输信息期发生的能量降低或损耗,它遵循一种叫趋肤效应和近似效应的物理定理,随着频率的增加会增大,导体内部的电子流产生的磁场迫使电子向导体表面聚集,频率越高这个表层越薄,这一效应对电缆的衰减影响相当显著,且衰减与频率的平方根近似成正比。 可知要求 75-5≤200m 75-7≤400m 75-9≤600m 75-13≤800m 如超过800m,不建议用同轴传输,由于分布参数更大,寄生干扰引入,图像质量下降。 二、双绞线传输: 图: 平衡传输方式:不平衡输入的视频经发送器A转换为平衡输出,传输回路的两根线分别是幅度相等相位相反的差分信号,在接收器B中将平衡信号再转换回不平衡信号,以便与现行设备配接。 由于双绞线上的两个信号大小相等,极性相反,且两线相绞(不断改变方向),这样线间的寄生电抗与其相邻电抗也极性相反大小相等。(两线完全平衡时)图: C1、C2、…C n是每对双绞线每一绕结的分布电容。 L1、L2、…L n是每对双绞线每一绕结的感应电感。

AVB下一代网络音视频实时传输技术

下一代下一代网络网络网络音视频音视频音视频实时传输实时传输实时传输技术技术 -- Ethernet AVB 作者作者::何冬(首席工程师, Dong.He@https://www.360docs.net/doc/3c7546061.html, ) 黄晟(工程师, Sheng.Huang@https://www.360docs.net/doc/3c7546061.html, ) Charles Wang (技术总监, Charles.Wang@https://www.360docs.net/doc/3c7546061.html, ) 哈曼哈曼((上海上海))研发中心集团技术研究部 摘要 以太网音视频桥接技术(Ethernet Audio/Video Bridging ,以下简称Ethernet A VB )是一项新的IEEE 802标准,其在传统以太网络的基础上,通过保障带宽(Bandwidth ),限制延迟(Latency )和精确时钟同步(Time synchronization),提 供完美的服务质量(Quality of Service, 简称QoS ) ,以支持各种基于音频、视频的网络多媒体应用。Ethernet A VB 关注于增强传统以太网的实时音视频性能,同时又保持了100%向后兼容传统以太网,是极具发展潜力的下一代网络音视频实时传输技术。 引言 1982年12月IEEE 802.3标准的发布,标志着以太网技术的起步。经过不到30年的发展时间,以太网的传输速度已经从最初的10Mbps 发展到100Mbps 、1000Mbps 、10Gbps ,甚至即将出现的100Gbps 。以太网低廉的端口价格和优越的性能,使得以太网占据了整个局域网的85%左右,而基于以太网的网桥、集线器、交换机和路由器则构成了互联网体系相当重要的组成部分。 近十几年来,消费者对于以太网上的多媒体应用的需求日益剧增,这对网络的带宽及服务质量都提出了更高的要求。不过,由于以太网原本只设计用于处理纯粹的静态非实时数据和保证其可靠性,至于顺序和包延迟等并非作为重要的考虑因素。尽管传统二层网络已经引入了优先级(Priority)机制,三层网络也已内置了服务质量(QoS )机制,但由于多媒体实时流量与普通异步TCP 流量存在着资源竞争,导致了过多的时延(Delay )和抖动(Jitter ),使得传统的以太网无法从根本上满足语音、多媒体及其它动态内容等实时数据的传输需要。 IEEE 802.1 A VB 工作组正致力于制定一系列的新标准, 对现有的以太网进行功能扩展,通过建立高质量、低延迟、时间同步的音视频以太网络,为家庭或企业提供各种普通数据及实时音视频流的局域网配套解决方案。 Ethernet A VB 网络的构成 为了在以太网上提供同步化低延迟的实时流媒体服务,需要建立A VB 网络,称之为A VB “云”(Cloud )。A VB “云”的建立需要至少速度在100Mbps 以上的全双工(Full-duplex )以太链路,这就需要能保障传输延迟的A VB 交换机(Switch)和终端设备(End Point),以及逻辑链路发现协议(IEEE 802.1AB - LLDP ),用于设备之间交换支持A VB 的协议信息。 如图1所示,在A VB “云”内,由于延迟和服务质量得到保障,能够高质

智能循迹小车C程序(完美-详尽)

-----------------------小车运行主程序------------------- -------------------------------------------------------- 简介:@模块组成:红外对管检测模块----五组对管,五个信号采集端口 直流电机驱动模块----驱动两个直流电机,另一个轮子用万向轮 单片机最小系统------用于烧写程序,控制智能小车运动 @功能简介:在白色地面或皮质上用黑色胶带粘贴出路线路径宽度微大于相邻检测管间距。 这样小车便可在其上循迹运行。 @补充说明:该程序采取“右优先”的原则: 即右边有黑线向右转, 若无,前方有黑线,向前走, 若无,左边有黑线,向左转, 若全无,从右方向后转。 程序开头定义的变量的取值是根据我的小车所调试选择好的, 如果采用本程序,请自行调试适合自己小车的合适参数值。 编者:陈尧,黄永刚(江苏大学电气学院二年级,三年级) 1.假定:IN1=1,IN3=1时电机正向转动,必须保证本条件 2.假定:遇到白线输出0,遇到黑线输出1; 如果实际电路是:遇到白线输出1,遇到黑线输出0, 这种情况下只需要将第四,第五句改成: #define m0 1 #define m1 0 即可。 3.说明1:直行---------------速度full_speed_left,full_speed_right. 转弯,调头速度------correct_speed_left,correct_speed_right. 微小校正时---------高速轮full_speed_left,full_speed_right; 低速轮correct_speed. 可以通过调节第六,七,八,九,十条程序,改变各个状态 下的占空比(Duty cycle ),以求达到合适的转弯,直行速度 4.lenth----------length检测到黑线到启动转动的时间间隔 5.width----------mid3在黑线上到脱离黑线的时间差 6.mid3-----------作为判断中心位置是否进入黑线的标志,由于运行的粗糙性和惯性, 常取其他对管的输出信号作为判断条件 7.check_right----若先检测到左边黑线,并且左边已出黑线,判断右端是否压黑线时间拖延

相关文档
最新文档