网络类智能开关控制板采用 TCP/IP 协议与控制主机(PC 机)进行通讯,运
行稳定可靠,传输距离远,尤其适合不方便布线的场所。每块开关板分配一个唯
一的 IP 地址,通过 IP 地址进行控制数据的传输区分;每个开关触点容量为
220V/10A,一般情况下推荐使用到 6A 左右,太大的电流请使用我公司的 30A 控
制卡。
网络类普通型号(有线、无线和混合网络)可以直接连路由器,手机和电脑
连接路由器后均可以控制,但是异地远程需要路由器所在网络有外网 IP,通过
花生壳+端口映射即可实现异地远程。云转发型号直接支持异地远程,插上网线
手机和电脑软件中输入设备序列号即可异地远程进行开关控制

下面以两路的控制板举例:硬件图片

设置界面:

demo代码:

using System;
using System.Net;
using System.Net.Sockets;using System.Windows.Forms;namespace 远程智能开关控制板
{public partial class Form1 : Form{public Form1()
{InitializeComponent();}private void Form1_Load(object sender, EventArgs e)
{radioButton1.Checked = true;textBox1.Text = "192.168.1.80";textBox2.Text = "3000";}private void SendData(IPAddress remoteIP, int Port,byte[] bits)
{//实例化socket               Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);IPEndPoint ipep = new IPEndPoint(remoteIP, Port);socket.Connect(ipep);//socket.Send(bits, 8, SocketFlags.None);socket.Send(bits);socket.Close();}private void button1_Click(object sender, EventArgs e)
{byte[] order = new byte[8];foreach (RadioButton c in groupBox1.Controls){if (c.Checked){switch (c.Name){case "radioButton1": order = new byte[] { 0x55, 0x01, 0x12, 0x00, 0x00, 0x00, 0x01, 0x69 }; break;//闭合第一路case "radioButton2": order = new byte[] { 0x55, 0x01, 0x12, 0x00, 0x00, 0x00, 0x02, 0x6a }; break;//闭合第二路case "radioButton3": order = new byte[] { 0x55, 0x01, 0x12, 0x00, 0x00, 0x00, 0x03, 0x6b }; break;//闭合第三路case "radioButton4": order = new byte[] { 0x55, 0x01, 0x12, 0x00, 0x00, 0x00, 0x04, 0x6c }; break;//闭合第四路default: break;}}}SendData(IPAddress.Parse(textBox1.Text), int.Parse(textBox2.Text), order);MessageBox.Show("闭合指令发送成功");}private void button2_Click(object sender, EventArgs e)
{byte[] order = new byte[8];foreach (RadioButton c in groupBox1.Controls){if (c.Checked){switch (c.Name){case "radioButton1": order = new byte[] { 0x55, 0x01, 0x11, 0x00, 0x00, 0x00, 0x01, 0x68 }; break;//断开第一路case "radioButton2": order = new byte[] { 0x55, 0x01, 0x11, 0x00, 0x00, 0x00, 0x02, 0x69 }; break;//断开第二路case "radioButton3": order = new byte[] { 0x55, 0x01, 0x11, 0x00, 0x00, 0x00, 0x03, 0x6a }; break;//断开第三路case "radioButton4": order = new byte[] { 0x55, 0x01, 0x11, 0x00, 0x00, 0x00, 0x04, 0x6b }; break;//断开第四路default: break;}}}SendData(IPAddress.Parse(textBox1.Text), int.Parse(textBox2.Text), order);MessageBox.Show("断开指令发送成功");}}
}

运行界面:

C#网络类智能开关控制板实例相关推荐

  1. android socket 发送byte_如何正确地创建和销毁网络通讯程序中的Socket类的对象实例...

    软件项目实训及课程设计指导--如何正确地创建和销毁软件应用系统中网络通讯中的Socket类的对象实例 1.基于TCP/IP协议的Socket通信相关的基础知识 (1)TCP/IP(Transmissi ...

  2. java exception子类_Java异常 Exception类及其子类(实例讲解)

    C语言时用if...else...来控制异常,Java语言所有的异常都可以用一个类来表示,不同类型的异常对应不同的子类异常,每个异常都对应一个异常类的对象. Java异常处理通过5个关键字try.ca ...

  3. C++网络:IO复用epoll服务器-附带网络聊天室代码实例

    //! //! C++网络:IO复用epoll服务器-附带网络聊天室代码实例 //! //! ===== IO复用简介 ===== //! 众所周知,在LINUX中有一切皆文件的说法,将文件视为一种I ...

  4. 华为云--网络类服务实践

    网络类服务实践 华为云 创建网络环境 实验任务: 在上海一区域创建 2 个 VPC:VPC-SH01(2 个子网:subnet-01.subnet-02)和VPC-SH02(subnet-03). 在 ...

  5. python中属性和类级变量_六、Python类变量和实例变量(类属性和实例属性)

    我们知道,无论是在类中定义的属性还是方法,在类的外部,都无法直接调用它们,因此,我们完全可以把类看做是一个独立的作用域(称为类命名空间),则类属性其实就是定义在类命名空间内的变量(类方法其实就是定义的 ...

  6. python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...

    前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...

  7. python类对象和实例对象

    类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称. 因此,如果类定 ...

  8. 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...

    问题 今天在项目中遇到了个奇怪的问题,实例的一个时间属性并没有根据时间变化而变化,分析之后恍然大悟,总结下分享给大家.大家先看一段代码: import datetime import time cla ...

  9. python 类可以调用实例变量_python中的实例方法、静态方法、类方法、类变量和实例变量浅析...

    注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: class Foo: def __init__(self, name): self.name = name ...

最新文章

  1. @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值
  2. 这份工程师简历火了:手磨14nm咖啡,在微软传播性病,90%公司伸橄榄枝
  3. svn(subversion)代码版本管理在linux下的一些常见使用命令
  4. 【LIBSVM中的 SVMcgForClass提示不存在的解决方法】
  5. sklearn自学指南(part7)--使用手册的目录
  6. redis-day1
  7. ExtJs控件属性配置详细(转)
  8. linux NAND驱动之一:内核中的NAND代码布局
  9. FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
  10. Eigen教程(6)之高级初始化方法
  11. Ubuntu14 添加程序启动
  12. spss分析方法-主成分分析
  13. 【配置管理】配置审核-物理配置审核-功能配置审核-配置管理审核
  14. 计算机图形学-样条曲线Spline
  15. 数据库出货加权平均成本计算问题
  16. 全民一起VBA提高篇 第三十二回 Select 简化分枝结构,静态变量坐看沧海桑田
  17. 计算机网络之物理层,数据链路层,网络层 学习笔记
  18. ei指什么_EI是什么
  19. STM32跑马灯实验的基本步骤(库函数)
  20. Android 性能优化探究,不愧是Alibaba技术官

热门文章

  1. linux tomcat 启动权限不足解决办法
  2. android 自定义menu背景,Android编程实现自定义系统菜单背景的方法
  3. segnet 编译与测试
  4. iOS回顾笔记( 02 ) -- 由九宫格布局引发的一系列“惨案”
  5. ReactDom.render和React.render的区别
  6. cocos2d-x 3.0rc2中读取sqlite文件
  7. 实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)
  8. 在 App 扩展和主 App 间共享数据
  9. RTP在。net中的使用(资料)
  10. ubuntu 安装 php