Arduino物联网开发实战1 --控制开关灯

2023-08-13 11:39:36 来源:个人图书馆-小张家的老张4h 分享到:

下面是我们的第一个blinker程序,请不要着急编译上传,因为我们还要对其进行简单的配置。

连接配置

在程序中找到名为auth、ssid和pswd的变量,


(资料图片)

auth中填入在app中获取到的Secret Key,

ssid和pswd中填入你要连接的WiFi名和密码,如:

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

然后编译并上传以下程序:

#define BLINKER_WIFI #include  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); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); Blinker.vibrate();} 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);} void loop() { Blinker.run();}

在APP中点击设备图标,即可进入该设备控制界面,点击按钮就可以控制Arduino上的LED灯开关。

程序解析

以下对blinker设备程序解析:

选择连接方式

blinker支持多种连接方式,

#define BLINKER_WIFI

用于指定设备接入方式,你还可以使用 BLINKER_BLE,不同的接入方式对应的Blinker初始化函数也不同:

蓝牙接入

#define BLINKER_BLE #include   void setup() {  Blinker.begin(); }

WiFi接入

#define BLINKER_WIFI #include void setup() { Blinker.begin(auth, ssid, pswd); }

新建组件并绑定回调函数

新建组件

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

组件类型 对象名(键名)

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

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

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

BlinkerSlider 滑块组件

BlinkerRGB 颜色拾取组件

BlinkerNumber 数值组件

BlinkerText 文本组件

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

BlinkerButton Button1("btn-abc");BlinkerNumber Number1("num-abc");

回调函数

void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));}

绑定回调函数

Button1.attach(button1_callback);

当app中组件触发并发送到设备端时将触发该组件注册的回调函数

Blinker运行时

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

Blinker.run()语句负责处理Blinker收到的数据,每次运行都会将设备收到的数据进行一次解析。

在使用WiFi接入时,该语句也负责保持网络连接

开启调试信息

你可以在setup中添加以下语句,以查看调试信息

BLINKER_DEBUG.stream(Serial);

用于指定调试信息输出的串口,设备开发时调试使用,项目或产品成型后,可以删除。

如果需要查看更多内部信息,可以添加

BLINKER_DEBUG.debugAll();
标签:

Arduino物联网开发实战1 --控制开关灯

来源:个人图书馆-小张家的老张4h 2023-08-13 11:39:36

在南海之滨,青海的农畜产品“火”了

来源:金台资讯 2023-08-13 10:52:11

黄金观察系列其三:贵金属:实际需求支撑金价 需求弹性凸显黄金稀缺性

来源:和讯国盛证券王琪/马越/魏雪 2023-08-13 09:59:32

前7个月 人民币贷款增加16.08万亿元

来源:人民日报海外版 2023-08-13 09:09:18

《侏罗纪公园》上映30周年 3D版本将于8.25重映

来源:1905电影网 2023-08-13 08:06:04

中国男篮耻辱失利,49分惨败德国却因祸得福,赛后收获三个好消息

来源:极度说球 2023-08-13 06:34:50

德罗西是一个什么样的人(德罗西)

来源:互联网 2023-08-13 04:56:38

街头篮球游戏名字怎么改(街头篮球游戏名字)

来源:互联网 2023-08-13 01:16:23

打卡“幸福夜集”,江苏各地越“夜”越精彩!

来源:宁夏新闻网 2023-08-12 22:39:39

上半年全市粮食生产稳产稳收

来源:孝感日报 2023-08-12 21:03:39

逆水寒手游善恶断·白获取攻略

来源:星芒手游网 2023-08-12 19:38:27

企业大中小型划分标准

来源:网友分享 2023-08-12 18:27:06

近年来最“长寿”台风已登陆!这些地方有大暴雨

来源:环球网 2023-08-12 17:31:20

上半年我国光伏产业快速发展!光伏发电累计达2663亿千瓦时 同比增长约30%

来源:股票牛 2023-08-12 16:39:20

微博视频播放量查看方法教程

来源:系统乐园 2023-08-12 16:12:43

台风“卡努”在辽宁庄河登陆时减弱为热带低压

来源:新华网 2023-08-12 15:13:03

中国大使馆新建计划遭英方无理阻挠

来源:海外网 2023-08-12 14:07:06

夏日赋能计划!坂田街道“筑梦自然 拥抱未来”自然教育研学活动开营

来源:读创 2023-08-12 12:45:42

中国男篮淘汰了5名球员,付豪还在14人名单上,谁走谁留顿生悬念

来源:懂球哥评球 2023-08-12 11:45:32

天津南站地区最新规划公示!打造一轴一带双核三区

来源:津云 2023-08-12 10:56:35

青海清洁能源装机规模突破4000万千瓦,占比突破91%

来源:工人日报客户端 2023-08-12 10:11:17

蒙古语构词法研究(关于蒙古语构词法研究简述)

来源:互联网 2023-08-12 09:22:47

三星医疗08月11日获沪股通增持110.07万股

来源:东方财富Choice数据 2023-08-12 08:36:39

华为回应车BU独立运营,小米大模型首次被曝光,马斯克考虑取消与小扎的笼中斗,LOL改进投降机制,这就是今天的其他大新闻!

来源:差评 2023-08-12 07:15:20

全力打好保卫战——各地各部门加强汛情应对恢复农业生产

来源:新华网 2023-08-12 06:07:41

三星screen mirroring_screen mirroring

来源:互联网 2023-08-12 03:25:01

手机突然划不动屏幕了怎么办

来源:互联网 2023-08-12 01:16:02

2023李荣浩演唱会天津站开票时间已定

来源:本地宝 2023-08-11 22:58:33

两世欢是什么东西(两世欢是什么意思)

来源:互联网 2023-08-11 22:11:49

儒艮怎么拼(儒艮的拼音怎么读)

来源:互联网 2023-08-11 21:12:39

Copyright   2015-2022 欧洲知识产权网 版权所有  备案号:沪ICP备2022005074号-23   联系邮箱: 58 55 97 3@qq.com