查看“Microduino W5500网络(七)/zh”的源代码
←
Microduino W5500网络(七)/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用web浏览器来控制Microduino,从而控制一个led。 ==设备== *'''[[Microduino-Core/zh]]''' *'''[[Microduino-USBTTL/zh]]''' *'''[[Microduino-ENC28J60/zh]]''' *'''[[Microduino-RJ45/zh]]''' *其他硬件设备 **USB数据连接线 一根 **220欧姆电阻 一个 **LED灯 一个 **面包板跳线 一盒 ==一些HTML== 先来了解一下HTML,当你的浏览器请求Microduino时,它会向你的浏览器发送如下图的HTML: [[File:W5500htmlcode.png|600px|center|thumb]] 上图绿色为HTML部分,显示的是Led的实际工作状态和一个按钮来改变它。 从HTML页面的源代码我们可以找到变量的元素,即根据Led状态来改变的元素。 从代码中,我们还可以了解,当用户单击按钮时发生了什么事情:浏览器会请求Microduino如下页面。 */?status=ON,如果我们要打开Led; */?status=OFF,如果我们要关闭Led。 name=value它的作用是通过GET方法向web服务器发送一个标准的表单。 ==原理图== *Microduino-W5500 *Microduino-RJ45 *Microduino-Core *Microduino-USBTTL 层层堆叠,再插上网线。 如下图所示: [[File:MicroduinoW5500SchematicLED.png|600px|center|thumb]] ==程序== [[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced_Tutorial/W5500Code/MicroduinoW5500Seven MicroduinoW5500Seven]] ==调试== 步骤一:首先需要确保你的IDE中有_02_Microduino_Ethernet_WIZ库,如果没有下载放到你的IDE的libraries文件夹中,重启IDE。 步骤二:如果你的IDE的libraries文件夹中还有之前的Ethernet库的话,需要删除掉,因为之前的Ethernet是根据W5100协议编写的。 然后需要改动一下_02_Microduino_Ethernet_WIZ文件以使库函数与Microduino-W5500模块的引脚对应: 先找到_02_Microduino_Ethernet_WIZ库中的utility文件夹里的w5100.h 把代码中的 #define wiz_cs_pin 8 //CS_PIN 改为 #define wiz_cs_pin 10 //CS_PIN 就可以了。 步骤三:解释一下代码: //定义了2个静态字符串(ON,OFF)和2个字符串变量,字符串变量将用来创建HTML页面,将2个静态字符串之一赋值给这2个变量。 char* on = "ON"; char* off = "OFF"; char* statusLabel; char* buttonLabel; //在setup()种配置Led的初始状态(off)。 pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); ledStatus = false; //在Ethernet_data()中,我们的代码解析浏览器的请求,寻找状态ON/OFF命令。 if(strstr((char *)buffer, "GET /?status=ON") != 0) { Serial.println("Received ON command"); ledStatus = true; } if(strstr((char *)buffer, "GET /?status=OFF") != 0) { Serial.println("Received OFF command"); ledStatus = false; } //更新ledPin(Microduino与Led相连的端口)状态,把statusLabel与buttonLabel两个变量关联到正确的标签。 if(ledStatus) { digitalWrite(ledPin, HIGH); statusLabel = on; buttonLabel = off; } else { digitalWrite(ledPin, LOW); statusLabel = off; buttonLabel = on; } 步骤三:连接好灯泡,如下图: [[File:MicroduinoW5500ConnectLED.png|600px|center|thumb]] 步骤四:下载代码并编译通过。 步骤五:用浏览器访问Microduino的IP地址后,点击页面上的ON/OFF,看看灯泡有啥反应。 ==结果== 访问你的Microduino IP地址,如果能看到如下界面: [[File:MicroduinoW5500LEDWebPage.png|600px|center|thumb]] 你就可以用浏览器控制灯泡了。 ==视频== |}
返回至
Microduino W5500网络(七)/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息