查看“Microduino ENC网络(一)/zh”的源代码
←
Microduino ENC网络(一)/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 800px;" |- | ==目的== 本教程将教大家如何ping通你的Microduino。 ==设备== *'''[[Microduino-Core]]''' *'''[[Microduino-FT232R]]''' *'''[[Microduino-ENC28J60]]''' *'''[[Microduino-RJ45]]''' *其他硬件设备 **USB数据连接线 一根 ==原理图== *Microduino-ENC28J60 *Microduino-RJ45 *Microduino-Core *Microduino-FT232R 层层堆叠,再插上网线。 如下图所示: [[File:MicroduinoENCShow.jpg|600px|center|thumb]] ==程序== 见 ENCnetwork1 ==调试== 步骤一:首先需要下载EtherCard库:https://github.com/jcw/ethercard 放到你的IDE的libraries文件夹中,重启IDE。 步骤二:在连接到网络之前,你需要了解一些参数: '''网络参数:''' MAC地址又叫物理地址,是由48比特长,12位的16进制数字组成,0到23位是厂商向IETF等机构申请用来标识厂商的代码,也称为“编制上唯一的标识符”(Organizationally Unique Identifier)。是识别LAN(局域网)结点的标志。地址的24到47位由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号; IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”。IP地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多,它用于在本地网络中识别设备; 子网掩码是一个32位地址,是与IP地址结合使用的一种技术。它的主要作用有两个,一是用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。二是用于将一个大的IP网络划分为若干小的子网络。子网掩码通畅也用“点分十进制表示法”。 网关实质上是一个网络通向其他网络的IP地址,它通常是分配给一个可以到达不同网络的设备(路由器等)。 你需要编一个与你所在的网络其他设备不同的MAC地址,在这个例子中,我们通常会选择一个尚未分配的组织机构代码(如:DD-DD-DD)开头的MAC地址。 网络控制器的网络参数(地址,子网掩码,网关)与您的本地网络中的其他设备的配置相比: IP地址应该是唯一的,子网掩码和网关应该是相同的。 如果你的网络中有DHCP服务器,它会自动对新设备的网络参数进行配置。 步骤三:解释一下代码: //首先,你需要包括以EtherCard库,并定义一些变量:MAC地址(mymac[]),IP地址(myip[])和用来存储传入和传出的数据缓冲(Ethernet::buffer[700])。 include <EtherCard.h> static byte mymac[] = {0x74,0x69,0x69,0x2D,0x30,0x31}; static byte myip[] = {192,168,1,10}; byte Ethernet::buffer[700]; {|class="wikitable" ! rowspan="1" | ENC28J60模块引脚名 || Microduino引脚 || 功能 |- | SCK|| D13 || SPI总线时钟 |- | SI || D12 || 数据输入脚 |- | SO || D11 || 数据输出脚 |- | CS || D8 || SPI片选信 (程序中需要定义) |- | INT || D2 || 中断功能(在此为INT0) |- | RST || RST || 复位功能 |} ether.staticSetup(myip); //用staticSetup()方法配置静态的IP地址,参数有3个,分别为ip地址、网关和DNS,IP地址是必须的,网关和DNS是可选的。大家看下这个函数的参数定义。 static bool staticSetup (const uint8_t* my_ip =0, const uint8_t* gw_ip =0, const uint8_t* dns_ip =0); //in the loop, 你只需要2条命令: //packetReceive()方法: 从网络接收一个新传入的数据包; //packetLoop() 方法:对具体收到的信息作出回应,包含“ping” 请求(ICMP echo 请求)。 ether.packetLoop(ether.packetReceive()); 步骤四:下载代码并编译通过。 步骤五:ping! 检查一个设备是否正确联网,最简单的方法是ping它。在一个联网的计算机上输入ping 你要查看设备的IP地址 [[File:cmdPing.jpg|600px|center|thumb]] ==结果== 出现类似上图所示画面就说明连上网了。 ==视频== |}
该页面使用的模板:
模板: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
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息