2017-08-24 2 views
1

Je suis juste en train d'essayer d'obtenir moi-même ici "http://192.168.1.103:30000/?k=23&v=capture" quand une condition if répondre à ses besoins.Aller au lien en utilisant si la condition en utilisant 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); 
    } 

Disons que:

  1. je l'ai déjà exécuté Chrome.
  2. Comment ce lien peut-il être appelé sans même le taper sur Chrome? Je veux me connecter automatiquement.

Toute méthode que vous pourriez enseigner? J'ai l'impression que ce code est faux. Merci.

- EDIT -

CODE NOUVEAU ONU

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

NOUVEAU CODE DE 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

s'il vous plaît donner plus d'informations sur votre problème. Qu'est-ce que vous voulez dire par je cours chrome? Où avez-vous exécuté chrome? de Arduino? Votre question dit que vous n'êtes pas bon dans le concept de site Web. quelle est la cause de se sentir que votre code est faux, s'il vous plaît fournir votre sortie que vous obtenez maintenant, lorsque vous exécutez le programme ci-dessus – Billa

+0

oh ouais j'ai oublié, je cours chrome manuellement et je pense que je l'ai résolu mais je rencontre un nouveau problème ... J'utilise UNO et MCU le concept que j'ai fait est comme ceci: 1. j'utilise UNO pour traiter l'entrée et la sortie 2. j'utilise MCU pour se connecter à mon smartphone en utilisant le lien et le paramètre ci-dessus mentionné 3. ainsi quand le capteur réagi il a donné une entrée à mon UNO aaand donner une entrée à mon MCU et puis quand MCU a reçu l'entrée de UNO il exécute le lien et le paramètre ci-dessus pour le smartphone pour commencer l'enregistrement 4. mais mon smartphone enregistre automatiquement après la compilation et le téléchargement complet 5 Je réalise que le chrome n'est pas nécessaire – fis

+0

stil Tu n'as pas mentionné de nouveau problème? Mais je pense que vous êtes confus au sujet de certains faits. Je vais l'expliquer. – Billa

Répondre

1

D'abord comprendre un fait que vous ne avez pas besoin Google Chrome pour demander une site Internet.

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

Ce que vous faites dans la ligne ci-dessus est que vous demandez pour /?k=23&v=capture aux contenus dans l'adresse ip 192.168.1.103, actully c'est ce que vous faites lorsque vous utilisez un google chrome. Sur PC, vous avez besoin d'un google chrome (ou de tout autre navigateur) pour demander un site web car il est difficile de demander des commandes à chaque fois (Pensez à demander une seule page en utilisant des commandes http au lieu d'utiliser chrome). Donc, comprendre le chrome n'est pas nécessaire pour accéder à un site.

+0

accepter et upvote si mon poste a été utile, laissez-le aider somene avec le même doute – Billa