本帖最后由 whble 于 2013-12-12 15:14 编辑
好长时间没有在论坛冒泡的,最近花不少时间在学习openwrt基础知识,还有视觉那方面,现在抽空来分享最近的学习东西。
呵呵,其实也没什么很深的东西,高手莫拍。
今天先发个双向通信控件吧,是之前双向通信软件的再次拓展,能够很方便的使用来二次开发。
首先看看控件的样子吧,左边框框就是控件的样子了,右边是开发时的属性。
如何使用它,很简单下面例子,wificonnect1是这个控件,首先在form_load先设置我们通信协议的数据长度以及委托一个方法来接收数据(这里委托的是gatdata()),
主要用来接收数据。接收的方法中我们通过一个label来显示。发送数据也简单,通过一个按钮将textbox中的数据发送出去就可以了。
使用这个控件不需要去管如何实现SOCKET通信如何建立连接啊、实现通信和数据接收啊等等 拿来就能用,方便。
(在学习这个过程中真心体会到面相对象的超级优点了,可怜单片机编程还在面相过程中纠结{:soso_e118:})
- private void Form1_Load(object sender, EventArgs e)
- {
- wifiConnect1.Datalenth = 5;//设置数据长度
- wifiConnect1.getDataDelegate = getdata; //委托接收方法
- }
- private void getdata(string s)
- {
- toolStripStatusLabel2.Text = s; //接收串口数据,数据长度为5时数据协议为 FF .. .. .. FF
- }
- private void button3_Click(object sender, EventArgs e)
- {
- if (textBox1.Text.Length!=0)
- {
- if (wifiConnect1.State == EmoConnect.WifiConnect.ConnectState.Conneted)
- {
- wifiConnect1.SendData(textBox1.Text);
- }
- }
- else
- {
- MessageBox.Show("the send data can't null");
- }
- }
复制代码 接下来看看接收wifi摄像头图像的实现吧,
首先实例化camera_v1,然后通过按钮1的事件来创建camera_v1,参数第一个是要接收图像的picturebox,第二个是摄像头地址也就是通常的“http://192.168.1.1:8080?action=stream”,第三个是摄像头类型 选择webDevice设备这样就OK了,关闭只要调用StopCapture();,开始录像只要调用StartRecording(),停止调用StopRecording();简单就完成了录像开启和关闭了。
- camera_v1 cam;
- private void button1_Click(object sender, EventArgs e)
- {
- if (cam == null)
- {
- cam = new camera_v1(pictureBox1,wifiConnect1.CamAddr,camera_v1.CameraType.WebDevice);
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- if (cam != null)
- {
- cam.StopCapture();
- cam = null;
- }
- }
- private void button5_Click(object sender, EventArgs e)
- {
- if (!Directory.Exists(Application.StartupPath + "\\SaveVideo"))
- {
- Directory.CreateDirectory(Application.StartupPath + "\\SaveVideo");
- }
- if (cam != null)
- {
- if (cam.IsRecording)
- {
- cam.StopRecording();
- cam.IsRecording = false;
- button5.Text = "开始录像";
- }
- else
- {
- cam.StartRecording(Application.StartupPath + "\\SaveVideo\",“001”, 15);//这里的参数是保存录像的路径,名称,帧频。
- button5.Text = "停止录像";
- cam.IsRecording = true;
- }
- }
- }
复制代码
socket类
socketFunc.dll
(8.5 KB, 下载次数: 30)
|