本帖最后由 leo102 于 2013-10-28 19:24 编辑
硬件 Arduino UNO Pro 3, 以太网控制器 ENC28J60用网线连接到路由器, LED灯,连接在Arduino的第七个引脚。
代码来自 zcbzjx 翻译的教程:http://www.geek-workshop.com/thread-3438-1-1.html- #include <EtherCard.h>
- #define RELAY_PIN 7
- static byte mymac[] = {
- 0x74,0x69,0x69,0x2D,0x30,0x31};
- static byte myip[] = {
- 192,168,0,105};
- byte Ethernet::buffer[700];
复制代码 定义MAC地址和ip地址。- void setup () {
- Serial.begin(57600);
- Serial.println("WebRelay Demo");
- if(!ether.begin(sizeof Ethernet::buffer, mymac, 10))
- Serial.println( "Failed to access Ethernet controller");
- else
- Serial.println("Ethernet controller initialized");
- ether.hisport = 8081; // 侦听端口:8081
- if(!ether.staticSetup(myip))
- Serial.println("Failed to set IP address");
- pinMode(RELAY_PIN, OUTPUT);
- digitalWrite(RELAY_PIN, LOW);
- relayStatus = false;
- relayLabel = off;
- linkLabel = on;
- }
复制代码 初始化。设置Arduino的侦听端口为8081.
路由器设置如附件1所示。
用与Arduino同一局域网的电脑可以控制:浏览器里输入地址:http://192.168.0.105:8081,可以访问并控制Arduino。如附件2所示。
记录当前Arduino所连路由器的外网ip地址:122.XX.157.7,如附件3所示。
使用不在同一个网段的电脑访问:http://122.XX.157.7:8081,无法连接到Arduino。如附件4所示。
看了不少教程,大多都是用这个方法,应该是可行的。可是不知道为什么,我就是无法实现。求高手不吝指教。
Yeelink不在讨论范围之内。
|