转到链接使用,如果条件使用Arduino IDE

问题描述:

我只是想让自己在这里“http://192.168.1.103:30000/?k=23&v=capture”,当条件符合其要求。转到链接使用,如果条件使用Arduino IDE

#include <ESP8266WiFi.h> 
// I purposely don't include the ssid and ssid1 here 
WiFiServer server(80); 

void setup() { 
    pinMode(1, INPUT); 
    Serial.begin(115200); 
    delay(10); 
    Serial.println(); 
    WiFi.softAP(ssid1, password1); 
    Serial.println(WiFi.localIP()); 
    Serial.println(); 
    Serial.print("Connecting to "); 
    Serial.println(ssid); 
    WiFi.mode(WIFI_AP_STA); 
    WiFi.begin(ssid, password); 
    while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 
    Serial.println(""); 
    Serial.println("WiFi connected"); 
    Serial.println("IP address: "); 
    Serial.println(WiFi.localIP()); 
    // Start the server 
    server.begin(); 
    Serial.println("Server started"); 
} 

void loop() { 
    String link = "http://192.168.1.103:30000/?k=23&v=capture"; 
    WiFiClient client = server.available(); 
    if (!client) { 
    return; 
    } 
    int var = digitalRead(1); 
    if (var == HIGH) { 
    client.print(link); 
    } 

比方说:

  1. 我已经运行的Chrome。
  2. 即使在Chrome上打字也无法调用上述链接?我想自动连接到它。

你可以教的任何方法?我感觉这个代码本身是错误的。 谢谢。

- 编辑 -

新代码,实现UNO

//language c++ 

#include <Servo.h> 
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> 

#define I2C_ADDR 0x3F // Scanning address 
LiquidCrystal_I2C lcd(I2C_ADDR, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address 
Servo Servo1; 
int servopin = 9; 

void setup() { 
    Serial.begin(9600); 
    lcd.begin(16, 2); 
    // initialize the lcd for 16 chars 2 lines, turn on backlight 
    lcd.backlight(); // finish with backlight on 
    lcd.setCursor(3, 0); //Start at character 4 on line 0 
    lcd.print("WAITING..."); 
    pinMode(12, OUTPUT); // pin LaserLight 
    pinMode(11, INPUT); // pin LaserDetector 
    pinMode(10, INPUT); // pin PIR 
    pinMode(9, OUTPUT); // pin Servo 
    pinMode(8, OUTPUT); // MCU PIN GPIO2 
    Servo1.attach(servopin); 
} 

void loop() { 
    digitalWrite(12, HIGH); 
    boolean inputlaser = digitalRead(11); 
    boolean inputpir = digitalRead(10); 
    Serial.println(inputlaser); 
    Serial.println(inputpir); 
    if (inputlaser < 1) { 
    digitalWrite(8, HIGH); 
    lcd.setCursor(0, 0); 
    lcd.print("camera on"); 
    lcd.setCursor(0, 1); 
    lcd.print("robber!"); 
    delay(5000); 
    Servo1.write(180); 
    } else if (inputpir > 0) { 
    Servo1.write(180); 
    lcd.setCursor(0, 0); 
    lcd.print("robber inside!"); 
    lcd.setCursor(0, 1); 
    lcd.print("HELP ROBBER!"); 
    delay(500); 
    } else { 
    lcd.clear(); 
    lcd.setCursor(3, 0); 
    lcd.print("standby..."); 
    delay(500); 
    } 
} 

新代码,实现MCU

#include <ESP8266WiFi.h> 

char server[] = "192.168.1.103"; 
WiFiClient client; 

void setup() { 
    pinMode(4, INPUT); 
    digitalWrite(4, LOW); 
    Serial.begin(115200); 
    delay(10); 
    Serial.println(); 
    WiFi.softAP(ssid1, password1); 
    Serial.println(WiFi.localIP()); 
    Serial.println(); 
    Serial.print("Connecting to "); 
    Serial.println(ssid); 
    WiFi.mode(WIFI_AP_STA); 
    WiFi.begin(ssid, password); 
    while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 
    Serial.println(""); 
    Serial.println("WiFi connected"); 
    Serial.println("IP address: "); 
    Serial.println(WiFi.localIP()); 
} 

void loop() { 
    boolean var = digitalRead(4); 
    if (var == HIGH) { 
    client.connect(server, 30000); 
    Serial.println("connected"); 
    // Make your API request: 
    client.println("GET /?k=23&v=capture"); 
    client.println("Host: 192.168.1.103"); 
    client.println("Connection: close"); 
    client.println(); 
    } else { 
    // if you didn't get a connection to the server: 
    Serial.println("connection failed"); 
    } 
    Serial.println(digitalRead(4)); 
} 
+0

请给出有关您的问题的更多信息。你是什​​么意思我运行chrome?你在哪里运行chrome?来自arduino?你的问题说你不擅长网站的概念。什么是感觉你的代码错误的原因,请提供你现在得到的输出,当你运行上述程序 – Billa

+0

哦,是的,我忘了,我手动运行chrome,我想我解决了它,但我遇到新的问题...我使用UNO和MCU 我提出的概念是这样的: 1.我使用UNO处理输入和输出 2.我使用MCU连接到我的智能手机,使用上面提到的链接和参数 3.所以当传感器反应它给我的UNO输入并输入给我的MCU,然后当MCU从UNO得到输入时,它运行智能手机上面的链接和参数,开始记录 4.但是我的智能手机记录在编译和上传完成后自动运行 5 。我意识到铬不是必需的 – fis

+0

stil你没有提到新的问题?但我认为你对某些事实感到困惑。我会解释它。 – Billa

首先明白一个事实,你并不需要谷歌浏览器请求网站。

client.println("GET /?k=23&v=capture"); 
client.println("Host: 192.168.1.103"); 

你在上面行做的是你请求/?k=23&v=capture在IP地址192.168.1.103讨论内容,Actully这是当你使用谷歌浏览器,你做什么。在个人电脑上,你需要一个谷歌浏览器(或任何其他浏览器)来访问网站,因为它每次都很难请求使用命令(认为使用http命令而不是使用chrome来请求单个页面,哦,那很糟糕)。因此,了解Chrome不需要访问网站。

+0

接受和upvote如果我的帖子是有帮助的,让它帮助有类似疑问的人 – Billa