StrangePlanet » Blog

coretemp

Comment j’ai transformé un téléphone en moniteur système

29 novembre 2014 by Mistic Leave a Comment

Il y a quelques mois j’ai acheté un Galaxy S4 mini pour remplacer mon vieux Galaxy S, smartphone qui ne vaut plus grand chose (surtout avec l’écran fissuré) et dont aucune des mes connaissances ne voulait…

Mais que faire avec cet engin ? C’est bien dommage de le laisser moisir au fond d’un tiroir alors qu’il propose au moins un très bel écran 800*480 pixels.

Cela fait un bout de temps que je voulais ajouter à mon ordinateur fixe un petit écran pour y mettre les widgets Windows de monitoring système (utilisation CPU, RAM, etc), seulement les écrans de petites tailles sont soit hors de prix soit uniquement analogiques (écrans pour caméra de recul dans les voitures) et ne fonctionnent pas sur les cartes graphiques récentes. Voilà donc une utilisation parfaite pour mon vieux smartphone.

Première étape…

Utiliser un smartphone comme écran secondaire

On dit que « il y a une app’ pour tout », eh bien c’est le cas. En l’occurrence pour utiliser un appareil Android ou iOS comme écran secondaire sur un PC il y a au moins deux systèmes: iDisplay et AirDisplay. Ils se composent tous les deux d’une application mobile « cliente » et un programme « serveur » embarquant un driver vidéo dédié. Fonctionnement en théorie simple: le serveur se fait passer pour un écran auprès du système d’exploitation et stream le flux vidéo sur le client.

J’ai commencé par tester iDisplay qui à pour principal défaut de ne pas supporter l’interface Aero de Windows 7, alors que Air Display oui, c’est donc ce dernier que j’utilise. Il n’est quand même pas exempt de défauts: le plus gros problème que j’ai rencontré étant que la connexion automatique ne fonctionne pas du tout, je suis obligé de manuellement entrer l’adresse IP de mon smartphone à chaque démarrage du système (j’y reviendrai).

idisplay

Continuons par…

Créer un widget de monitoring

Bien j’ai un second écran branché sur mon PC, il est temps d’y afficher des trucs. La solution simple de n’y mettre que des widgets « natifs » Windows ne convient pas: à cause de la densité des pixels importante du smartphone, ils sont totalement illisibles, il va donc falloir en créer de nouveaux.

Pour ça j’ai utilisé l’excellent Rainmeter. Un outil magique qui permet de créer des petits programmes (ou « skins ») constitués de points de mesures et d’afficheurs. Les points de mesures sont très variés (informations système, analyse audio, requête HTTP, plugins spécialisés) tout comme les afficheurs (texte, image, graphique, forme, etc.). La création des skins se base sur des fichiers .ini dont la syntaxe est rapide à prendre en main en consultant la documentation et les exemples.

Par exemple le code ci-dessous va créer un widget comme celui-ci:

Un skin Rainmeter

Un skin Rainmeter

[Rainmeter]
Update=1000

[MeasureUsedMemory]
Measure=PhysicalMemory

[MeterMemoryText]
Meter=String
MeasureName=MeasureUsedMemory
FontSize=11
FontColor=255,255,255,255
AutoScale=1
AntiAlias=1
Text=Used RAM: %1

[MeterUsedMemoryBar]
MeasureName=MeasureUsedMemory
Meter=BAR
Y=3R
W=250
H=30
BarColor=185,250,160,255
SolidColor=150,150,150,255
BarOrientation=Horizontal

Je voulais donc un skin de monitoring le plus complet possible:

  • Fréquence et température CPU
  • Charge CPU + graphique par core
  • Utilisation RAM et SWAP + graphique
  • Fréquence et température GPU
  • Charge GPU + graphique
  • Addresse IP et ping
  • Débit download et upload + graphique
  • Total téléchargé et uploadé
  • Activité et occupation disques durs
  • Uptime
  • Volume audio
  • Heure et date
  • Prévision météo

Afin d’obtenir toutes ces données je me base sur deux programmes tierces : CoreTemp et Open Hardware Monitor, ainsi que deux webservices: OpenWeatherMap et I Can Haz IP.

Le skin Rainmeter créé pour l’occasion peut être trouvé sur mon dépot Github.

Mon skin Rainmeter GalaxyS

Ne reste plus qu’à faire un peu d’…

Automatisation

Comme je disais plus haut, la connexion automatique de Air Display ne fonctionne pas. Au démarrage du système l’écran secondaire n’est donc pas détecté et le skin Rainmeter se place là ou il peut. Il faut qu’a chaque démarrage je connecte Air Display et seulement après que je lance Rainmeter… c’est chiant.

Pour contourner se problème j’ai découvert un peu programme appelé Auto Hotkey qui permet de scripter des clics souris et des entrées clavier. Je m’en suis servit pour créer une tâches qui ouvre la fenêtre Air Display, entre l’adresse IP du smartphone, attends 2 secondes que la connexion soit établie puis lance Rainmeter, tout ceci juste en appuyant sur Win+A !

Ce script est disponible dans le dépôt du skin Rainmeter.

Up & running

Up & running

Posted in: Créations, Développement Tagged: android, coretemp, galaxys, monitoring, rainmeter

Catégories

  • Créations (9)
  • Développement (16)
  • Général (1)
  • Perso (3)
  • Récits (5)
  • Tutoriels (3)
  • Web (8)

Articles récents

  • Use Travis CI & Coveralls for a web frontend library
  • Comment j’ai transformé un téléphone en moniteur système
  • jQuery QueryBuilder
  • [Piwigo] Un carrousel des dernières photos ajoutées
  • [Musique] Tarja: Colours in the Dark

Étiquettes

bateau c++ calcaires carbon chevrolet cité corvette désespoir encodage escalade extension font forever forêt galerie graphique image javascript jquery mer montagne mort musical musique oblivion patch photoshop php piwigo provence qt ruine rêve sexy site web skins tomb raider trackmania ultramon united ville visual voiture windows étranger

Copyright © 2019 StrangePlanet » Blog.

Omega WordPress Theme by ThemeHall

  • Accueil
  • Blog
  • Galerie
  • Projets
  • À-propos