• 二十五块DIY 带屏幕可远程的温湿度传感器


    小米的温湿度传感器坏了,不带屏幕。就一个硬币大小,还得配合小米网关使用。。买不起我就自己做一个。。 打开神奇的拼多多,买一个神器开发板可以连接wifi的Nodemcu,再加一块2寸屏幕,二十块包邮。。 再来一个DH11 温湿度传感器五块包邮。。

    DH11采集温湿度传感器,显示到屏幕上。然后通过wifi 发送数据到 免费的Blynk 服务器上。。 再手机安装 Blynk App就可以远程查看温湿度了。。。

    
    #define BLYNK_PRINT Serial // 开启串口监视
    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    #include <DHT.h>
    #include <Wire.h>               // Only needed for Arduino 1.6.5 and earlier
    #include "SSD1306Wire.h"        // legacy: #include "SSD1306.h"
    
    char auth[] = "xxxxxxxxxxxxxxxxxxxxxx";//授权码
    char ssid[] = "wifiname";//wifi名称
    char pass[] = "wifipassword";//wifi密码
    #define DHTPIN 2//传感器连接管脚
    #define DHTTYPE DHT11     // DHT 11 
    DHT dht(DHTPIN, DHTTYPE);
    BlynkTimer timer;
    SSD1306Wire display(0x3c, SDA, SCL);   
    
    int ci = 0;
    //该函数将会每秒钟发送数据给V5,V6,
    //在app端,组件的读取频率应该设为PUSH。
    void sendSensor()
    {
      display.clear();
      ci++;
      float h = dht.readHumidity();
      float t = dht.readTemperature(); //摄氏度
      //float t = dht.readTemperature(true); //华氏度
      if (isnan(h) || isnan(t)) {
        Serial.println("Failed to read from DHT sensor!");
        return;
      }
      Blynk.virtualWrite(V5, h);///给V5
      Blynk.virtualWrite(V6, t);//将湿度发送给V6
    
       
    
      display.setTextAlignment(TEXT_ALIGN_LEFT);
      display.setFont(ArialMT_Plain_16);
      display.drawString(0, 0, (String)ci);
      display.drawString(0, 16, "Temp:"+(String)t+"°C");
      display.drawString(0, 32, "Humi:"+(String)h+"%");
    
      display.display();
    }
    
    void setup()
    {
      Serial.begin(9600);
      Blynk.begin(auth, ssid, pass);//官方服务器
      //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8080);//自建服务器域名模式
      //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 158), 8080);//自建服务器ip模式
      dht.begin();
      timer.setInterval(1000L, sendSensor);
       display.init();
    
      display.flipScreenVertically();
      display.setFont(ArialMT_Plain_10);
      
    }
    
    void loop()
    {
      Blynk.run();
      timer.run();
    }
     
    
    

    https://github.com/zifeiniu/NodeMcu_Temperature

  • 相关阅读:
    VC中隐藏和显示IDC_STATIC
    在VC++中使用Tab Control控件
    关于CTreeView中CTreeCtrl空间的使用
    MFC打开/保存文件对话框:CFileDialog
    Python自学笔记3-数据类型
    MFC实现原理
    VS2008 MFC内部工作原理
    MFC视频教程(孙鑫)学习笔记2-掌握C++
    MFC视频教程(孙鑫)学习笔记1-Windows程序内部运行原理
    error C2440: “=”: 无法从“const char [11]”转换为“LPCWSTR”
  • 原文地址:https://www.cnblogs.com/zifeiniu/p/13650951.html
Copyright © 2020-2023  润新知