查看“Microduino ENC网络(二)/zh”的源代码
←
Microduino ENC网络(二)/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程将教大家如何使用DHCP服务器自动配置网络参数,使你的Microduino自动获取IP地址。 ==设备== *'''[[Microduino-Core]]''' *'''[[Microduino-FT232R]]''' *'''[[Microduino-ENC28J60]]''' *'''[[Microduino-RJ45]]''' *其他硬件设备 **USB数据连接线 一根 ==DHCP== 通常情况下,在本地网络中,你可以找到一个DHCP(Dynamic Host Configuration Protoco,动态主机配置协议,是一个局域网的网络协议,使用UDP协议工作)服务器,作用是给一个内部网络设备自动分配网络参数(IP地址、掩码、网关及DNS)。 简单意义上讲,它的工作原理是这样的: 需要一个IP地址的设备(客户端),发送一个’’’DISCOVERY’’’广播数据包(这个数据包将到达设备所在的整个网络),“发现”可用的DHCP服务器; 如果一个或多个DHCP服务器可用,它们应答一个’’’OFFER’’’包,“建议”发出请求的客户端设置可用的IP地址; 客户选择所提供的IP地址,并向对应服务器发送一个’’’REQUEST’’’数据包,要求允许使用该地址; 建议设置这个ip地址的服务器,发回一个’’’ACK’’’包来确认IP地址关联。 [[File:DHCPShow.jpg|600px|center|thumb]] 幸运的是我上面所说的获取IP地址的过程已经在dhcp.cpp 库文件为我们实现:在接下来的页面中,我要编写一个简单的例子来使用DHCP服务。 ==原理图== *Microduino-ENC28J60 *Microduino-RJ45 *Microduino-Core *Microduino-FT232R 层层堆叠,再插上网线。 如下图所示: [[File:MicroduinoENCShow.jpg|600px|center|thumb]] ==程序== 见 ENCnetwork2 ==调试== 步骤一:首先需要下载EtherCard库:https://github.com/jcw/ethercard 放到你的IDE的libraries文件夹中,重启IDE。 步骤二:解释一下代码: //首先我只定义一个MAC地址和输入输出缓存,不再定义一个固定的IP地址,仍需用begin()方法进行网络控制器的初始化。 //dhcpSetup()方法执行上述所有的详细步骤:寻找一个DHCP服务器,检查的答复,选择一个IP地址,并要求使用权限。如果成功将返回1,这种方法等待30秒后,如果还没获得IP地址,它将返回0。 ether.dhcpSetup(); //printIp()方法是一个简单的方法在串口上打印一个“点分十进制表示法”的IP地址(它是以uint8_t数组的形式存储在以太网缓冲区中)。 ether.printIp(); 步骤四:下载代码并编译通过。 步骤五:如果没其他问题的话,你应该可以ping通你的Microduino了。 [[File:DHCPcmdPing.jpg|600px|center|thumb]] ==结果== 如果你可以查看你的DHCP服务器(通常在我们的路由器的DHCP客户端中可以找到),你将看到连接了一个新的设备(EtherCard库选择的“Arduino-XX” ,XX为MAC地址的最后一个字节)。 ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
Microduino ENC网络(二)/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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息