关于Arduino的WiFi扩展板的UDP数据发送问题-Arduino中文社区 - Powered by Discuz! Archiver

卤蛋在英国 发表于 2014-2-14 03:41

关于Arduino的WiFi扩展板的UDP数据发送问题

本帖最后由 卤蛋在英国 于 2014-2-14 03:43 编辑

小弟人在英国,课题要做一个使用WiFi发送歌曲的Arduino。我现在只能让我的wifi扩展板连接到路由器上,但是没有办法发送数据(最简单的都发送不了),求大神帮帮忙!小弟条件有限,用的是手机做的路由器。让手机跟wifi扩展板同时连到我的手机上,然后写个一个程序发送一句话给我的电脑。但不成功,我用的是Wireshark来监控我的网络环境的。没有看见192.168.43.8(wifi扩展板的IP)传送数据到192.168.43.5(电脑主机的IP)下面是我的程序:
#include <SPI.h>
#include <WiFi.h>
#include <WiFiUdp.h>


char ssid[] = "AndroidAP7577"; //your network SSID (name)
int status = WL_IDLE_STATUS;
byte remoteIP = {192, 168, 43, 5}; //我主机的IP

unsigned int localPort = 2390;      // local port to send
unsigned int remotePort = 1963;      // receive port to send

char packetBuffer; //buffer to hold incoming packet
charReplyBuffer[] = "acknowledged";       // a string to send back

WiFiUDP Udp;

void setup() {
//Initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
}

// check for the presence of the shield:
if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
}

// attempt to connect to Wifi network:
while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid);

    // wait 10 seconds for connection:
    delay(10000);
}
Serial.println("Connected to wifi");
printWifiStatus();

Serial.println("\nStarting connection to server...");
// if you get a connection, report back via serial:
Udp.begin(localPort);
}

void loop() {

// if there's data available, read a packet

    Udp.beginPacket( remoteIP, remotePort);
   Udp.write(ReplyBuffer);
   Udp.endPacket();

}


void printWifiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());

// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);

// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
下面是一些运行的情况!



还需要提供什么资料尽管提哇!小弟第一次发帖,不知道还需要准备一些啥材料。


commissar 发表于 2014-2-14 10:39

楼主用的也是HLK_RM04吧,我也在用这货。你已经不错了,printWifiStatus能运行起来,我连这个函数都运行不起来。
我也在发送数据,不过我走的是HTTP,目前还没有成功,苦呀,你要是成功了交流一下呀。。。。:(

卤蛋在英国 发表于 2014-2-14 19:21

commissar 发表于 2014-2-14 10:39
楼主用的也是HLK_RM04吧,我也在用这货。你已经不错了,printWifiStatus能运行起来,我连这个函数都运行不 ...

我用的是arduino专用wifi扩展板。你的板子应该不能直接运行arduino的程序。而是间接使用AT command通过serial monitor来控制的吧。所以程序当然运行不起来啊。存在兼容问题。

commissar 发表于 2014-2-15 11:15

本帖最后由 commissar 于 2014-2-15 11:37 编辑

卤蛋在英国 发表于 2014-2-14 19:21
我用的是arduino专用wifi扩展板。你的板子应该不能直接运行arduino的程序。而是间接使用AT command通过se ...
原来如此......你说的没错 ,我用的是这东西http://item.taobao.com/item.htm?spm=a1z02.1.5864393.d4908585.tv90gQ&id=36815717425

NCUT2013 发表于 2014-7-11 21:20

本帖最后由 NCUT2013 于 2014-7-11 21:21 编辑

楼主的问题解决了没有?我也遇到了和你类似的问题,我的代码也是通过那个官方 的例程该的 WiFi-->wifiudpsendreceivestring 那个改的,也是电脑收不到发的数据。 我用的是http://item.taobao.com/item.htm?spm=a230r.1.14.295.8OxdhW&id=36642710459&ns=1#detail

lizi707 发表于 2017-4-9 22:42

本人菜鸟,多点注释就好了,看不懂呀:'(
页: [1]
查看完整版本: 关于Arduino的WiFi扩展板的UDP数据发送问题