SMD

Résistances

0201 : longueur 0.6mm, largeur 0.3mm
0402 : longueur 1.0mm largeur 0.5mm
0603 : longueur 1.6mm largeur 0.8mm
0805 : longueur 2.0mm largeur 1.2mm
1206 : longueur 3.2mm largeur 1.6mm

IPTABLES NAT

192.168.1.20 lan sort sur internet par le wan xxx.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -s 192.168.1.20/32 -o eth0 -j SNAT --to-source xxx.xxx.xxx.xxx

"xxx.xxx.xxx.xxx:3333 -> 192.168.1.12:3389
iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx/32 -i eth0 -p tcp -m tcp --dport 3333 -j DNAT --to-destination 192.168.1.12:3389


"xxx.xxx.xxx.xxx -> plage de port
iptables -t nat -A PREROUTING -d xx.xxx.xxx.xxx/32 -i eth0 -p udp -m udp --dport 10000:20000 -j DNAT --to-destination 192.168.1.11:10000-20000

PROXMOX lan

# network interfaces
#/etc/network/interfaces
auto lo
iface lo inet loopback
    
iface eno1 inet static
    
auto vmbr0
iface vmbr0 inet static
#adresse publique
address xxx.xxx.xxx.xxx  
gateway xxx.xxx.xxx.254
broadcast xxx.xxx.xxx.255
netmask 255.255.255.0
bridge-ports eno1
bridge-stp off
bridge-fd 0
    
	
auto vmbr1
iface vmbr1 inet static
address 192.168.2.254
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
	  
	  
post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
# 3333-> 3389 de la VM en 192.168.2.10
post-up  iptables -t nat -A PREROUTING -p tcp -i vmbr0 --dport 3333 -j DNAT --to-destination 192.168.2.10:3389

# annulation 
#post-down iptables -t nat -D PREROUTING -p tcp -i vmbr0 --dport 3333 -j DNAT --to-destination 192.168.2.10:3389
	
# la VM peux sortir sur internet  
#iptables -t nat -A POSTROUTING -s 192.168.2.10/32 -o vmbr0 -j SNAT --to-source xxx.xxx.xxx.xxx
Annulation
#iptables -t nat -D POSTROUTING -s 192.168.2.10/32 -o vmbr0 -j SNAT --to-source xxx.xxx.xxx.xxx


iptables -t nat -L -n -v

Type de filtre pour l’eau

DN Pouces Gaz

externe

Plastique

externe

Acier

6 1/8 10,3
8 1/4 8/13 12 13,7
10 3/8 12/17 16 17,1
15 1/2 15/21 20 21,3
20 3/4 20/27 25 26,7
25 1 26/32 32 33,4
32 1″ 1/4 33/42 40 42,2
40 1″ 1/2 40/49 50 48,3
50 2″ 50/60 63 60,3
65 2″ 1/2 66/76 75 73
80 3 80/90 90 88,9
3″ 1/2 100 101,6
100 4 114 110/125 114,3
125 5 125/140 141,3
150 6 160/180 168,3
200 8 200/250 219,1
250 10 250/280 273
300 12 315 323,8
350 14 355 355,6
400 16 400 406,4
450 18 450/500 457
500 20 500/560 508
22 559
600 24 630 609,6

Raspberry Sense HAT test

apt-get update
apt-get install sense-hat
pip install pillow
#!/usr/bin/python
#arc en ciel arrêt CTLR/C
import time
from sense_hat import SenseHat
import signal
import os
import time

sense = SenseHat()

print('Mon PID est:', os.getpid())

def receiveSignal(signalNumber, frame):
	print('Demande arret:', signalNumber)
	sense.clear()
	exit()
	return	
	
if __name__ == '__main__':
    # register the signals to be caught
    signal.signal(signal.SIGHUP, receiveSignal)
    signal.signal(signal.SIGINT, receiveSignal)
    signal.signal(signal.SIGQUIT, receiveSignal)
    signal.signal(signal.SIGILL, receiveSignal)
    signal.signal(signal.SIGTRAP, receiveSignal)
    signal.signal(signal.SIGABRT, receiveSignal)
    signal.signal(signal.SIGBUS, receiveSignal)
    signal.signal(signal.SIGFPE, receiveSignal)
    #signal.signal(signal.SIGKILL, receiveSignal)
    signal.signal(signal.SIGUSR1, receiveSignal)
    signal.signal(signal.SIGSEGV, receiveSignal)
    signal.signal(signal.SIGUSR2, receiveSignal)
    signal.signal(signal.SIGPIPE, receiveSignal)
    signal.signal(signal.SIGALRM, receiveSignal)
    signal.signal(signal.SIGTERM, receiveSignal)


sense.low_light = True
pixels = [
    [255, 0, 0], [255, 0, 0], [255, 87, 0], [255, 196, 0], [205, 255, 0], [95, 255, 0], [0, 255, 13], [0, 255, 122],
    [255, 0, 0], [255, 96, 0], [255, 205, 0], [196, 255, 0], [87, 255, 0], [0, 255, 22], [0, 255, 131], [0, 255, 240],
    [255, 105, 0], [255, 214, 0], [187, 255, 0], [78, 255, 0], [0, 255, 30], [0, 255, 140], [0, 255, 248], [0, 152, 255],
    [255, 223, 0], [178, 255, 0], [70, 255, 0], [0, 255, 40], [0, 255, 148], [0, 253, 255], [0, 144, 255], [0, 34, 255],
    [170, 255, 0], [61, 255, 0], [0, 255, 48], [0, 255, 157], [0, 243, 255], [0, 134, 255], [0, 26, 255], [83, 0, 255],
    [52, 255, 0], [0, 255, 57], [0, 255, 166], [0, 235, 255], [0, 126, 255], [0, 17, 255], [92, 0, 255], [201, 0, 255],
    [0, 255, 66], [0, 255, 174], [0, 226, 255], [0, 117, 255], [0, 8, 255], [100, 0, 255], [210, 0, 255], [255, 0, 192],
    [0, 255, 183], [0, 217, 255], [0, 109, 255], [0, 0, 255], [110, 0, 255], [218, 0, 255], [255, 0, 183], [255, 0, 74]
]

msleep = lambda x: time.sleep(x / 1000.0)

def next_colour(pix):
    r = pix[0]
    g = pix[1]
    b = pix[2]

    if (r == 255 and g < 255 and b == 0):
        g += 1

    if (g == 255 and r > 0 and b == 0):
        r -= 1

    if (g == 255 and b < 255 and r == 0):
        b += 1

    if (b == 255 and g > 0 and r == 0):
        g -= 1

    if (b == 255 and r < 255 and g == 0):
        r += 1

    if (r == 255 and b > 0 and g == 0):
        b -= 1

    pix[0] = r
    pix[1] = g
    pix[2] = b

while True:
    for pix in pixels:
        next_colour(pix)

    sense.set_pixels(pixels)
    msleep(0.5)
	
	

https://pythonhosted.org/sense-hat/api/#led-matrix

ESP8266 0.91 pouces OLED CP2014

Puce WIFI 1*0.91  »ESP8266 0.91 pouces OLED CP2014 32 mo Flash ESP 8266 Module Internet des objets carte PCB NodeMcu pour Arduino IOT

https://www.arduino.cc/en/software Installer l’IDE toutes options dont pilotes

Fichiers->préférence->paramètres-> URL de gestionnaires de cartes… https://arduino.esp8266.com/stable/package_esp8266com_index.json

Croquis-> inclure bibliothèques-> gérer -> rechercher u8g2-> installer

Outils-> type de carte->gestionnaire de carte->ajouter NODEMCU

Outil -> type de carte ->NODEMCU 1.0 (ESP-12E Module)

Port com -> le nouveau quand on branche la carte

//exemple de code
#include <U8g2lib.h>
//U8g2 Contructor
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ 16, /* clock=*/ 5, /* data=*/ 4);
// Alternative board version. Uncomment if above doesn't work.
// U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ 4, /* clock=*/ 14, /* data=*/ 2);

u8g2_uint_t offset;     // current offset for the scrolling text
u8g2_uint_t width;      // pixel width of the scrolling text (must be lesser than 128 unless U8G2_16BIT is defined
char *text = "MESSAGE DE TEST "; // scroll this text from right to left
int passage =0;

void setup(void) {
  u8g2.begin();

  u8g2.setFont(u8g2_font_logisoso32_tf); // set the target font to calculate the pixel width
  width = u8g2.getUTF8Width(text);    // calculate the pixel width of the text

  u8g2.setFontMode(0);    // enable transparent mode, which is faster
}


void loop(void) {
  u8g2_uint_t x;

//text=text.concat(String(passage));
  u8g2.firstPage();
  do {
    passage=passage+1;
    // draw the scrolling text at current offset
    x = offset;
    u8g2.setFont(u8g2_font_logisoso32_tf);   // set the target font
    do {                // repeated drawing of the scrolling text...
      u8g2.drawUTF8(x, 32, text);     // draw the scolling text
      x += width;           // add the pixel width of the scrolling text
    } while ( x < u8g2.getDisplayWidth() );   // draw again until the complete display is filled

    u8g2.setFont(u8g2_font_logisoso32_tf);   // draw the current pixel width
    u8g2.setCursor(0, 64);
    u8g2.print(width);          // this value must be lesser than 128 unless U8G2_16BIT is set

  } while ( u8g2.nextPage() );

  offset -= 1;            // scroll by one pixel
  if ( (u8g2_uint_t)offset < (u8g2_uint_t) - width )
    offset = 0;             // start over again
}

https://arduinogetstarted.com/tutorials/arduino-http-request

https://www.tinkercad.com