Skip to content

Contraintes mémoire

Sebastien D. edited this page Jun 4, 2026 · 9 revisions

Optimisation logicielle par l'utilisation de Braiins OS (vs Firmware Stock)

Le micrologiciel d'origine de Bitmain applique des réglages électriques uniformes qui brident le potentiel du matériel. L'installation d'un système alternatif comme Braiins OS transforme l'exploitation de l'Antminer S9 grâce à quatre optimisations majeures :

  • Autotuning par puce (Loterie du silicium) : Contrairement au firmware d'origine qui s'aligne sur la puce la plus faible d'une carte, Braiins OS ajuste la fréquence et la tension de chaque puce BM1387 individuellement. Cela permet d'exploiter le meilleur de chaque ASIC et d'optimiser l'efficience globale (Joules/TH).
  • Power Target (Contrôle de la puissance) : Permet de fixer une limite de consommation stricte au watt près (ex: brider le S9 à 1000W au lieu de 1450W). Idéal pour réduire drastiquement le bruit des ventilateurs et la chaleur dégagée en usage domestique.
  • Tolérance aux pannes : Si une puce fatigue et génère des erreurs, le firmware d'origine coupe souvent toute la carte de hachage (hashboard). Braiins OS isole chirurgicalement la puce défaillante pour maintenir le reste de la carte en production.
  • Protocole Stratum V2 : Intègre la nouvelle génération de protocole réseau, offrant un chiffrement des données (sécurité contre le détournement de hashrate) et une réduction de la bande passante internet.
Fonctionnalité Firmware Stock Bitmain Braiins OS
Gestion des ASIC Globale (par carte) Individuelle (par puce)
Consommation Profils fixes d'usine Ajustable au Watt près
Gestion des erreurs Arrêt de la carte complète Isolation de la puce malade
Protocole Réseau Stratum V1 (vulnérable) Stratum V2 (chiffré, optimisé)

Mon choix c'est donc évidement porté sur l'utilisation d'une image BraiinOS.

Intégration de logiciels tierces

Pour interconnecter l'infrastructure de minage avec l'environnement domotique (notamment le thermostat connecté), le choix s'est porté sur une stack logicielle légère, moderne et directement embarquée sur la carte de contrôle.

Environnement d'exécution

  • Python 3 & pip3 : Utilisation de Python 3 pour sa syntaxe de haut niveau, sa rapidité de développement et sa polyvalence. Le gestionnaire de paquets pip3 permet d'isoler et d'installer proprement les dépendances nécessaires directement sur l'OS embarqué.

Pilotage local du thermostat

  • Librairie tinytuya : Cette bibliothèque Python permet de s'affranchir totalement du cloud officiel Tuya. Elle intercepte et émet les commandes directement sur le réseau local (LAN) vers le thermostat BEOK. Cela garantit une latence minimale, une indépendance vis-à-vis d'Internet et une confidentialité totale des données de chauffage.

⚠️ Contraintes matérielles & Dépendances (Architecture ARMv7l) L'installation de tinytuya sur la carte Xilinx (CPU ARM Cortex-A9) impose des contraintes de compilation spécifiques :

  • pycryptodome (v3.6+) : Cette dépendance est indispensable pour gérer le chiffrement AES des paquets réseau Tuya (protocoles locaux v3.1/v3.3+).
  • Compatibilité armv7l : Il existe dans le repo pycryptodome les paquets binaires pré-compilés (wheels) compatible avec cette architecture.

Conséquences sur la mémoire et le stockage

L'intégration de Python 3, de tinytuya et de pycryptodome a un impact très maîtrisé sur les ressources de la carte de contrôle Xilinx, notamment grâce à l'utilisation d'un paquet pré-compilé (wheel) adapté à l'architecture armv7l, évitant ainsi toute phase de compilation lourde.

Néanmoins, l'utilisation de la mémoire NAND intégrée à la carte de contrôle est alors dépassée et ne peut donc pas satisfaire l'ensemble des packages. L'utilisation d'une carte SD est donc nécessaire pour satisfaire l'ensemble.

Auteur : Sébastien DALIGAULT.

Clone this wiki locally