blinker 物联网平台(blinker物联网平台)

Mark wiens

发布时间:2022-11-17

blinker 物联网平台(blinker物联网平台)

 

一、blinker物联网平台简介

blinker是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、数据监测等领域,可以帮助用户更好更快地搭建物联网项目。

(1)特性

由服务器端、APP端、设备端组成,可以部署到几乎所有物联网平台APP端支持ios、android设备端可以使用蓝牙、WiFi、MQTT等方式接入,支持Arduino、freeRTOS、mbed OS、Linux等开发平台服务器端可以部署到阿里云、腾讯云、OneNET、百度云、AWS、google cloud等平台通过界面布局器,DIY用户可自己拖拽布局设备控制界面,自由打造你的物联网设备通过专属SDK,认证用户可以使用blinker开发自己的产品,并用于商业用途

(2)应用场景

快速开发物联网 / 智能家居 / 无线遥控项目手机 / 语音助手 控制设备蓝牙BLE/ 局域网WiFi / 远程MQTT 接入设备

二、ESP8266智能硬件简介

ESP8266是低成本、高集成度的WIFI芯片,可以用于智能家居、智能玩具等多种场景。

(1)特性

性能稳定高集成度低功耗32位处理器,性能优越

(2)使用场景

互联网小常识:划分子网的三级地址结构为:网络号+子网号+主机号。

智能家居,如智能开关等智能玩具,如WiFi遥控车等

三、电路连接

该智能开关以ESP-01S WIFI模块为设备端,控制继电器模块的闭合,从而完成对开关的控制。其硬件电路如下:

ESP-01S与继电器模块

四、界面配置

APP端界面配置

互联网小常识:设计一个网络安全方案时,需要完成以下四个基本任务:(1)设计一个算法,执行安全相关的转换(2)生成该算法的秘密信息(如密钥)(3)研制秘密信息的分发和共享的方法(4)设定两个责任者使用的协议,利用算法和秘密信息取得安全服务。

五、代码编写

include// 启用WIFI接入,并可通过小爱同学控制defineBLINKER_WIFIdefineBLINKER_MIOT_LIGHT// 定义继电器控制端口defineGPIO0 0// Blinker认证及WIFI信息charauth[] ="xxxxxxxxxxxxx";// 从APP创建设备时生成的秘钥charssid[] ="xxxxxxxxxxxxx";// WIFI名称charpswd[] ="xxxxxxxxxxxxx";// WIFI密码// 新建开关组件对象BlinkerButtonButton1("btn-s82");// 定义灯的状态和模式boollightState =false;uint8_tlightMode = BLINKER_CMD_MIOT_DAY;// 电源控制回调函数voidmiotPowerState(constString & state){ BLINKER_LOG("need set power state: ", state);if(state == BLINKER_CMD_ON) { digitalWrite(LED_BUILTIN, LOW); digitalWrite(GPIO0, LOW); BlinkerMIOT.powerState("on"); BlinkerMIOT.print(); lightState =true; }elseif(state == BLINKER_CMD_OFF) { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(GPIO0, HIGH); BlinkerMIOT.powerState("off"); BlinkerMIOT.print(); lightState =false; } }// 模式设置回调函数voidmiotMode(uint8_tmode){ BLINKER_LOG("need set mode: ", mode);if(mode == BLINKER_CMD_MIOT_DAY) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_NIGHT) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_COLOR) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_WARMTH) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_TV) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_READING) {// Your mode function}elseif(mode == BLINKER_CMD_MIOT_COMPUTER) {// Your mode function} lightMode = mode; BlinkerMIOT.mode(mode); BlinkerMIOT.print(); }// 设备查询回调函数voidmiotQuery(int32_tqueryCode){ BLINKER_LOG("MIOT Query codes: ", queryCode);switch(queryCode) {caseBLINKER_CMD_QUERY_ALL_NUMBER : BLINKER_LOG("MIOT Query All"); BlinkerMIOT.powerState(lightState ?"on":"off"); BlinkerMIOT.print();break;caseBLINKER_CMD_QUERY_POWERSTATE_NUMBER : BLINKER_LOG("MIOT Query Power State"); BlinkerMIOT.powerState(lightState ?"on":"off"); BlinkerMIOT.print();break;default: BlinkerMIOT.powerState(lightState ?"on":"off"); BlinkerMIOT.print();break; } }// 数据读取回调函数voiddataRead(constString & data){ BLINKER_LOG("Blinker readString: ", data); Blinker.vibrate();uint32_tBlinkerTime = millis(); Blinker.print("millis", BlinkerTime); }// 开关回调函数voidbutton1_callback(constString & state){ BLINKER_LOG("get button state: ", state);if(state == BLINKER_CMD_ON) { digitalWrite(GPIO0, LOW); digitalWrite(LED_BUILTIN, LOW); BLINKER_LOG("Toggle on!"); Button1.color("FF0000"); Button1.print("on"); }elseif(state == BLINKER_CMD_OFF) { digitalWrite(GPIO0, HIGH); digitalWrite(LED_BUILTIN, HIGH); BLINKER_LOG("Toggle off!"); Button1.color("000000"); Button1.print("off"); } }voidsetup(){ Serial.begin(115200); BLINKER_DEBUG.stream(Serial); BLINKER_DEBUG.debugAll();// 板载LEDpinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH);// 继电器pinMode(GPIO0, OUTPUT); digitalWrite(GPIO0, HIGH);// 初始化BlinkerBlinker.begin(auth, ssid, pswd); Blinker.attachData(dataRead);// 绑定回调函数BlinkerMIOT.attachPowerState(miotPowerState); BlinkerMIOT.attachMode(miotMode); BlinkerMIOT.attachQuery(miotQuery);// 绑定对象Button1.attach(button1_callback);// 初始化开关颜色黑色Button1.color("000000"); }voidloop(){ Blinker.run(); }

互联网小常识:VLAN的特点:a、工作在数据链路层b每个VLAN都是一个独立的网段,独立的广播域c每个都有各自唯一的子网号,通信需要第三层的路由功能。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186