900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Arduino+esp32+blinker第一课点灯

Arduino+esp32+blinker第一课点灯

时间:2018-08-17 01:22:59

相关推荐

Arduino+esp32+blinker第一课点灯

Arduino+esp32+blinker第一课点灯

文章目录

Arduino+esp32+blinker第一课点灯前言一、开发环境搭建二、开发第一个点灯程序1.添加设备2.载入示例3.代码部分4.关键代码讲解5.程序烧写总结

前言

为了实现远程控制,加深为物联网知识的认识,今天就教大家如何用手机app来控制我们的开发板,通过控制开发板点亮一盏灯。我们的开发环境是以arduino IDE为开发基础,通过blinker服务器来控制我们的esp32 WiFi模块,来点主板上的闪光灯。


一、开发环境搭建

arduino的安装

选择 arduino开发的环境原因是,它有好的库,所以在开发过程中就非常的简单

Arduino IDE 是Arduino官方提供的开发环境–点击下载 添加esp32开发板 我们刚安装的 ide中是没有 esp32开发板选项的。我们需要自己手动安装我们首先下载,这个安装包,然后直接运行就可以将其导入

esp32开发板下载地址

我们打开工具,点击开发板观察到,多出来上面的开发板选项就证明安装成功 blinker库的导入

我们是通过blinker服务器进行开发的,所有我们需要添加blinker库,正因为有这些库,我们只需要使用里面封装好的函数就可以了

下载地址:

点击去下载

添加方法

我们需要将我们下载的文件,解压到我们arduino 软件安装目录下的 libraries文件夹下

安装成功我们可以看到如下

4.下载并安装blinker APP

android下载:点击下载

IOS下载:app store中搜索“blinker”下载

二、开发第一个点灯程序

1.添加设备

2.载入示例

根据提示,有好多种组件可选,我们可以先尝试最简单的

3.代码部分

#define BLINKER_WIFI #include <Blinker.h>char auth[] = "4b35a5b03044";char ssid[] = "xiaomi";char pswd[] = "126789667";#define BUTTON_1 "btn-abc"#define LED_BUILTIN 4BlinkerButton Button1(BUTTON_1);void button1_callback(const String & state){digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));BLINKER_LOG("get button state: ", state);if (state == BLINKER_CM_BUTTON_TAP) {BLINKER_LOG("Button tap!");Button1.icon("fas fa-air-freshener");Button1.color("#FFFFFF");Button1.text("第一点灯程序");Button1.print();}}void dataRead(const String & data){BLINKER_LOG("Blinker readString: ", data);Blinker.vibrate();uint32_t BlinkerTime = millis();Blinker.print("millis", BlinkerTime);}void setup(){Serial.begin(115200);BLINKER_DEBUG.stream(Serial);pinMode(LED_BUILTIN, OUTPUT);digitalWrite(LED_BUILTIN, LOW);Blinker.begin(auth, ssid, pswd);Blinker.attachata(dataRead);Button1.attach(button1_callback);}void loop(){Blinker.run();}

我们需要修改的部分

配置esp32连接网络的部分

char auth[] = " "; //上一步中在app中获取到的Secret Keychar ssid[] = " "; //你的WiFi热点名称char pswd[] = " "; //你的WiFi密码

4.关键代码讲解

新建组件并绑定回调函数

blinker app上每个UI组件在设备端都可以创建一个对应的对象。创建方式如下:

组件类型 对象名(键名)

app中组件对应的键名可以在界面编辑模式下看到。

使用组件的数据键名创建对应的对象,这个对象就与blinker app界面上的UI组件进行了绑定。

blinker库定义了多种组件类型,对应app上UI组件类型,如

BlinkerSlider 滑块组件

BlinkerRGB 颜色拾取组件

BlinkerNumber 数值组件

BlinkerText 文本组件

如下,创建了按键组件和数值组件对应的对象:

BlinkerButton Button1("btn-abc");

定义开发板上的灯的io编号

#define LED_BUILTIN 4

新建组件对象

BlinkerButton Button1(BUTTON_1);

app调用esp32的回调函数

void button1_callback(const String & state){digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));BLINKER_LOG("get button state: ", state);if (state == BLINKER_CMD_BUTTON_TAP) {BLINKER_LOG("Button tap!");Button1.icon("fas fa-air-freshener");Button1.color("#FFFFFF");Button1.text("第一点灯程序");Button1.print();}}

让程序一直运行永不停止

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

5.程序烧写

我们在改为代码之后就可以往esp8266开发板内烧写程序了

注意

一般所购买的wifi模块,通过数据线就可以连接进行烧写

特殊的我们需要用到usb-ttl 来为其烧写程序


总结

提示:这里对文章进行总结:

对于ESP32这个是比较简单的程序,我们先搞明白app如何调用到的esp32开发板,后面再进行拓展学习,注意一点现在市面上的wifi模块的开发板很多,所以在模块的选择和电脑的连接上存在差异。

*玩转esp8266 ESP32 喜欢的朋友请加 微信ilinker32 技术咨询

如果我的创作对你有帮助 ,相信请作者喝杯咖啡钱是值得的,那么你的鼓励将是我创作的最大动力!非常感谢

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。