0°

(二)Arduino – TCP IPv6聊天服务器

简介

这是使用Arduino Uno / Mega和PHPoC [WiFi] Shield向IPv6 Web服务器发出HTTPS请求并获取Web内容作为响应的示例。

Web内容是HTML文件并打印到串行监视器。

步骤一 材料准备

硬件准备:

  • Arduino Uno或Mega
  • PHPoC Shield(P4S-347)或PHPoC WiFi Shield(P4S-348)

请注意:此示例仅适用于:

  • PHPoC [WiFi] Shield R2
  • PHPoC [WiFi] Shield R1,升级固件为v1.5.0(或更高版本)

软件准备:

  • Arduino IDE

步骤二 电路搭建

将PHPoC Shield或PHPoC WiFi Shield连接到在Arduino Uno或Mega上

(二)Arduino - TCP IPv6聊天服务器

注意: Arduino通过Uno上的引脚10,11,12和13以及Mega上的引脚10,50,51和52与PHPoC [WiFi] Shield通信。因此,这些引脚不能用于通用I / O.

步骤三 安装Arduino IDE

如果您还没有安装Arduino IDE,请下载并安装Arduino IDE:点击进入下载

安装库

运行Arduino IDE

点击项目>加载库>管理库:

(一)Arduino - TCP聊天服务器

在搜索栏上搜索“Phpoc”:

(一)Arduino - TCP聊天服务器

选择PHPoC库并按[Install]按钮:

(一)Arduino - TCP聊天服务器

重新启动Arduino IDE以进行下一步

步骤四 设置网络信息

仅在首次使用时才需要此部分。

1.如果使用以太网

使用PHPoC Shield(P4S-348),您有两种连接网络的选项:以太网或WiFi。

如果使用以太网,请按照此说明将开发板连接到以太网:点击查看

2.如果使用WiFi,则P4S-347和P4S-348均提供WiFi

请按照:

  • 该步骤用于访问设置页面。
  • 这说明,如果你想开发板连接到WLAN路由器或接入点(AP)
  • 如果您想将开发板作为接入点(AP)操作此步骤

步骤五 在PHPoC Shield上启用IPv6

转到 PHPoC Shield的设置页面,启用IPv6并保存。

(二)Arduino - TCP IPv6聊天服务器

请注意:为了连接到IPv6,您的LAN / WLAN网络必须支持IPv6。

一般的网络只支持ipv4,学校的网络一般有支持ipv6的。

步骤六 开始编程

在Arduino IDE上打开“ChatServeIPv6”示例:

(二)Arduino - TCP IPv6聊天服务器

源程序:

#include <Phpoc.h>

PhpocServer server(23);
boolean alreadyConnected = false; // 是否客户端先前已连接

void setup() {
  Serial.begin(9600);
  while(!Serial)
    ;

  // 初始化PHPoC [WiFi] Shield:
  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET);
  //Phpoc.begin();

  //初始化IPv6:
  Phpoc.beginIP6();

  // 开始侦听TCP客户端:
  server.begin();

  // 打印PHPoC [WiFi] Shield到串口监视器的IP地址:
  Serial.print("Chat server address : ");
  Serial.print(Phpoc.localIP());
  Serial.print(' ');
  Serial.print(Phpoc.localIP6());
  Serial.print(' ');
  Serial.print(Phpoc.globalIP6());
  Serial.println();
}

void loop() {
  // 等待新客户:
  PhpocClient client = server.available();

  // 当客户端发送第一个字节时,请打个招呼:
  if (client) {
    if (!alreadyConnected) {
      // 清除传输缓冲区:
      client.flush();
      Serial.println("We have a new client");
      client.println("Hello, client!");
      alreadyConnected = true;
    }

    if (client.available() > 0) {
      // 读取从客户端传入的字节:
      char thisChar = client.read();
      // 将字节回显给所有连接的客户端:
      server.write(thisChar);
      // 将字节回显到服务器:
      Serial.write(thisChar);
    }
  }
}

步骤七 结果验证

验证方式与教程一方式一样,可以回到教程一查看结果验证方法:

(一)Arduino – TCP聊天服务器

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论