查看: 754|回复: 16

[教程] 学习esp01+uno接入blinker(不用AT)【1】

[复制链接]
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

    发表于 2019-6-11 21:09 | 显示全部楼层 |阅读模式
    本帖最后由 新手之帆 于 2019-6-23 14:34 编辑

    经过我的不懈实践,终于弄好了!!!!
    这里的01就是你们手中的那种模块!
    不要惊讶,这里教你用最少的钱来使用blinker(符合屌丝思维)
    连线-TX-RX RX-TX
    注:SoftwareSerial SerialA(RX,TX);这点要记住。编译时01的板子选WIFIduino或者12E,不要选哪个8266。这样也能上传(非常重要)
    如果esp01上传不上,很可能是供电问题。
    具体百度一下下载方式。
    好了,发代码!
    这是01端的,开发板选项WIFIduino或12E
    #define BLINKER_WIFI

    #include <Blinker.h>
    #include<SoftwareSerial.h>
    SoftwareSerial mySerial(1,2);
    char auth[] = "";
    char ssid[] = "";
    char pswd[] = "";

    #define BUTTON_1 "ButtonKey"

    BlinkerButton Button1(BUTTON_1);

    void button1_callback(const String & state)
    {
    if (state == BLINKER_CMD_ON) {
            BLINKER_LOG("Toggle on!");

            Button1.icon("icon_1");
            Button1.color("#FFFFFF");
            Button1.text("Your button name or describe");
            // Button1.text("Your button name", "describe");
            Button1.print("on");
            mySerial.print("1");//程序的关键部分,串口通讯,至于你要发送的内容,不要管,只要在nano方面判断就好
        }
        else if (state == BLINKER_CMD_OFF) {
            BLINKER_LOG("Toggle off!");

            Button1.icon("icon_1");
            Button1.color("#FFFFFF");
            Button1.text("Your button name or describe");
            // Button1.text("Your button name", "describe");
            Button1.print("off");
            mySerial.print("0");//程序的关键部分,串口通讯,至于你要发送的内容,不要管,只要在nano方面判断就好
        }
    }

    void dataRead(const String & data)
    {
        BLINKER_LOG("Blinker readString: ", data);

        Blinker.vibrate();

        uint32_t BlinkerTime = millis();
        Blinker.print(BlinkerTime);
        Blinker.print("millis", BlinkerTime);
    }

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

        Blinker.begin(auth, ssid, pswd);
        Blinker.attachData(dataRead);
        Button1.attach(button1_callback);
    }

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


    这是uno端的,当然你用其它开发板如nano 这些都可以
    #include<SoftwareSerial.h>
    SoftwareSerial mySerial(5,6);
    String Serial_String="";
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
      mySerial.begin(9600);
      pinMode(LED_BUILTIN,OUTPUT);
    }
    void read_string(){
      while(mySerial.available()>0){
      Serial_String+=(char)(mySerial.read());
      delay(2);}
    }
    void loop() {
      // put your main code here, to run repeatedly:
      if(mySerial.available()>0){
        Serial_String="";
        read_string();
        }
      Serial.println(Serial_String);

       if(Serial_String=="Turn on LED")       digitalWrite(LED_BUILTIN,1);
       else if(Serial_String=="Turn off LED") digitalWrite(LED_BUILTIN,0);
    }


    总之,要点就是:01接到blinker消息,软串口发送给uno,uno处理。


    视频链接:


    注:视频中错了的是因为uno接收延时略长,delay可以减少。




    打算发个这类的系列教程,让没钱买12E的人学学。
    (但,12E也贵不了多少


    美图献上
    B2D10E10960B96BC22D20D4751043348.jpg
    这里uno是用国产的,如果经济支持的话,可以买正版的。
    01这个是我自己焊的,大概就是烧录模式,以及把软TX RX引出来。

    想要加我Q的:3320987642备注一下啊!
    望版主大佬加精!!!





    如果没事的话,会出一系列关于esp01 与 arduino blinker的教程的!!!!打算6/15前出一个关于这一系列的又一个教程。




    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    慵懒
    2019-8-2 10:27
  • 签到天数: 44 天

    [LV.5]常住居民I

    发表于 2019-6-12 10:25 | 显示全部楼层
    学习学习,手里有一块这种,不知道能不能学你这样用
    33f8306aa8a837067a5230aad18d10b.jpg
    91a4aec028c076bf0cab2d8f5c51bb0.jpg
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-6-12 11:46 | 显示全部楼层
    Kyle1995 发表于 2019-6-12 10:25
    学习学习,手里有一块这种,不知道能不能学你这样用

    可以的,芯片差不多。代码可以直接上
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-6-12 11:47 | 显示全部楼层
    新手之帆 发表于 2019-6-12 11:46
    可以的,芯片差不多。代码可以直接上

    你的是12E的
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    开心
    2019-8-25 11:35
  • 签到天数: 179 天

    [LV.7]常住居民III

    发表于 2019-6-23 17:17 | 显示全部楼层
    如果控制IO口少于4个,直接用一片ESP8266-12E就可以了。没必要再加个arduino板子。
    体积功耗,大大缩小。包邮才10元,比你的方案省60%
  • TA的每日心情
    开心
    2019-8-25 11:35
  • 签到天数: 179 天

    [LV.7]常住居民III

    发表于 2019-6-23 17:18 | 显示全部楼层
    Kyle1995 发表于 2019-6-12 10:25
    学习学习,手里有一块这种,不知道能不能学你这样用

    如果控制IO口少于4个,直接用ESP8266-12E就可以代替上面那一坨。
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-6-23 17:28 | 显示全部楼层
    keliyuan 发表于 2019-6-23 17:18
    如果控制IO口少于4个,直接用ESP8266-12E就可以代替上面那一坨。

    可以啊,用开发板也不错。但8266有几个ADC?有几个gpio?够用吗?所以,一些项目的制作采取这种方案较好
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-6-23 17:33 | 显示全部楼层
    keliyuan 发表于 2019-6-23 17:18
    如果控制IO口少于4个,直接用ESP8266-12E就可以代替上面那一坨。

    但01也才7元,而你自己买个AVR的芯片去焊也5、6元而已,淘宝的最小那个arduino 4元,还可以用。
    觉得好就打赏一下吧!!让我有动力继续写教程
  • TA的每日心情
    奋斗
    2019-8-25 00:01
  • 签到天数: 87 天

    [LV.6]常住居民II

     楼主| 发表于 2019-6-23 17:35 | 显示全部楼层
    keliyuan 发表于 2019-6-23 17:18
    如果控制IO口少于4个,直接用ESP8266-12E就可以代替上面那一坨。

    成本其实差不多
    觉得好就打赏一下吧!!让我有动力继续写教程

    该用户从未签到

    发表于 2019-6-25 12:18 | 显示全部楼层
    板子选择的esp8266 board 下的wifiduino,为什么上传的时候报错啊
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    arduino首次编译通过第二次编译必报错
    arduino首次编译通过第二
    如题: 刚打开ide 首次编译 上传都没问题 不管你改不改代码 直接进行 编译 或者上传
    【Arduino】108种传感器系列实验(06)---声音传感器模块
    【Arduino】108种传感器系
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    旧版本ide中 ino文件名不能以数字开头,不能有中文?
    旧版本ide中 ino文件名不
    最近下载了站长编著的ARDUINO程序设计基础一书的配套例程。发现用arduino ide打开 里
    用Blinker获取天气信息并用ArduinoJson6分析数据(arduino D1)
    用Blinker获取天气信息并
    在Blinker最新版本的库中我们看到它用了ArduinoJson6,图中的两个类是ArduinoJson6的类
    一波三折,分享我的esp32编译环境搭建arduino
    一波三折,分享我的esp32
    买了个esp-wroom32开发板,想用熟悉的arduino敲代码。 但是上网查遍了所有办法,要么
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表