Communiquez avec FX-5204PS avec Python et PyUSB

En regardant autour de moi, en pensant que je voulais mesurer facilement la quantité d'énergie utilisée, la prise d'alimentation intelligente FX-5204PS de Fujitsu Component -strip / smart-power-strip / index.html) était en panne. Il est sorti il y a longtemps, mais il semble qu'il soit toujours en production.

Le FX-5204PS dispose d'un port USB B femelle. Je me suis demandé si l'utilisation était déchargée de là par série ou autre, et il s'est avéré qu'un pilote de périphérique dédié était nécessaire. J'ai pensé que je devrais arrêter de l'utiliser pendant un moment, mais quand je l'ai cherché, il y avait une personne qui avait déjà écrit un pilote de périphérique en 2011 (il y a plus de 5 ans à partir de cet article).

OpenBSD ... De plus, la personne qui le sait semble être l'auteur.

Si vous cherchez ailleurs,

SEIL ... Cela semble être un port d'OpenBSD.

Mais ce que je veux utiliser, c'est Linux ou Mac. Considérant qu'il est difficile de créer un pilote dépendant du système d'exploitation et de le maintenir en permanence, j'ai décidé qu'il serait préférable de l'utiliser facilement dans la bibliothèque USB de l'espace utilisateur. J'ai demandé à la personne qui a écrit le pilote de la version OpenBSD sur le contenu du code source et l'ai écrit dans PyUSB [module FX5204PS](https: // github. Il s'agit de com / keiichishima / FX5204PS /). Puisqu'il s'agit de Python, il fonctionne sur diverses plates-formes. Même OS X (macOS n'a pas été testé).

Le but initial a été atteint, même s'il s'agissait d'une petite omission, comme ne pas considérer le cas où deux appareils ou plus étaient connectés en même temps.

Si vous affichez l'état avec le visualiseur que vous avez créé de manière lâche avec pygame, il ressemblera à ce qui suit.

Untitled.png

Les informations pouvant être obtenues avec le module FX5204PS sont à peu près les mêmes que celles du driver OpenBSD: tension, fréquence, température, consommation électrique pour chaque prise (valeur instantanée, valeur moyenne (réinitialisée en 5 secondes par défaut), valeur maximale (réinitialisée en 5 secondes par défaut)) ).

Si vous trouvez des bogues, veuillez les signaler via github et nous les traiterons autant que possible.

Recommended Posts

Communiquez avec FX-5204PS avec Python et PyUSB
Communiquez entre Elixir et Python avec gRPC
Programmation avec Python et Tkinter
Chiffrement et déchiffrement avec Python
Python et matériel - Utilisation de RS232C avec Python -
python avec pyenv et venv
Fonctionne avec Python et R
Briller la vie avec Python et OpenCV
Robot fonctionnant avec Arduino et python
Installez Python 2.7.9 et Python 3.4.x avec pip.
Réseau neuronal avec OpenCV 3 et Python 3
Modulation et démodulation AM avec python
Scraping avec Node, Ruby et Python
Grattage avec Python, Selenium et Chromedriver
Grattage avec Python et belle soupe
Encodage et décodage JSON avec python
Introduction à Hadoop et MapReduce avec Python
[GUI en Python] PyQt5-Glisser-déposer-
Lire et écrire NetCDF avec Python
J'ai joué avec PyQt5 et Python3
Lire et écrire du CSV avec Python
Intégration multiple avec Python et Sympy
Coexistence de Python2 et 3 avec CircleCI (1.0)
Jeu Sugoroku et jeu d'addition avec Python
Modulation et démodulation FM avec Python
Construction de pipeline de données avec Python et Luigi
Calculer et afficher le poids standard avec python
Surveiller les pannes de Mojo avec Python et Skype
Modulation et démodulation FM avec Python Partie 3
[Automation] Manipulez la souris et le clavier avec Python
Authentification sans mot de passe avec RDS et IAM (Python)
Installation de Python et gestion des packages avec pip
Utilisation de Python et MeCab avec Azure Databricks
POSTER diversement avec Python et recevoir avec Flask
Capturer des images avec Pupil, python et OpenCV
Fractal pour faire et jouer avec Python
Un mémo contenant Python2.7 et Python3 dans CentOS
Utilisez PIL ou Pillow avec Cygwin Python
Créer et décrypter du code César avec python
CentOS 6.4, Python 2.7.3, Apache, mod_wsgi, Django
Lire et écrire des fichiers JSON avec Python
Gérer les "années et mois" en Python
J'ai installé et utilisé Numba avec Python3.5
Analyse des tweets avec Python, Mecab et CaboCha
Lier Python et JavaScript avec le notebook Jupyter
Surveillance du trafic avec Kibana, ElasticSearch et Python
Modulation et démodulation FM avec Python Partie 2
Crypter avec Ruby (Rails) et décrypter avec Python
Téléchargez facilement des mp3 / mp4 avec python et youtube-dl!
Faites fonctionner des appareils électroménagers avec Python et IRKit
Nettoyer l'environnement python avec Pythonz et virtualenv
Pratiquer le web scraping avec Python et Selenium
Scraping Web facile avec Python et Ruby
Importer et exporter des images GeoTiff avec Python
J'utilise tox et Python 3.3 avec Travis-CI
Construction d'interface graphique heureuse avec électron et python
Utiliser Python et MeCab avec Azure Functions
Touchez AWS avec Serverless Framework et Python
RaspberryPi L Chika avec Python et C #