【得捷Follow me第4期】W5500-EVB-Pico platform IO下使用Ethernet3库设置静态IP
[复制链接]
本篇完成任务:使用arduino Ethernet3库,设置静态IP,连接远端服务器测试
1. Ethernet3库的获取
打开以上网址,克隆仓库文件到本地。
2. 新建项目
打开vs code,打开左侧的platform IO插件
图标,打开home页。
在home页中,选择新建工程
输入关键字“pico”,然后在下边的列表中选择“Raspberry Pi Pico”,然后在name一栏中输入项目/工程名称:(如:pico_telnet_test)。
等一小会,待工程创建完毕。
3. 添加第三方库Ethernet3到工程中
工程创建完毕后,复制Ethernet3库文件夹至项目文件夹下的lib子文件夹下(在项目列表中,在任一文件上鼠标右键,选择在文件资源管理器中显示)。
添加完成后,可见code中资源管理器该工程下的lib子项下显示Ethernet3目录,说明添加成功。
4. 代码编写
在工程main.cpp中编辑如下代码:
- #include <Arduino.h>
- #include <SPI.h>
- #include <Ethernet3.h>
-
-
-
- byte mac[] = {
- 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
- };
- IPAddress ip(192, 168, 2, 186);
-
-
- IPAddress server(180,101,50,188);
-
-
-
-
-
- EthernetClient client;
-
- void setup() {
-
-
- Ethernet.setCsPin(17);
- Ethernet.setRstPin(20);
- Ethernet.begin(mac, ip);
-
- Serial.begin(115200);
-
-
- delay(1000);
- Serial.println("connecting...");
-
-
- if (client.connect(server, 80)) {
- Serial.println("connected");
- }
- else {
-
- Serial.println("connection failed");
- }
- }
-
- void loop() {
-
-
-
-
- if (client.available()) {
- char c = client.read();
- Serial.print(c);
- }
-
-
-
- while (Serial.available() > 0) {
- char inChar = Serial.read();
- if (client.connected()) {
- client.print(inChar);
- }
- }
-
-
- if (!client.connected()) {
- Serial.println();
- Serial.println("disconnecting.");
- client.stop();
-
- while (true);
- }
- }
说明:
第一步:引用头文件
第二步:定义mac地址(w5500)、IP静态地址、要连接的服务器IP地址(这里使用百度的ip)、
第三步:新建一个EthernetClient类型对象
第四步:在setup初始化函数中设置CS和rst引脚,并调用begin()函数/方法初始化W5500的网络参数。
初始化之后,使用connect函数连接远端服务器的指定端口,并输出连接情况、如果连接成功,输出服务器返回内容。
|