Ethernet 函式库

86Duino 内建 10/100Mbps 的网路介面,不需使用 Arduino Ethernet Shield 即可连接网际网路。 86Duino 的网路介面透过本章介绍的 Ethernet 函式库控制。
该 Ethernet 函式库可以实做以下两种功能,接收客户端连线要求以及送出连线请求给伺服端。在 86Duino Coding 101 中,该函式库最多同时支援 4 个连线(包含接收请求、送出请求及溷合以上两种);在之后的版本将把上限从 4 提高为 128。

Ethernet 类别

Ethernet 类别初始化 Ethernet 函式库和网路设定。

begin()
localIP()
localMAC()
maintain()

IPAddress 类别

IPAddress 类别用以操作本地和远端 IP 位址。

IPAddress()

Server 类别

Server 类别用以创建伺服端与客户端连接,透过网路传送与接收资料。

EthernetServer()
begin()
available()
write()
print()
println()

Client 类别

Client 类别用以创建客户端与伺服端连接,透过网路传送与接收资讯。

EthernetClient()
if (EthernetClient)
connected()
connect()
write()
print()
println()
available()
read()
flush()
stop()

EthernetUDP 类别

UDP 类别实作 UDP 协定建立连线,并传送与接收资料。

begin()
read()
write()
beginPacket()
endPacket()
parsePacket()
available()
stop()
remoteIP()
remotePort()

范例

以下 Ethernet 函式库的范例,是从 Arduino课程而来。可以在 86Duino 上运行。(注意:以下范例在86Duino上运行时不需要Arduino Ethernet Shield):

ChatServer:创建简单的聊天伺服器。
WebClient:製作 HTTP 请求。
WebClientRepeating:重复製作 HTTP 请求。
WebServer:在 HTML 网页上显示类比感测器的值。
XivelyClient:连接到 Xively.com(免费的资料纪录网站)。
XivelyClientString:传送字串到 Xively.com。
BarometricPressureWebServer:在网页上显示气压感测器输出的值。
UDPSendReceiveString:透过 UDP 传送和接收文字讯息。
UdpNtpClient:透过 UDP 送出 NTP 请求。
DnsWebClient:DNS 和 DHCP 为基础的 Web 的客户端。
DhcpChatServer:简单的 DHCP 聊天伺服器。
DhcpAddressPrinter:透过 DHCP 取得 IP 位址,并且印出 IP 位址。
TelnetClient:简单的 Telnet 客户端。

Hack

我们使用 Software Systems 的 SwsSock 函式库实作 86Duino 的 Ethernet 函式库。如果想要在 86Duino 上直接使用 SwsSock,可以参考 SwsSock 的官网取得相关资讯。


函式库参考主页面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.