Skip to content

Re‐construction d'une image custom

Sebastien D. edited this page Jun 18, 2026 · 6 revisions

Préparer l'environnement

Cloner le repo :

git clone https://github.com/bastoon577-lang/Heater_Mining.git
cd Heater_Mining

Générer l'image BraiinOS Custom

Télécharger l'image officielle :

wget https://feeds.braiins-os.com/22.08.1/braiins-os_am1-s9_sd_2022-09-27-0-26ba61b9-22.08.1-plus.img

Générer l'image BraiinOS Custom en suivant la procédure suivante.

Flasher la carte SD de l'image custom avec Rufus.

Préparer le Mineur

En effectuant les manipulations suivantes :

  1. Effectuer la manipulation de boot SD sur le mineur en suivant cette procédure.
  2. Insérer la carte SD dans le Mineur.
  3. Le mettre sous tension.

Intégration logicielle

Activer le service SSH sur le Mineur au travers de l'interface WEB :

  • Dans l'interface principale (System -> Status).
  • Dans l'interface secondaire (System -> Administration -> SSH Access).

Se connecter au mineur en SSH :

ssh root@<IP-ADDRESS>

Créer le dossier custom_monitor dans /usr/bin:

mkdir /usr/bin/custom_monitor

Mettre à jour l'opkg :

opkg update

Installer Python3 :

opkg install python3

Installer pip :

opkg install python3-pip

Ce positionner dans /tmp (la RAM) :

cd /tmp/

Télécharger pycryptodome-3.21.0 permettant le chiffrement lié à tynituya :

wget https://dl.espressif.com/pypi/pycryptodome/pycryptodome-3.21.0-cp36-abi3-linux_armv7l.whl

Installer pycryptodome-3.21.0 :

pip3 install pycryptodome-3.21.0-cp36-abi3-linux_armv7l.whl

Installer tinytuya (avec --no-deps) :

⚠️ L'argument --no-deps est crucial et permet l'installation de tinytuya uniquement, sans chercher à installer de mécanismes cryptographique.

En conséquence, tinytuya utilisera le pycryptodome-3.21.0 que nous venons d'installer.

pip3 install --no-deps tinytuya

Puis fermer la connexion SSH:

exit

Envoyer le script /custom_monitor au travers de la commande scp sur le Mineur :

scp custom_monitor/* root@<IP-ADDRESS>:/usr/bin/custom_monitor

Modifier le rc.local

Le rc.local est un script s'exécutant après le dernier service lors du démarrage d'une machine. Je l'utilise pour lancer le custom_monitor. Il est modifiable en ligne de commande par l'intermédiaire de vi en effectuant :

vi /etc/rc.local

Où au travers de l'interface WEB :

  • Dans l'interface principale (System -> Status).
  • Dans l'interface secondaire (System -> Startup).

Insérer dans le rc.local :

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
# Put ID of thermostat (24 bytes)
export DEVICE_ID="xxxxxxxxxxxxxxxxxxxxxx"
# Put IP address of thermostat
export DEVICE_IP="192.168.1.124"
# Put local key of thermostat (16 bytes)
export LOCAL_KEY="xxxxxxxxxxxxxxxx"
# Put device version (by default 3.5)
#export  DEVICE_VERSION="3.5"
# Put thermostat check periodicity (by default 5 seconds)
#export  PERIODICITY="10"
/usr/bin/python3 -u /usr/bin/custom_monitor/custom_monitor.py > /tmp/miner.log 2>&1 &
exit 0

Avec les éléments de paramétrage du Thermostat sur le Mineur.

Fermeture du SSH

Désactiver par sécurité le service SSH sur le Mineur au travers de l'interface WEB :

  • Dans l'interface principale (System -> Status).
  • Dans l'interface secondaire (System -> Administration -> SSH Access).

Auteur : Sébastien DALIGAULT.