首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将数据从我的esp8266光传感器发送到blynk?

如何将数据从我的esp8266光传感器发送到blynk?
EN

Stack Overflow用户
提问于 2022-05-13 03:17:14
回答 1查看 356关注 0票数 0

我正试图弄清楚,使用光传感器来检测光强时,灯是否被绊倒了。但是,我不知道如何将我的数据上传到blynk,因为我对blynk和arduino都是新手。下面是我的密码。我试着用电报机器人来获取数据,但不知怎的,它停止了工作,我正在寻找远程获取数据的替代方法。如果除了Blynk之外还有其他方法,也请提出建议。

代码语言:javascript
复制
#include <ESP8266WiFi.h> // WIFI LIBRARY
#include <WiFiClient.h> //CLIENT LIBRARY  
#include <ESP8266WebServer.h> //WEBSERVICER LIBRARY
#include <ESP8266HTTPClient.h> //HTTP CLIENT LIBRARY

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "ArchiEngStudio";
char pass[] = "a12345678";


int CNT = 0, sent, i, j;
float count = 0;

int limit = 800; // SET LIMIT HERE

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

void loop() {
  float reading = analogRead(A0);
  Serial.println(reading);
  
  delay(3000);
  
/* NO LIGHT CONDITION */

  if (reading < limit)
  { 
    if (CNT < 1) // CHECK LOOP ONLY RUNS ONCE
    {
      count = 0;
      
      for (i=0; i<10; i++) //TAKING 10 READINGS TO CHECK IF LIGHTS ARE REALLY OFF 
      {
        delay(1000);
        int read2 = analogRead(A0);
        Serial.println(read2);
    
        if (read2 < limit)
        {
          Serial.println("(1) No Light ..."); 
        } 
        else
        {
          Serial.println("(1) Light on...");
          i= i+20;
        }
      }
       if (i < 11) // IF ALL 10 READINGS SHOW THAT LIGHTS ARE OFF, SEND MESSAGE
      {
        if (sent == 0)
        {
          Serial.println("Tripped!");
          sent = 1;
        }
      }

      
    }
    
    CNT++;
  }
      
  else
  {
    CNT = 0;
  }

/* LIGHTS ON CONDITION */

  if (sent == 1) //ONLY ALLOWED IF LIGHTS WERE OFF
    {
      if (reading >= limit)
      {
        for (j=0; j<10; j++) //TAKING 10 READINGS TO CHECK IF LIGHTS ARE REALLY ON 
        {
          delay(1000);
          int read3 = analogRead(A0);
          Serial.println(read3);
      
          if (read3 >= limit)
          {
            Serial.println("(2) Light on..."); 
          } 
          else
          {
            Serial.println("(2) No light...");
            j= i+10;
          }
        }
        if (j < 11) //IF ALL 10 READINGS SHOW THAT LIGHTS ARE ON, SEND MESSAGE
        {
          Serial.println("Light on!");
           sent = 0;
        }
        
      }
    }

 }
EN

回答 1

Stack Overflow用户

发布于 2022-06-08 15:32:56

Blynk提供了一种很好的显示数据的方法,一旦您熟悉了这个概念,就很容易使用。

通过将这一行添加到代码中,可以将reading变量存储在Blynk服务器上的虚拟引脚'Vx‘中:

Blynk.virtualWrite(Vx, reading);

如果您想在应用程序上显示它,只需使用“值显示”小部件并将其配置为显示虚拟引脚'Vx‘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72224084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档