2017-08-24 9 views
1

if条件がその要件を満たしている場合、私は自分自身を "http://192.168.1.103:30000/?k=23&v=capture"にしようとしています。Arduino IDEを使用してif条件を使用してリンクに移動

#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に入力しなくても、どのように呼び出すことができますか?私はそれに自動的に接続したい。

どのような方法で教えることができますか?私はこのコード自体が間違っていると感じました。おかげさまで

- EDIT -

NEW CODE UNO

FOR
//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); 
    } 
} 

NEW CODE MCU

FOR
#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

問題に関する詳細情報をお知らせください。私はクロムを実行することによって何を意味するのですか?クロムをどこで実行しましたか? arduinoから?あなたの質問は、あなたはウェブサイトのコンセプトが良くないと言っています。あなたのコードが間違っていると感じる原因は何ですか?あなたが上記のプログラムを実行すると、あなたが今取得する出力を提供してください。 – Billa

+0

ああええ、私は手動でクロームを実行し、私はそれを解決したと思うが、私は新しい問題に遭遇する...ときセンサー上記のよう 3.を述べた私は、リンクやパラメータを使用してスマートフォンに接続するためにMCUを使用して、私は、入力と出力 2を処理するためにUNOを使用 1:私は、私が作ったコンセプトは、このようなものですUNOとMCU を使用します私のUNOに入力を与えてMCUに入力し、MCUがUNOからの入力を受け取ったら、上記のリンクとパラメータを実行して、 の記録を開始します4.コンパイルとアップロードが完了したら自動的にスマートフォンの記録 5私はクロムが必要でないことを理解する。 – fis

+0

stilあなたは新しい問題について言及していませんか?しかし、私はあなたがいくつかの事実について混乱していると思います。私はそれを説明します。 – Billa

答えて

1

まずあなたが要求するためのGoogleのクロムを必要としないという事実を理解しますウェブサイト

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

何を上記の行で行うこと/?k=23&v=captureは、IPアドレス192.168.1.103にコンテンツを対処するためにあなたが要求していることで、Actullyこれは、Googleのクロムを使用するとき、あなたは何をすべきかです。 PC上では、毎回コマンドを使用してリクエストするのが難しいため、ウェブサイトリクエストのためにGoogle Chrome(または他のブラウザ)が必要です(クロムを使用する代わりにhttpコマンドを使用して単一のページをリクエストすることを考えてください)。サイトにアクセスするにはクロムが必要ないことを理解してください。

+0

私の記事が参考になった場合は受け入れてアップしてください。 – Billa

関連する問題