|
楼主 |
发表于 2020-6-14 18:13:53
|
显示全部楼层
- #define BLINKER_WIFI
- //定义端口地址 根据连线情况确定
- #define DOOR1 2
- #define DOOR2 3
- #define KEY1 4
- #define KEY2 5
- //头文件
- #include <Blinker.h>
- //定义链接参数,这个是秘密只能xxxx了
- char auth[] = "xxxxxxxxxxxxxx"; //blinker上的设备码
- char ssid[] = "TPxxxxxxxx"; //路由器
- char pswd[] = "xxxxxx"; //密码
- unsigned char key1_sta=0;
- unsigned char key2_sta=0;
- unsigned char box1_sta=0;
- unsigned char box2_sta=0;
- // 新建组件对象连接Blinker用
- BlinkerButton Button1("btn-1");
- BlinkerButton Button2("btn-2");
- // Blinker的回调函数
- void button1_callback(const String & state) {
- box1_sta=0; //取件,清除有件状态
- digitalWrite(DOOR1, LOW);
- delay(500);
- digitalWrite(DOOR1, HIGH);
- }
- void button2_callback(const String & state) {
- box2_sta=0; //取件,清除有件状态
- digitalWrite(DOOR2, LOW);
- delay(500);
- digitalWrite(DOOR2, HIGH);
- }
- void setup() {
- //设置开门地址
- pinMode(DOOR1, OUTPUT);
- pinMode(DOOR2, OUTPUT);
- digitalWrite(DOOR1, HIGH);
- digitalWrite(DOOR2, HIGH);
- //设置按键地址
- pinMode(KEY1, INPUT);
- pinMode(KEY2, INPUT);
- Blinker.begin(auth, ssid, pswd);
- Button1.attach(button1_callback);
- Button2.attach(button2_callback);
- }
- void loop() {
- Blinker.run();
- //有按键打开相应的柜子
- if(digitalRead(KEY1)==0 && key1_sta==1 && box1_sta==0){
- digitalWrite(DOOR1, LOW);
- delay(500);
- digitalWrite(DOOR1, HIGH);
- }
- if(digitalRead(KEY2)==0 && key2_sta==1 && box2_sta==0){
- digitalWrite(DOOR2, LOW);
- delay(500);
- digitalWrite(DOOR2, HIGH);
- }
- key1_sta=digitalRead(KEY1);
- key2_sta=digitalRead(KEY2);
- }
复制代码 |
|