首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
智能设备
发新帖
6
3
[原创]Arduino网络通信
2016-10-9 13:30
10585
[原创]Arduino网络通信
mozha
2
2016-10-9 13:30
10585
Arduino网络通信
返回上一层
本篇中,我们会一起来看看Arduino网络通信。
Arduino网络通信的确不是它的强项,等会会看到代码一烧录进去,一下子就用了32%的程序存储空间。但是用它来做点小项目还是很方便的,主要是用它的话,各方面的成本都很低。
不过,这次只做的有线网络通信。因为我目前在学习逆向的原因(现在平时要做大量练习,还要把以前很多的C++程序用汇编再写出来。
//----------------------------------------------------------------------------
https://pan.baidu.com/s/1hq5UeKO?qq-pf-to=pcqq.group
//----------------------------------------------------------------------------
看看钱老师上课布置的作业内容,我还是赶紧去写作业吧。),这就是为什么上一周都没时间更新我的Arduino文章,现在Arduino上花的时间更加的少了,每次不会写得太多,无线网络通信又要等等的最主要原因。
我所网络通信所用的模块是W5100(基于全硬件TCP/IP协议栈技术的网络芯片),enc28j60芯片要便宜一点,不过我是为了图方便,就直接买成品。
再来一个背面的图片
说说网线的事
在这里我要提示一下:网线一定要用交叉线
交叉线:又叫反线,线序按照一端568A,一端568B的标准排列好线序,并用RJ45水晶头夹好。
这一次离家太远,我是买的网线。这应该是我第2次出现网线的问题,因为买的网线一般都是平行线。
网线有两种做法,一种是交叉线,一种是平行(直通)线。
交叉线的做法是:一头采用568A标准,一头采用568B标准
平行(直通)线的做法是:两头同为568A标准或568B标准,(一般用到的都是568B平行(直通)线的做法)
568A标准:白绿,绿,白橙,蓝,白蓝,橙,白棕,棕
568B标准:白橙,橙,白绿,蓝,白蓝,绿,白棕,棕
记得,第1次是好几年前,两台电脑之间连网的时候。当时,出现这个问题以后,我就买了一个网线钳,自己开始做网线了。如果从成本考虑的话,自己做还是要便宜很多的,一根网线可以当2根用哦。平时组网的时候,用来给家里电器作控制线挺好的。一根线可以当8根线用,多好啊。用不了8根线就当接口放着。
这是电源,我是怕电脑供电不足,或者不用数据线的时候,不方便。在这里是可要可不要的,如果有就用呗,没有的话用数据线也可以。
例子:
Arduino里的示例,这样太方便了,直接就可以用,学起来也方便。
不过不好的事情,也在发生:
使用Arduino Ethernet建立一个简单网页服务器,当Arduino服务器接收到浏览器访问请求时,即会发送响应消息,浏览器接收到响应消息,会将其中包含的HTML文本转换为网页显示出来。
Arduino程序源码:
//----------------------- net Server ----------------------------------------
#include <SPI.h>
#include <Ethernet.h>
// 设定MAC地址、IP地址
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
// HTTP默认端口为80
EthernetServer server(80);
void setup() {
Serial.begin(9600);
// 开始ethernet连接,并作为服务器初始化
Ethernet.begin(mac, ip);
server.begin();
Serial.print('server is at ');//调试用
Serial.println(Ethernet.localIP());
}
void loop()
{
// 监听客户端传来的数据
EthernetClient client = server.available();
if (client)
{
Serial.println('new client');
// 一个Http请求结尾必须带有回车换行
boolean currentLineIsBlank = true;
if (client)
{
Serial.println('new client');
// 一个Http请求结尾必须带有回车换行
boolean currentLineIsBlank = true;
while (client.connected())
{
if (client.available())
{
char c = client.read();
Serial.write(c);
// 如果收到空白行,说明http请求结束,并发送响应消息
if (c == '\n' && currentLineIsBlank)
{
// 发送标准的HTTP响应
client.println('HTTP/1.1 200 OK');
client.println('Content-Type: text/html');
client.println('Connection: close');
client.println();
client.println('<!DOCTYPE HTML>');
client.println('<html>');
client.println('<meta http-equiv=\'refresh\' content=\'5\'>');
for (int analogChannel = 0; analogChannel < 6; analogChannel++)
{
int sensorReading = analogRead(analogChannel);
client.print('analog input ');
client.print(analogChannel);
client.print(' is ');
client.print(sensorReading);
client.println('<br />');
}
client.println('</html>');
break;
}
if (c == '\n')
{
// 已经开始一个新行
currentLineIsBlank = true;
}
else if (c != '\r')
{
// 在当前行已经得到一个字符
currentLineIsBlank = false;
}
}
}//if (client.available())
// 等待浏览器接收数据
delay(1);
// 断开连接
client.stop();
Serial.println('client disonnected');
}//while (client.connected())
}//if (client)
}//loop()
//-----------------------------------------------------------------------------------
程序烧写完成后,打开串口应当是这样子的,见下图
还没接上网线时的图片
电脑设置:
接上网线,电脑这边还没有启动网线连接
最后结果应该是这样的
参考资料:
https://www.arduino.cc/en/Main/ArduinoBoardEthernet
[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!
上传的附件:
图片1.png
(69.33kb,9次下载)
图片2.png
(615.07kb,4次下载)
图片3.png
(267.53kb,4次下载)
图片4.png
(452.19kb,4次下载)
图片5.png
(509.75kb,4次下载)
图片6.png
(66.12kb,5次下载)
图片7.png
(3.77kb,4次下载)
图片8.png
(401.40kb,4次下载)
图片9.png
(98.46kb,4次下载)
图片10.png
(49.04kb,4次下载)
图片11.png
(460.92kb,9次下载)
图片12.png
(40.47kb,11次下载)
图片13.png
(21.86kb,9次下载)
收藏
・
6
免费
・
3
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
飘零丶
为你点赞~
2024-5-31 07:52
shinratensei
为你点赞~
2024-5-31 07:43
一笑人间万事
为你点赞~
2023-2-20 00:26
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
2
)
NAGAじSKY
雪 币:
7
能力值:
(RANK:10 )
在线值:
发帖
4
回帖
24
粉丝
0
关注
私信
NAGAじSKY
2016-10-9 16:26
2
楼
0
路过进来看看 -****************
layerfsd
雪 币:
8180
活跃值:
(2677)
能力值:
( LV9,RANK:180 )
在线值:
发帖
14
回帖
284
粉丝
6
关注
私信
layerfsd
4
2016-10-10 09:26
3
楼
0
满满看去一个广告接着一个广告。
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
mozha
2
19
发帖
161
回帖
170
RANK
关注
私信
他的文章
[原创]科锐_绝密资料_V0.2
5496
[原创]Arduino WiFi通信
31170
[原创]Arduino与Teensy
24781
[原创]Arduino与机器人
8579
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
Alfik
谁下载
×
谁下载
×
谁下载
×
谁下载
×
谁下载
×
Alfik
谁下载
×
谁下载
×
谁下载
×
谁下载
×
谁下载
×
bnbsoft
谁下载
×
bnbsoft
迷失迭影
谁下载
×
Alfik
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部