Ci-dessous, les différences entre deux révisions de la page.
wiki:divers:internet [2018/08/24 19:44] zteeed |
wiki:divers:internet [2020/06/27 18:16] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== Internet ===== | ||
- | Vous vous endormez pendant la perm et avez peur de ne pas être assez réactif à l' | ||
- | |||
- | L' | ||
- | |||
- | ==== Setup localement ==== | ||
- | |||
- | La vidéo du résultat du setup local est sur [[https:// | ||
- | |||
- | Matériel dont vous avez besoin: \\ | ||
- | * Un cerveau de MiNETien pas trop ravagé \\ | ||
- | * Un esprit de trolling avancé \\ | ||
- | * Une pointe de notion unix (# | ||
- | * Une Raspi \\ | ||
- | * Un capteur HC-SR04 \\ | ||
- | * Un intechien capable d' | ||
- | |||
- | En principe, il faut réaliser un pont diviseur de tension. En effet, le capteur est alimenté en 5V mais les GPIO de la RPI ne tolère pas au dessus de 3,3V. A priori on a rarement de sortie au dessus de 3,3V donc ça marche sans (# | ||
- | |||
- | Il faut noter que les numéros des pins sont reliés à des numéros différents de GPIO (Input/ | ||
- | Donc pour les branchements faire la même chose pour les puristes sinon bypass le pont diviseur et brancher: \\ | ||
- | VCC: Pin 2 \\ | ||
- | Trig: Pin 18 (GPIO 23) \\ | ||
- | Echo: Pin 20 (GPIO 24) \\ | ||
- | Gnd: Pin 6 | ||
- | {{: | ||
- | |||
- | Le code python pour récupérer la distance et lancer la musique est ci-dessous. Si il manque des librairies, il faut utilier pip. Je précise que ce script tourne sous Python2.7 (cc IB) | ||
- | <code bash> | ||
- | sudo apt install python-pip | ||
- | pip install *python_lib* | ||
- | </ | ||
- | <code python> | ||
- | #Libraries | ||
- | import RPi.GPIO as GPIO | ||
- | import time | ||
- | import subprocess | ||
- | |||
- | #GPIO Mode (BOARD / BCM) | ||
- | GPIO.setmode(GPIO.BCM) | ||
- | |||
- | #set GPIO Pins | ||
- | GPIO_TRIGGER = 23 | ||
- | GPIO_ECHO = 24 | ||
- | |||
- | #set GPIO direction (IN / OUT) | ||
- | GPIO.setup(GPIO_TRIGGER, | ||
- | GPIO.setup(GPIO_ECHO, | ||
- | |||
- | dist_min = 70 # min distance to detect | ||
- | |||
- | def distance(): | ||
- | # set Trigger to HIGH | ||
- | GPIO.output(GPIO_TRIGGER, | ||
- | |||
- | # set Trigger after 0.01ms to LOW | ||
- | time.sleep(0.00001) | ||
- | GPIO.output(GPIO_TRIGGER, | ||
- | |||
- | StartTime = time.time() | ||
- | StopTime = time.time() | ||
- | |||
- | # save StartTime | ||
- | while GPIO.input(GPIO_ECHO) == 0: | ||
- | StartTime = time.time() | ||
- | |||
- | # save time of arrival | ||
- | while GPIO.input(GPIO_ECHO) == 1: | ||
- | StopTime = time.time() | ||
- | |||
- | # time difference between start and arrival | ||
- | TimeElapsed = StopTime - StartTime | ||
- | # multiply with the sonic speed (34300 cm/s) | ||
- | # and divide by 2, because there and back | ||
- | distance = (TimeElapsed * 34300) / 2 | ||
- | |||
- | return distance | ||
- | |||
- | if __name__ == ' | ||
- | try: | ||
- | while True: | ||
- | dist = distance() | ||
- | print (" | ||
- | if dist< | ||
- | print " | ||
- | start mplayer | ||
- | song = ' | ||
- | cmd = [' | ||
- | p = subprocess.Popen(cmd, | ||
- | time.sleep(0.1) | ||
- | |||
- | # Reset by pressing CTRL + C | ||
- | except KeyboardInterrupt: | ||
- | print(" | ||
- | GPIO.cleanup() | ||
- | </ | ||
- | |||
- | Changer le keyboard en français sur la raspi: <code bash> | ||
- | <code bash> | ||
- | apt-get update | ||
- | apt-get install console-data | ||
- | </ | ||
- | |||
- | Pour forcer l' | ||
- | <code bash> | ||
- | sudo raspi-config | ||
- | Select Advanced Options and press Enter | ||
- | Select Audio and press Enter | ||
- | </ | ||
- | |||
- | |||
- | ==== Setup via Ethernet ==== | ||
- | |||
- | La raspi connectée à la sono [[https:// | ||
- | |||
- | Se connecter sur le switch du local (derrière le VPN) | ||
- | <code bash> | ||
- | ssh minet@192.168.102.219 -oKexAlgorithms=diffie-hellman-group1-sha1 -oCiphers=aes128-cbc | ||
- | </ | ||
- | Ensuite on regarde la conf du port sur lequel vous êtes branché, on flush tout et on reconfig: | ||
- | < | ||
- | switch-local> | ||
- | Password: *type_password* | ||
- | switch-local# | ||
- | switch-local# | ||
- | switch-local(config)# | ||
- | switch-local(config)# | ||
- | switch-local(config-if)# | ||
- | switch-local(config-if)# | ||
- | </ | ||
- | |||
- | Maintenant que le port est configuré on choisit une IP non utilsée (suffit de ping et de voir si on a pas de réponse). Si on choisit 192.168.147.5 par exemple, on modifie / | ||
- | |||
- | <code bash> | ||
- | auto eth0 | ||
- | iface eth0 inet static | ||
- | address 192.168.147.5 | ||
- | netmask 255.255.255.0 | ||
- | gateway 192.168.147.1 | ||
- | </ | ||
- | |||
- | On restart le service | ||
- | <code bash>/ | ||
- | |||
- | Dans le vlan 147, ne pas oublier pour avoir internet | ||
- | <code bash> | ||
- | export http_proxy=" | ||
- | export https_proxy=" | ||
- | </ | ||
- | |||
- | Pour la fin: suivre le tutoriel d'IB [[https:// | ||
- | |||
- | Article rédigé par votre troll préféré: |