Esp8266 เชื่อมต่อ blynk ไม่ได้รวมทั้ง Wifi hotspot ด้วย รบกวนดู Code ให้หน่อยครับ

esp8266 เชื่อมต่อ blynk ไม่ได้รวมทั้ง Wifi hotspot ด้วย รบกวนดู Code ให้หน่อยครับ

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Blynk.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
 
#define SCREEN_WIDTH 128    // OLED display width, in pixels
#define SCREEN_HEIGHT 64    // OLED display height, in pixels
#define OLED_RESET -1       // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


char auth[] = "gW8-AQt_i7v5hBoOg7K22TG1etTwVw6n";       // You should get Auth Token in the Blynk App.
char ssid[] = "true_home2G_39X";
char pass[] = "GQFn58";
 
#define inSensor 14 //D5
#define outSensor 12 //D6
 
int inStatus;
int outStatus;
 
int countin = 0;
int countout = 0;
 
int in;
int out;
int now;
 
#define relay 0 //D3
WidgetLED light(V0);

BLYNK_CONNECTED() {

    Blynk.syncAll();

}
 
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass,IPAddress(192,168,1,100), 8080);
  delay(1000);  // wait a second
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
  delay(2000);
  pinMode(inSensor, INPUT);
  pinMode(outSensor, INPUT);
  pinMode(relay, OUTPUT);
  digitalWrite(relay, HIGH);

  Serial.println("Visitor Counter Demo");
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(20, 20);
  display.print("Visitor");
  display.setCursor(20, 40);
  display.print("Counter");
  display.display();
  delay(3000);
}
 
void loop()
{
  Blynk.run(); // Initiates Blynk
  inStatus =  digitalRead(inSensor);
  outStatus = digitalRead(outSensor);
  if (inStatus == 0)
  {
    in = countin++;
  }
 
  if (outStatus == 0)
  {
    out = countout++;
  }
 
  now = in - out;
 
  if (now <= 0)
  {
    digitalWrite(relay, HIGH);
    light.off();
    display.clearDisplay();
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.setCursor(0, 15);
    display.print("No Visitor");
    display.setCursor(5, 40);
    display.print("Light Off");
    display.display();
    Serial.println("No Visitors! Light Off");
    delay(500);
  }
  else
  {
    digitalWrite(relay, LOW);
    light.on();
 
    display.clearDisplay();
    display.setTextColor(WHITE);
 
    display.setTextSize(1);
    display.setCursor(15, 0);
    display.print("Current Visitor");
    display.setTextSize(2);
    display.setCursor(50, 15);
    display.print(now);
 
    display.setTextSize(1);
    display.setCursor(0, 40);
    display.print("IN: ");
    display.print(in);
 
    display.setTextSize(1);
    display.setCursor(70, 40);
    display.print("OUT: ");
    display.print(out);
 
    display.display();
    Serial.print("Current Visitor: ");
    Serial.println(now);
    Serial.print("IN: ");
    Serial.println(in);
    Serial.print("OUT: ");
    Serial.println(out);
    delay(500);
  }
  Blynk.virtualWrite(V1, in); // Visitors In
  Blynk.virtualWrite(V2, out); // Visitors Out
  Blynk.virtualWrite(V3, now); // Current Visitors
  delay(1000);
}

แคปหน้า serial ตอนมันเชื่อมไม่ได้มาดูด้วยสิ

มันไม่ขึ้นอะไรเลยครับ

ใช้ server ของใคร

ใช้ของ Blynk เดิมครับ ทั้งที่ App. และก็ใส่โค๊ตที่ com

ยังไงลองใช้โค้ดของ Blynk ที่เขาให้มาทดสอบดูก่อนก็ได้ครับเราจะได้รู้ว่ามันมีปัญหาตรงจุดไหนจากนั้นค่อยมาทดสอบกับโค้ดของเราอีกที

สาเหตุมันมีหลายอย่างครับเดี๋ยวผมจะรวบรวมให้เป็นข้อข้อนะครับ

  1. การตั้งค่าใน blynk Application ไม่ถูกต้อง
  2. Blynk.run(); ไม่ควรมีเงื่อนไขหลายๆเงื่อนไขเข้ามาซ้อนกันหลายๆชั้นซึ่งจะส่งผลทำให้การเชื่อมต่อ Blynk สะดุดและมีปัญหา หรืออาจเชื่อมต่อไม่ได้เลย
  3. ประสิทธิภาพของ WiFi module
  4. ระบบ Wifi และอินเทอร์เน็ต ที่จะเชื่อมต่อไปยัง blynk เซิร์ฟเวอร์
1 Likes

ขอบคุณครับ
ผมลองเปลี่ยนการเชื่อมต่อ โดยเปลี่ยนจากเชื่อมต่อเข้า routher true เป็นเชื่อมเข้า Hotspot มือถือ/tablet ปรากฏว่าใช้งานได้ปกติเลยครับ online ทั้ง 2 ส่วน
เลยอยากขอคำแนะนำไปอีกว่า กรณีจะเชื่อมเข้า routher หรือ wifi hotspot จะต้องเขียน code อะไรเพิ่มเติมไหมครับ

เปลี่ยนจาก

Blynk.begin(auth, ssid,pass,IPAddress(192,168,1,100), 8080);

เป็น

Blynk.begin(auth, ssid, pass);

เปลี่ยนแล้ว ผลยังเหมือนเดิมครับ

เปิดหน้านี้ไว้แล้วกด รีเซตที่บอร์ดครับ มันน่าจะขึ้นให้เห็นตอนเชื่อมต่อ

1 Likes