Table des matières
BITSCOPE POWER
Il est pas mal ce petit oscilloscope USB. 20 MHz en analogique, API python, et il est pas cher.
Ces quelques lignes vont servir de pense bête pour installer et configurer un système avec plusieurs bitscope et pilotage distant.
Il y aura aussi qques astuces que j'ai trouvées pour contourner des bugs ou limitations.
Installer la bitlib
Le fabriquant fournit une bibliothèque/driver qu'il appelle bitlib
, avec des bindings dans plusieurs langages, dont Python.
Il faut :
- D'abord installer la bitlib au niveau système
- Installer le binding python (idéalement dans un env)
1- Installer la bitlib au niveau système
J'ai préparé un petit script, inspiré de l'installateur pour rpi (.deb), qui marche aussi pour mon archlinux.
# dans le dossier de la bitlib ./install_bitlib
Normalement il n'y a pas besoin de reboot.
2- Installer les bindings python (dans un env)
Comme le binding a été codé pour Python2, il nous faut faire qques modifications du fichier bitlibmodule.c
Un barbu s'en est occupé pour nous, le résultat est dans le fichier bitlibmodule.c.PYTHON3
# Travaillons dans un env dédié (création de l'env à faire avant) conda activate bitscope # Copier la version Python3 cp bitlibmodule.c.PYTHON3 bitlibmodule.c # Installer le module python setup-bitlib.py install
Voilà, reste plus qu'à faire de l'électronique
Bitscope server
L'idée est de connecter un (ou plusieurs bitscope) sur des rpi, et d'y accéder depuis un ordinateur (ou un autre rpi) distant via ethernet.
- L'installation de la
bitlib
n'est pas nécessaire - Installer le
bitscope-server
dispo au format .deb sur les rpi sous raspbiandpkg -i bitscope-server.deb
Et Foilà !
Maintenant, on voudrait que ce truc se lance tout seule au démarrage du rpi. Aujourd'hui (en octobre 2019), raspbian tourne avec systemd, on peut donc :
- créer un fichier
/etc/systemd/system/bitscope.service
contenant :
[Unit] Description=bitscope server After=network.target [Service] Type=simple User=root Group=root WorkingDirectory=/home/pi/ ExecStart=/usr/bin/bitscope-server [Install] WantedBy=multi-user.target
- On peut ensuite activer l'auto-launch avec
systemctl enable bitscope
et démarrer immédiatement avecsystemct start bitscope
Note: on pourra accéder à ce bitscope avec le lien BL_Open(“UDP:<ip_rpi>”)
, par ex: BL_Open(“UDP:192.168.1.99”)