Placa IoT-02
Placa IoT-02 al github (Esquemes electrònics, esquemes de fabricació de la placa de circuit imprès i codis de prova)
Contingut
Codis
IDE d'Arduino
Python
Codi per a controlar des de l'ordinador la placa IoT-02 emprant el protocol ModBus:
Dependències de biblioteques
serial és a la biblioteca pyserial. Serveix per a comunicar-se amb el port sèrie. Es pot instal·lar:
pip install pyserial
o
pip3 install pyserial
A algunes distribucions Linux potser us calgui instal·lar els paquets python-serial o python3-serial.
threading està instal·lada per defecte. Al codi mb_IoT_00.py ens serveix per a posar un temporitzador que consulti cíclicament les dades rebudes pel port sèrie.
crc16c.py és un arxiu que ha de compartir carpeta amb mb_IoT_00.py. És un codi que permet fer el càlcul dels codis de control de redundància cíclica (CRC) de forma eficient a Python.
key_getter.py és un arxiu que ha de compartir carpeta amb mb_IoT_00.py. És un codi que permet llegir les tecles premudes sense esperar a prémer la tecla Enter. Això permet una interacció més ràpida i fluïda amb la placa des del terminal. Tan sols funciona amb entorns amb interfície gràfica d'usuari. Està basat en curses. Per a funcionar a Linux cal importar termios, fcntl, sys, os i curses. Per a funcionar a Windows cal importar msvcrt.
Execució des de Linux
./mb_IoT_00.py /dev/ttyUSB1 4800
/dev/ttyUSB1 és el port sèrie a on es connecta el convertidor USB / RS485. Quan es programa la placa fem servir habitualment /dev/ttyUSB0. Per a veure quins són els dispositius USB connectats a l'ordinador podem escriure lsusb al terminal. Per a veure els ports USB disponibles podem escriure ls /dev/ttyUSB* -ls .
4800 és la velocitat de comunicació en bauds. És la velocitat en que s'han programat els exemples de ModBus amb l'IDE d'Arduino. Altres velocitat típiques són 9600 i 115200.
Execució des de Windows
python3 mb_IoT_00.py COM7 4800
COM7 és un exemple del nom de port sèrie a on es connecta el convertidor USB / RS485. És un port diferent al que es fa servir quan es programa la placa.