main
#include <ESP8266WiFi.h>
#include "config.h"
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "9bd88da46b95";//APP密鑰//
int R_VAL=202;
int G_VAL=215;
int B_VAL=0;
#define R_PIN 4 //定義LED2燈引腳
#define G_PIN 5 //定義LED1燈引腳
#define B_PIN 14 //定義LED5燈引腳
int buttonPin = 0; // 按鍵的管腳定義
// 新建組件對(duì)象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
BlinkerRGB RGB1("col-9bf");
int counter = 0;
// 按下按鍵即會(huì)執(zhí)行該函數(shù)
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
Button1.print("off");
if(state=="on")
{
R_VAL= 255;//越大越亮末贾,三種燈的亮暗程度不同顯示不同的顏色闸溃,全亮//
G_VAL= 255;
B_VAL= 255;
}
else if(state=="off")
{
R_VAL= 0;//全滅//
G_VAL= 0;
B_VAL= 0;
}
analogWrite(R_PIN, 1023-R_VAL*4);//將255放大1023,再將1023變成0,1022變成1······//
analogWrite(G_PIN, 1023-G_VAL*4);
analogWrite(B_PIN, 1023-B_VAL*4);
}
// 如果未綁定的組件被觸發(fā)辉川,則會(huì)執(zhí)行其中內(nèi)容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
void rgb1_callback(uint8_t r_value, uint8_t g_value,uint8_t b_value, uint8_t bright_value)
{
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
BLINKER_LOG("R value: ", r_value);
BLINKER_LOG("G value: ", g_value);
BLINKER_LOG("B value: ", b_value);
BLINKER_LOG("Rrightness value: ", bright_value);
R_VAL= r_value;
G_VAL= g_value;
B_VAL= b_value;
analogWrite(R_PIN, 1023-R_VAL*4);//將255放大1023表蝙,再將1023變成0,1022變成1······//
analogWrite(G_PIN, 1023-G_VAL*4);
analogWrite(B_PIN, 1023-B_VAL*4);
}
void setup() {
Serial.begin(115200);
Serial.println("star");//串口輸出打印//
String name_1=reader("name");
String pwd_1=reader("pwd");
char name_2[name_1.length()+1];
char pwd_2[pwd_1.length()+1];
for(int i=0;i<name_1.length();i++)
name_2[i]=name_1[i];
name_2[name_1.length()]='\0';
for(int i=0;i<pwd_1.length();i++)
pwd_2[i]=pwd_1[i];
pwd_2[pwd_1.length()]='\0';
Serial.println(name_1);//串口輸出打印//
Serial.println(pwd_1);//串口輸出打印//
Serial.println(name_2);//串口輸出打印//
Serial.println(pwd_2);//串口輸出打印//
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, name_2, pwd_2);
Blinker.attachData(dataRead);
RGB1.attach(rgb1_callback);
Button1.attach(button1_callback);
pinMode(R_PIN,OUTPUT); //設(shè)定LED2引腳為輸出
pinMode(G_PIN,OUTPUT); //設(shè)定LED3引腳為輸出
pinMode(B_PIN,OUTPUT); //設(shè)定LED4引腳為輸出
pinMode(buttonPin, INPUT_PULLUP); //設(shè)置按鍵管腳上拉輸入模式
}
char flag=0;
void loop() {
if(flag==0)
{
Blinker.run();
if (digitalRead(buttonPin) == LOW) { // 若按鍵被按下
delay(100);
if (digitalRead(buttonPin) == LOW) { // 延時(shí)消抖
Serial.println("=============wifi config===============");//串口輸出打印//
flag=1;
}
}
}
else if(flag==1)
{
myWebConfig_init();
flag=2;
}else if(flag==2)
{
myWebConfig_run();
}
//
}