arduino+wifi和blinker怎么也连接不上,怎么办 求求大家了-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3879|回复: 7

[已解答] arduino+wifi和blinker怎么也连接不上,怎么办 求求大家了

[复制链接]
发表于 2019-10-22 19:00 | 显示全部楼层 |阅读模式
arduino UNO是不支持blinker吗还是别的问题呢?
* Blinker 库下载地址:
* https://github.com/blinker-iot/blinker-library/archive/master.zip
*
* Blinker 是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、
* 服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、
* 数据监测等领域,可以帮助用户更好更快地搭建物联网项目。
*
* 如果使用 ESP8266 接入 Blinker,
* 请确保安装了 2.5.0 或更新的 ESP8266/Arduino 支持包。
* https://github.com/esp8266/Arduino/releases
*
* 文档: https://doc.blinker.app/
*       https://github.com/blinker-iot/blinker-doc/wiki
*
* *****************************************************************/

#define BLINKER_PRINT Serial
#define BLINKER_BLE
#include <Blinker.h>
#include <LiquidCrystal.h>
byte smiley[8] = {
   B00111,
   B00101,
   B00111,
   B00000,
   B00000,
   B00000,
   B00000,
};
LiquidCrystal lcd(12, 10, 5, 4, 3, 2);
int Temp;//温度
int Humi;//湿度
int tol;//校对码
int j;
unsigned int loopCnt;
int chr[40] = {0};//创建数字数组,用来存放40个bit
unsigned long Time;
#define pin 11   //DHT11 连接arduino11引脚

/**************WiFi模块配置*******************/
Blinker.begin(); // 默认设置: 数字IO 2(RX) 3(TX), 波特率 9600 bps  

/***************************************************/
BlinkerNumber HUMI("humi");
BlinkerNumber TEMP("temp");
BlinkerButton Button("btn");

uint32_t read_time = 0;
float humi_read, temp_read;
void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();

    uint32_t BlinkerTime = millis();

    Blinker.print("millis", BlinkerTime);
}
/*心跳回调函数,向App传输数据*/
void heartbeat()
{
    HUMI.print(humi_read);
    TEMP.print(temp_read);
}
/*按钮回调函数*/
void button_callback(const String & state)
{
    if (state == BLINKER_CMD_ON)
    {
        digitalWrite(6, HIGH); // 驱动直流电机
        Button.color("#FF0000");
    }
    else if (state == BLINKER_CMD_OFF)
    {
        digitalWrite(6, LOW); // 不驱动直流电机
        Button.color("#778899");
    }
}
void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    /*绑定回调函数*/
    Blinker.attachData(dataRead);
    Blinker.attachHeartbeat(heartbeat);
    Button.attach(button_callback);
    /*************************************/
   lcd.begin(16, 2); // set up the LCD's number of columns and rows:
   lcd.print("Temp      Humi");  // Print a message to the LCD.
   lcd.createChar(0, smiley);
}

void loop()
{
Blinker.run();  //解析接收到的数据,负责联网

   pinMode(6, OUTPUT);
   bgn:  
   delay(2000);
   pinMode(pin,OUTPUT);//设置11号接口模式为:输出
   digitalWrite(pin,LOW);//输出低电平20ms(>18ms)
   delay(20);
   digitalWrite(pin,HIGH);//输出高电平40μs
   delayMicroseconds(40);
   digitalWrite(pin,LOW);
   pinMode(pin,INPUT);//设置11号接口模式:输入
   //高电平响应信号
   loopCnt=10000;
   while(digitalRead(pin) != HIGH)
   { if(loopCnt-- == 0)
     {
       Serial.println("HIGH");//如果长时间不返回高电平,输出个提示,重头开始。
       goto bgn;  
      }
   }
   //低电平响应信号
   loopCnt=30000;
   while(digitalRead(pin) != LOW)
   {
     if(loopCnt-- == 0)
    {
      Serial.println("LOW");//如果长时间不返回低电平,输出个提示,重头开始。
       goto bgn;   
     }
   }
     //开始读取bit1-40的数值  
     for(int i=0;i<40;i++)
     {
         while(digitalRead(pin) == LOW)
         {

          }
         //当出现高电平时,记下时间“time”
         Time = micros();
         while(digitalRead(pin) == HIGH)
        {

         }
         //当出现低电平,记下时间,再减去刚才储存的time
         //得出的值若大于50μs,则为‘1’,否则为‘0’
         //并储存

发表于 2019-10-22 23:20 | 显示全部楼层

回帖奖励 +5 金币

UNO肯定是支持的,确定下你的蓝牙模块是否为蓝牙4.0,蓝牙2.0,我们是不支持的
蓝牙模块支持情况见:
https://diandeng.tech/doc/device-support


如果还有问题,请描述清楚
 楼主| 发表于 2019-10-23 01:38 | 显示全部楼层
奈何col 发表于 2019-10-22 23:20
UNO肯定是支持的,确定下你的蓝牙模块是否为蓝牙4.0,蓝牙2.0,我们是不支持的
蓝牙模块支持情况见:
https ...

ESP8266 也试过,4.0蓝牙模块 JDY-10M也试过了就是连接不上 。不知道是代码的问题还是接线的问题

点评

请清楚的描述问题,如何连接的,显示了什么让你觉得没连接上。 请参照提问指南给出详细的信息 https://www.arduino.cn/thread-83658-1-1.html  详情 回复 发表于 2019-10-23 09:01
发表于 2019-10-23 09:01 | 显示全部楼层
sbt147 发表于 2019-10-23 01:38
ESP8266 也试过,4.0蓝牙模块 JDY-10M也试过了就是连接不上 。不知道是代码的问题还是接线的问题
...

请先尝试按照文档中的快速接入示例测试,看连接是否正常。
也请清楚的描述问题,如何操作的,如何连接的,显示了什么让你觉得没连接上。
请参照提问指南给出详细的信息
https://www.arduino.cn/thread-83658-1-1.html
发表于 2019-10-26 15:41 | 显示全部楼层
问题是:手机上blinker APP中添加的 Arduino设备,始终显示“离线”状态,是为什么?如何做?
硬件搭建环境:Arduino UNO板 + ESP8266传感器模块, 通电后,能在手机 WIFI中找到并连接上 ESP8266,名字为“AI-THINKER_59BC2C”。
软件环境:Arduino 1.8.9;在https://github.com/esp8266/Arduino/releases上下载了esp8266-2.5.0.zip、esp8266-2.5.2.zip。但在Arduino 菜单“项目”\加载库\添加.zip库添加下载的ZIP文件时,均报:
Arduino:1.8.9 (Windows 7), 开发板:"Arduino/Genuino Uno"

指定的文件夹或压缩文件中没有有效的库
找到无效库在 E:\Mixly1.0Beta_WIN(8.20)\arduino-1.8.9\libraries\blinker-library-master: no headers files (.h) found in E:\Mixly1.0Beta_WIN(8.20)\arduino-1.8.9\libraries\blinker-library-master
找到无效库在 E:\Mixly1.0Beta_WIN(8.20)\arduino-1.8.9\libraries\blinker-library-master: no headers files (.h) found in E:\Mixly1.0Beta_WIN(8.20)\arduino-1.8.9\libraries\blinker-library-master

在文件 -> 首选项开启“编译过程中显示详细输出”选项这份报告会包含更多信息。
发表于 2019-10-26 15:46 | 显示全部楼层
wenyge 发表于 2019-10-26 15:41
问题是:手机上blinker APP中添加的 Arduino设备,始终显示“离线”状态,是为什么?如何做?
硬件搭建环境 ...

8266模块需要先烧写blinker固件,详见:
https://diandeng.tech/doc/getting-start-wifi-at



更建议您使用8266开发板,然后可按社区上的教程接入:
https://www.arduino.cn/thread-83754-1-1.html
发表于 2019-10-26 22:22 | 显示全部楼层
我用的不是8266开发板,用的是Arduino板通过杜邦线接的ESP8266那个小模块,Arduino板用USB与PC相连。这又怎样为8266烧写blinker固件??
发表于 2019-10-27 01:46 | 显示全部楼层
wenyge 发表于 2019-10-26 22:22
我用的不是8266开发板,用的是Arduino板通过杜邦线接的ESP8266那个小模块,Arduino板用USB与PC相连。这又怎 ...

上面发的链接中有esp官方文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:43 , Processed in 0.114195 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表