Diferència entre revisions de la pàgina «IoT-Vertebrae»
Salta a la navegació
Salta a la cerca
m (→Python) |
m (→Exemple d'ús) |
||
(Hi ha 24 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | = Atenció! = | ||
+ | * Els potenciòmetres de 10K han de dur un resistor de 14K en sèrie a l'alimentació. Així, quan s'alimenten a 24 volts poden donar una tensió entre 0 i 10 volts (per a connectar a la placa d'entrades analògiques. Tot i que les entrades poden ser de -10 a + 10 volts). | ||
+ | |||
+ | * A la serigrafia NPN/PNP de la placa de sortides digitals està invertida. Per tant, el pont (''jumper'') és a NPN fa que les sortides siguin PNP. I si el pont (''jumper'') és a PNP fa que les sortides siguin NPN. | ||
+ | |||
+ | = Introducció = | ||
+ | [https://www.binefa.cat/training/snapcon2023/20230719_IoT-Vertebrae_SnapCon2023.pdf IoT-Vertebrae - Bridging OT & IT. Snap!Con 2023] and [https://youtu.be/hoDaJh98o3k video] (July / 17 / 2023) | ||
+ | |||
+ | [https://www.binefa.cat/training/dlm/20230429/iotvertebrae_dlm2023.pdf IoT-Vertebrae Bridging OT & IT. DLM 2023] (29 / abril / 2023) - Diada de la Llibertat del Maquinari 2023 | ||
+ | |||
+ | [[Image:IoTVertebraeV1.1a.jpg|center|thumb|Conjunt IoT-Vertebrae amb el cap v1.1]] | ||
+ | |||
+ | = Material = | ||
+ | [https://recull.binefa.cat Recull d'informació sobre l'IoT-Vertebrae] (usuari: ''EdT'', contrasenya: ''EdT2324'') | ||
+ | |||
+ | [https://snap.binefa.cat/ Snap! amb exemple IoT-Vertebrae] (MAC ESP32: 70B8F662BC7C ) | ||
+ | |||
+ | [https://www.iotvertebrae.com/ IoT-Vertebrae a GitHub] | ||
+ | |||
+ | [[Image:iotvertebrae00.jpg|center|thumb|Concepte IoT-Vertebrae]] | ||
+ | |||
+ | [[Maquinari de l'IoT-Vertebrae]] | ||
= Detecció d'adreces I2C a la Raspberry Pi = | = Detecció d'adreces I2C a la Raspberry Pi = | ||
Línia 29: | Línia 51: | ||
A rib is ADC, B rib is DAC. | A rib is ADC, B rib is DAC. | ||
'00010010' | '00010010' | ||
− | >>> iotv.'''dsetup'''("0000"," | + | >>> iotv.'''dsetup'''("0000","aout","bin") |
ain, aout | ain, aout | ||
Setup has not been changed | Setup has not been changed | ||
Línia 117: | Línia 139: | ||
>>> | >>> | ||
pi@raspberrypi:~/iot-vertebrae $ | pi@raspberrypi:~/iot-vertebrae $ | ||
+ | [[API de Python per a l'IoT-Vertebrae]] | ||
+ | |||
+ | = Exemple d'ús = | ||
+ | [https://snap.binefa.cat/snap.html Control via Snap!] (MQTT al cap + CanBus) (MAC ESP32: 70B8F662BC7C ) | ||
+ | |||
+ | [[Smart Toys]] (MQTT a la Raspberry Pi + I2C) | ||
+ | |||
+ | [[CanBus a l'IoT-Vertebrae]] | ||
+ | |||
+ | [[Pantalla OLED al cap de l'IoT-Vertebrae]] | ||
+ | |||
+ | [https://snap.binefa.cat/snap.html#open:https://raw.githubusercontent.com/jordibinefa/ms-drivers-and-tools/master/arinyo_20240724_00.xml Exemple emprant objectes] | ||
+ | |||
+ | [[ModBUS RTU a l'IoT-Vertebrae]] |
Revisió de 10:52, 26 ago 2024
Contingut
Atenció!
- Els potenciòmetres de 10K han de dur un resistor de 14K en sèrie a l'alimentació. Així, quan s'alimenten a 24 volts poden donar una tensió entre 0 i 10 volts (per a connectar a la placa d'entrades analògiques. Tot i que les entrades poden ser de -10 a + 10 volts).
- A la serigrafia NPN/PNP de la placa de sortides digitals està invertida. Per tant, el pont (jumper) és a NPN fa que les sortides siguin PNP. I si el pont (jumper) és a PNP fa que les sortides siguin NPN.
Introducció
IoT-Vertebrae - Bridging OT & IT. Snap!Con 2023 and video (July / 17 / 2023)
IoT-Vertebrae Bridging OT & IT. DLM 2023 (29 / abril / 2023) - Diada de la Llibertat del Maquinari 2023
Material
Recull d'informació sobre l'IoT-Vertebrae (usuari: EdT, contrasenya: EdT2324)
Snap! amb exemple IoT-Vertebrae (MAC ESP32: 70B8F662BC7C )
Detecció d'adreces I2C a la Raspberry Pi
pi@raspberrypi:~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Python
pi@raspberrypi:~/iot-vertebrae $ 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 iotv >>> iotv.aversion("0000") Analog rib version: 1.0 '0000000100000000' >>> iotv.dversion("0000") Digital rib version: 1.2 '0000000100000010' >>> iotv.getdsetup("0000") A digital output, B digital input '00010010' >>> iotv.getasetup("0000") respA: 0x1, respB: 0x2 A rib is ADC, B rib is DAC. '00010010' >>> iotv.dsetup("0000","aout","bin") ain, aout Setup has not been changed False >>> iotv.getdsetup("0000") A digital output, B digital input '00010010' >>> iotv.dsetup("0000","ain","bout") ain, bout True >>> iotv.getdsetup("0000") A digital input, B digital output '00100001' >>> iotv.dsetup("0000","aout","bin") aout, bin True >>> iotv.getdsetup("0000") A digital output, B digital input '00010010' >>> iotv.ain("0000",'a',1) 19881 >>> iotv.ainv("0000",'a',1) i2cAddr: 0x10, addrChannel: 0x1 res: 0x4DAA: 19882 0x4DAA --> 19882 --> 4.94V 19882 >>> iotv.ainv("0000",'a',2) i2cAddr: 0x10, addrChannel: 0x21 res: 0x4DBE: 19902 0x4DBE --> 19902 --> 4.95V 19902 >>> iotv.aout("0000",'b',2,4095) dacCommand: 0x32 It has been sent 0xFFF (10.00 volts) to DAC 2 >>> iotv.ainv("0000",'a',2) i2cAddr: 0x10, addrChannel: 0x21 res: 0x6781: 26497 0x6781 --> 26497 --> 9.90V 26497 >>> iotv.aout("0000",'b',2,2047) dacCommand: 0x32 It has been sent 0x7FF (5.00 volts) to DAC 2 >>> iotv.ainv("0000",'a',2) i2cAddr: 0x10, addrChannel: 0x21 res: 0x4DBB: 19899 0x4DBB --> 19899 --> 4.95V 19899 >>> iotv.din("0000",'b') '00000000' >>> iotv.din("0000",'b') '00100100' >>> iotv.din("0000",'b') '00000000' >>> iotv.dout("0000",'a',0x5A) >>> iotv.dsetup("0000","aoutpwm","bin") aoutpwm, bin True >>> iotv.getdsetup("0000") A PWM output, B digital input '00010100' >>> iotv.doutpwm('0000','a',255) >>> iotv.doutpwm('0000','a',55) >>> iotv.doutpwm('0000','a',0) >>> iotv.dsetup("0000","aout","bin") aout, bin True >>> iotv.getdsetup("0000") A digital output, B digital input '00010010' >>> iotv.doutbit('0000','a',0,1) >>> iotv.doutbit('0000','a',0,0) >>> iotv.dsetup("0000","aoutpwm","bin") aoutpwm, bin True >>> iotv.getdsetup("0000") A PWM output, B digital input '00010100' >>> iotv.doutbitpwm('0000','a',0,55) >>> iotv.doutbitpwm('0000','a',0,255) >>> iotv.doutbitpwm('0000','a',0,0) >>> iotv.dsetup("0000","aout","bin") aout, bin True >>> iotv.getdsetup("0000") A digital output, B digital input '00010010' >>> pi@raspberrypi:~/iot-vertebrae $
API de Python per a l'IoT-Vertebrae
Exemple d'ús
Control via Snap! (MQTT al cap + CanBus) (MAC ESP32: 70B8F662BC7C )
Smart Toys (MQTT a la Raspberry Pi + I2C)