stm32项目(8)——基于stm32的智能家居设计

目录

一.功能设计

二.演示视频

三.硬件选择

1.单片机

2.红外遥控

3.红外探测模块

4.光敏电阻模块

5.温湿度检测模块

6.风扇模块

7.舵机

8.WIFI模块

9.LED和蜂鸣器

10.火焰传感器

11.气体传感器

四.程序设计

1.连线方式

2.注意事项

3.主程序代码

五.课题意义


一.功能设计

本次设计的目标是想实现如下图所示的智能家居环境

本次设计所实现的功能:
        用红外遥控输入密码,密码正确,绿灯亮,系统工作,实现后面的功能,密码不正确红灯亮,不工作。
        红外避障检测到汽车靠近,自动抬杆
        检测光照强度,显示到TFTLCD屏幕上,天亮自动开窗
        检测温湿度数值,温度高,自动开风扇。
        火焰传感器检测到有火,烟雾传感器检测到有烟雾,蜂鸣器就报警。
       通过WIFI模块连接到原子云, 从云端远程控制开门、开窗,同时将温度 湿度 光照信息上传到原子云显示

二.演示视频

完成后的演示视频如下:

基于探索者开发板的智能家居_功能演示

正点原子WIFI模块连接原子云的讲解

三.硬件选择

        所有硬件的实物图如下:

1.单片机

        单片机选择stm32f407,用的是正点原子的探索者开发板。

        正点原子探索者开发板(Atomic Explorer)是一款基于STM32系列微控制器的开发板。它由正点原子推出,旨在方便开发者进行嵌入式系统的开发和调试。

        该开发板采用了常见的DIP封装,具有丰富的外设和接口,包括数字量输入输出口、模拟量输入输出口、串口、SPI、I2C等接口,以满足不同项目的需求。开发板还配备了丰富的功能模块,如LED指示灯、继电器、按键、温湿度传感器等,方便开发者快速验证和验证项目的可行性。

        开发者可以使用开发板上提供的开发环境和开源库进行程序开发,也可以与其他常用开发环境(如Keil、IAR)配合使用。开发板支持C语言和汇编语言编程,开发者可以根据自己的需要选择合适的编程方式。

        总之,正点原子探索者开发板是一款功能丰富、易于使用的嵌入式系统开发工具,适用于学习、原型开发和小型项目开发等各种场景。

2.红外遥控

        红外遥控用的是买单片机自带的。

        通常红外遥控为了提高抗干扰性能和降低电源消耗,红外遥控器常用载波的方式传送二进制编码,常用的载波频率为38kHz,这是由发射端所使用的455kHz晶振来决定的。在发射端要对晶振进行整数分频,分频系数一般取12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遥控系统采用36kHz、40 kHz、56 kHz等,一般由发射端晶振的振荡频率来决定。所以,通常的红外遥控器是将遥控信号(二进制脉冲码)调制在38KHz的载波上,经缓冲放大后送至红外发光二极管,转化为红外信号发射出去的。 

        红外接收设备是探索者板子上自带的,由红外接收电路、红外解码、电源和应用电路组成。红外遥控接收器的主要作用是将遥控发射器发来的红外光信号转换成电信号,再放大、限幅、检波、整形,形成遥控指令脉冲,输出至遥控微处理器。近几年不论是业余制作还是正式产品,大多都采用成品红外接收头。成品红外接收头的封装大致有两种:一种采用铁皮屏蔽;一种是塑料封装。均有三只引脚,即电源正(VDD)、电源负(GND)和数据输出(VOUT)。

3.红外探测模块

        红外探测模块检测到有车靠近时,自动抬杆。使用模块如下所示:

        该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5V。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。

        其原理图如下所示

4.光敏电阻模块

        光敏电阻模块如下图所示: 

        光敏电阻模块(Photoresistor Module)是一种基于光敏电阻原理的传感器模块。它是一种被广泛应用于光敏感测领域的组件,常用于测量环境中的光强度。

        光敏电阻模块通常由光敏电阻元件和调节电路组成。光敏电阻元件是一种能随着光照强度变化而改变电阻值的组件。当光照强度增加时,电阻值会减小;反之,当光照强度减小时,电阻值会增加。调节电路通常用于对光敏电阻的输出进行放大和转换。

        光敏电阻模块可以通过数字或模拟信号进行输出。在数字输出模式下,当光敏电阻检测到的光强度超过预设阈值时,输出高电平;否则,输出低电平。在模拟输出模式下,光敏电阻模块会输出一个与光强度成正比的电压或电流信号。

        光敏电阻模块广泛应用于自动调节和感知光照的场景中。例如,它可以用于光敏感控灯系统、光敏感自动窗帘系统、光敏感安防系统等。通过与其他模块或控制器结合,光敏电阻模块可以实现光强度的实时监测和光敏感应控制。

        只要用单片机的AD转换功能,检测该模块输出电压的大小,都可以知道环境光照强度大小。

5.温湿度检测模块

         温湿度传感器选择的是DHT11,实物图如下:

        DHT11是一款广泛应用于温湿度测量的数字温湿度传感器。DHT代表Digital Humidity and Temperature(数字湿度和温度),11表示其具有11位的输出精度。

        DHT11传感器由温湿度感测元件、AD转换电路和数字信号处理电路组成。它采用单总线传输方式,通过一个总线线路即可同时获取温度和湿度数据。DHT11的测量范围为温度0℃至50℃,湿度20%RH至90%RH。

        DHT11传感器的使用非常简单,只需将其三个引脚分别连接到供电(VCC)、地(GND)和数据(DATA)引脚即可。通过单总线协议,可以通过读取引脚上的数字信号来获取温度和湿度值。通常情况下,开发者需要使用相应的库或驱动程序来与DHT11传感器进行交互,以便读取温湿度数据并进行进一步的处理和应用。

6.风扇模块

        风扇模块实物图:

         这种风扇自带驱动,直接用单片机IO口就可以控制它的转动,非常方便,不需要外加驱动模块,可以大大提高便利性。

7.舵机

        本次使用小型数字舵机。实物:

 

 可见,只要给该舵机一定时间的高电平,就能控制舵机转动到对应的角度!

8.WIFI模块

        WIFI模块使用正点原子的WIFI模块,实物图如下:

      

        WIFI模块(Wireless Fidelity Module)是一种用于无线网络通信的模块,可以使设备具备无线网络连接的能力。

        WIFI模块通常与设备的主控芯片或微控制器结合使用,通过无线局域网(WLAN)技术实现设备与网络的连接。它可以通过无线方式传输数据、接入互联网、与其他设备进行通信等。

        WIFI模块的工作原理主要基于标准的无线网络协议(如IEEE 802.11系列标准),其中常见的协议包括802.11b、802.11g、802.11n和802.11ac等。这些协议定义了WIFI模块与其他设备之间的通信规范,包括使用的频段、数据传输速率、安全认证等。

        使用WIFI模块,设备可以利用现有的无线网络基础设施(如无线路由器)与互联网进行连接,以实现各种应用场景。例如,智能家居设备可以通过WIFI模块连接到家庭无线网络,实现远程控制和监控;物联网设备可以通过WIFI模块与云服务器进行通信,实现数据传输和远程控制等。

       在探索者板子上,WIFI模块使用的是串口三,所以到时候直接用串口三控制这个WIFI模块就可以了。 

        在程序设计时,我用了一个按键控制了WIFI模块的连接,按下K0,才进行WIFI模块连接到原子云这一步工作。

9.LED和蜂鸣器

        LED和蜂鸣器直接用板子上自带就即可。

10.火焰传感器

        火焰传感器是专门用来探测火源的传感器。火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为模拟电压信号输出。  本次使用的火焰传感器,火焰强度越大,输出的电压越低。火焰强度越小,输出的电压越大。是一个反比例关系。

        所以,当有火焰时,该模块输出低电平。单片机检测到低电平就可以进行相关的控制操作。 

11.气体传感器

        气体传感器使用的是MQ2,MQ-2气体传感器对气体敏感,能检测出包括天然气、甲烷、酒精在内的多种可燃性气体,是一款高性价比传感器。下图为MQ-2传感器的实物图:

        本次只使用了它的数字输出口,当传感器检测到有烟雾时就会输出低电平,单片机检测到这个低电平就知道有烟雾产生了。 

四.程序设计

1.连线方式

/**
 ****************************************************************************************************
 红外避障端口  数字输出端“D” 接到单片机PB3口
 汽车抬杆控制口为PB0
 光照传感器接PA5
 控制开窗的舵机接PB1
 温湿度传感器接PG9
 风扇的INA接PC0  INB 接PC2
 火焰传感器 数字输出端“D” 接PB6
 气体传感器 数字输出端“D” 接PB7
 
 控制大门的舵机接 PB2
 ****************************************************************************************************
 */

2.注意事项

//开机后,用遥控输入开机密码  初始密码为 123456 输入时 按键按下去的时间必须非常短暂,避免重复触发 密码输入完成后 按下遥控器电源键进行密码判断
//密码输入过程中 如果输错了数字 可以按下删除键进行删除
//密码输入正确后  按下KEY0键 进行WIFI连接 连接过程会在LCD上显示
//连接上原子云后  温度 湿度 光照会传到原子云显示  从原子云发送1 控制大门的舵机会打开  发送0  大门关闭

3.主程序代码

/**
 ****************************************************************************************************
 红外避障端口  数字输出端“D” 接到单片机PB3口
 汽车抬杆控制口为PB0
 光照传感器接PA5
 控制开窗的舵机接PB1
 温湿度传感器接PG9
 风扇的INA接PC0  INB 接PC2
 火焰传感器 数字输出端“D” 接PB6
 气体传感器 数字输出端“D” 接PB7
 
 控制大门的舵机接 PB2
 ****************************************************************************************************
 */

//开机后,用遥控输入开机密码  初始密码为 123456 输入时 按键按下去的时间必须非常短暂,避免重复触发 密码输入完成后 按下遥控器电源键进行密码判断
//密码输入过程中 如果输错了数字 可以按下删除键进行删除
//密码输入正确后  按下KEY0键 进行WIFI连接 连接过程会在LCD上显示
//连接上原子云后  温度 湿度 光照会传到原子云显示  从原子云发送1 控制大门的舵机会打开  发送0  大门关闭
#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/usart/usart.h"
#include "./SYSTEM/delay/delay.h"
#include "./BSP/LED/led.h"
#include "./BSP/LCD/lcd.h"
#include "./BSP/BEEP/beep.h"
#include "./BSP/KEY/key.h"
#include "./BSP/ADC/adc.h"
#include "./BSP/DHT11/dht11.h"
#include "./BSP/SENSOR/sensor.h"
#include "./BSP/REMOTE/remote.h"
#include "./BSP/TIMER/btim.h"
#include "string.h"

char mima[]="123456";               //密码
int  light_yuzhi=200;               //光照强度阈值(可根据实际情况修改)
int  temp_yuzhi=20;                 //温度阈值

int main(void)
{
    uint8_t key;
    uint8_t flag=0;                 //若flag=1  说明输入的密码正确
    uint8_t i = 0;
    uint16_t adcx=0;                     //保存AD转换的值   该值的大小反应了光照强度
    uint8_t temperature=0;             //保存温度数据
    uint8_t humidity=0;                //保存湿度数据
    char str[]="";
    char *p;
    HAL_Init();                             /* 初始化HAL库 */
    sys_stm32_clock_init(336, 8, 2, 7);     /* 设置时钟,168Mhz */
    delay_init(168);                        /* 延时初始化 */
    usart_init(115200);                     /* 串口初始化为115200 */
    btim_timx_int_init(10 - 1, 8400 - 1); /* 84 000 000 / 84 00 = 10 000 10Khz的计数频率,计数10次为1ms */
    usart3_init(115200);		//WIFI 初始化 波特率必须为 9600
    led_init();                             /* 初始化LED */
    lcd_init();                             /* 初始化LCD */
    sensor_init();                           //各种开关量传感器初始化
    beep_init();                            /* 初始化蜂鸣器 */
    key_init();                             /* 初始化按键 */
    remote_init();                         /* 红外接收初始化 */
    dht11_init();                            //温湿度传感器初始化
    adc_init();                             /* 初始化ADC  采集光照强度要用到ADC */
    g_point_color = RED;
   
    lcd_show_string(50, 40, 300, 32, 32, "SMART HOME SYSTEM", RED);     //显示标题
   lcd_show_string(50,100, 300, 16, 16, "key:", RED);     //显示标题
   lcd_show_string(30, 160, 200, 16, 16, "Light_Intensity", BLUE);        //显示光照强度
   lcd_show_string(30, 180, 200, 16, 16, "Light_yuzhi", BLUE);        //显示光照强度阈值
   lcd_show_xnum(110, 180, light_yuzhi, 5, 16, 0, BLUE);      
   lcd_show_string(30, 200, 200, 16, 16, "Temp:  C", BLUE);            //显示温度
   lcd_show_string(30, 220, 200, 16, 16, "Humi:  %", BLUE);          //显示湿度
   lcd_show_string(30, 240, 200, 16, 16, "Temp_yuzhi:  C", BLUE);            //显示温度阈值
   lcd_show_num(30 + 84, 240, temp_yuzhi, 2, 16, BLUE); 

  
    while (1)
    {
       
        key = remote_scan();          //检测红外遥控是否有按键按下
        if(key)                     //如果按键被按下
        {
             switch (key)
            {               
                case 22:
                    str[i++] = '1';
                    break;

                case 25:
                     str[i++] = '2';
                    break;

                case 13:
                     str[i++] = '3';
                    break;

                case 12:
                     str[i++] = '4';
                    break;

                case 24:
                     str[i++] = '5';
                    break;

                case 94:
                     str[i++] = '6';
                    break;

                case 8:
                     str[i++] = '7';
                    break;

                case 28:
                     str[i++] = '8';
                    break;

                case 90:
                     str[i++] = '9';
                    break;

                case 66:
                    str[i++] = '0';
                    break;
                case 74:
                    str[--i] = ' ';       //如果按了回退键,那么指针左移一位 相当于删除最后一位数字                                     
                    break;
                 case 69:                 //69 是电源键      按下以后进行密码判断                
                    if(strcmp(str,mima)==0)        //如果密码正确
                    {
                       flag=1;
                    }
                    else
                      {
                         flag=0;
                         lcd_show_string(80, 100, 300, 16, 16, "        ", RED);     //清空前面输错的密码
                      }
                    i=0;
                    strcpy(str,"");               //清空  便于下次输入密码                  
                    break;

            }
        }
        
       lcd_show_string(80, 100, 300, 16, 16, str, RED);     //显示输入的密码
        
       if(flag==1)
       {  
          LED1(0);         //密码正确 绿灯亮
          LED0(1);
          lcd_show_string(50,100, 300, 16, 16, "welcaom to my smart home system", RED);     
          lcd_show_string(30, 320, 200, 16, 16, "press key0 to connect wifi", BLUE);
          if(KEY0==0)
          {
            lcd_show_string(30, 340, 200, 16, 16, "WIFI Connecting......", BLUE);           
            u3_printf("AT+CWMODE=1\r\n");
            delay_ms(3000);
            u3_printf("AT+CWJAP=\"FAST_0A5C\",\"123456789\"\r\n");      //FAST_0A5C改成你自己的WIFI名字  后面的一串数字改成你自己的WIFI密码
            delay_ms(8000);
            u3_printf("AT+ATKCLDSTA=\"22021955902980447838\",\"88888888\"\r\n");      //这里的数字是设备编号 和 设备密码  改成你自己原子云里面对应的就行
            delay_ms(3000);
            lcd_show_string(30, 340, 200, 16, 16, "WIFI Conneced!         ", BLUE);
          }
          
         if(Infrared==0)           //如果红外避障检测到有车
         {
           rod_ctrl(180);         //那么抬起杆子    (控制杆子的舵机接在PB0  角度控制范围为0-180°)
         }
         else
         {
           rod_ctrl(90);          //否则杆子不抬起
         }
        
         adcx = adc_get_result_average(ADC_ADCX_CHY, 10);   /* ADCX即为光照强度 范围为0-4095 值越大 代表光照越强 用手指蒙住传感器adcx为50左右 
                                                            正常情况下为180左右   用手电筒照射,可达到3000多(设定光照阈值时 可供参考)*/
         lcd_show_xnum(160, 160, adcx, 5, 16, 0, BLUE);      /* 显示ADC采样后的原始值 */

         if(adcx>light_yuzhi)                           //光照强度阈值 我设置为100    
            window_ctrl(180);                            //开窗
         else
            window_ctrl(90);             //关窗
         
         dht11_read_data(&temperature, &humidity);             /* 读取温湿度值 */
         lcd_show_num(30 + 40, 200, temperature, 2, 16, BLUE); /* 显示温度 */
         lcd_show_num(30 + 40, 220, humidity, 2, 16, BLUE);    /* 显示湿度 */
         if(temperature>temp_yuzhi)       //如果温度大于阈值
         {
            INB(1);
            INA(0);     //开风扇
         }
         else
         {
            INB(0);
            INA(0);     //关风扇
         }
         
         if(Fire==0 || Gas==0)
            BEEP(1);       //开启蜂鸣器
         else
            BEEP(0);
         
                 
         u3_printf("temp:%d,humi:%d,light:%d\r\n",temperature,humidity,adcx);       //向原子云发送数据
  
       }
       
       else
       {
          LED0(0);         //否则 红灯亮
          LED1(1);
       }
       
       
       delay_ms(1000);
       
       
    }
}

五.课题意义

        基于STM32单片机的智能家居课题具有以下意义:

        1. 提升生活品质:智能家居系统可以通过自动化和智能化的方式,优化家居环境,提供更加舒适和便捷的生活体验。例如,通过自动调节照明、温度和湿度等参数,提高室内的舒适度;通过远程控制和智能时间表,实现家电的智能化管理,提供更加方便的生活方式。

        2. 节能环保:智能家居系统可以通过智能控制和能耗监测,实现能源的有效利用和节约。例如,通过智能照明控制,合理调节灯光亮度和开启时间,降低能耗;利用智能化的能源管理系统,定时监控和控制家电的用电量,提高能源利用效率。

        3. 安全保障:智能家居系统可以提供更高的安全性和防护性。通过安防监控系统、智能锁、入侵报警等智能设备的联动,实现家居的安全防护功能,提供实时的安全监控和警报系统。

        4. 开发创新:基于STM32单片机的智能家居课题可以促使开发者深入研究和应用嵌入式系统、物联网以及传感器技术等方面的知识。通过设计和开发智能家居系统,创新出更加智能、高效和可靠的解决方案,推动技术的发展和应用。

        5. 学习与实践机会:智能家居课题为学生提供了学习和实践的机会。在实际项目中,学生可以通过设计、搭建和调试智能家居系统,提高嵌入式系统开发、网络通信、传感器应用等技能,培养解决问题和创新思维的能力。

        综上所述,基于STM32单片机的智能家居课题具有提升生活品质、节能环保、安全保障、开发创新和学习实践的重要意义,对于推动智能家居技术的发展和应用具有积极的推动作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/69549.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ffmpeg+intel核显实现硬解码

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前言二、检查方法1.图形法2.nvidia-smi3.intel-gpu-tools 三、安装使用1.libva-dev2.libva-utils3.编译安装4.测试1.vainfo2.ffmpeg测试解码 总结 前言 之…

文档控件DevExpress Office File API v23.1新版亮点 - 支持.NET MAUI

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装Microsoft Office,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

LeetCode150道面试经典题-删除有序数组中的重复项(简单)

1.题目 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c…

工程英语翻译怎样做效果比较好

我们知道,高质量的工程翻译可以有效指导工程项目操作的执行,但市场上专业的工程英语翻译人才严重不足。那么,工程英语翻译难吗,怎样翻译工程英语比较好? 业内人士指出, 工程翻译具有用词专业、涉及领域广、…

stm32 cubemx ps2无线(有线)手柄

文章目录 前言一、cubemx配置二、代码1.引入库bsp_hal_ps2.cbsp_hal_ps2.h 2.主函数 前言 本文讲解使用cubemx配置PS2手柄实现对手柄的按键和模拟值的读取。 很简单,库已经封装好了,直接就可以了。 文件 一、cubemx配置 这个很简单,不需要…

Android Camera预览画面变形问题

csdn 问题 安卓camera1在预览时,预览画面看起来被拉伸了. 如图,圆形的盖子,变成椭圆形了. 代码 默认流程,如下为大致的打开摄像头并进行预览显示的代码 private Camera mCamera null; private Surfa…

LeetCode算法递归类—验证二叉搜索树

目录 98. 验证二叉搜索树 题解: 代码: 运行结果:​编辑 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含…

ChatGPT将会成为强者的外挂?—— 提高学习能力

目录 前言 一、提高学习力 🧑‍💻 1. 快速找到需要的知识 2. 组合自己的知识体系 3. 内化知识技能 二、提问能力❗ 三、思维、创新能力 🌟 1. 批判性思维 1.1 八大基本结构进行批判性提问 1.2 苏格拉底的提问分类方法 2. 结构化思…

【设计模式】责任链的基本概念及使用Predicate灵活构造校验链

文章目录 1. 概述1.1.背景1.2.责任链模式的概念 2.责任链的基本写法2.1.链表实现2.2.数组实现 3.Predicate校验链2.1.使用Predicate改写代码2.1.更丰富的条件拓展 4.总结 1. 概述 1.1.背景 在最近的开发中遇到了这么一个需求,需要对业务流程中的各个参数做前置校验…

Nginx的优化和防盗链(面试高频!!!)

Nginx的优化和防盗链 全篇高能!!!!干货较多!!!!本篇含面试高频题: 修改配置文件时,先备份!!!以便回滚!&…

【Nginx】Nginx的优化和防盗链

nginx版本迭代比较快 *工作中,在发版期,通常先备份文件并备注时间,方便后期故障后回档 例: cp nginx.conf nginx.conf.bak.2023.0805 隐藏版本号的两种方法*** 1.修改配置文件 vim /usr/local/nginx/conf/nginx.conf 在http模…

【Leetcode】链表中两数之和(模拟加法器)(击败100%)

step by step. 题目: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&…

Java【算法 04】HTTP的认证方式之DIGEST认证详细流程说明及举例

HTTP的认证方式之DIGEST 1.是什么2.认值流程2.1 客户端发送请求2.2 服务器返回质询信息2.2.1 质询参数2.2.2 质询举例 2.3 客户端生成响应2.4 服务器验证响应2.5 服务器返回响应 3.算法3.1 SHA-2563.1.1 Response3.1.2 A13.1.3 A2 3.2 MD53.2.1 Request-Digest3.2.2 A13.2.3 A2…

百度智能云:千帆大模型平台接入Llama 2等33个大模型,上线103个Prompt模板

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

[免费在线] 将 PDF 转换为 Excel 或 Excel 转换为 PDF | 5 工具

有了免费的在线 PDF 转换器,您可以轻松免费在线将 PDF 转换为 Excel 或 Excel 转换为 PDF。这篇文章为您筛选了 5 个最常用的工具。要从存储介质恢复错误删除或丢失的 PDF 文档、Excel 电子表格、Word 文件或任何其他文件,您可以使用免费的数据恢复程序 …

人大金仓三大兼容:Oracle迁移无忧

企业级应用早期的架构模式是C/S(Client/Server)模式,Client做人机交互逻辑的呈现,Sever做业务计算逻辑的实现。这就类似餐馆的运作模式,Client是前台的服务员提供点菜和上菜服务,而Server则是后厨完成菜品的…

辽宁线上3D三维虚拟工厂生产仿真系统应用场景及优势

工厂虚拟仿真是一种基于计算机技术和虚拟现实技术的数字化解决方案,它可以通过模拟工厂中的设备、流程和操作,来为工程师和操作人员提供了一个沉浸式的虚拟环境,帮助他们更好地了解和优化工厂生产过程。 工厂VR三维可视化技术为工业生产提供了…

拂袖一挥,zipfile秒列zip包内容

使用wxpython列出文件夹中的zip文件及内容 最近在做一个文件管理的小工具,需要列出选择的文件夹下的所有zip压缩文件,并在点击某个zip文件时能够显示其中的内容。为此我使用了wxpython来实现这个功能。 1. 导入需要的模块 首先导入程序需要的模块: import wx import os imp…

zookeeper安装教程及其基本使用

目录 zookeeper下载: zookeeper下载官网: 本地安装配置: 启动zookeeper: 开启服务端: 启动客户端: 查看zookeeper的状态: zoo.cfg文件解读: zookeeper的集群安装&#xff1a…

认识 spring 中的事务 与 事务的传播机制

前言 本篇介绍spring中事务的实现方式,如何实现声明式事务,对事物进行参数的设置,了解事务的隔离级别和事务的传播机制;如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录…