极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16442|回复: 3

Arduino+Ethernet+Labview的TCP/IP通信问题

[复制链接]
发表于 2017-8-24 16:19:02 | 显示全部楼层 |阅读模式
本帖最后由 hhhwwwyyy 于 2017-8-24 16:19 编辑

目标:ArduinoEthernet以太网扩展板通过有线网络实现与labVIEW的TCP/IP通信,以Labview作为服务端,Arduino作为客户端(相反的,以Labview作为客户端我已经实现,但是我要的是能用Labview为上位机控制多个Arduino进行数据通信,所以必须以Labview为通信端)。理论上Labview端只要提供端口号,然后Arduino访问labview程序运行所在的服务器地址和其提供的端口号就可以实现通信

遇到的问题:如果是客户端和服务端程序都是用LABVIEW写的是可以通信成功的,但是在客户端换成Arduino+Ethernet时,老是通信不成功,以下是Arduino代码:
请各位大佬们帮我解答解答,这已经困恼我好几天了,望不吝其教!
  1. #include<SPI.h>
  2. #include<Ethernet.h>

  3. byte mac [] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };     // 手动给Ethernet扩展板设置的MAC地址
  4. IPAddress ip( 172, 20, 28, 9 );                         // 扩展板的IP地址

  5. byte server[] = { 10, 10, 50, 227 };  // 这是一个有固定IP地址的虚拟机服务器,LABVIEW 程序在此服务器上运行

  6. EthernetClient client;

  7. void setup()
  8. {
  9.   Ethernet.begin(mac, ip);//初始化设置MAC与IP地址
  10.   Serial.begin(9600);//初始化串口波特率9600

  11.     delay(1000);

  12.   Serial.println("connecting...");  // 串口输出状态 连接中...

  13.     if (client.connect(server, 80)) {  // 如果返回连接成功,以下语句输出状态
  14.       Serial.println("connected");//串口输出:连接成功
  15.     }
  16.     else {
  17.       Serial.println("connection failed");////没有连接成功则输出:连接失败
  18.     }
  19. }

  20. void loop()
  21. { }
复制代码
回复

使用道具 举报

发表于 2017-8-24 16:25:53 | 显示全部楼层
意思是连不上?端口80?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-24 17:02:27 | 显示全部楼层
通幽境 发表于 2017-8-24 16:25
意思是连不上?端口80?

连不上,是80,改成8080也不行
回复 支持 反对

使用道具 举报

发表于 2017-8-31 16:06:34 | 显示全部楼层
hhhwwwyyy 发表于 2017-8-24 17:02
连不上,是80,改成8080也不行

这个程序连接其他服务器可以吗?比如百度。然后试试自动获得IP
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 00:12 , Processed in 0.056162 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表