小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 6155|回复: 4

【经验分享】wifi双向通信控件--方便二次开发

[复制链接]
发表于 2013-12-12 15:11:42 | 显示全部楼层 |阅读模式
本帖最后由 whble 于 2013-12-12 15:14 编辑

好长时间没有在论坛冒泡的,最近花不少时间在学习openwrt基础知识,还有视觉那方面,现在抽空来分享最近的学习东西。
呵呵,其实也没什么很深的东西,高手莫拍。
今天先发个双向通信控件吧,是之前双向通信软件的再次拓展,能够很方便的使用来二次开发。
首先看看控件的样子吧,左边框框就是控件的样子了,右边是开发时的属性。
24.jpg
如何使用它,很简单下面例子,wificonnect1是这个控件,首先在form_load先设置我们通信协议的数据长度以及委托一个方法来接收数据(这里委托的是gatdata()),
主要用来接收数据。接收的方法中我们通过一个label来显示。发送数据也简单,通过一个按钮将textbox中的数据发送出去就可以了。
使用这个控件不需要去管如何实现SOCKET通信如何建立连接啊、实现通信和数据接收啊等等 拿来就能用,方便。
(在学习这个过程中真心体会到面相对象的超级优点了,可怜单片机编程还在面相过程中纠结{:soso_e118:})


  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             wifiConnect1.Datalenth = 5;//设置数据长度
  4.             wifiConnect1.getDataDelegate = getdata; //委托接收方法
  5.         }

  6.         private void getdata(string s)
  7.         {
  8.             toolStripStatusLabel2.Text = s; //接收串口数据,数据长度为5时数据协议为 FF .. .. .. FF
  9.         }

  10.         private void button3_Click(object sender, EventArgs e)
  11.         {
  12.             if (textBox1.Text.Length!=0)
  13.             {
  14.                 if (wifiConnect1.State == EmoConnect.WifiConnect.ConnectState.Conneted)
  15.                 {
  16.                     wifiConnect1.SendData(textBox1.Text);
  17.                 }
  18.             }
  19.             else
  20.             {
  21.             MessageBox.Show("the send data can't null");
  22.             }
  23.         }
复制代码
接下来看看接收wifi摄像头图像的实现吧,
QQ截图20131212144509.jpg 首先实例化camera_v1,然后通过按钮1的事件来创建camera_v1,参数第一个是要接收图像的picturebox,第二个是摄像头地址也就是通常的“http://192.168.1.1:8080?action=stream”,第三个是摄像头类型 选择webDevice设备这样就OK了,关闭只要调用StopCapture();,开始录像只要调用StartRecording(),停止调用StopRecording();简单就完成了录像开启和关闭了。
  1. camera_v1 cam;

  2.         private void button1_Click(object sender, EventArgs e)
  3.         {
  4.             if (cam == null)
  5.             {
  6.                 cam = new camera_v1(pictureBox1,wifiConnect1.CamAddr,camera_v1.CameraType.WebDevice);
  7.             }
  8.         }

  9.         private void button2_Click(object sender, EventArgs e)
  10.         {
  11.             if (cam != null)
  12.             {
  13.                 cam.StopCapture();
  14.                 cam = null;
  15.             }
  16.         }
  17.         private void button5_Click(object sender, EventArgs e)
  18.         {
  19.             if (!Directory.Exists(Application.StartupPath + "\\SaveVideo"))
  20.             {
  21.                 Directory.CreateDirectory(Application.StartupPath + "\\SaveVideo");
  22.             }
  23.             if (cam != null)
  24.             {
  25.                 if (cam.IsRecording)
  26.                 {
  27.                     cam.StopRecording();
  28.                     cam.IsRecording = false;
  29.                     button5.Text = "开始录像";
  30.                 }
  31.                 else
  32.                 {
  33.                     cam.StartRecording(Application.StartupPath + "\\SaveVideo\",“001”, 15);//这里的参数是保存录像的路径,名称,帧频。
  34.                     button5.Text = "停止录像";
  35.                     cam.IsRecording = true;
  36.                 }
  37.             }
  38.         }
复制代码

socket类
socketFunc.dll (8.5 KB, 下载次数: 30)

评分

参与人数 1威望 +1 金钱 +3 贡献 +2 收起 理由
liuviking + 1 + 3 + 2 很给力!

查看全部评分

回复

使用道具 举报

发表于 2013-12-12 16:17:37 | 显示全部楼层
{:3_41:}{:3_48:}{:3_42:}   兰州好人
回复 支持 反对

使用道具 举报

发表于 2014-2-24 23:19:23 | 显示全部楼层
太牛逼了,赞一个
回复 支持 反对

使用道具 举报

发表于 2014-5-9 17:45:51 | 显示全部楼层
东西真是好东西,直接拿来应该就可以用,只是没有SLN文件啊~~~虽然啥都不缺~
回复 支持 反对

使用道具 举报

发表于 2014-7-14 14:19:08 | 显示全部楼层
来晚了,网盘的东西没了,哎,谁能再传一个啊?好人
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-26 11:26 , Processed in 1.170663 second(s), 24 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表