PiSqueeze

image principale PiSqueeze

Difficulté:

Une squeezeBox en carton a base de Raspberry pi


J’ai une radio squeezebox de logitech et j’en suis vraiment très content. Malheureusement Logitech a stoppé la commercialisation de ce superbe systeme audio multiroom.
Plus d’informations au sujet de squeezebox : http://www.mysqueezebox.com/
Je cherchais une solution pour pouvoir diffuser de la musique dans une autre pièce, toujours à partir de squeezebox malgré l’arrêt de la commercialisation des produits.
La solution choisie : fabriquer ma propre radio tout seul, comme un grand!


Avec les fonctions suivantes :
– Boutons stop/start, play/pause, piste suivante
– Ecran 4 lignes retro éclairé pour
– affichage du morceau joué
– affichage du menu
– 6 boutons presets (des web radio, random sur sa bibliothèque, …) paramètrable via interface squeezebox serveur
– boutons rotatif pour navigation dans le menu
– choix artist album ou genre
– synchronisation avec les autres squeezebox de la maison (multiroom)
– liste des presets
– shutdown

Matériel :

Budget : Non défini

  • Mon installation de base :
  • – un NAS synology sur lequel tourne le serveur squeezebox (mais ça peut être autre chose)
  • – un ampli home cinema connecté et pilotable via des requetes telnet. Le mien est un DENON AVR-X2100WL’installation spécifique “pisqueeze” :
  • Obligatoire
  • – un raspberry pi (n’importe quelle version)
  • – une carte SD (8Go classe 10 minimum)
  • – une alimentation (au moins 1A, idéalement 2A)
  • – cable hdmi ou DAC audio usb pour envoyer le son vers l’ampli (la sortie RCA du raspberry pi n’est pas d’assez bonne qualité)
  • – quelques boutons poussoirs
  • – un bouton rotatif (exemple : http://www.adafruit.com/products/377)
  • – fils , soudure, …
  • – boite en carton (ou bois, ou imprimé en 3D, …)
  • facultatif :
  • – Ecran LCD (4 lignes idéalement, connexion en parallèle ou série i2c)
  • – capteur Infra Rouge
  • – disque dur usb si vous décidez de stocker votre musique dans la pisqueeze
  • – un NAS Synology pour faire serveur squeezebox
  • – dongle WIFI (EDIMAX par exemple) si vous n’avez pas de câble réseau là où la pisqueeze sera placée.

Connecte-toi pour découvrir ce tuto
Rejoins une communauté de plus de 40 000 Makers français, découvre toutes leurs techniques et idées créatives et partage tes projets !

A découvrir :
Etape 1 : Préparer sa framboise
Etape 2 : Choisir son serveur squeezeBox
Etape 3 : Quelques réglages audio
Etape 4 : Test de la partie squeezebox
Etape 5 : Hardware : sortez le fer à souder
Etape 6 : Mode console
Etape 7 : Activer i2c
Etape 8 : Installation des librairies python
Etape 9 : Modifier le fichier myisqueeze.py
Etape 10 : Executer le script au démarage
Etape 11 : L’infra rouge
Etape 12 : Et ensuite…
Etape 13 : Utilisation

super projet! bravo et merci du partage 🙂

Bonjour, J'ai suivi votre tuto très précisement. Tout va bien jusqu’à l'étape 7 où l'adresse de l'écran n'est pas trouvée (bus 1 ou 2). Au final les boutons et l'ecran ne fonctionnent pas comme si le GPIO était inactif. J'ai refais l'installation, verifié les tension... Je ne sais plus quoi faire. Avez-vous une idée ? Bien à vous

Bonjour, Je suis désolé que ça ne fonctionne pas. Je propose de vérifier chaque point un par un : tout d'abord juste l'écran. Avez vous tout soudé ou les branchements sont-ils fait sur une breadoard? Le mieux est de partir sur un circuit sur breadboard pour pouvoir tester facilement. Tenez moi au courant ....

Bonjour, C'est monté avec des Câbles Dupont directement. Idem pour les boutons (sauf côté bouton où s'est soudé.) c'est comme si le GPIO était inactif.

Petite question : quel est le modèle de raspberry pi? Sinon, pour tester si ma librairie fonctionne : lancer python depuis l'invite de commande avec sudo python puis from FGPIO.led_io import * pc = rpiduino_io() led = led_io(pc.bcm_pin(22)) # 22 pour GPIO22 led.on() led.off()

Quelques jours de vacances sont l'occasion de s'y remettre... Pour la led, pas de problème : ça marche :-) mais l’écran n'est toujours pas détecté, je vais en essayer un autre. Ce qui n’explique pas l'inactivité des boutons. Est-il possible de les simuler en python ?

Pour les boutons je te propose de tester : une patte du bouton sur la masse, l'autre sur une pin GPIO (ex : le GPIO22) from FGPIO.bt_io import * import time pc = rpiduino_io() bt = bt_io(pc.bcm_pin(22)) def action_bt_change(): if bt2.th_readed(): print "bt2 Pushed." else: print "bt2 Released." bt2 = bt_io(pc.logical_pin(10), True, action_bt_change) try: #Ca permet de pouvoir planter le thread avec un CTRL-C print "Appuyer sur les boutons" while True: if bt.is_pushed(): print "Bt est appuyé" time.sleep(0.1) except KeyboardInterrupt: bt2.stop()

Attention, Oui are maker a supprimer les tabulations : a remettre

Bonjour, J'ai des erreurs mais à partir de ce code plus simple j'ai bien un retour sur le bouton next. ça marche ! from FGPIO.bt_io import * import time pc = rpiduino_io() bt = bt_io(pc.physical_pin(15)) while True: if bt.is_pushed(): print "Bt est appuyé" time.sleep(0.1) else: print "Bt off" time.sleep(0.1)

J'ai donc tenté de coller en console le code isqueeze... >>> #!/usr/bin/env python ... # -*- coding:utf-8 -* ... >>> import sys >>> sys.path.insert(0,'../../FGPIO')#Pour travailler sur les sources >>> sys.path.insert(0,'../../FAVRIP') >>> sys.path.insert(0,'../../FUTIL') >>> >>> from isqueeze import * >>> #from FAVRIP.denon import * ... from FGPIO.rpiduino_io import * >>> from FGPIO.lcd_i2c_io import * >>> from FGPIO.bt_io import * >>> from FGPIO.rotary_encoder_io import * >>> from FUTIL.my_logging import * >>> >>> my_logging(console_level = DEBUG, logfile_level = INFO, details = True) INFO:root:my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO my_logging logger is started. Console : DEBUG. File (.log) : INFO >>> >>> logging.info("isqueeze start now") INFO:root:isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now isqueeze start now >>> >>> pc = rpiduino_io() >>> >>> lcd = lcd_i2c_io(pc=pc, pin_bl=pc.physical_pin(8), lines=4, width=20) ERROR:root: File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 31, in __init__ lcd_io.__init__(self, width, lines, auto_scroll) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_io.py", line 84, in __init__ self.send(0x33,lcd_io.cmd) # 0b00110011 Function Set : 8bits, mode 1 ligne, 5x8 dots format mode File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_device_io.py", line 64, in lcd_i2c_UnErrorFonction return fonction(self,*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 58, in send self.send4bits(mode | (bits & 0xF0)) File "/usr/local/lib/python2.7/dist-packages/FGPIO/lcd_i2c_io.py", line 48, in send4bits self.device.write_cmd(data | lcd_io.arg_backlight_on) File "/usr/local/lib/python2.7/dist-packages/FGPIO/i2c_io.py", line 42, in write_cmd self.bus.smbus.write_byte(self.addr, cmd) ERROR:root: - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' - i2c_device instance has no attribute 'addr' >>> #led = led_io(pc.physical_pin(21)) # led sur pin 2 arduino ou 13 Rpi (GPIO2) ... bt_onoff = bt_io(pc.physical_pin(11)) # Bt on_off sur la pin 3 arduino ou GPIO3 du Rpi INFO:root: is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. is created on pin 11 : GPIO en mode INPUT. Valeur = 1. >>> bt_playpause = bt_io(pc.physical_pin(13)) INFO:root: is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. is created on pin 13 : GPIO en mode INPUT. Valeur = 1. >>> bt_next = bt_io(pc.physical_pin(15)) INFO:root: is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. is created on pin 15 : GPIO en mode INPUT. Valeur = 1. >>> bt_rot = bt_rotatif_io(*pc.physical_pins(18,16,7), auto=True) INFO:root: is created on pin 7 : GPIO en mode INPUT. Valeur = 1. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. INFO:root:f_thread _auto_read started. f_thread _auto_read started. f_thread _auto_read started. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. f_thread _auto_read started. f_thread _auto_read started. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. f_thread _auto_read started. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. f_thread _auto_read started. f_thread _auto_read started. is created on pin 7 : GPIO en mode INPUT. Valeur = 1. >>> f_thread _auto_read started. f_thread _auto_read started. bts_preset = [ \ ... bt_io(pc.physical_pin(26)), \ ... bt_io(pc.physical_pin(24)), \ ... bt_io(pc.physical_pin(23)), \ ... bt_io(pc.physical_pin(22)), \ ... bt_io(pc.physical_pin(21)), \ ... bt_io(pc.physical_pin(19)) \ ... ] INFO:root: is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. is created on pin 26 : GPIO en mode INPUT. Valeur = 1. INFO:root: is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. is created on pin 24 : GPIO en mode INPUT. Valeur = 1. INFO:root: is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. is created on pin 23 : GPIO en mode INPUT. Valeur = 1. INFO:root: is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. is created on pin 22 : GPIO en mode INPUT. Valeur = 1. INFO:root: is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. is created on pin 21 : GPIO en mode INPUT. Valeur = 1. INFO:root: is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. is created on pin 19 : GPIO en mode INPUT. Valeur = 1. >>> infra_rouge = False >>> >>> ... myisqueeze = isqueeze( \ ... SB_serveur_ip = '192.168.10.10', \ ... SB_client_name = 'pisqueeze', \ ... ampli = False), \ ... ampli_input = False,\ ... lcd = lcd, \ ... bt_onoff = bt_onoff, \ ... bt_playpause = bt_playpause, \ ... bt_next = bt_next, \ ... bt_rot = bt_rot, \ ... bts_preset = bts_preset, \ ... infra_rouge = infra_rouge) destruction de Exception AttributeError: "'lcd_i2c_io' object has no attribute 'thread_auto_scroll'" in > ignored ERROR:root: ERROR:root: - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) - invalid syntax (, line 13) >>> >>> myisqueeze.wait_ctrl_c()

Benoit, a priori il y a un problème avec l'écran lcd. Mais j'avoue avoir du mal à comprendre les erreurs. L'ecran lcd est-il bien branché et l'étape 8 du tuto est elle ok (installation i2C)? Sinon, l'écran n'est pas obligatoire : si on met myisqueeze = isqueeze( ...., lcd=None, ....) ca va ignorer l'écran. Tu as executer plusieurs fois la commande du logger => tous les log et erreurs sont multipliées => pas trop lisible.

Eh les gens vous connaissez pastebin.com


Ces tutoriels devraient vous plaire

vignette Montez facilement votre console de jeu rétrogaming avec RECALBOX !
Montez facilement votre console de jeu rétrogaming avec RECALBOX !
vignette L’imprimante 3D pour 60€: EWaste
L’imprimante 3D pour 60€: EWaste
vignette Écran Tactile et Raspberry Pi
Écran Tactile et Raspberry Pi

Découvrez tous les tutoriels partagés sur Oui Are Makers

Powered by Oui Are Makers