IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Strip Led 2812b


Sujet :

Raspberry Pi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    diy
    Inscrit en
    Septembre 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : diy
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2020
    Messages : 61
    Points : 7
    Points
    7
    Par défaut Strip Led 2812b
    Bonjour,

    J'ai un souci de bibliothèque je crois (je suis débutant complet... chat gpt m'aide )

    voici le début de mon code et ce qu'il en retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # Importer les bibliothèques nécessaires
    import time
    import datetime
    import subprocess
    import neopixel as ws
    from gpiozero import Button
    
    # Définir les constantes
    LED_COUNT = 114 # Nombre de leds
    LED_PIN = 18 # Pin GPIO connecté aux leds
    LED_FREQ_HZ = 800000 # Fréquence du signal LED en hertz
    LED_DMA = 10 # Canal DMA à utiliser pour générer le signal
    LED_BRIGHTNESS = 255 # Luminosité des leds (0 à 255)
    LED_INVERT = False # Inverser le signal LED (True/False)
    LED_CHANNEL = 0 # Canal PWM à utiliser (0 ou 1)
    LED_STRIP = ws.WS2811_STRIP_GRB # Type de bande LED
    retour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pi@raspberrypi:~/piLedClock/rpi_ws281x/python $ sudo python3 wordclock2.py
    Traceback (most recent call last):
      File "wordclock2.py", line 16, in <module>
        LED_STRIP = ws.WS2812B # Type de bande LED
    AttributeError: module 'neopixel' has no attribute 'WS2812B'
    Est-ce que quelqu'un aurait l'amabilité de m'aider?

    Merci!

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par 7ced7 Voir le message
    chat gpt m'aide )
    Mouais. evidemment c'est plus facile que d'ouvrir un livre pour apprendre le langage...

    Citation Envoyé par 7ced7 Voir le message
    Est-ce que quelqu'un aurait l'amabilité de m'aider?
    Que peut-on faire? Python te dit que le module "neopixel" n'a pas d'attribut "WS2812B" donc c'est fatalement vrai. Tu veux qu'on recode ce module pour lui donner cet attribut?
    Il faut aller demander à ChatGPT pourquoi tu as écrit l'instruction LED_STRIP = ws.WS2812B...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Futur Membre du Club
    Homme Profil pro
    diy
    Inscrit en
    Septembre 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : diy
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2020
    Messages : 61
    Points : 7
    Points
    7
    Par défaut
    En fait Il s'agit d'un code qui servira à animer une wordclock... J'ai une première version du code qui elle est fonctionnelle...
    j'ai voulu implémenter une fonction via chatgpt car je n'y connais rien mais je ne suis pas contre prendre un livre... juste un manque de temps parmi mes loisirs.
    Il s'agit d'une fonction que me serait fort pratique : que ma wordclock émette un point d'accès wifi afin de pouvoir se connecter dessus en ssh et lui indiquer le SSID et pwd du wifi domestique...

    bref.... j'ai tenté via Chatgpt en lui demandant de me faire ça et il m'a sorti un code python que j'ai essayé... => me voila.

    voici mon code au complet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    # Importer les bibliothèques nécessaires
    import time
    import datetime
    import subprocess
    import neopixel as ws
    from gpiozero import Button
    
    # Définir les constantes
    LED_COUNT = 114 # Nombre de leds
    LED_PIN = 18 # Pin GPIO connecté aux leds
    LED_FREQ_HZ = 800000 # Fréquence du signal LED en hertz
    LED_DMA = 10 # Canal DMA à utiliser pour générer le signal
    LED_BRIGHTNESS = 255 # Luminosité des leds (0 à 255)
    LED_INVERT = False # Inverser le signal LED (True/False)
    LED_CHANNEL = 0 # Canal PWM à utiliser (0 ou 1)
    LED_STRIP = ws.WS2812B # Type de bande LED
    
    BUTTON_1_PIN = 17 # Pin GPIO connecté au bouton 1
    BUTTON_2_PIN = 22 # Pin GPIO connecté au bouton 2
    BUTTON_3_PIN = 24 # Pin GPIO connecté au bouton 3
    
    BUTTON_HOLD_TIME = 2 # Temps en secondes pour détecter un appui long
    
    COLORS = [(255, 255, 255), (255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (0, 255, 255), (255, 0, 255)] # Lis$
    DEFAULT_COLOR = (255, 255, 255) # Couleur par défaut
    DEFAULT_BRIGHTNESS = 255 # Luminosité par défaut
    
    WIFI_SSID = "WordClock" # Nom du point d'accès wifi
    WIFI_PASS = "12345678" # Mot de passe du point d'accès wifi
    
    # Définir le tableau des lettres
    LETTERS = [
        "ILNESTODEUX",
        "QUATRETROIS",
        "NEUFUNESEPT",
        "HUITSIXCINQ",
        "MIDIXMINUIT",
        "ONZERHEURES",
        "MOINSOLEDIX",
        "ETRQUARTPMD",
        "TRENTEOURXT",
        "VINGT-CINQU"
    ]
    
    # Définir les indices des leds correspondant aux mots
    WORDS = {
        "IL": [0, 1],
        "EST": [3, 4, 5],
        "UNE": [22, 23, 24],
        "DEUX": [7, 8, 9 ,10],
        "TROIS": [11 ,12 ,13 ,14 ,15],
        "QUATRE": [16 ,17 ,18 ,19 ,20 ,21],
        "CINQ": [33 ,34 ,35 ,36],
         "SIX": [28 ,29 ,30],
        "SEPT": [25 ,26 ,27 ,28],
        "HUIT": [31 ,32 ,33 ,34],
        "NEUF": [18 ,19 ,20 ,21],
        "DIX": [39 ,40 ,41],
        "ONZE": [42 ,43 ,44 ,45],
        "MIDI": [35 ,36 ,37 ,38],
        "MINUIT": [41 ,42 ,43 ,44 ,45],
        "HEURES": [46 ,47 ,48 ,49 ,50],
        "MOINS": [51 ,52 ,53 ,54],
        "LE": [55, 56],
        "DIX": [57, 58, 59],
        "ET": [60, 61],
        "QUART": [62, 63, 64, 65, 66],
        "VINGT": [79, 80, 81, 82, 83],
        "TRENTE": [67, 68, 69, 70, 71],
    
    }
    
    # Définir les indices des leds correspondant aux points
    POINTS = [109, 110, 111, 112]
    
    # Définir la classe WordClock
    class WordClock:
    
        def __init__(self):
            # Initialiser les leds
            self.leds = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA,
                                          LED_INVERT, LED_BRIGHTNESS, LED_CHANNEL,
                                          LED_STRIP)
            self.leds.begin()
            # Initialiser les boutons
            self.button_1 = Button(BUTTON_1_PIN)
            self.button_2 = Button(BUTTON_2_PIN)
            self.button_3 = Button(BUTTON_3_PIN)
            # Initialiser les attributs
            self.color = DEFAULT_COLOR # Couleur actuelle des leds
            self.brightness = DEFAULT_BRIGHTNESS # Luminosité actuelle des leds
            self.color_index = 0 # Indice de la couleur actuelle dans la liste des couleurs
            self.wifi_on = False # Indicateur du point d'accès wifi
            # Associer les actions aux boutons
            self.button_1.when_pressed = self.change_color # Changer la couleur en appuyant sur le bouton 1
            self.button_1.when_held = self.reset_color # Réinitialiser la couleur en maintenant le bouton 1
            self.button_2.when_pressed = self.change_brightness # Changer la luminosité en appuyant sur le bouton 2
            self.button_2.when_held = self.reset_brightness # Réinitialiser la luminosité en maintenant le bouton 2
            self.button_3.when_pressed = self.toggle_leds # Allumer ou éteindre les leds en appuyant sur le bouton 3
            self.button_3.when_held = self.toggle_wifi # Activer ou désactiver le point d'accès wifi en maintenant le bo$
    
        def change_color(self):
            # Changer la couleur des leds en choisissant la couleur suivante dans la liste des couleurs
            self.color_index = (self.color_index + 1) % len(COLORS) # Incrémenter l'indice de la couleur et revenir au d$
            self.color = COLORS[self.color_index] # Choisir la couleur correspondante
            print("Changing color to {}".format(self.color)) # Afficher un message de confirmation
            self.show_time() # Afficher l'heure avec la nouvelle couleur
    
        def reset_color(self):
            # Réinitialiser la couleur des leds à la couleur par défaut
            self.color = DEFAULT_COLOR # Choisir la couleur par défaut
            print("Resetting color to {}".format(self.color)) # Afficher un message de confirmation
            self.show_time() # Afficher l'heure avec la nouvelle couleur
    
        def change_brightness(self):
            # Changer la luminosité des leds en diminuant ou augmentant de 10% à chaque appui
            if self.brightness > 25: # Si la luminosité est supérieure à 25%
                self.brightness -= 25 # La diminuer de 10%
            else: # Sinon
                self.brightness = 255 # La remettre à 100%
            print("Changing brightness to {}".format(self.brightness)) # Afficher un message de confirmation
            self.leds.setBrightness(self.brightness) # Régler la luminosité des leds
            self.leds.show() # Afficher les leds
    
        def reset_brightness(self):
            # Réinitialiser la luminosité des leds à la luminosité par défaut
            self.brightness = DEFAULT_BRIGHTNESS # Choisir la luminosité par défaut
            print("Resetting brightness to {}".format(self.brightness)) # Afficher un message de confirmation
            self.leds.setBrightness(self.brightness) # Régler la luminosité des leds
            self.leds.show() # Afficher les leds
    
        def toggle_leds(self):
            # Allumer ou éteindre les leds en inversant la luminosité
            if self.brightness > 0: # Si les leds sont allumées
                self.brightness = 0 # Les éteindre
            else: # Sinon
                self.brightness = DEFAULT_BRIGHTNESS # Les allumer
            print("Toggling leds to {}".format(self.brightness)) # Afficher un message de confirmation
            self.leds.setBrightness(self.brightness) # Régler la luminosité des leds
            self.leds.show() # Afficher les leds
    
        def toggle_wifi(self):
            # Activer ou désactiver le point d'accès wifi en utilisant la commande nmcli
            if self.wifi_on: # Si le point d'accès wifi est activé
                subprocess.run(["nmcli", "connection", "down", WIFI_SSID]) # Le désactiver
                self.wifi_on = False # Mettre à jour l'indicateur
                print("Turning off wifi hotspot") # Afficher un message de confirmation
            else: # Sinon
                subprocess.run(["nmcli", "connection", "up", WIFI_SSID]) # L'activer
                self.wifi_on = True # Mettre à jour l'indicateur
                print("Turning on wifi hotspot") # Afficher un message de confirmation
    
        def show_time(self):
            # Afficher l'heure sur les leds en fonction du tableau des lettres et des mots
            now = datetime.datetime.now() # Obtenir l'heure actuelle
            hour = now.hour % 12 or 12 # Obtenir l'heure au format 12h (1 à 12)
            minute = now.minute - (now.minute % 5) # Arrondir les minutes au multiple de 5 le plus proche (0, 5, 10, ...)
            self.clear_leds() # Effacer les leds
            self.set_word("IL") # Allumer le mot IL
            self.set_word("EST") # Allumer le mot EST
            if hour == 1 and minute == 0: # Si il est une heure pile
                self.set_word("UNE") # Allumer le mot UNE
            else: # Sinon
                self.set_word(WORDS[hour]) # Allumer le mot correspondant à l'heure
            if minute == 0: # Si il est pile heure
                if hour in [1, 11]: # Si il est une heure ou onze heures
                    self.set_word("HEURE") # Allumer le mot HEURE au singulier
                else: # Sinon
                    self.set_word("HEURES") # Allumer le mot HEURES au pluriel
                if hour in [0, 12]: # Si il est minuit ou midi
                    self.set_word(WORDS[hour]) # Allumer le mot correspondant à minuit ou midi
            elif minute == 15: # Si il est quart d'heure
                self.set_word("ET") # Allumer le mot ET
                self.set_word("QUART") # Allumer le mot QUART
            elif minute == 30: # Si il est demi-heure
                self.set_word("ET") # Allumer le mot ET
                self.set_word("DEMI") # Allumer le mot DEMI
            elif minute == 45: # Si il est trois quarts d'heure
                hour = (hour + 1) % 12 or 12 # Passer à l'heure suivante pour indiquer moins le quart
                self.set_word("MOINS") # Allumer le mot MOINS
                self.set_word("LE")# Allumer le mot LE
                self.set_word("QUART") # Allumer le mot QUART
            else: # Sinon
                self.set_word("MOINS") # Allumer le mot MOINS
                if minute == 5: # Si il est moins cinq
                    self.set_word("CINQ") # Allumer le mot CINQ
                elif minute == 10: # Si il est moins dix
                    self.set_word("DIX") # Allumer le mot DIX
                elif minute == 20: # Si il est moins vingt
                    self.set_word("VINGT") # Allumer le mot VINGT
                elif minute == 25: # Si il est moins vingt-cinq
                    self.set_word("VINGT") # Allumer le mot VINGT
                    self.set_word("ET") # Allumer le mot ET
                    self.set_word("CINQ") # Allumer le mot CINQ
                elif minute == 35: # Si il est moins trente-cinq
                    hour = (hour + 1) % 12 or 12 # Passer à l'heure suivante pour indiquer vingt-cinq minutes après
                    self.set_word("VINGT") # Allumer le mot VINGT
                    self.set_word("CINQ") # Allumer le mot CINQ
                elif minute == 40: # Si il est moins quarante
                    hour = (hour + 1) % 12 or 12 # Passer à l'heure suivante pour indiquer vingt minutes après
                    self.set_word("VINGT") # Allumer le mot VINGT
                elif minute == 50: # Si il est moins cinquante
                    hour = (hour + 1) % 12 or 12 # Passer à l'heure suivante pour indiquer dix minutes après
                    self.set_word("DIX") # Allumer le mot DIX
                elif minute == 55: # Si il est moins cinquante-cinq
                    hour = (hour + 1) % 12 or 12 # Passer à l'heure suivante pour indiquer cinq minutes après
                    self.set_word("CINQ") # Allumer le mot CINQ
            self.show_points(now.minute % 5) # Afficher les points correspondant aux minutes restantes
            self.leds.show() # Afficher les leds
    
        def set_word(self, word):
            # Allumer les leds correspondant à un mot donné en fonction du tableau des lettres et des indices des leds
            for i in WORDS[word]: # Pour chaque indice de led dans le mot
                self.leds.setPixelColor(i, Color(*self.color)) # Allumer la led avec la couleur actuelle
    
        def show_points(self, n):
            # Afficher les points correspondant aux minutes restantes (0 à 4)
            for i in range(n): # Pour chaque point à afficher
                self.leds.setPixelColor(POINTS[i], Color(*self.color)) # Allumer la led avec la couleur actuelle
    
        def clear_leds(self):
            # Éteindre toutes les leds
            for i in range(LED_COUNT): # Pour chaque led
                self.leds.setPixelColor(i, Color(0, 0, 0)) # Éteindre la led
    
    # Créer une instance de la classe WordClock
    wc = WordClock()
    
    # Afficher l'heure en boucle infinie
    while True:
        wc.show_time() # Afficher l'heure sur les leds
        time.sleep(5) # Attendre 5 secondes avant de répéter

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    salut,

    WS281x, c'est relatif au matériel, non ?
    de quel chapeau chatGPT a-t-il sorti WS2812B ?

    sans ouvrir le gros livre du Tout sur python , quand on a un souci avec un module, on va lire la doc sur le site du fournisseur.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    diy
    Inscrit en
    Septembre 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : diy
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2020
    Messages : 61
    Points : 7
    Points
    7
    Par défaut
    Il a sorti WS2812B de son chapeau car ça faisait partie du prompt... Aller lire la doc du module.... je ne sais pas quoi chercher... j'ai l'impression que le nom du strip led ne doit pas être renseigné dans le module... et que du coup il ne sait pas quoi en faire.
    Y-a-t'il un moyen d'afficher le contenu du module neopixel afin de vérifier la présence du WS2812b?
    Merci pour vos réponses

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    ça faisait partie du prompt
    qu'appelles-tu "le prompt" ? (je n'ai jamais utilisé chatGPT)
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    diy
    Inscrit en
    Septembre 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : diy
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2020
    Messages : 61
    Points : 7
    Points
    7
    Par défaut
    La "demande" a chatgpt... en gros je lui ai détaillé ce que je voulais.... un truc du genre

    "Salut chatgpt, je voudrais un code pour une wordclock construite à base d'un raspberry pi zerow, un strip led ws2812b, 3 boutons. Le panel de led se présente comme ceciXXXXXX, le bouton 1 changera la couleur des led utilisées, le bouton 2 changera la luminosité,...." etc
    ça paraissait magique de le voir rédiger le code...

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 7ced7 Voir le message
    Y-a-t'il un moyen d'afficher le contenu du module neopixel afin de verifier la présence du WS2812b?
    Bien sûr, c'est dans tous les tutos...
    Tu vas dans la console Python (qui est bien pratique pour tester les instructions simples) et tu tapes dir(neopixel) et tu auras tout son contenu. Et si tu as un "sous-truc" (si par exemple tu vois que neopixel contient un élément "chose") tu peux alors demander dir(neopixel.chose) et etc.

    Citation Envoyé par 7ced7 Voir le message
    je ne suis pas contre prendre un livre... juste un manque de temps parmi mes loisirs.
    Peut-être qu'un des éléments de cette phrase n'est pas en adéquation avec la notion de "travail". Indice: l'élément n'est pas écrit en noir...
    Ceci dit, je suis impressionné par ta franchise

    Citation Envoyé par 7ced7 Voir le message
    ça paraissait magique de le voir rédiger le code...
    Ce rèèèèveuuuu bleuuuu...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 550
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 550
    Points : 19 383
    Points
    19 383
    Par défaut
    quand un détaillant me fournit un produit qui ne fonctionne pas, je retourne voir ce détaillant en lui indiquant le problème.

    et dans "DIY", il n'est pas écrit "fais le faire par le chatQuiPète" !
    c'est bizarre d'acheter un truc en kit et de le faire monter par un autre.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 102
    Points : 4 448
    Points
    4 448
    Par défaut
    bonjour
    Citation Envoyé par 7ced7 Voir le message
    ça paraissait magique de le voir rédiger le code...
    Oui, il peut pondre du code à l'infini MAIS le chat reste un idiot
    Si tu n'as pas de compétences dans ce code, alors c'est l'échec assuré. Sauf si tu demandes une chose très bateau, mais alors il ne fait que du simple copier/coller que tu aurais pu faire à ça place.

    Citation Envoyé par N_BaH Voir le message
    qu'appelles-tu "le prompt" ? (je n'ai jamais utilisé chatGPT)
    Tu as tort ! il peut aider parfois et est même (peut-être/semble) compétent en bash au premier regard ...

    Citation Envoyé par papajoker
    peux-tu me dire ce qui ne fonctionne pas dans ce code ? : #!/usr/bin/bash ....
    Citation Envoyé par chat qui sent mauvais
    La première ligne #!/usr/bin/bash est incorrecte. La bonne ligne pour utiliser le shell Bash est #!/bin/bash.

    La variable partition_boot est définie en utilisant la commande lsblk, mais la condition de correspondance '^sdb2' ne renverra pas le bon résultat car elle recherche une ligne commençant par "sdb2". Pour trouver la partition boot correcte, vous devez utiliser la condition '/sdb2/ {print $2}'.

    La variable partition_name est définie en utilisant la commande df, mais la condition de recherche '^/' ne renverra pas le bon résultat car elle recherche une ligne commençant par "/". Pour trouver la partition racine correcte, vous pouvez utiliser la commande findmnt --noheadings --output SOURCE /.

    La condition [ -f "$FICHIER" ] vérifie si le fichier grub.cfg existe, mais cette vérification ne garantit pas que le fichier est accessible en écriture. Vous pouvez ajouter une vérification supplémentaire en utilisant [ -w "$FICHIER" ] pour vérifier si le fichier est accessible en écriture.

    La commande grep "root=UUID=$partition" "$FICHIER" recherche la ligne contenant "root=UUID=$partition" dans le fichier grub.cfg, mais l'expression régulière n'est pas correctement échappée. Vous devez échapper les caractères spéciaux $ et = avec des antislashs pour les faire correspondre littéralement.

    Voici le code corrigé :
    ...
    Vu son assurance, il fait clairement illusion d'un expert auprès des débutants C'est un outil qui peut bien nous aider (parfois) mais certainement pas un truc magique qui va coder à notre place.

    Et si je lui demande d'expliquer ce script, il me le détaille bien en 10 points et me fait un bon résumé donc, un bon outil...

    EDIT: un site web qui permet de le tester sans s'inscrire (Avec de l'aplomb et pas mal d'explications, il va nous générer des scripts python, bash, ... bien bancals)
    $moi= ( !== ) ? : ;

  11. #11
    Futur Membre du Club
    Homme Profil pro
    diy
    Inscrit en
    Septembre 2020
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : diy
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2020
    Messages : 61
    Points : 7
    Points
    7
    Par défaut
    bah l'idée de base était d'arriver à implémenter une fonction pratique à un code existant... mais je me rends compte que c'est bien plus compliqué que ça en à l'air... le code fourni par chatgpt semble traiter a wordclock différemment par rapport à mon code actuel fonctionnel...
    J’espérais "naïvement" pouvoir intégrer une partie du code généré par chatgpt dans mon code fonctionnel...

  12. #12
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par 7ced7 Voir le message
    le code fourni par chatgpt semble traiter a wordclock differemment par rapport a mon code actuel fonctionnel...
    Surtout que ça m'a l'air d'être bien bas niveau. Or plus on est bas niveau (donc proche de la machine) plus il y a des différences entre les hostsY. chatGPT aura parfaitement pu récupérer ce WS2812B sur un exemple A qui n'est pas adapté à ton truc à toi...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Alimentation arduino nano et strip led
    Par krevet dans le forum Arduino
    Réponses: 8
    Dernier message: 08/04/2019, 11h21
  2. Création vertex pour affichage en Triangle Strips
    Par ReiKiss dans le forum DirectX
    Réponses: 2
    Dernier message: 09/11/2005, 10h31
  3. Multipass Triangle strip + triangle list
    Par El Brujo dans le forum OpenGL
    Réponses: 13
    Dernier message: 02/11/2005, 10h26
  4. [Débutant creation de composant] Créer une LED numérique
    Par C_Marteau dans le forum C++Builder
    Réponses: 8
    Dernier message: 14/06/2005, 21h23
  5. [TP]Créer une animation leds clavier
    Par Thomas748 dans le forum Turbo Pascal
    Réponses: 16
    Dernier message: 27/11/2004, 20h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo