电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 2365|回复: 9

汽车远程打火基于ESP8266和点灯科技

[复制链接]
发表于 2020-6-1 09:24:04 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
本帖最后由 cf小张 于 2020-6-1 09:34 编辑

经过将近几个月的稳定试验决定发出来(不要轻易模仿有一定的危险性)可通过点灯app远程启动汽车,锁车门,开车门,以及检测车内温度湿度,升窗,降窗,锁车门自动升窗。所有代码都是用arduino写的!具体细节vx:cfzjy1996
共使用了7个端口,还有一个端口D8预留

D0上锁
D1开锁
D2温度湿度回传
D3升车窗
D4降车窗
D5电源开关
D6广告开关
D7点火启动
D8预留

远程点火

远程点火


手机控制

手机控制


代码如下
#define BLINKER_WIFI
#include <Blinker.h>
#include <DHT.h>
BlinkerButton Button1("锁门");//数据键名
BlinkerButton Button2("开门");
BlinkerButton Button3("升窗");  
BlinkerButton Button4("降窗");
BlinkerButton Button5("电源");
BlinkerButton Button6("广告");
BlinkerButton Button7("启动");
BlinkerButton Button8("预留");

char i;
char auth[] = "--------";  //设备码
char ssid[] = "--------";  //WiFi名称
char pswd[] = "--------";  //WiFi密码

BlinkerNumber TEMP("温度");   //温度数据键名
BlinkerNumber HUMI("湿度");   //湿度数据键名
#define DHTPIN D2            //定义DHT11模块连接管脚D2
#define DHTTYPE DHT11        //使用DHT11温度湿度模块
DHT dht(DHTPIN, DHTTYPE);    //定义dht
float humi_read = 0, temp_read = 0;

void heartbeat()             //数据同步
{   
    BLINKER_LOG("状态同步!");
    if(digitalRead(D5)==HIGH)
    {
    Button7.print("off");
    Button7.color("#0066FF");//颜色
    Button7.text("熄火");
    }
    else
    {
    Button7.print("on");
    Button7.color("#FF0000");//颜色
    Button7.text("启动");
    TEMP.print(temp_read);
    HUMI.print(humi_read);
    }
}


void button1_callback(const String & state)     //锁门//升窗
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D0, HIGH);
        Blinker.delay(200);
        digitalWrite(D0, LOW);
      
        digitalWrite(D3, HIGH);
        Blinker.delay(4500);
        digitalWrite(D3, LOW);
}

void button2_callback(const String & state)     //开门
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D1, HIGH);
        Blinker.delay(200);
        digitalWrite(D1, LOW);
}

void button3_callback(const String & state)     //升窗
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D3, HIGH);
        Blinker.delay(1000);
        digitalWrite(D3, LOW);
}

void button4_callback(const String & state)     //降窗
{
    BLINKER_LOG("get button state: ", state);
        digitalWrite(D4, HIGH);
        Blinker.delay(500);
        digitalWrite(D4, LOW);
}

void button5_callback(const String & state)    //电源
{
if (digitalRead(D5) == HIGH) {           
    BLINKER_LOG("断电");                           
    digitalWrite(D5, LOW);
    Button5.color("#999999");//颜色                     
    Button5.print("off");                  
   
}
  else if (digitalRead(D5) == LOW) {     
    BLINKER_LOG("通电");                        
    digitalWrite(D5, HIGH);
    Button5.color("#66CC00");//颜色
    Button5.print("on");               
   
  }
}

void button6_callback(const String & state)   //广告
{
if (digitalRead(D6) == HIGH){            
    BLINKER_LOG("广告关");                          
    digitalWrite(D6, LOW);
    Button6.color("#999999"); //颜色                  
    Button6.print("off");                        
  }
  else if (digitalRead(D6) == LOW){     
    BLINKER_LOG("广告开");                     
    digitalWrite(D6, HIGH);
    Button6.color("#fddb00");//颜色                 
    Button6.print("on");                     
  }
}

void button7_callback(const String & state)  //启动//熄火
{   
    if (digitalRead(D5) == HIGH){            
    BLINKER_LOG("熄火");                          
    Button7.color("#FF0000"); //颜色                    
    Button7.text("启动");
    Button7.print("off");                       
   
    digitalWrite(D5, LOW);
   
    digitalWrite(D6, LOW);
}
  else if (digitalRead(D5) == LOW){         
    BLINKER_LOG("启动");                     
    Button7.color("#0066FF"); //颜色                 
    Button7.text("熄火");
    Button7.print("on");  
   
   digitalWrite(D1, HIGH);
   Blinker.delay(200);
   digitalWrite(D1, LOW);
   
   digitalWrite(D5,HIGH);
   
   digitalWrite(D7, HIGH);
   Blinker.delay(700);
   digitalWrite(D7, LOW);
   
   digitalWrite(D6, HIGH);
  }
}
void button8_callback(const String & state)   //预留
{
if (digitalRead(D8) == LOW){            
    BLINKER_LOG("关");                          
    digitalWrite(D8, LOW);
    Button8.color("#0066FF"); //颜色                    
    Button8.print("off");                       
  }
  else if (digitalRead(D8) == HIGH){     
    BLINKER_LOG("开");                     
    digitalWrite(D8, HIGH);
    Button8.color("#FF0000"); //颜色                 
    Button8.print("on");                     
  }
}

void setup()
{
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  BLINKER_DEBUG.debugAll();
  dht.begin();
   
  pinMode(D0, OUTPUT);
  digitalWrite(D0, LOW);
  pinMode(D1, OUTPUT);
  digitalWrite(D1,LOW);
  pinMode(D3, OUTPUT);
  digitalWrite(D3,LOW);
  pinMode(D4, OUTPUT);
  digitalWrite(D4,LOW);
  pinMode(D5, OUTPUT);
  digitalWrite(D5,LOW);
  pinMode(D6, OUTPUT);
  digitalWrite(D6,LOW);
  pinMode(D7, OUTPUT);
  digitalWrite(D7,LOW);
  pinMode(D8, OUTPUT);
  digitalWrite(D8,LOW);
  Blinker.begin(auth, ssid, pswd);

  Button1.attach(button1_callback);
  Button2.attach(button2_callback);
  Button3.attach(button3_callback);
  Button4.attach(button4_callback);
  Button5.attach(button5_callback);
  Button6.attach(button6_callback);
  Button7.attach(button7_callback);
  Button8.attach(button8_callback);
  Blinker.attachHeartbeat(heartbeat);
}

void loop()
{
  Blinker.run();
  
  float h = dht.readHumidity();
  float t = dht.readTemperature();

    if (isnan(h) || isnan(t))
    {
        BLINKER_LOG("Failed to read from DHT sensor!");
    }
    else
    {
        BLINKER_LOG("Humidity: ", h, " %");
        BLINKER_LOG("Temperature: ", t, " *C");
        humi_read = h;
        temp_read = t;
    }

    Blinker.delay(2000);
}

车窗升降

车窗升降
发表于 2020-6-1 10:26:29 | 显示全部楼层
这个东西像鸡肋一样
发表于 2020-6-1 10:30:23 来自手机 | 显示全部楼层
**这是个高手,单片机都整出来了,可是太高了,以我目前的水平根本做不出来啊,不过还是谢谢分享,喜欢动手的可以玩玩。
 楼主| 发表于 2020-6-1 11:06:55 来自手机 | 显示全部楼层
物联网是一个趋势,远程汽车控制产品需要大几千。这是用最低的成本和业余时间研究的,代码要比硬件还要难。你能买到各种模块,能买到代码吗?
发表于 2020-6-1 11:32:24 | 显示全部楼层
这个是我一辈子都学不会的知识
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-11-27 20:24 , Processed in 0.063831 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表