Diferència entre revisions de la pàgina «API de Python per a l'IoT-Vertebrae»
| 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 == | ||
| − | 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) | + | 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). | 
|   pi@raspberrypi:~ $ '''python''' |   pi@raspberrypi:~ $ '''python''' | ||
| Línia 22: | Línia 22: | ||
| == Ú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 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 35: | Línia 35: | ||
|   >>>   |   >>>   | ||
|   pi@raspberrypi:~ $ |   pi@raspberrypi:~ $ | ||
| + | |||
| = canOn() = | = canOn() = | ||
| Obertura del bus CAN (tan sols té sentit amb el paquet ''can_iotv''. No pas amb el paquet ''i2c_iotv''): | Obertura del bus CAN (tan sols té sentit amb el paquet ''can_iotv''. No pas amb el paquet ''i2c_iotv''): | ||
Revisió del 13:11, 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.
Contingut
Ú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).
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:~ $
Ú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 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 i2c_iotv as iotv
>>> iotv.dversion("0000")
Digital rib version: 1.2
'0000000100000010'
>>> iotv.aversion("0000")
Analog rib version: 1.3
'0000000100000011'
>>> 
pi@raspberrypi:~ $
canOn()
Obertura del bus CAN (tan sols té sentit amb el paquet can_iotv. No pas amb el paquet i2c_iotv):
>>> iotv.canOn()
Es posa a l'inici de qualsevol programa que vulgui fer servir el paquet can_iotv. Aquesta funció tramet al sistema aquesta ordre de terminal:
sudo ip link set up can0 type can bitrate 100000
canOff()
Tancament del bus CAN (tan sols té sentit amb el paquet can_iotv. No pas amb el paquet i2c_iotv):
>>> iotv.canOff()
Es pot posar al final de qualsevol programa que vulgui fer servir el paquet can_iotv. Aquesta funció tramet al sistema aquesta ordre de terminal:
sudo ifconfig can0 down
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'

