C 无法使用Arduino Wifi Shiled连接到本地服务器
我正在尝试使用arduino wifi shied将数据从arduino上载到本地服务器。但代码从未到达“已连接”行。我正在使用WAMP服务器。arduino wifi屏蔽的IP地址ping正常。wifi屏蔽连接到网络。代码如下:C 无法使用Arduino Wifi Shiled连接到本地服务器,c,arduino,C,Arduino,我正在尝试使用arduino wifi shied将数据从arduino上载到本地服务器。但代码从未到达“已连接”行。我正在使用WAMP服务器。arduino wifi屏蔽的IP地址ping正常。wifi屏蔽连接到网络。代码如下: #include <TinkerKit.h> #include <WiFi.h> #include <SPI.h> char ssid[] = "Connectify-moloi"; // your netw
#include <TinkerKit.h>
#include <WiFi.h>
#include <SPI.h>
char ssid[] = "Connectify-moloi"; // your network SSID (name)
char pass[] = "1234567890"; // your network password
int status = WL_IDLE_STATUS;
//WiFiServer server(80);
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 250000; // READING INTERVAL
int sensor;
int analog_val;
String data;
String Hall;
String Temp;
WiFiClient client;
IPAddress server(192,168,164,101);
void setup() {
Serial.begin(9600);
while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
// wait 10 seconds for connection:
delay(10000);
}
// you're connected now, so print out the status:
printWifiStatus();
Hall = "50";
Temp = "50";
data = "";
}
void loop(){
currentMillis = millis();
if(currentMillis - previousMillis > interval) { // READ ONLY ONCE PER INTERVAL
previousMillis = currentMillis;
Hall ="50"; //String(analog_val);
Temp ="50"; //String(sensor);
}
data = "temp1=" + Hall + "&hum1=" + Temp;
client.flush();
if (client.connect(server,80)) { // REPLACE WITH YOUR SERVER ADDRESS
Serial.println("Connected");
client.println("POST project/add.php HTTP/1.1");
client.println("Host: 192.168.164.101"); // SERVER ADDRESS HERE TOO
client.println("Content-Type: application/x-www-form-urlencoded");
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
}
if (client.connected()) {
client.stop(); // DISCONNECT FROM THE SERVER
client.flush();
}
delay(7000); // WAIT FIVE MINUTES BEFORE SENDING AGAIN
}
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");
}
#包括
#包括
#包括
字符ssid[]=“连接moloi”//您的网络SSID(名称)
字符传递[]=“1234567890”//您的网络密码
int状态=WL\U空闲\U状态;
//WiFiServer服务器(80);
long-previousMillis=0;
无符号长电流毫秒=0;
长间隔=250000;//阅读间隔
int传感器;
int模拟值;
字符串数据;
弦乐厅;
字符串温度;
无线客户端;
IP地址服务器(192168164101);
无效设置(){
Serial.begin(9600);
while(状态!=WL\U已连接){
Serial.print(“试图连接到SSID:”);
序列号println(ssid);
状态=WiFi.begin(ssid,通过);
//等待10秒钟以进行连接:
延迟(10 000);
}
//您现在已连接,请打印状态:
printWifiStatus();
Hall=“50”;
Temp=“50”;
数据=”;
}
void循环(){
当前毫秒=毫秒();
如果(currentMillis-previousMillis>interval){//每个间隔只读取一次
前一毫秒=当前毫秒;
Hall=“50”//字符串(模拟值);
Temp=“50”;//字符串(传感器);
}
data=“temp1=“+Hall+”&hum1=“+Temp;
client.flush();
如果(client.connect(server,80)){//替换为您的服务器地址
Serial.println(“已连接”);
client.println(“POST-project/add.php HTTP/1.1”);
client.println(“主机:192.168.164.101”);//这里也是服务器地址
client.println(“内容类型:application/x-www-form-urlencoded”);
client.print(“内容长度:”);
client.println(data.length());
client.println();
客户。打印(数据);
}
如果(client.connected()){
client.stop();//断开与服务器的连接
client.flush();
}
延迟(7000);//等待五分钟再发送
}
void printWifiStatus(){
//打印您连接到的网络的SSID:
序列号。打印(“SSID:”);
Serial.println(WiFi.SSID());
//打印您的WiFi屏蔽的IP地址:
ip地址ip=WiFi.localIP();
串行打印(“IP地址:”);
序列号println(ip);
//打印接收到的信号强度:
长rssi=WiFi.rssi();
串行打印(“信号强度(RSSI):”;
串行打印(rssi);
Serial.println(“dBm”);
}
尝试使用GET
请求,而不是POST
命令
使用版本1.02将
POST-project/add.php
更改为GET/project/add.php?
Iam假设您传递的凭据正确,根据,您应该正在连接。我在代码的这一部分中看不到任何问题。