资料介绍
描述
如何使用 Arduino UNO 和以太网屏蔽 ENC28j60 制作 LAN/以太网继电器开关。这是一个简单的教程,通过局域网远程控制。
为了控制它,我使用了 HTTP 和 JSON。该电子电路可用作更大系统 IoT 物联网的一部分。
查看更多: 如何使用 Arduino UNO 制作 LAN/以太网中继开关。
第 1 步:组件
第 2 步:示意图
第 3 步:以太网模块 ENC28J60
第 4 步:软件
该软件支持两个继电器,但增加它们的数量不是问题。IP 设备永久分配给 192.168.0.101。如果您有更多设备在同一网络上工作,则必须记住唯一的 IP 和 MAC 地址。
#include // Used for Ethernet #define PIN_LED 2 #define PIN_RELAY_0 A5 #define PIN_RELAY_1 A4 // **** ETHERNET SETTING **** // Ethernet MAC address - must be unique on your network byte mac[] = { 0x41, 0x44, 0x41, 0x43, 0x48, 0x41 }; //Ethernet interface IP address (unique in your network) IPAddress ip(192, 168, 0, 101); //ethernet interface IP port (80 = http) EthernetServer server(80); EthernetClient client; String str = ""; void setup() { Serial.begin(115200); Serial.print("START"); pinMode(PIN_RELAY_0, OUTPUT); pinMode(PIN_RELAY_1, OUTPUT); SW(0, LOW); SW(1, LOW); // start the Ethernet connection and the server: Ethernet.begin(mac, ip); server.begin(); Serial.print("IP Address: "); Serial.println(Ethernet.localIP()); Serial.println(); } void loop() { client = server.available(); if( client ){ Serial.println("BEGIN-------------->\n"); boolean currentLineIsBlank = true; String line = ""; bool firstLine = true; while (client.connected()){ if (client.available()) { char c = client.read(); Serial.print(c); if (c == '\n' && currentLineIsBlank) { String html = "{"; for(int i=0; i<2; i++){ if( SW_state(i) ){ html += ""sw_"+String(i)+"":1 "; }else{ html += ""sw_"+String(i)+"":0 "; } if( i<1 ) html += ","; } html += "}"; client.println(html); break; } if (c == '\n') { currentLineIsBlank = true; if( firstLine ) { firstLine = false; Serial.println("-------------------------------" + line); if( line.indexOf( "sw_on=0" ) >= 0 ){ SW(0, HIGH); }else if( line.indexOf( "sw_on=1" ) >= 0 ){ SW(1, HIGH); }else if( line.indexOf( "sw_off=0" ) >= 0 ) { SW(0, LOW); }else if( line.indexOf( "sw_off=1" ) >= 0 ){ SW(1, LOW); } } }else if (c != '\r') { currentLineIsBlank = false; if( firstLine ) { line = line + c; } } } } delay(10); client.stop(); Serial.println("END-------------->\n"); } } bool SW_state(byte num){ bool val; switch(num){ case 0: val = digitalRead(PIN_RELAY_0); break; case 1: val = digitalRead(PIN_RELAY_1); break; } return !val; } void SW(byte num, bool val){ val = !val; switch(num){ case 0: digitalWrite(PIN_RELAY_0, val); break; case 1: digitalWrite(PIN_RELAY_1, val); break; } }
第 5 步:测试
要打开继电器,只需在浏览器中输入链接。http://192.168.0.101/sw_on=1 ,“1”为继电器编号。关闭继电器http://192.168.0.101/sw_off=1 。作为响应,我们得到一个 JSON 中继状态。{"sw_0":0 ,"sw_1":0 }
- 基于FPGA的以太网中继器设计
- Arduino以太网Rfid阅读器
- 使用以太网的Arduino Web服务器显示传感器数据 2次下载
- 如何将Arduino Uno安装在面包板上来制作DIY Arduino Uno
- 基于Arduino Uno的以太网控制器 0次下载
- 使用TCS3200和Arduino Uno制作Arduino Chameleon
- 制作的Arduino UNO克隆板
- arduino loar_ENC28J60以太网模块与Arduino的连接方案介绍
- LAN9512和LAN9513及LAN9514以太网控制器的数据手册免费下载 12次下载
- LAN7500和LAN7500i高速USB 2.0以太网控制器的数据手册免费下载 5次下载
- 具有RGMII的超高速USB的以太网控制器LAN7801详细中文数据手册
- Microchip以太网开关和EtherCAT工业控制器及MAC PHY控制设计解决方案
- 基于DSP与LAN91C111的以太网实现 26次下载
- 基于FPGA的100BASE-TX工业以太网中继器的设计 47次下载
- 万兆以太网LAN与WAN技术的研究
- Profinet与以太网的区别 4571次阅读
- 工业以太网的特点 工业以太网的关键技术包含哪些? 2036次阅读
- 简单认识以太网接口集成电路 696次阅读
- 东沃10G(万兆)以太网Ethernet网口浪涌静电防护方案 1839次阅读
- 以太网笔记:快速以太网100Base-TX接口及编码 9877次阅读
- FPGA如何为以太网和千兆以太网解决低功耗问题 4130次阅读
- 如何利用Arduino UNO和SD卡制作音乐播放器 8107次阅读
- 基于HFCT-53D5光纤收发器的千兆位以太网解决方案 3191次阅读
- 微雪电子LAN8720 ETH Board以太网模块简介 8228次阅读
- dfrobot以太网络扩展板-W5200简介 1868次阅读
- 工业以太网的特点_工业以太网的技术特点 7124次阅读
- 一文详解什么是实时以太网 1.3w次阅读
- 汽车以太网与工业以太网物理层对比 1.4w次阅读
- 汽车以太网标准为什么这么重要?汽车以太网标准有什么作用? 1.5w次阅读
- 基于Xilinx FPGA的千兆以太网控制器的开发 3w次阅读
下载排行
本周
- 1A7159和A7139射频芯片的资料免费下载
- 0.20 MB | 55次下载 | 5 积分
- 2PIC12F629/675 数据手册免费下载
- 2.38 MB | 36次下载 | 5 积分
- 3PIC16F716 数据手册免费下载
- 2.35 MB | 18次下载 | 5 积分
- 4dsPIC33EDV64MC205电机控制开发板用户指南
- 5.78MB | 8次下载 | 免费
- 5STC15系列常用寄存器汇总免费下载
- 1.60 MB | 7次下载 | 5 积分
- 6模拟电路仿真实现
- 2.94MB | 4次下载 | 免费
- 7PCB图绘制实例操作
- 2.92MB | 2次下载 | 免费
- 8零死角玩转STM32F103—指南者
- 26.78 MB | 1次下载 | 1 积分
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 452次下载 | 免费
- 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
- 5.67 MB | 141次下载 | 1 积分
- 3基于STM32单片机智能手环心率计步器体温显示设计
- 0.10 MB | 137次下载 | 免费
- 4A7159和A7139射频芯片的资料免费下载
- 0.20 MB | 55次下载 | 5 积分
- 5PIC12F629/675 数据手册免费下载
- 2.38 MB | 36次下载 | 5 积分
- 6如何正确测试电源的纹波
- 0.36 MB | 19次下载 | 免费
- 7PIC16F716 数据手册免费下载
- 2.35 MB | 18次下载 | 5 积分
- 8Q/SQR E8-4-2024乘用车电子电器零部件及子系统EMC试验方法及要求
- 1.97 MB | 8次下载 | 10 积分
总榜
- 1matlab软件下载入口
- 未知 | 935121次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73810次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论
查看更多