【雕爷学编程】Arduino动手做(113)---5110液晶屏模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百一十三:蓝色诺基亚5110屏 LCD液晶屏模块 兼容3310 LCD

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序五:这个程序是睡眠模式的演示

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序五:这个程序是睡眠模式的演示接脚SCK - 引脚 8MOSI - 引脚 9直流 - 引脚 10RST - 引脚 12CS - 引脚 11
*/#include <LCD5110_Graph.h>
LCD5110 myGLCD(8, 9, 10, 12, 11);extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];void setup() {myGLCD.InitLCD();
}void loop() {myGLCD.setFont(SmallFont);myGLCD.clrScr();myGLCD.print("Entering", CENTER, 0);myGLCD.print("Sleep Mode", CENTER, 8);myGLCD.print("in", CENTER, 16);myGLCD.print("Seconds", CENTER, 40);myGLCD.update();myGLCD.setFont(MediumNumbers);for (int s = 10; s >= 0; s--){myGLCD.printNumI(s, CENTER, 24, 2, '0');myGLCD.update();delay(1000);}myGLCD.enableSleep();myGLCD.clrScr();myGLCD.setFont(SmallFont);myGLCD.print("Awake again!", CENTER, 0);myGLCD.print("Text has been", CENTER, 16);myGLCD.print("changed while", CENTER, 24);myGLCD.print("in Sleep Mode.", CENTER, 32);delay(5000);myGLCD.disableSleep();delay(5000);
}

实验场景图

在这里插入图片描述
在这里插入图片描述

下载库 https://github.com/wilmsn/LCD5110_Graph

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序六:LCD5110_Graph 滚动文本演示

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序六:LCD5110_Graph 滚动文本演示接脚SCK - 引脚 8MOSI - 引脚 9直流 - 引脚 10RST - 引脚 12CS - 引脚 11
*/#include <LCD5110_Graph.h>LCD5110 myGLCD(8,9,10,12,11);extern unsigned char SmallFont[];int y;void setup()
{myGLCD.InitLCD();myGLCD.setFont(SmallFont);randomSeed(analogRead(0));
}void loop()
{y = random(0, 40);for (int i=84; i>=-(34*6); i--){myGLCD.print("LCD5110_Graph Scrolling Text Demo ", i, y);myGLCD.update();delay(50);}
}

实验场景图
在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序七:这个程序是最小字体的演示

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序七:这个程序是最小字体的演示接脚SCK - 引脚 8MOSI - 引脚 9直流 - 引脚 10RST - 引脚 12CS - 引脚 11
*/#include <LCD5110_Graph.h>LCD5110 myGLCD(8,9,10,12,11);extern unsigned char TinyFont[];void setup()
{myGLCD.InitLCD();myGLCD.setFont(TinyFont);
}void loop()
{myGLCD.print(" !"#$%&'()*+,-./", CENTER, 0);myGLCD.print("0123456789:;<=>?", CENTER, 6);myGLCD.print("@ABCDEFGHIJKLMNO", CENTER, 12);myGLCD.print("PQRSTUVWXYZ[\\]^_", CENTER, 18);myGLCD.print("`abcdefghijklmno", CENTER, 24);myGLCD.print("pqrstuvwxyz{|}~ ", CENTER, 30);myGLCD.update();while (1);
}

实验场景图

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
程序八:LCD5110屏的综合测试

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)程序八:LCD5110屏的综合测试接脚SCK - 引脚 8MOSI - 引脚 9直流 - 引脚 10RST - 引脚 12CS - 引脚 11
*/#include <LCD5110_Graph.h>LCD5110 myGLCD(8,9,10,12,11);extern unsigned char SmallFont[];
extern unsigned char TinyFont[];
extern uint8_t arduino_logo[];
extern uint8_t The_End[];
extern uint8_t pacman1[];
extern uint8_t pacman2[];
extern uint8_t pacman3[];
extern uint8_t pill[];float y;
uint8_t* bm;
int pacy;void setup()
{myGLCD.InitLCD();myGLCD.setFont(SmallFont);randomSeed(analogRead(7));
}void loop()
{myGLCD.clrScr();myGLCD.drawBitmap(0, 0, arduino_logo, 84, 48);myGLCD.update();delay(2000);myGLCD.clrScr();myGLCD.print("LCD5110_Graph", CENTER, 0);myGLCD.print("DEMO", CENTER, 20);myGLCD.drawRect(28, 18, 56, 28);for (int i=0; i<6; i++){myGLCD.drawLine(57, 18+(i*2), 83-(i*3), 18+(i*2));myGLCD.drawLine((i*3), 28-(i*2), 28, 28-(i*2));}myGLCD.setFont(TinyFont);myGLCD.print("(C)2015 by", CENTER, 36);myGLCD.print("Henning Karlsen", CENTER, 42);myGLCD.update();delay(5000);myGLCD.clrScr();for (int i=0; i<48; i+=2){myGLCD.drawLine(0, i, 83, 47-i);myGLCD.update();}for (int i=83; i>=0; i-=2){myGLCD.drawLine(i, 0, 83-i, 47);myGLCD.update();}delay(2000);myGLCD.clrScr();myGLCD.drawRect(0, 0, 83, 47);for (int i=0; i<48; i+=4){myGLCD.drawLine(0, i, i*1.75, 47);myGLCD.update();}for (int i=0; i<48; i+=4){myGLCD.drawLine(83, 47-i, 83-(i*1.75), 0);myGLCD.update();}delay(2000);myGLCD.clrScr();for (int i=0; i<8; i++){myGLCD.drawRoundRect(i*3, i*3, 83-(i*3), 47-(i*3));myGLCD.update();}delay(2000);myGLCD.clrScr();for (int i=0; i<17; i++){myGLCD.drawCircle(41, 23, i*3);myGLCD.update();}delay(2000);myGLCD.clrScr();myGLCD.drawRect(0, 0, 83, 47);myGLCD.drawLine(0, 23, 84, 23);myGLCD.drawLine(41, 0, 41, 47);for (int c=0; c<4; c++){for (int i=0; i<84; i++){y=i*0.017453292519943295769236907684886;myGLCD.invPixel(i, (sin(y*6)*20)+23);myGLCD.update();delay(20);}}delay(2000);for (int pc=0; pc<3; pc++){pacy=random(0, 28);for (int i=-20; i<84; i++){myGLCD.clrScr();for (int p=4; p>((i+20)/20); p--)myGLCD.drawBitmap(p*20-8, pacy+7, pill, 5, 5);switch(((i+20)/3) % 4){case 0: bm=pacman1;break;case 1: bm=pacman2;break;case 2: bm=pacman3;break;case 3: bm=pacman2;break;}myGLCD.drawBitmap(i, pacy, bm, 20, 20);myGLCD.update();delay(25);}}for (int i=0; i<25; i++){myGLCD.clrScr();myGLCD.drawBitmap(0, i-24, The_End, 84, 24);myGLCD.update();delay(100);}myGLCD.setFont(SmallFont);myGLCD.print("Runtime (ms):", CENTER, 32);myGLCD.printNumI(millis(), CENTER, 40);myGLCD.update();for (int i=0; i<5; i++){myGLCD.invert(true);delay(1000);myGLCD.invert(false);delay(1000);}
}

Graphics.c

const unsigned char arduino_logo[] ={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0xFC,   // 0x0010 (16) pixels
0xFE, 0xFE, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0xFE, 0xFE, 0xFE,   // 0x0020 (32) pixels
0xFC, 0xFC, 0xF8, 0xF0, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0,   // 0x0030 (48) pixels
0xF0, 0xF0, 0xF8, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F,   // 0x0040 (64) pixels
0x7F, 0x7F, 0x7F, 0xFE, 0xFE, 0xFC, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x86, 0x06, 0x06, 0x00,   // 0x0050 (80) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,   // 0x0060 (96) pixels
0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,   // 0x0070 (112) pixels
0x80, 0x80, 0x00, 0x00, 0x01, 0x01, 0x03, 0x0F, 0x1F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFE,   // 0x0080 (128) pixels
0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x0F, 0x03, 0x01, 0x01, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xF8,   // 0x0090 (144) pixels
0xF8, 0xF8, 0xF8, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0xFF, 0xFF, 0xFF,   // 0x00A0 (160) pixels
0xFF, 0xFF, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x7F, 0xFF,   // 0x00B0 (176) pixels
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x07, 0x07,   // 0x00C0 (192) pixels
0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0xF8, 0xFE, 0xFF,   // 0x00D0 (208) pixels
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x07,   // 0x00E0 (224) pixels
0x07, 0x07, 0x07, 0x3F, 0x3F, 0x3F, 0x3F, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,   // 0x00F0 (240) pixels
0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0100 (256) pixels
0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0xFF, 0xFE, 0xFE, 0xFC, 0xFC,   // 0x0110 (272) pixels
0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFC, 0xFE, 0xFF, 0x7F, 0x7F, 0x3F, 0x3F,   // 0x0120 (288) pixels
0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x3F, 0x7F,   // 0x0130 (304) pixels
0x7F, 0xFF, 0xFE, 0xFC, 0xFC, 0xFC, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0xFC, 0xFE,   // 0x0140 (320) pixels
0xFE, 0xFF, 0x7F, 0x7F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,   // 0x0150 (336) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x00,   // 0x0160 (352) pixels
0x00, 0x00, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81, 0x81, 0x01, 0x01, 0xC1, 0xC1, 0xC0, 0xC0,   // 0x0170 (368) pixels
0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0x80, 0x00,   // 0x0180 (384) pixels
0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0x01, 0x01, 0xC1, 0xC1, 0xC1, 0x01, 0x01,   // 0x0190 (400) pixels
0x01, 0xC1, 0xC1, 0x01, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x80, 0x00, 0x00, 0x00,   // 0x01A0 (416) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0xFF, 0x3F, 0x3B,   // 0x01B0 (432) pixels
0x3F, 0x7F, 0xFE, 0xF0, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x1C, 0x3C, 0xFF, 0xFF, 0xC7, 0x00, 0x00,   // 0x01C0 (448) pixels
0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xF1, 0x7F, 0x3F, 0x1F, 0x00, 0x3F, 0x7F, 0xFF, 0xE0, 0xC0, 0xE0,   // 0x01D0 (464) pixels
0xFF, 0x7F, 0x3F, 0x00, 0x00, 0xE0, 0xE0, 0xFF, 0xFF, 0xFF, 0xE0, 0xE0, 0xC0, 0x00, 0x00, 0xFF,   // 0x01E0 (480) pixels
0xFF, 0x07, 0x0F, 0x3E, 0xFC, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0x7F, 0xFF, 0xE0, 0xC0, 0xE1, 0x7F,   // 0x01F0 (496) pixels
0x7F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
};const unsigned char The_End[] ={
0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0x60, 0x00, 0x00,   // 0x0010 (16) pixels
0x80, 0xC0, 0xC0, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0,   // 0x0020 (32) pixels
0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0,   // 0x0030 (48) pixels
0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0x00, 0x00, 0x00, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0x00, 0x00,   // 0x0040 (64) pixels
0x00, 0x00, 0x80, 0xE0, 0xF0, 0xF0, 0x60, 0x40, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0,   // 0x0050 (80) pixels
0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x81, 0xFC, 0xFF, 0x0F, 0x03, 0x00, 0x00, 0x00,   // 0x0060 (96) pixels
0xEE, 0x6F, 0x67, 0xFF, 0xFF, 0x7F, 0x71, 0x30, 0xF0, 0xFF, 0x3F, 0x39, 0x38, 0x18, 0x00, 0x01,   // 0x0070 (112) pixels
0x00, 0xF8, 0xFF, 0x1F, 0x0F, 0x0C, 0x0D, 0x8D, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,   // 0x0080 (128) pixels
0x00, 0xC0, 0xFF, 0x7F, 0x0F, 0x0C, 0x0D, 0x0D, 0x84, 0x80, 0x80, 0x07, 0x07, 0x83, 0xFF, 0xFF,   // 0x0090 (144) pixels
0x1F, 0x3F, 0xFE, 0xF8, 0xF8, 0xFE, 0xDF, 0x03, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x1F, 0x00,   // 0x00A0 (160) pixels
0x00, 0x80, 0x81, 0xC3, 0xE7, 0x7F, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x07, 0x03, 0x00,   // 0x00B0 (176) pixels
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x0F, 0x0F, 0x07, 0x00,   // 0x00C0 (192) pixels
0x00, 0x06, 0x06, 0x3F, 0x1F, 0x0F, 0x0F, 0x0E, 0x06, 0x06, 0x06, 0x07, 0x07, 0x03, 0x00, 0x00,   // 0x00D0 (208) pixels
0x00, 0x00, 0x06, 0x1F, 0x3F, 0x1F, 0x0F, 0x0E, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x03, 0x00,   // 0x00E0 (224) pixels
0x06, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x07, 0x03, 0x00, 0x00, 0x18, 0x1C, 0x1F,   // 0x00F0 (240) pixels
0x0F, 0x07, 0x06, 0x07, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 
};const unsigned char pacman1[] ={
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x3E, 0x1C,   // 0x0010 (16) pixels
0x0C, 0x00, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9,   // 0x0020 (32) pixels
0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F,   // 0x0030 (48) pixels
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00, 
};const unsigned char pacman2[] ={
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x7C,   // 0x0010 (16) pixels
0x7C, 0x38, 0x20, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF9,   // 0x0020 (32) pixels
0xF9, 0xF0, 0xF0, 0xE0, 0xE0, 0xC0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F,   // 0x0030 (48) pixels
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 
};const unsigned char pacman3[] ={
0x80, 0xE0, 0xF0, 0xF8, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFC,   // 0x0010 (16) pixels
0xF8, 0xF0, 0xE0, 0x80, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,   // 0x0020 (32) pixels
0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xF9, 0x79, 0x19, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x07, 0x0F,   // 0x0030 (48) pixels
0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 
};const unsigned char pill[] ={
0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 
};

实验场景图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三分钟了解 SpringBoot 的启动流程

一、前言 背景&#xff1a;最近有位开发同学说面试被问到Spring Boot 的启动流程&#xff0c;以及被问到Spring Boot 的嵌入式Web容器是什么时候加载的。如何加载的。是怎么无缝切换的。 这些问题&#xff0c;其实回答起来也是比较复杂的。我们今天就从 SpringApplication.ru…

【Java】面向对象基础 之 接口

1、接口 在抽象类中&#xff0c;抽象方法本质上是定义接口规范&#xff1a;即规定高层类的接口&#xff0c;从而保证所有子类都有相同的接口实现&#xff0c;这样&#xff0c;多态就能发挥出威力。 如果一个抽象类没有字段&#xff0c;所有方法全部都是抽象方法&#xff1a; …

Python第二天之容器学习

1.List 容器无非就增删改查 1.添加 name_list [aaa,bbb,ccc,ddd] name_list.append(b1) name_list.insert(1,xxx) print(name_list)append 是在后面追加 而insert是自己定义下表插入 name_list [aaa,bbb,ccc,ddd] name_list2 [qqq,222,111] name_list.extend(name_list…

Web APls-day05

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; Window对象 BOM BOM(Browser Object Model ) 是浏览器对象模型 window对象是一个全局对象&#xff0c;也可以说是…

运维面试题

这里写目录标题 TCP介绍一下UDP TCP介绍一下 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的传输层协议。它在计算机网络中负责提供可靠的数据传输和流量控制。 TCP通过使用三次握手建立一个连接&#xff0c;确…

leaflet在天地图上添加poi兴趣点

前言 书接上节&#xff0c;在上一篇博客加载的天地图的基础上&#xff0c;加载poi兴趣点。 上节传送&#xff1a;使用leaflet在html中加载天地图且去掉左上角的缩放图标以及右下角的logo 一、加载poi的方法 leaflet通过 L.marker 方法用来加载poi&#xff0c;我们只需填入p…

python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

简介 上一篇&#xff0c;我们虽然已经将生成的最新的测试报告发出去了&#xff0c;但是MIMEText 只能发送正文&#xff0c;无法带附件&#xff0c;因此我还需要继续改造我们的代码&#xff0c;实现可以发送带有附件的邮件。发送带附件的需要导入另外一个模块 MIMEMultipart。还…

使用Yfinance和Plotly分析金融数据

大家好&#xff0c;今天我们用Python分析金融数据&#xff0c;使用Yfinance和Plotly绘制图表&#xff0c;带你了解在Python中使用Plotly制作图表&#xff0c;利用Plotly强大的图表功能来分析和可视化金融数据。 导语 在本文中&#xff0c;我们将深入研究Plotly&#xff0c;从…

Nginx系列之 一 入门

目录 一、Nginx概述 二、yum安装 三、nginx.conf配置文件详解 3.1 全局块 3.2 events 块 3.3 HTTP 块 四、Nginx 常用命令 五、Nginx代理 4.1 正向代理 4.2 反向代理 六、Nginx的Master-Worker模式 6.1 Master进程的作用是&#xff1f; 6.2 Worker进程的作用是&am…

【无标题】采用技术外包做项目开发,不得不说的四大注意事项

在进行多项目开发及多个研发供应商团队管理&#xff08;技术外包管理&#xff09;时&#xff0c;你是不是也遇到不少问题。 项目管理者A&#xff1a;在项目开发中聘用外包技术团队的过程中&#xff0c;我踩过太多的坑&#xff0c;换过一批又一批的供应商&#xff0c;之前遇到过…

【分布式应用】ELK 企业级日志分析系统

目录 一、ELK概述1.1、ELK 简介1.2 为什么要使用 ELK1.3完整日志系统基本特征1.4 ELK 的工作原理 二、ELK Elasticsearch 集群部署2.1环境准备2.2&#xff0e;部署 Elasticsearch 软件2.3安装 Elasticsearch-head 插件&#xff08;1&#xff09;编译安装 node&#xff08;2&…

三、CAS认证流程

一、相关概念 TGC(Ticket-granting cookie)&#xff1a;存放用户身份认证的cookie&#xff0c;在浏览器和CAS server用来明确用户身份的凭证&#xff1b;ST(Service Ticket)&#xff1a;CAS服务器通过浏览器分发给客户端服务器的票据&#xff0c;一个特定服务只能有一个唯一的…