[Arduino物联网开发实战2]数据反馈-Arduino中文社区 - Powered by Discuz! Archiver

mlwx 发表于 2022-3-17 10:18

奈何col 发表于 2021-3-11 00:27
DHT11/22的话,任意IO口均可

按照以下程序上传完成后手机端总是显示设备离线,这是什么原因呀?试了开关灯的例程都没有问题。
#define BLINKER_WIFI

#include <Blinker.h>
#include <DHT.h>

char auth[] = "5bc0f4d4e1be";
char ssid[] = "360_2804";
char pswd[] = "JIANG18292463412";

BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");

#define DHTPIN 7

#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22(AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

DHT dht(DHTPIN, DHTTYPE);

float humi_read = 0, temp_read = 0;

void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachHeartbeat(heartbeat);
    dht.begin();
}

void loop()
{
    Blinker.run();

    float h = dht.readHumidity();
    float t = dht.readTemperature();


    if (isnan(h) || isnan(t))
    {
      BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
    {
      BLINKER_LOG("Humidity: ", h, " %");
      BLINKER_LOG("Temperature: ", t, " *C");
      humi_read = h;
      temp_read = t;
    }

    Blinker.delay(2000);
}

1076376933 发表于 2022-3-26 16:51

oscarangustin 发表于 2019-7-22 05:59
请问大佬,如果要用的传感器没有库那应该怎么写呢,谢谢大佬

你可以参照这篇文章,我百度到的
https://copyfuture.com/blogs-details/20210721193036916t

85968011 发表于 2022-3-29 12:00

add.
print: {"temp":{"date":1648526172,"val":24.10},"humi":{"date":1648526172,"val":41.70}}
Proto print...
Freeheap: 36240
WS response:
{"temp":{"date":1648526172,"val":24.10},"humi":{"date":1648526172,"val":41.70}}
Success...
Freeheap: 36600
当前温度: 24.00 °C   当前湿度: 41.60 %
autoFormatData key: temp, json: "temp":{"date":1648526173,"val":24.00}
new.
autoFormatData key: humi, json: "humi":{"date":1648526173,"val":41.60}
add.
print: {"temp":{"date":1648526173,"val":24.00},"humi":{"date":1648526173,"val":41.60}}
Proto print...
Freeheap: 36240
WS response:
{"temp":{"date":1648526173,"val":24.00},"humi":{"date":1648526173,"val":41.60}}
Success...
Freeheap: 36600
实时数据上传终于摸索出来了,之前的blinker库删了,下载安装blinker-library-dev_3.0,根据例程修改代码,APP修改控件为实时的,就OK了,DHT22烧录代码以后要 重新上电才能读出来数值,跟手机APP实时同步了

HLT253 发表于 2022-3-30 20:10

完美解决,6块买了个8266,上周末研究了一下午(中间经历了一箩筐困难)准备放弃时候,换了个DCDC供电完美解决下载问题,当初还一度怀疑时买了水货模块,测试一下范例程序摸索了两天,接着就想着用小度,天猫,小爱控制一下,就跑了的点灯科技这里来了,发现这里太多有用资料了,研究了两晚终于摸索出了点名目来了,今天刚刚做了个PCB,准备用手机控制8266然后通过串口发送给51实现控制多路灯光。现在blink基本研究出了点眉目了,完美实现要的功能。

阿飞7812 发表于 2022-4-5 20:06

返回不了“on”,“off”是为什么呀 指点要怎么做APP这边要怎么设置用的是下边这个程序
跳包与初始化UI
在blinker app上,点击设备图标进入设备控制页面时,app会向设备发送一个状态查询指令(心跳查询)
此后,WiFi设备,每59秒会返回一次心跳包;Ble设备,每29秒返回一次心跳包
状态查询指令,如下:

{"get":"state"}
默认状态下,WiFi接入设备会返回:

{"state":"online"}
BLE接入设备会返回:

{"state":"connected"}
blinker提供了改写心跳包内容的方法,使用此方法可将一些数据放置在心跳包中返回,该方法可用于数据同步、状态查询。

blinker设备设计原则之一:设备端不主动发送数据,一切反馈都是由客户端(APP)发起。这样设计可以节约服务器资源,避免浪费。

示例程序:

#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";
// 新建组件对象
BlinkerButton Button1("btn-abc");

// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
}

// 心跳包函数
void heartbeat() {
    Button1.icon("fas fa-lightbulb");
    Button1.color("#fddb00");
    Button1.text("关灯","打开啦");
    Button1.print("on");
}

void setup() {
    // 初始化串口
    Serial.begin(115200);
    // 初始化有LED的IO
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
    //注册一个心跳包
    Blinker.attachHeartbeat(heartbeat);
}

void loop() {
    Blinker.run();
}

奈何col 发表于 2022-4-5 21:56

阿飞7812 发表于 2022-4-5 20:06
返回不了“on”,“off”是为什么呀 指点要怎么做APP这边要怎么设置用的是下边这个程序
跳包与初始化UI ...

认真阅读下本教程,写的有

did 发表于 2022-4-14 11:17

使用esp8266+blinker显示MQ-2的烟雾浓度,但是数值一直是1023

ariolly 发表于 2022-6-5 10:28

那个温湿度的一定要传感模块吗

木榆慕鱼 发表于 2022-7-9 18:35

Arduino:1.8.19 (Windows 10), 开发板:"ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, Core 1, Core 1, None"





















"WiFi.h" 对应多个库

已使用: C:\Users\木榆慕鱼\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.3\libraries\WiFi

未使用:C:\Users\木榆慕鱼\Downloads\arduino-1.8.19-windows\arduino-1.8.19\libraries\WiFi

In file included from C:\Users\ľ��Ľ��\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.cpp:15:

C:\Users\ľ��Ľ��\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:36:10: fatal error: Adafruit_Sensor.h: No such file or directory

#include <Adafruit_Sensor.h>

          ^~~~~~~~~~~~~~~~~~~

compilation terminated.

exit status 1

为开发板 ESP32 Dev Module 编译时出错。



在文件 -> 首选项开启
“编译过程中显示详细输出”选项
这份报告会包含更多信息。
请问这个情况怎么解决

休闲松 发表于 2022-7-10 00:08

奈何col 发表于 2021-3-11 00:27
DHT11/22的话,任意IO口均可

实测不能任意IO口,ESP32-WROOM-32E型号,其34-39号GPIO口都不能读取DHT11的数据
页: 3 4 5 6 7 8 9 10 11 12 [13] 14
查看完整版本: [Arduino物联网开发实战2]数据反馈