Arduino Hello 5
来源:互联网 发布:雨花区网络问政 编辑:程序博客网 时间:2024/05/16 04:42
准备
我没有买原板,从授权供应商处购买兼容板,中国大陆地区的授权供应商请访问 http://arduino.cc/en/Main/Buy 页面,搜索 China。
我购买的是Arduino Ethernet兼容板,原板参见这里: http://arduino.cc/en/Main/ArduinoBoardEthernet 兼容板有一定的改动。
为了将电脑和原板和兼容板连在一起,不仅需要连接线缆,我购买的兼容板使用USB线连接,还需要下载相应的驱动程序,驱动程序依赖兼容板会有所不同,请联系供应商,同时要注意Windows、Mac OS X和Linux不同操作系统需要不同的驱动程序。
为了编写程序,还需要下载集成开发环境Arduino IDE,下载地址在 http://arduino.cc/en/Main/Software ,注意Windows、Mac OS X和Linux需要下载不同的程序。
Arduino使用类似于C语言的编程语言,需要有一定的C语言基础,详细的语法参考请参见 http://arduino.cc/en/Reference/HomePage
本实验需RJ-45网线,以及有线路由器或集线器,当然你的电脑也要在同一个局域网内。
转贴请注明原发位置:http://aiyingjian.com/forum.php?mod=viewthread&tid=6
Arduino Hello 5 说明
前面讲了如何将Arduino接入以太网,虽然Arduino默认提供ICMP回播,也就是能ping通,但没有应用服务器。本例中将编写一个HTTP服务器,可以通过浏览器访问,响应浏览器请求,并输出内容。
Arduino Hello 5 程序
Arduino Hello 5 程序结构声明一个绑定于80端口的TCP服务器。启动监听80端口的服务器,注意该函数应在Ethernet.begin后调用。为了判断HTTP请求头结束,需要判断HTTP请求头输出一个空行,因此需要判断前一个字符为\n和当前字符为\r的情况,Arduino中读取数据每次只能读取一个字节,所以需要保存之前的字符。从server对象获取一个client对象。判断client对象是否已有数据。从client对象中读取一个字符。判断前一个字符为\n和当前字符为\r的情况输出HTTP响应头的代码输出HTTP响应头中的内容类型。输出一个空行,代表响应头结束,开始内容。输出HTML内容输出当前系统已运行的时间,以毫秒为单位。输出HTML内容等待1毫秒,等待芯片发送所有内容。关闭client对象。记录本次字节,用于下次获取字节时处理
Arduino Hello 5 测试
完成后单击“文件”菜单,单击“下载”菜单项,Arduino IDE将自动编译程序,然后下载到Arduino板上。用网线将Arduino Ethernet兼容板连接到路由器上,可以看到RX指示灯不规律闪烁,代表接收到网络信号,当路由器或集线器支持100M,同时网络质量较好时,100M指示灯会亮,表示使用自动适应100M网络。
在电脑上打开浏览器,访问
http://192.168.2.201/
可以看到返回的内容。
我没有买原板,从授权供应商处购买兼容板,中国大陆地区的授权供应商请访问 http://arduino.cc/en/Main/Buy 页面,搜索 China。
我购买的是Arduino Ethernet兼容板,原板参见这里: http://arduino.cc/en/Main/ArduinoBoardEthernet 兼容板有一定的改动。
为了将电脑和原板和兼容板连在一起,不仅需要连接线缆,我购买的兼容板使用USB线连接,还需要下载相应的驱动程序,驱动程序依赖兼容板会有所不同,请联系供应商,同时要注意Windows、Mac OS X和Linux不同操作系统需要不同的驱动程序。
为了编写程序,还需要下载集成开发环境Arduino IDE,下载地址在 http://arduino.cc/en/Main/Software ,注意Windows、Mac OS X和Linux需要下载不同的程序。
Arduino使用类似于C语言的编程语言,需要有一定的C语言基础,详细的语法参考请参见 http://arduino.cc/en/Reference/HomePage
本实验需RJ-45网线,以及有线路由器或集线器,当然你的电脑也要在同一个局域网内。
转贴请注明原发位置:http://aiyingjian.com/forum.php?mod=viewthread&tid=6
Arduino Hello 5 说明
前面讲了如何将Arduino接入以太网,虽然Arduino默认提供ICMP回播,也就是能ping通,但没有应用服务器。本例中将编写一个HTTP服务器,可以通过浏览器访问,响应浏览器请求,并输出内容。
Arduino Hello 5 程序
#include <SPI.h> #include <Ethernet.h> byte mac[] = {0x00, 0xFF, 0xBB, 0x10, 0x59, 0xF8}; byte ip[] = {192, 168, 2, 201}; EthernetServer server(80); void setup() { Ethernet.begin(mac, ip); server.begin(); } char lastChar; void loop() { EthernetClient client = server.available(); if(client) { char c = client.read(); if ('\n' == lastChar && '\r' == c) { client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.println("<html><body>Hello From Arduino! I have been running for "); client.println(millis()); client.println(" milliseconds!</body></html>"); delay(1); client.stop(); } lastChar = c; } }
Arduino Hello 5 程序结构
EthernetServer server(80);
server.begin();
char lastChar;
EthernetClient client = server.available();
if(client) {}
char c = client.read();
if ('\n' == lastChar && '\r' == c)
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html><body>Hello From Arduino! I have been running for ");
client.println(millis());
client.println(" milliseconds!</body></html>");
delay(1);
client.stop();
lastChar = c;
Arduino Hello 5 测试
完成后单击“文件”菜单,单击“下载”菜单项,Arduino IDE将自动编译程序,然后下载到Arduino板上。用网线将Arduino Ethernet兼容板连接到路由器上,可以看到RX指示灯不规律闪烁,代表接收到网络信号,当路由器或集线器支持100M,同时网络质量较好时,100M指示灯会亮,表示使用自动适应100M网络。
在电脑上打开浏览器,访问
http://192.168.2.201/
可以看到返回的内容。
Hello From Arduino! I have been running for 3045986 milliseconds!
- Arduino Hello 5
- Arduino Hello 1
- Arduino Hello 2
- Arduino Hello 3
- Arduino Hello 4
- 【Arduino】开发入门教程【五】Hello Arduino
- 【Arduino】开发入门教程【五】Hello Arduino
- Arduino实例1-hello world!
- Arduino硬件版Hello World
- Arduino系列教程-01 Hello World!
- 《Hello Arduino》数电I/O
- <Hello Arduino>继电器的原理和使用
- 【Arduino入门教程之一】入门Hello World
- Arduino携手LCD1602 向世界问好“hello World!”
- Arduino
- arduino
- Arduino
- arduino
- asp.net加载新浪方式的图片轮播
- 根据表名称找索引及对应列名
- 使用perl+MongoDB实现一个WEB站点请求耗时日志分析系统
- 国内HTML5前端开发框架汇总
- SFTP的应用
- Arduino Hello 5
- Linux常用命令记录
- mfc 单文档分拆窗口
- 第一章 什么是TCP/IP
- 动态创建元素并给元素添加带有回调函数的动态事件
- 英文年终感谢信
- 后缀数组da+dc3
- 多重继承派生Teacher_Cader类
- 12 款优秀的 JavaScript MVC 框架评估