文章链接
微信扫一扫分享
钉钉:有个软件名叫钉钉,直播上课我很震惊。评论一看都是好评,应用商店只有一星。在家学习再也不愁,但我不能关摄像头。老师提问我就装卡,再也不能愉快玩耍。
侧面
FireBeetle Board ESP32-E
数字蜂鸣器模块
3.7V电池
人体红外热释电运动传感器
杜邦线若干
元器件
内部
完成
阿里云IOT
首页
注册首页
物联网应用开发
新建项目
新建产品
创建设备
产品三连
设备设置
钉钉机器人创建
机器人设置
ESP32-E首选项界面
http://download.dfrobot.top/FireBeetle/package_DFRobot_index.json复制代码
ESP32-E网址界面显示
ESP32-E点击网址
更新板卡
自动更新板块
ESP32版本安装准备
ESP32已经安装
arduinojson进入界面
arduinojson版本
#include <WiFi.h> #include <PubSubClient.h> #include <ArduinoJson.h> #include "DFRobot_Aliyun.h" #define MOTION_SENSOR_PIN D3 //人体红外传感器接入D3引脚 #define LED_PIN D9 //LED_PIN灯接入D9引脚 #define BUZZER_PIN D6 //蜂鸣器接入D6引脚 bool sensorSign = false;//判断人体红外传感器标记的 uint16_t sensorState = 0;//人体红外传感器状态变量1为有人 0为无人 /*配置WIFI名和密码*/ const char * WIFI_SSID = "zjf";//输入自己家的wifi及密码 const char * WIFI_PASSWORD = "123456789."; /*配置设备证书信息*/ String ProductKey = "a16seZxWRxD"; String ClientId = "12345";//这个不用管 String DeviceName = "flash"; String DeviceSecret = "5ae31a7b63ec3c3a5660c8d39f160918"; /*配置域名和端口号*/ String ALIYUN_SERVER = "iot-as-mqtt.cn-shanghai.aliyuncs.com"; uint16_t PORT = 1883; /*需要操作的产品标识符*/ String Identifier = "123456"; /*需要上报的TOPIC*/ const char * pubTopic = "/sys/a16seZxWRxD/flash/thing/event/property/post";//******post DFRobot_Aliyun myAliyun; WiFiClient espClient; PubSubClient client(espClient); void connectWiFi(){ Serial.print("Connecting to "); Serial.println(WIFI_SSID); WiFi.begin(WIFI_SSID,WIFI_PASSWORD); while(WiFi.status() != WL_CONNECTED){ delay(500); Serial.print("."); } Serial.println(); Serial.println("WiFi connected"); Serial.print("IP Adderss: "); Serial.println(WiFi.localIP()); } void callback(char * topic, byte * payload, unsigned int len){ Serial.print("Recevice ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < len; i++){ Serial.print((char)payload[i]); } Serial.println(); } void ConnectAliyun(){ while(!client.connected()){ Serial.print("Attempting MQTT connection..."); /*根据自动计算的用户名和密码连接到Alinyun的设备,不需要更改*/ if(client.connect(myAliyun.client_id,myAliyun.username,myAliyun.password)){ Serial.println("connected"); }else{ Serial.print("faiLED_PIN, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); delay(5000); } } } void setup(){ Serial.begin(115200); pinMode(MOTION_SENSOR_PIN,INPUT);//设置人体红外传感器为输入模式 pinMode(LED_PIN,OUTPUT);//设置LED灯为输出模式 pinMode(BUZZER_PIN,OUTPUT);//设置蜂鸣器为输出模式 /*连接WIFI*/ connectWiFi(); /*初始化Alinyun的配置,可自动计算用户名和密码*/ myAliyun.init(ALIYUN_SERVER,ProductKey,ClientId,DeviceName,DeviceSecret); client.setServer(myAliyun.mqtt_server,PORT); /*设置回调函数,当收到订阅信息时会执行回调函数*/ client.setCallback(callback); /*连接到Aliyun*/ ConnectAliyun(); } void loop(){ if(!client.connected()){ ConnectAliyun(); } sensorState =digitalRead(MOTION_SENSOR_PIN);//把人体红外传感器接收到的值赋值给sensorState if((sensorState==1)&&(sensorSign==false)){ /*上报防盗警告*/ client.publish(pubTopic,("{"id":"+ClientId+","params":{""+Identifier+"":1},"method":"thing.event.property.post"}").c_str()); digitalWrite(LED_PIN,HIGH);//LED_PIN灯打开 digitalWrite(BUZZER_PIN,HIGH);//蜂鸣器打开 delay(3000);//延长3秒 sensorSign = true;//把传感器标记变为true 防止重复发送信息 } else if((sensorState==0)&&(sensorSign==true)){ digitalWrite(LED_PIN,LOW);//LED_PIN灯关闭 digitalWrite(BUZZER_PIN,LOW);//蜂鸣器关闭 sensorSign = false;//把传感器标记变为false } client.loop(); }复制代码
代码改动
钉钉机器人消息显示
使用道具 举报
发表于 2022-4-6 17:04:01
发表于 2022-10-6 14:06:01
发表于 2022-10-6 15:50:42
涂图 发表于 2022-10-6 14:06 好厉害阿啊
本版积分规则 回复 回帖并转播 回帖后跳转到最后一页
© 2013-2023 Comsenz Inc. Powered by Discuz! X3.4 Licensed