Pimp my rasp avec MoodleBox

Pimp my rasp avec MoodleBox

par laurent fleron,
Nombre de réponses : 16

Fabrication d'un boitier spécial pour MoodlBox avec bouton Power Off, Ventilo et led intégré.


Je suis sur le script maintenant.

A près deux trois essais je déposerai le tout sur Thingiverse et GitLab.

Avez vous qq remarques?

Cela fait suite à ça.


Moyenne des évaluations  -
En réponse à laurent fleron

Re: Pimp my rasp avec MoodleBox

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bravo, très joli.

Je ne vois pas les câbles du bouton. Je suppose que tu les mettras ultérieurement ?

Par où tu fais sortir l'air aspiré par le ventilo ? (j'imagine une grille sous le RPi ?)

En réponse à Nicolas Martignoni

Re: Pimp my rasp avec MoodleBox

par laurent fleron,

Pour le fils, oui je travaille sur le script et son câblage associé.

Il y a derrière la même framboise que sur le dessus.

Mais j'ai des doutes sur son utilité car la boite ne "respire pas assez" peu de place autour entre le pcb et les cotés.

L'air va sans doute passer par les connecteurs sur les cotés.

Par contre le ventilo est important : sans sa température = 58 degrés avec ventilo = 37 degrés.

faut faire des essais...



En réponse à laurent fleron

Re: Pimp my rasp avec MoodleBox

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

> je travaille sur le script et son câblage associé.

Pourquoi un script ? Tu fais faire des opérations particulières avant l'arrêt ?

> Par contre le ventilo est important : sans sa température = 58 degrés avec ventilo = 37 degrés.

Étrange cette température élevée. Ma MoodleBox allumée 24/7 affiche en moyenne 46–47 °C, avec un tout petit radiateur (qui ne fait pas gagner grand chose). Et elle est enfermée dans un meuble.

En réponse à Nicolas Martignoni

Re: Pimp my rasp avec MoodleBox

par laurent fleron,

> Tu fais faire des opérations particulières avant l'arrêt ?

oui pour le fun, je vous montrerai ... je te demanderai de voir si mon script n'utilise pas trop le processeur

Je me bagarre avec un thread en ce moment. vivement les prochaines vacances (dans qq jours) pour que je m'y remette.

> la température ...

Oui je suis étonné aussi, je n'ai pas de radiateur, mais bon ça fait beaucoup...

En réponse à laurent fleron

Re: Pimp my rasp avec MoodleBox

par Christian Westphal,
Avatar Moodleurs particulièrement utiles

Joli...

Il faudrait se faire une galerie d’images de moodlebox !

En réponse à Christian Westphal

Re: Pimp my rasp avec MoodleBox

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Je suppose que ton ventilateur fonctionne en extraction et qu'au fond du boitier il y a une grande quantité de petits trous? De plus les pieds (caoutchouc?) doivent surélever le boitier qui doit être posé sur une surface rigide afin de laisser passer l'air.

Je place aussi un refroidisseur dont je teste actuellement divers modèles.

Ma MoodleBox de test fonctionne en permanence dans une ambiance de 19/20°C et sa température est de 52°C avec un refroidisseur classique (j'ai d'autres refroidisseurs un peu plus performants). On ne gagne pas grand-chose.

J'ai plusieurs MoodleBox en Afrique et pas de soucis signalés de température. Mais peut-être fonctionnent-elles dans des salles climatisées.

J'en ai quatre qui partent au nord Mali, en zone de guerre. Et là j'aurai des retours sur leur bon fonctionnement.

Peut-être aussi qu'un preneur "d'otages MoodleBox " me donnera un jour de leurs nouvelles ?

Selon l'évolution de la situation... pensif

Ensemble MoodleBox et alimentation

En réponse à Daniel Méthot

Re: Pimp my rasp avec MoodleBox

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Les dispositifs d'alimentation d'une MoodleBox:
  1. Secteur alternatif 230V avec les adaptateurs des différents pays.
  2. Une prise 12V véhicule (débitant plus de 2A) avec son cordon USB/microUSB
  3. Une Powerbank (batterie 12V de capacité 10Ah) pour tenir largement toute la journée. A charger sur prise USB.
Dispositifs d'alimentation
En réponse à Daniel Méthot

Re: Pimp my rasp avec MoodleBox

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

STP Laurent,

Sur quelles broches branches-tu ton ventilateur?

Et sous quelle tension fonctionne-t-il? 

5V?

En réponse à Daniel Méthot

Re: Pimp my rasp avec MoodleBox

par laurent fleron,
Retour sur le script d'arrêt de la moodlebox.

Un bouton intégrant une led et un ventilo.

Pour le ventilo. Il n'est pas commandé car trop lourd à faire parce que les sorties du ras sont en 3.3 v et pour le ventilo il faut du 5v. Pour cela il faudrait un transistor de commande, une diode, une résistance... donc pas simple. Du coup le ventilo est branché sur une broche 5v en continu (le ventilo ne s'arrête pas).

Pour la Led : elle est commandée par une commande PWM qui permet à celle-ci de "pulser". Je voulais aussi, après double clic sur le bouton, la faire clignoter jusqu'à l'arrêt mais je n'arrive pas à réinitialiser la PWM dans le thread... A voir.

pour le switch : il permet l'arrêt de l'OS par un script python lancé au démarrage.

Notez que cela fonctionne avec un bouton tactile. Mais la led permet visuellement de montrer l'arrêt de la machine. SI on ne mets pas de Led,la solution est encore plus simple. Passer par la solution présentée avant dans nos discussions.


Le tout en vidéo :


Le Programme :

#!/usr/bin/env python
# coding: utf-8

"""
Programme classique lecture entrée GPIO
utilisation anti-rebond logiciel
Programme mettant de raspi en Off après appuis sur le switch
Une led clignotante indique son arret
Bouton poussoir raccordé entre GPIO22 et +3.3V
nom programme       : switch.py
logiciel            : python 3.x
cible               : raspberry Pi
date de création    : 20/02/2018
date de mise à jour : 29/02/2018
version             : 2.0
auteur              : Laurent Fléron
référence           :
"""
#-------------------------------------------------------------------------------
# Bibliothèques
#-------------------------------------------------------------------------------
import RPi.GPIO as GPIO
import time
import os
from threading import *                 #bibliothèque thread
#-------------------------------------------------------------------------------

# Desactive les warnings
GPIO.setwarnings(False)

# Utilisation des numeros de port du processeur
GPIO.setmode(GPIO.BCM)

# Led en PWM
# Mise en sortie du port GPIO 12 soit la broche 32 du connecteur
GPIO.setup(12, GPIO.OUT)

# Bouton momentanné
# Mise en entree du port GPIO 25 soit lea broche 22 du connecteur
# Activation de la resistance de tirage
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

class notreThread(Thread):
    """Lanceur de fonction"""
    def __init__(self, fonction):
        Thread.__init__(self, None, fonction)
        self._fonction = fonction
        self.running = True
        
    def run(self):                      #lance le programme
        while self.running:
            self._fonction()            #notre fonction programme
    
    def stop(self):                     #arrêt du programme
        self.running = False

def ledPwm():
    """ Pulsation de fonctionnement"""
    p1 = GPIO.PWM(12, 50)  # channel=12 frequency=50Hz
    p1.start(0)
    try:
        for dc in range(1, 100, 1):
            p1.ChangeDutyCycle(dc)
            time.sleep(0.02)
        for dc in range(100, 0, -1):
            p1.ChangeDutyCycle(dc)
            time.sleep(0.02)
        p1.stop()

    except KeyboardInterrupt:
        pass

def btnApp(bcmBtn):
    """Appuis bouton pour power Off"""
    global powerOn
    global compteur
    compteur += 1

if __name__ == '__main__':
    """ Le programme par défaut"""
    powerOn = True
    compteur = 0

    print("lancement de switch")
    thread_1 = notreThread(ledPwm)          # Thread pulsation led
    thread_1.start()
    # Création d'une interruption sur le port 25
    # Tempo de 500 ms pour eviter l'effet rebond
    # Detection d'un front Montant
    # print("Attente d'un appui")
    GPIO.add_event_detect(25, GPIO.RISING, callback=btnApp, bouncetime=500)

    while powerOn:
        if compteur >= 2:
            print("Arret demandé sur le port 25!\n")
            thread_1.stop()               # Arret du thread
            powerOn = False

    GPIO.cleanup()
    print('Arret du Raspi')
    os.system('sudo shutdown -h now')

Pour le boitier :

Il sera sur Thingiverse prochainement.

Boitier réalisable en impression 3D ou en découpe laser.

Je compte ajouter un orifice de visualisation du trafic réseau (led Verte) au côté de l'orifice de la MicroSd.


En réponse à laurent fleron

Re: Pimp my rasp avec MoodleBox

par stephane ngov,

Bonsoir,

il y a des cartes de driver pas cher si vous souhaitez pas vous même fabriquer votre adaptateur d'impédance pour le ventilateur:

https://www.amazon.fr/Module-pilote-Arduino-Raspberry-MCU-IRF520/dp/B06XB9B16Z/ref=sr_1_1?ie=UTF8&qid=1519589132&sr=8-1&keywords=mosfet+arduino

il y a qu'a branché directement sur votre sortie 20mA et branché le ventilateur 5V.
Après je ne connais pas le rasp s'il y a déjà en internet une possibilité de lire sa température et de commander le ventillo en fonction de cette donnée.


En réponse à stephane ngov

Re: Pimp my rasp avec MoodleBox

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Je suppose que tous vos dispositifs "pompent" de l'énergie sur la MoodleBox.

Hors, dans le cas d'une utilisation en nomade avec une powerbank, on va réduire sensiblement l'autonomie du système.

Même en ce qui concerne le bouton d'arrêt je n'envisage pas encore de l'installer pour l'instant car dans le cadre de certaines utilisations où il y a circulation autour de la MoodleBox, quelqu'un pourrait effleurer ce bel objet (c'est tentant) et... l'arrêter !

Un bouton marche/arrêt à distance à l'aide du smartphone du prof serait plus approprié.

Et à propos de ceci :"Après je ne connais pas le rasp s'il y a déjà en internet une possibilité de lire sa température"
Le plugin moodlebox intégré de Nicolas donne la température. C'est ma référence pour l'instant.

Mais je suis vos expérimentations avec intérêt.

En réponse à Daniel Méthot

Re: Pimp my rasp avec MoodleBox

par Christian Westphal,
Avatar Moodleurs particulièrement utiles

A la louche, un mini ventilateur consomme 0,1 A grand maximum. Soit 1/10 du raspberry.  Donc oui, ce n'est pas négligeable. Mais si son fonctionnement est thermostaté par la mesure interne de la température, surtout couplé à un refroidissement passif, on devrait  arriver à quelque chose d'assez peu coûteux en autonomie.

Pour les problèmes de manipulation intempestive, je pense qu'un "code" du type "deux clics = arrêt" et "trois clics = reboot" devrait éviter les problèmes que tu évoques.

En réponse à Daniel Méthot

Re: Pimp my rasp avec MoodleBox

par laurent fleron,
Je suis d'accord avec toi Daniel.
Il ne faut pas que la MoodleBox devienne un truc comme ça grand sourire

En réponse à laurent fleron

Re: Pimp my rasp avec MoodleBox

par stephane ngov,

Si vous souhaitez acheté le moins cher possible et ne pas utiliser trop de composant discret,

vous pouvez par exemple acheté un transistor numérique, il y aura juste à branché 3 fils

https://fr.rs-online.com/web/p/transistors-numeriques/2461867/

il y a juste pour 1.5 euros

la résistance de commande est à l'intérieur du transistor.

au premier achat le frais de port sont gratuit sourirelangue tirée


après il faut un fers à souder et de la dextérité si on a pas l'habitude des cms.


En réponse à stephane ngov

Re: Pimp my rasp avec MoodleBox

par laurent fleron,

Le but reste de faire très simple.

pour info sur aliexpress la commande d'un ventilo serait presque 20 fois moins cher diabolique que sur Amazon si on cherche bien

Mais pour moi l’intérêt est limité...