Diferència entre revisions de la pàgina «API de Python per a l'IoT-Vertebrae»

De binefa.com
Salta a la navegació Salta a la cerca
m
Línia 6: Línia 6:
 
= Ús de les biblioteques des del terminal =
 
= Ús de les biblioteques des del terminal =
 
== Ús de ''can_iotv.py'' des del terminal ==
 
== Ús de ''can_iotv.py'' des del terminal ==
Fent servir el bus CAN cal obrir-ho al principi i podem tancar-ho al final. L'obertura i tancament del bus CAN es fa mitjançant ordres de terminal (molt més lentes d'executar que les instruccions Python). En canvi, l'obertura i tancament del bus I2C es fa mitjançant instruccions de Python.
+
Cal obrir el bus CAN cal al principi i podem tancar-ho al final. L'obertura i tancament del bus CAN es fa mitjançant ordres de terminal (molt més lentes d'executar que les instruccions Python). En canvi, l'obertura i tancament del bus I2C es fa mitjançant instruccions de Python.
 +
 
 
  pi@raspberrypi:~ $ '''python'''
 
  pi@raspberrypi:~ $ '''python'''
 
  Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
 
  Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Línia 19: Línia 20:
 
  >>>  
 
  >>>  
 
  pi@raspberrypi:~ $
 
  pi@raspberrypi:~ $
 +
 +
Obertura del bus CAN:
 +
'''iotv.canOn()'''
 +
Tancament del bus CAN:
 +
'''iotv.canOff()'''
 +
 
== Ús de ''i2c_iotv.py'' des del terminal ==
 
== Ús de ''i2c_iotv.py'' des del terminal ==
 
No cal obrir el bus I2C al principi i tancar-ho al final perquè cada funció l'obre i el tanca.  
 
No cal obrir el bus I2C al principi i tancar-ho al final perquè cada funció l'obre i el tanca.  

Revisió del 13:02, 20 ago 2024

Hi ha dues biblioteques per a interactuar en Python des de la Raspberry Pi amb l'IoT-Vertebrae: i2c_iotv.py (abans iotv.py) i can_iotv.py.

can_iotv.py: funciona a partir de la versó 2.0 del cap. Es comunica mitjançant el bus CAN, això permet controlar vèrtebres connectades remotament a una cua.

i2c_iotv.py: funciona amb qualsevol versió de cap. Es comunica mitjançant el bus I2C.

Ús de les biblioteques des del terminal

Ús de can_iotv.py des del terminal

Cal obrir el bus CAN cal al principi i podem tancar-ho al final. L'obertura i tancament del bus CAN es fa mitjançant ordres de terminal (molt més lentes d'executar que les instruccions Python). En canvi, l'obertura i tancament del bus I2C es fa mitjançant instruccions de Python.

pi@raspberrypi:~ $ python
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import can_iotv as iotv
>>> iotv.canOn()
>>> iotv.dversion("0000")
'1.2'
>>> iotv.aversion("0000")
'1.3'
>>> iotv.canOff()
>>> 
pi@raspberrypi:~ $

Obertura del bus CAN:

iotv.canOn()

Tancament del bus CAN:

iotv.canOff()

Ús de i2c_iotv.py des del terminal

No cal obrir el bus I2C al principi i tancar-ho al final perquè cada funció l'obre i el tanca.

pi@raspberrypi:~ $ python
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import i2c_iotv as iotv
>>> iotv.dversion("0000")
Digital rib version: 1.2
'0000000100000010'
>>> iotv.aversion("0000")
Analog rib version: 1.3
'0000000100000011'
>>> 
pi@raspberrypi:~ $

dversion(addr)

L'argument addr és l'adreça de la vèrtebra digital expressada com un text de quatre zeros i uns. Aquí hi ha un enllaç a l'explicació de les adreces de la vèrtebra digital.

Retorna la versió de microprogramari (firmware) de la vèrtebra amb l'adreça passada com a argument.

  • can_iotv:
>>> iotv.dversion("0000")
'1.2'
  • i2c_iotv:
>>> iotv.dversion("0000")
Digital rib version: 1.2
'0000000100000010'

aversion(addr)

L'argument addr és l'adreça de la vèrtebra analògica expressada com un text de quatre zeros i uns. Aquí hi ha un enllaç a l'explicació de les adreces de la vèrtebra analògica.

Retorna la versió de microprogramari (firmware) de la vèrtebra amb l'adreça passada com a argument.

  • can_iotv:
>>> iotv.aversion("0000")
'1.3'
  • i2c_iotv:
>>> iotv.aversion("0000")
Analog rib version: 1.3
'0000000100000011'