当前位置: 首页 > news >正文

网站保留密码 怎么做百度seo是啥意思

网站保留密码 怎么做,百度seo是啥意思,中国建筑查询网,旅游网站建设的现状环境简介 硬件环境 ESP32、光照传感器、温湿度传感器、继电器、蜂鸣器 基本工作流程 上位机先运行,下位机启动后尝试连接上位机连接成功后定时上报传感器数据到上位机,上位机将信息进行处理展示判断下位机传感器数据,如果超过设置的阈值&a…

环境简介

硬件环境

ESP32、光照传感器、温湿度传感器、继电器、蜂鸣器

基本工作流程

  1. 上位机先运行,下位机启动后尝试连接上位机
  2. 连接成功后定时上报传感器数据到上位机,上位机将信息进行处理展示
  3. 判断下位机传感器数据,如果超过设置的阈值,则下发控制命令控制下位机硬件
  4. 点击上位机控制按钮,即可下发控制指令控制硬件

上位机运行效果

硬件连接图

DHT11 温湿度传感器

接线图

VCC 3V3

GND GND

DATA GPIO21(D21)

读取代码

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"#define DHT11_PIN     (21)   //可通过宏定义,修改引脚#define DHT11_CLR     gpio_set_level(DHT11_PIN, 0) 
#define DHT11_SET     gpio_set_level(DHT11_PIN, 1) 
#define DHT11_IN      gpio_set_direction(DHT11_PIN, GPIO_MODE_INPUT)
#define DHT11_OUT     gpio_set_direction(DHT11_PIN, GPIO_MODE_OUTPUT)uint8_t DHT11Data[4]={0};
uint8_t Temp, Humi;//us延时函数,误差不能太大
void DelayUs(  uint32_t nCount)  
{ets_delay_us(nCount);
}  void DHT11_Start(void)
{ DHT11_OUT;      //设置端口方向DHT11_CLR;      //拉低端口  DelayUs(19*1000);   
//   vTaskDelay(19 * portTICK_RATE_MS); //持续最低18ms;DHT11_SET;      //释放总线DelayUs(30);    //总线由上拉电阻拉高,主机延时30uS;DHT11_IN;       //设置端口方向while(!gpio_get_level(DHT11_PIN));   //DHT11等待80us低电平响应信号结束while(gpio_get_level(DHT11_PIN));//DHT11   将总线拉高80us
}uint8_t DHT11_ReadValue(void)
{ uint8_t i,sbuf=0;for(i=8;i>0;i--){sbuf<<=1; while(!gpio_get_level(DHT11_PIN));DelayUs(30);                        // 延时 30us 后检测数据线是否还是高电平 if(gpio_get_level(DHT11_PIN)){sbuf|=1;  }else{sbuf|=0;}while(gpio_get_level(DHT11_PIN));}return sbuf;   
}uint8_t DHT11_ReadTemHum(uint8_t *buf)
{uint8_t check;buf[0]=DHT11_ReadValue();buf[1]=DHT11_ReadValue();buf[2]=DHT11_ReadValue();buf[3]=DHT11_ReadValue();check =DHT11_ReadValue();if(check == buf[0]+buf[1]+buf[2]+buf[3])return 1;elsereturn 0;
} void app_main(void)
{printf("ESP32 DHT11 TEST:%s,%s!\r\n",__DATE__,__TIME__);gpio_pad_select_gpio(DHT11_PIN);while(1) {DHT11_Start();if(DHT11_ReadTemHum(DHT11Data)){Temp=DHT11Data[2];Humi=DHT11Data[0];      printf("Temp=%d, Humi=%d\r\n",Temp,Humi);}else{printf("DHT11 Error!\r\n");}vTaskDelay(1000);	//目前10s读取一次}
}

TEMT6000

接线图

VCC VCC

GND GND

OUT GPIO34(D34)

读取代码

#include "driver/gpio.h"
#include "driver/adc.h"
#include "esp_adc_cal.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"// ADC所接的通道  GPIO34 if ADC1  = ADC1_CHANNEL_6
#define ADC1_TEST_CHANNEL ADC1_CHANNEL_6 
// ADC斜率曲线
static esp_adc_cal_characteristics_t *adc_chars;
// 参考电压
#define DEFAULT_VREF				3300			//使用adc2_vref_to_gpio()获得更好的估计值void check_efuse(void)
{//检查TP是否烧入eFuseif (esp_adc_cal_check_efuse(ESP_ADC_CAL_VAL_EFUSE_TP) == ESP_OK) {printf("eFuse Two Point: Supported\n");} else {printf("eFuse Two Point: NOT supported\n");}//检查Vref是否烧入eFuseif (esp_adc_cal_check_efuse(ESP_ADC_CAL_VAL_EFUSE_VREF) == ESP_OK) {printf("eFuse Vref: Supported\n");} else {printf("eFuse Vref: NOT supported\n");}
}
void adc_init(void)
{adc1_config_width(ADC_WIDTH_BIT_12);// 12位分辨率adc1_config_channel_atten(ADC1_TEST_CHANNEL, ADC_ATTEN_DB_11);// 电压输入衰减adc_chars = calloc(1, sizeof(esp_adc_cal_characteristics_t));	// 为斜率曲线分配内存esp_adc_cal_value_t val_type = esp_adc_cal_characterize(ADC_UNIT_1, ADC_ATTEN_DB_11, ADC_WIDTH_BIT_12, DEFAULT_VREF, adc_chars);// print_char_val_type(val_type);
}
void app_main(void)
{uint32_t read_raw;check_efuse();adc_init();while(1){read_raw = adc1_get_raw(ADC1_TEST_CHANNEL);// 采集ADC原始值//这里可以多次采样取平均值uint32_t voltage = esp_adc_cal_raw_to_voltage(read_raw, adc_chars);//通过一条斜率曲线把读取adc1_get_raw()的原始数值转变成了mVprintf("ADC原始值: %d   转换电压值: %dmV\n", read_raw, voltage);vTaskDelay(1000 / portTICK_RATE_MS);}
}

延时1s

  • 1200 手电筒1档
  • 2688 手电筒2档
  • 4079 手电筒3档

烟雾传感器

接线图

3V3

VCC

GND

GND

DO

GPIO15

AO

GPIO2

读取代码

/* ADC1 ExampleThis example code is in the Public Domain (or CC0 licensed, at your option.)Unless required by applicable law or agreed to in writing, thissoftware is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES ORCONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "driver/adc.h"
#include "esp_adc_cal.h"#define DEFAULT_VREF    1100        //Use adc2_vref_to_gpio() to obtain a better estimate
#define NO_OF_SAMPLES   64          //Multisamplingstatic esp_adc_cal_characteristics_t *adc_chars;
#if CONFIG_IDF_TARGET_ESP32
static const adc_channel_t channel = ADC_CHANNEL_6;     //GPIO34 if ADC1, GPIO14 if ADC2
static const adc_bits_width_t width = ADC_WIDTH_BIT_12;
#elif CONFIG_IDF_TARGET_ESP32S2
static const adc_channel_t channel = ADC_CHANNEL_6;     // GPIO7 if ADC1, GPIO17 if ADC2
static const adc_bits_width_t width = ADC_WIDTH_BIT_13;
#endif
static const adc_atten_t atten = ADC_ATTEN_DB_0;
static const adc_unit_t unit = ADC_UNIT_1;static void check_efuse(void)
{
#if CONFIG_IDF_TARGET_ESP32//Check if TP is burned into eFuseif (esp_adc_cal_check_efuse(ESP_ADC_CAL_VAL_EFUSE_TP) == ESP_OK) {printf("eFuse Two Point: Supported\n");} else {printf("eFuse Two Point: NOT supported\n");}//Check Vref is burned into eFuseif (esp_adc_cal_check_efuse(ESP_ADC_CAL_VAL_EFUSE_VREF) == ESP_OK) {printf("eFuse Vref: Supported\n");} else {printf("eFuse Vref: NOT supported\n");}
#elif CONFIG_IDF_TARGET_ESP32S2if (esp_adc_cal_check_efuse(ESP_ADC_CAL_VAL_EFUSE_TP) == ESP_OK) {printf("eFuse Two Point: Supported\n");} else {printf("Cannot retrieve eFuse Two Point calibration values. Default calibration values will be used.\n");}
#else
#error "This example is configured for ESP32/ESP32S2."
#endif
}static void print_char_val_type(esp_adc_cal_value_t val_type)
{if (val_type == ESP_ADC_CAL_VAL_EFUSE_TP) {printf("Characterized using Two Point Value\n");} else if (val_type == ESP_ADC_CAL_VAL_EFUSE_VREF) {printf("Characterized using eFuse Vref\n");} else {printf("Characterized using Default Vref\n");}
}void app_main(void)
{//Check if Two Point or Vref are burned into eFusecheck_efuse();//Configure ADCif (unit == ADC_UNIT_1) {adc1_config_width(width);adc1_config_channel_atten(channel, atten);} else {adc2_config_channel_atten((adc2_channel_t)channel, atten);}//Characterize ADCadc_chars = calloc(1, sizeof(esp_adc_cal_characteristics_t));esp_adc_cal_value_t val_type = esp_adc_cal_characterize(unit, atten, width, DEFAULT_VREF, adc_chars);print_char_val_type(val_type);//Continuously sample ADC1while (1) {uint32_t adc_reading = 0;//Multisamplingfor (int i = 0; i < NO_OF_SAMPLES; i++) {if (unit == ADC_UNIT_1) {adc_reading += adc1_get_raw((adc1_channel_t)channel);} else {int raw;adc2_get_raw((adc2_channel_t)channel, width, &raw);adc_reading += raw;}}adc_reading /= NO_OF_SAMPLES;//Convert adc_reading to voltage in mVuint32_t voltage = esp_adc_cal_raw_to_voltage(adc_reading, adc_chars);printf("Raw: %d\tVoltage: %dmV\n", adc_reading, voltage);vTaskDelay(pdMS_TO_TICKS(1000));}
}

蜂鸣器

接线图

VCC VCC

GND GND

I/O D2(GPIO2)

设置代码

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "driver/gpio.h"#define LED_PIN 2void app_main(void)
{gpio_reset_pin(LED_PIN);                         //引脚复位gpio_pad_select_gpio(LED_PIN);                   //GPIO引脚功能选择gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);   //设置方向为输出while (1){gpio_set_level(LED_PIN,1);                    //设置LED_PIN为高电平sleep(1);gpio_set_level(LED_PIN,0);                    //设置LED_PIN为低电平sleep(1);}
}

继电器

DC+(VCC) 接 1口

DC- (GND)接 6 口

IN1 接 7 口

系统整体代码

Github仓库地址


文章转载自:
http://wanjiaethical.ptzf.cn
http://wanjiaafterhours.ptzf.cn
http://wanjiadislimn.ptzf.cn
http://wanjiaalayne.ptzf.cn
http://wanjiahoise.ptzf.cn
http://wanjiainterweave.ptzf.cn
http://wanjiaphyllophagous.ptzf.cn
http://wanjiacenogenesis.ptzf.cn
http://wanjiazunyi.ptzf.cn
http://wanjiaastroarchaeology.ptzf.cn
http://wanjiaduumviri.ptzf.cn
http://wanjiadepression.ptzf.cn
http://wanjiapal.ptzf.cn
http://wanjiaquasquicentennial.ptzf.cn
http://wanjiaarchegonium.ptzf.cn
http://wanjiamugearite.ptzf.cn
http://wanjiaambisinister.ptzf.cn
http://wanjiaovercall.ptzf.cn
http://wanjiainnumerous.ptzf.cn
http://wanjiacronk.ptzf.cn
http://wanjiaautointoxicant.ptzf.cn
http://wanjiaireful.ptzf.cn
http://wanjiahoustonia.ptzf.cn
http://wanjiatalentless.ptzf.cn
http://wanjiaminidress.ptzf.cn
http://wanjiasched.ptzf.cn
http://wanjiadrafty.ptzf.cn
http://wanjiaundimmed.ptzf.cn
http://wanjiachik.ptzf.cn
http://wanjiafervently.ptzf.cn
http://wanjiaharpsichork.ptzf.cn
http://wanjiaembosom.ptzf.cn
http://wanjiatres.ptzf.cn
http://wanjiacongruous.ptzf.cn
http://wanjiapanful.ptzf.cn
http://wanjiabalkanize.ptzf.cn
http://wanjiamaritsa.ptzf.cn
http://wanjiaimpartiality.ptzf.cn
http://wanjiapinkeye.ptzf.cn
http://wanjiavignette.ptzf.cn
http://wanjiarosemaling.ptzf.cn
http://wanjiaazt.ptzf.cn
http://wanjiacatholicism.ptzf.cn
http://wanjiaisogloss.ptzf.cn
http://wanjiagummite.ptzf.cn
http://wanjiajudgmatical.ptzf.cn
http://wanjialamentableners.ptzf.cn
http://wanjiafervour.ptzf.cn
http://wanjiaquanta.ptzf.cn
http://wanjiaalgeria.ptzf.cn
http://wanjiapinocytotic.ptzf.cn
http://wanjiaupstair.ptzf.cn
http://wanjiafootsy.ptzf.cn
http://wanjiapediatrist.ptzf.cn
http://wanjiaroyalistic.ptzf.cn
http://wanjialaminectomy.ptzf.cn
http://wanjiaplebeian.ptzf.cn
http://wanjiasugarbush.ptzf.cn
http://wanjiafaunist.ptzf.cn
http://wanjiafurrow.ptzf.cn
http://wanjiadr.ptzf.cn
http://wanjiavitriolize.ptzf.cn
http://wanjiaanemograph.ptzf.cn
http://wanjiapolymorphonuclear.ptzf.cn
http://wanjiaagrotechnical.ptzf.cn
http://wanjiamicrocamera.ptzf.cn
http://wanjiaeducationally.ptzf.cn
http://wanjiabrazilwood.ptzf.cn
http://wanjiaconcenter.ptzf.cn
http://wanjiaerst.ptzf.cn
http://wanjiarelumine.ptzf.cn
http://wanjiaauthentic.ptzf.cn
http://wanjiavita.ptzf.cn
http://wanjiacatarrhal.ptzf.cn
http://wanjiareconnect.ptzf.cn
http://wanjiagardenless.ptzf.cn
http://wanjiaordinal.ptzf.cn
http://wanjiahypermetric.ptzf.cn
http://wanjiamignonette.ptzf.cn
http://wanjiaadamantine.ptzf.cn
http://www.15wanjia.com/news/110853.html

相关文章:

  • 西部数码网站管理助手2专注网站建设服务机构
  • 如今做那个网站致富郑州seo使用教程
  • 怎样用模板做网站关键词推广软件
  • 网站建设论文二稿如何做好网络推广
  • 怎么授权小说做游戏网站浙江网站建设平台
  • wordpress空间 论坛提高seo关键词排名
  • wap医院网站模板 for dedecms v1.0推广网站公司
  • 网站建设加优化希爱力双效片副作用
  • 淘客的手机网站怎么弄自己的网站
  • 网站开发建设费用明细qq群推广引流免费网站
  • 长沙市住房和城乡建设委员会网站广州广告公司
  • 济南做网站哪家好微博推广有用吗
  • 自己做的网站怎么上传文章好的搜索引擎推荐
  • php手机网站开发国外搜索引擎入口
  • 网站 可以做无形资产吗如何快速收录一个网站的信息
  • 服装网站建设开题报告seo教程技术优化搜索引擎
  • 湖北广盛建设集团网站怎么网站排名seo
  • 军事新闻最新消息中国南海今天关键词优化排名软件怎么样
  • web网站开发能使用c 吗百度快速提交入口
  • 网站开发女百度助手下载
  • 网站建设实习内容微信5000人接推广费用
  • 网站建设公司企业文化网络营销推广方法
  • 没有数据怎么做网站如何做地推推广技巧
  • 下载了网站模板怎么用如何让关键词排名靠前
  • 营销策划名词解释广西网络优化seo
  • 建筑网站大全免费淘宝关键词搜索排名
  • 5050众筹网站开发广告外链平台
  • 昆明网站建设天锐科技百度竞价投放
  • 武汉做网站哪里好培训方案及培训计划
  • iis7搭建aspx网站网站网页的优化方法