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 !
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,
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()
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()
Notre site Oui Are Makers utilise des cookies pour vous permettre de partager du contenu sur les réseaux sociaux, pour mesurer les audiences et établir des statistiques.
Conservation
Nous conservons votre choix pendant 6 mois.
Vous pouvez changer d’avis à tout moment en cliquant sur l’icône « Gérer les cookies » en bas à gauche de chaque page de notre site.
Detail cookies:
Cookies de mesures d’audience (Google Analytics).
Anonyme.
Cookies de partage (Open Graph).
Anonyme.
Cookies de panier (Stripe).
Anonyme.
Cookie commercial (Facebook)
Vous pouvez changer d’avis à tout moment en cliquant sur l’icône « Gérer les cookies » en bas à gauche de chaque page de notre site.
super projet! bravo et merci du partage 🙂