ESP8266快速部署物联网

esp8266基于blinker快速部署物联网

一、物联网任务描述

老师邀请我去给大二新生上课时展示一下单片机,但是只单单展示单片机过于简陋。所以准备快速部署一个物联网设备,展示一下单片机的一种应用场景,也能更好的吸引刚入门的萌新。

本任务基于开源库,部署极快。基于blinker示例库(DHT_WiFi、Button_WiFi),需要下载较新的blinker库、esp8266的包和arduino IDE。项目工程基于Arduino 1.8.19,esp8266-package-3.0.2,blinker-library-0.3.9(都已经打包到项目压缩包中)

环境配置参考:Arduino物联网开发实战0]开发准备-Arduino中文社区 - Powered by Discuz!

任务目标:

  • 实现单片机必备入门功能:流水灯
  • 实现温湿度读取
  • 实现物联网控制

工程部署展示:
blinker

二、代码部分

  1. 首先需要再blinker上创建设备,获取密钥,这个可以参考[Arduino物联网开发实战1]控制开关灯-Arduino中文社区 - Powered by Discuz!

  2. 打开示例DHT_WiFi和Button_WiFi

  3. 新建一个新的工程,将DHT示例粘贴进去,也可以直接基于示例工程编写(当然基于的是esp8266开发板,在菜单栏工具中选择开发板)

  4. 示例DHT_WiFi中DHT的单总线是接在D4引脚(对应GPIO02)可根据需要自己修改,参考ESP8266 NodeMCU引脚说明 - 简书 (jianshu.com)

  5. 根据需要定义按键,我是参考Button示例,新建了两个按键用来控制流水灯

    #define MY_BUTTON "my_button"	//示例
    #define BUTTON_1 "ButtonKey"	//自建按键1
    #define BTN_ABC "btn_abc"		//自建按键2
    
  6. 申明blinker按键,括号内的就是define的按键名字,前面的可以自定义

    BlinkerButton My_Button(MY_BUTTON);
    BlinkerButton Button1(BUTTON_1);
    BlinkerButton Btn_abc(BTN_ABC);
    
  7. 编写按键回调函数,函数名一般以调用的模块加callback,改函数会在模块被触发时调用(blinker按键功能很多,我没有用,可以参考button示例)

    //按键按下,流水灯亮起
    void my_button_callback(const String & state)
    {
        BLINKER_LOG("My Button tap!");
        digitalWrite(LED1, LOW);//点亮
        delay(200);
        digitalWrite(LED1, HIGH);//熄灭
        digitalWrite(LED2, LOW);
        delay(200);
        digitalWrite(LED2, HIGH);
        digitalWrite(LED3, LOW);
        delay(200);
        digitalWrite(LED3, HIGH);
        digitalWrite(LED4, LOW);
        delay(200);
        digitalWrite(LED4, HIGH);
    }
    
  8. 在setup函数中绑定回调,当然也要初始化LED,直接加进去就行

    void setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);
    
        pinMode(LED_BUILTIN, OUTPUT);
        digitalWrite(LED_BUILTIN, LOW);
        /**LED init begin**/
        pinMode(LED1, OUTPUT);
        digitalWrite(LED1, HIGH);
        pinMode(LED2, OUTPUT);
        digitalWrite(LED2, HIGH);
        pinMode(LED3, OUTPUT);
        digitalWrite(LED3, HIGH);
        pinMode(LED4, OUTPUT);
        digitalWrite(LED4, HIGH);
        /**LED init end**/
        Blinker.begin(auth, ssid, pswd);
        Blinker.attachData(dataRead);
        Blinker.attachHeartbeat(heartbeat);
        /**button callback attach**/
        Button1.attach(button1_callback);
        My_Button.attach(my_button_callback);
        Btn_abc.attach(btn_abc_callback);
        /**end**/
        
        dht.begin();
    }
    
  9. 终端代码修改就结束了,可以编译并且烧录esp8266+sensor

  10. Blinker App可以直接参考下图,或者自己排版,组件的数据键名必须对应代码中引号中,也就是宏定义部分blinker1

三、项目文件

整个项目包括安装文件已经打包上传,可以在资源或者公众号中获取。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你好!对于ESP32-C3物联网工程开发实战,我可以为您提供一些基本的信息和指导。ESP32-C3是乐鑫电子推出的一款低功耗、高集成度的Wi-Fi和蓝牙SoC芯片,适用于物联网应用开发。 在进行ESP32-C3物联网工程开发实战时,您可以按照以下步骤进行: 1. 硬件准备:获取ESP32-C3开发板,确保板载芯片已正确安装。 2. 开发环境搭建:下载并安装ESP-IDF(ESP32 IoT Development Framework)开发环境,该环境提供了丰富的API和示例代码,方便您进行开发。 3. 编写代码:在ESP-IDF环境中,您可以使用C语言或C++语言编写代码。根据您的需求,可以使用ESP-IDF提供的API来实现与Wi-Fi、蓝牙、传感器等设备的交互。 4. 编译和烧录固件:使用ESP-IDF提供的命令行工具进行代码编译和烧录,将固件烧录到ESP32-C3开发板中。 5. 调试和测试:连接ESP32-C3开发板到计算机,使用串口调试工具监视串口输出,并进行功能测试和调试。 6. 应用开发:根据您的实际需求,开发并部署您的物联网应用程序。可以使用MQTT、HTTP等协议与云平台进行通信,实现数据传输和远程控制等功能。 请注意,以上步骤仅为基本指导,具体的开发流程和步骤可能因项目需求而有所不同。您可以参考ESP-IDF官方文档和示例代码,深入了解ESP32-C3的功能和开发方法。 希望以上信息能对您有所帮助!如果您有任何其他问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知足额

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值