7799浏览
查看: 7799|回复: 5

钉钉智能双色大炮——ESP32-E+人体红外传感器

[复制链接]

钉钉:有个软件名叫钉钉,直播上课我很震惊。评论一看都是好评,应用商店只有一星。在家学习再也不愁,但我不能关摄像头。老师提问我就装卡,再也不能愉快玩耍。

今天给大家带来一款狂拽炫酷屌炸天的手办,啊不,一款物联网警报装置。这款警报装置,内置人体红外感应传感器,用ESP32-E搭配钉钉进行远程信息传输。有了它,当家中无人却检测到有人闯入时,装置会立即触发蜂鸣器劝退小偷,随即会发送警报信息到手机钉钉群,你可以邀请你们小区的物业保安进群,当装置报警时,物业保安将小偷立即拿下,减少你的损失。钉钉智能双色大炮——ESP32-E+人体红外传感器图27


来吧,展示:


一.准备材料





钉钉智能双色大炮——ESP32-E+人体红外传感器图24

二.组装大炮

图1.大炮的3D模型下载附件红外探测应用模型文件.zip
钉钉智能双色大炮——ESP32-E+人体红外传感器图28

图2.双色大炮内部视图
钉钉智能双色大炮——ESP32-E+人体红外传感器图25
图3.双色大炮元器件组装完成图
钉钉智能双色大炮——ESP32-E+人体红外传感器图26

图4.打开你的手机进入热点配置(AP频段必须为2.4GHZ)



三.阿里云IOT平台

3.1 注册并登录阿里云


图5.点击阿里云IOT进入首页: 钉钉智能双色大炮——ESP32-E+人体红外传感器图19

图6.选择支付宝快捷注册或账号注册界面
钉钉智能双色大炮——ESP32-E+人体红外传感器图20


3.2 开通物联网服务

图7.点击物联网应用
钉钉智能双色大炮——ESP32-E+人体红外传感器图21

图8.点击立即开通
钉钉智能双色大炮——ESP32-E+人体红外传感器图18


3.3 创建项目


图9.新建一个项目
钉钉智能双色大炮——ESP32-E+人体红外传感器图1

图10.新建一个产品,定义产品功能定义,发布上线
钉钉智能双色大炮——ESP32-E+人体红外传感器图2

图11.为产品添加设备
钉钉智能双色大炮——ESP32-E+人体红外传感器图3

图12.查看重要的产品三连 这三个信息都是非常重要的 等下代码里面要用到


图13.在产品信息里面查看post请求 等下代码里面要用到
钉钉智能双色大炮——ESP32-E+人体红外传感器图22


3.4 创建业务逻辑
图14.点击进入业务逻辑开发


图15.创建你的业务逻辑名称并进入


图16.进入业务逻辑编辑页面 选择两个如图设备到中央


图17设置设备触发的选项
钉钉智能双色大炮——ESP32-E+人体红外传感器图23

图18.万恶之源钉钉,我相信大家都有吧,没有的去问小学生,让他发给你。没有人能比小学生更懂它。


图19.拥有一个属于自己的钉钉机器人 你可以让多人都能接收到你钉钉机器人发的信息 。复制钉钉机器人的Webhook
钉钉智能双色大炮——ESP32-E+人体红外传感器图4

图20.设置钉钉机器人选项,用刚才复制的Webhook,在依次选择,部署,启动,发布
钉钉智能双色大炮——ESP32-E+人体红外传感器图5


四.烧录程序

4.1 Arduino IDE 编译环境配置

配置URL网址到Arduino IDE 打开Arduino IDE,点击File->Preferences,如下图所示:
图21.在新打开的界面中,点击如下图红色圆圈中的按钮
钉钉智能双色大炮——ESP32-E+人体红外传感器图7

图22.将如下链接地址复制到新弹出的对话框中:
  1. http://download.dfrobot.top/FireBeetle/package_DFRobot_index.json
复制代码

钉钉智能双色大炮——ESP32-E+人体红外传感器图8

图23.点击OK
钉钉智能双色大炮——ESP32-E+人体红外传感器图9


4.3更新板卡

图24.打开Tools->Board:->Boards Manager...
钉钉智能双色大炮——ESP32-E+人体红外传感器图10


图25.Boards Manager会自动更新板卡,如下图所示:
钉钉智能双色大炮——ESP32-E+人体红外传感器图11


图26.更新完成后,会在列表中看到FireBeetle-ESP32主板(现已更新至0.0.8版本),点击安装:
钉钉智能双色大炮——ESP32-E+人体红外传感器图12

图27.安装完成后,列表会显示已经安装FireBeetle-ESP32主板
钉钉智能双色大炮——ESP32-E+人体红外传感器图13



4.4 下载库文件

该例程需要使用该例程需要下载ArduinoJson库
图28.进入加载库文件
钉钉智能双色大炮——ESP32-E+人体红外传感器图14

图29.下载ArduinoJosn5版本 如果网络不好 下面提供了压缩包内含有ArduinoJosn5库文件
钉钉智能双色大炮——ESP32-E+人体红外传感器图15

安装DFRobot_Aliyun库文件和pubsubclient库文件解压后把库文件下载附件库文件及样例代码.rar拖入arduinolibraries文件目录下。如何安装库文件?


4.2 代码烧录

来吧,展示!
  1. #include <WiFi.h>
  2. #include <PubSubClient.h>
  3. #include <ArduinoJson.h>
  4. #include "DFRobot_Aliyun.h"
  5. #define MOTION_SENSOR_PIN  D3 //人体红外传感器接入D3引脚
  6. #define LED_PIN D9 //LED_PIN灯接入D9引脚
  7. #define BUZZER_PIN D6 //蜂鸣器接入D6引脚
  8. bool sensorSign = false;//判断人体红外传感器标记的
  9. uint16_t sensorState = 0;//人体红外传感器状态变量1为有人 0为无人
  10. /*配置WIFI名和密码*/
  11. const char * WIFI_SSID     = "zjf";//输入自己家的wifi及密码
  12. const char * WIFI_PASSWORD = "123456789.";
  13. /*配置设备证书信息*/
  14. String ProductKey = "a16seZxWRxD";
  15. String ClientId = "12345";//这个不用管
  16. String DeviceName = "flash";
  17. String DeviceSecret = "5ae31a7b63ec3c3a5660c8d39f160918";
  18. /*配置域名和端口号*/
  19. String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com";
  20. uint16_t PORT = 1883;
  21. /*需要操作的产品标识符*/
  22. String Identifier = "123456";
  23. /*需要上报的TOPIC*/
  24. const char * pubTopic = "/sys/a16seZxWRxD/flash/thing/event/property/post";//******post
  25. DFRobot_Aliyun myAliyun;
  26. WiFiClient espClient;
  27. PubSubClient client(espClient);
  28. void connectWiFi(){
  29.   Serial.print("Connecting to ");
  30.   Serial.println(WIFI_SSID);
  31.   WiFi.begin(WIFI_SSID,WIFI_PASSWORD);
  32.   while(WiFi.status() != WL_CONNECTED){
  33.     delay(500);
  34.     Serial.print(".");
  35.   }
  36.   Serial.println();
  37.   Serial.println("WiFi connected");
  38.   Serial.print("IP Adderss: ");
  39.   Serial.println(WiFi.localIP());
  40. }
  41. void callback(char * topic, byte * payload, unsigned int len){
  42.   Serial.print("Recevice [");
  43.   Serial.print(topic);
  44.   Serial.print("] ");
  45.   for (int i = 0; i < len; i++){
  46.     Serial.print((char)payload[i]);
  47.   }
  48.   Serial.println();
  49. }
  50. void ConnectAliyun(){
  51.   while(!client.connected()){
  52.     Serial.print("Attempting MQTT connection...");
  53.     /*根据自动计算的用户名和密码连接到Alinyun的设备,不需要更改*/
  54.     if(client.connect(myAliyun.client_id,myAliyun.username,myAliyun.password)){
  55.       Serial.println("connected");
  56.     }else{
  57.       Serial.print("faiLED_PIN, rc=");
  58.       Serial.print(client.state());
  59.       Serial.println(" try again in 5 seconds");
  60.       delay(5000);
  61.     }
  62.   }
  63. }
  64. void setup(){
  65.   Serial.begin(115200);
  66.   pinMode(MOTION_SENSOR_PIN,INPUT);//设置人体红外传感器为输入模式
  67.   pinMode(LED_PIN,OUTPUT);//设置LED灯为输出模式
  68.   pinMode(BUZZER_PIN,OUTPUT);//设置蜂鸣器为输出模式
  69.   /*连接WIFI*/
  70.   connectWiFi();
  71.   
  72.   /*初始化Alinyun的配置,可自动计算用户名和密码*/
  73.   myAliyun.init(ALIYUN_SERVER,ProductKey,ClientId,DeviceName,DeviceSecret);
  74.   
  75.   client.setServer(myAliyun.mqtt_server,PORT);
  76.   
  77.   /*设置回调函数,当收到订阅信息时会执行回调函数*/
  78.   client.setCallback(callback);
  79.   
  80.   /*连接到Aliyun*/
  81.   ConnectAliyun();
  82. }
  83. void loop(){
  84.   if(!client.connected()){
  85.     ConnectAliyun();
  86.   }
  87.   sensorState =digitalRead(MOTION_SENSOR_PIN);//把人体红外传感器接收到的值赋值给sensorState
  88.   if((sensorState==1)&&(sensorSign==false)){
  89.     /*上报防盗警告*/
  90.     client.publish(pubTopic,("{"id":"+ClientId+","params":{""+Identifier+"":1},"method":"thing.event.property.post"}").c_str());
  91.     digitalWrite(LED_PIN,HIGH);//LED_PIN灯打开
  92.     digitalWrite(BUZZER_PIN,HIGH);//蜂鸣器打开
  93.     delay(3000);//延长3秒   
  94.     sensorSign = true;//把传感器标记变为true 防止重复发送信息
  95.   }
  96.   else if((sensorState==0)&&(sensorSign==true)){
  97.     digitalWrite(LED_PIN,LOW);//LED_PIN灯关闭
  98.     digitalWrite(BUZZER_PIN,LOW);//蜂鸣器关闭
  99.     sensorSign = false;//把传感器标记变为false
  100.   }
  101.    
  102.   client.loop();
  103. }
复制代码

把我的代码变为你的代码,我的就是你的,别说话,吻我。

图30.在产品,设备里面点击相应的信息,并复制下来填进对应的选项中。
钉钉智能双色大炮——ESP32-E+人体红外传感器图6


一切准备就绪之后就上传程序,上传成功之后就可以看到你的钉钉群消息了。

图31.钉钉机器人报警消息显示
钉钉智能双色大炮——ESP32-E+人体红外传感器图17


好了,这一篇教程下来,你应该已经学会怎样去制作你的双色大炮了吧,闻西。


ZYogurT  学徒

发表于 2022-4-6 17:04:01

太帅了也
回复

使用道具 举报

涂图  学徒

发表于 2022-10-6 14:06:01

好厉害阿啊
回复

使用道具 举报

涂图  学徒

发表于 2022-10-6 15:50:42


真的是希望我也能
回复

使用道具 举报

JOVI  中级技师 来自手机

发表于 2023-11-30 07:59:14

学习
回复

使用道具 举报

hi2023  见习技师

发表于 3 天前

能不能出个Mind+图形化程序
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail