Main Page: Difference between revisions
Jump to navigation
Jump to search
| (46 intermediate revisions by the same user not shown) | |||
| Line 212: | Line 212: | ||
|label=Cycle timing | |label=Cycle timing | ||
|descr=Measuring mainloop execution time | |descr=Measuring mainloop execution time | ||
|img=tlogo-cycle-timing. | |img=tlogo-cycle-timing.png | ||
|link=Pymate-cycle-timing | |link=Pymate-cycle-timing | ||
}} | }} | ||
{{ttuto | {{ttuto | ||
|label=16ADI16DO | |label=16ADI16DO Tour | ||
|descr=Tour of the PymateIO 16 Analog-DataIn and 16 DataOut board. | |||
|img=tlogo-16adi16do.jpg | |||
|link=Pymate-16ADI16DO-Tour | |||
}} | |||
{{ttuto | |||
|label=16ADI16DO Usage | |||
|descr=Using the 16ADI16DO expansion with PymateIO | |descr=Using the 16ADI16DO expansion with PymateIO | ||
|img=tlogo- | |img=tlogo-16adi16do.jpg | ||
|link=Pymate- | |link=Pymate-16ADI16DO-introduction | ||
| | }} | ||
{{ttuto | |||
|label=RS485 Basics | |||
|descr=Accessing directly the RS485 bus to read/write sensors | |||
|img=tlogo-RS485.png | |||
|link=Pymate-RS485-basic | |||
}} | |||
{{ttuto | |||
|label=Modbus | |||
|descr=Using Modbus RTU over RS485. Use PymateIO as Modbus Master. Example with Wind Dir., Power Meter, Temp/Humidity/Lux meter. | |||
|img=tlogo-modbus.png | |||
|link=Pymate-Modbus-basic | |||
}} | }} | ||
| Line 228: | Line 247: | ||
== Common use-cases == | == Common use-cases == | ||
{{ttuto-begin}} | {{ttuto-begin}} | ||
| Line 235: | Line 253: | ||
|label=Remote Control | |label=Remote Control | ||
|descr=Click once to power it on. Click again to power it off. | |descr=Click once to power it on. Click again to power it off. | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-remote-control | |link=PymateIO-remote-control | ||
}} | }} | ||
{{ttuto | {{ttuto | ||
|label=Time Relay | |label=Time Relay | ||
|descr=Click to power/light-up for a | |descr=Click to power/light-up for a given amount of time. | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-time-relay | |link=PymateIO-time-relay | ||
| | }} | ||
{{ttuto | |||
|label=Delaying in code | |||
|descr=Learn how to implement a '''no blocking delay''' within your loop. Using DS18B20 with '''OneWire''' protocol to demonstrate the behavior. | |||
|img=tlogo-usecases.png | |||
|link=PymateIO-Delaying | |||
}} | }} | ||
{{ttuto | {{ttuto | ||
|label=Hysteresis | |label=Hysteresis | ||
|descr=Hysteresis management in running process | |descr=Hysteresis management in running process. Discover the HeaterHis and CoolerHis controller class. | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-hysteresis | |link=PymateIO-hysteresis | ||
}} | }} | ||
| Line 259: | Line 281: | ||
|label=Value Mapping | |label=Value Mapping | ||
|descr=Great Trick to save time and coding | |descr=Great Trick to save time and coding | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-mapping | |link=PymateIO-mapping | ||
}} | }} | ||
{{ttuto | {{ttuto | ||
|label=PID | |label=PID Regulation | ||
|descr=Running | |descr=Running the software PID controller included within Pymate | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-PID-controler | |link=PymateIO-PID-controler | ||
}} | }} | ||
| Line 275: | Line 295: | ||
|label=LED Tuning | |label=LED Tuning | ||
|descr=LED can do so much more than being on or off.<br />HeartBeat, Pulsing, ErrorCode and more can be so useful. | |descr=LED can do so much more than being on or off.<br />HeartBeat, Pulsing, ErrorCode and more can be so useful. | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-LED-Tuning | |link=PymateIO-LED-Tuning | ||
|traduction=1 | |traduction=1 | ||
| Line 283: | Line 303: | ||
|label=Interrupt Request | |label=Interrupt Request | ||
|descr=Being quickly warned of an event! | |descr=Being quickly warned of an event! | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-IRQ | |link=PymateIO-IRQ | ||
|traduction=1 | |traduction=1 | ||
| Line 299: | Line 311: | ||
|label=Watchdog | |label=Watchdog | ||
|descr=Re-inforce Cycle Time with WatchDog | |descr=Re-inforce Cycle Time with WatchDog | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-watchdog | |link=PymateIO-watchdog | ||
|traduction=1 | |traduction=1 | ||
| Line 307: | Line 319: | ||
|label=Data Logging | |label=Data Logging | ||
|descr=Permanent storage of history, sensor data, etc | |descr=Permanent storage of history, sensor data, etc | ||
|img=tlogo- | |img=tlogo-usecases.png | ||
|link=PymateIO-data-logging | |link=PymateIO-data-logging | ||
|traduction=1 | |traduction=1 | ||
}} | |||
{{ttuto | |||
|label=HMI Display | |||
|descr=Setup the HMI display and create the Pymate script accordingly. | |||
|img=tlogo-hmi-display.png | |||
|link=PymateIO-HMI | |||
}} | |||
{{ttuto | |||
|label=HMI Display | |||
|descr=A second example with numeric input on the HMI display | |||
|img=tlogo-hmi-display.png | |||
|link=PymateIO-HMI-numeric-input | |||
}} | }} | ||
| Line 318: | Line 345: | ||
* Tank refill | * Tank refill | ||
== Expansion programming == | == Pymate Expansion programming == | ||
{{ | {{ttuto-begin}} | ||
{{ttuto | |||
|label=Board_ID | |||
|descr=Identification of expansion board | |||
|img=tlogo-board-id.png | |||
|link=PymateIO-about-board_id | |||
}} | |||
{{ttuto | |||
|label=CAN Scan | |||
|descr=Scanning the CAN bus for boards and check for CAN error. | |||
|img=tlogo-can-scan.png | |||
|link=PymateIO-CAN-Scan | |||
}} | |||
{{ttuto | |||
|label=Programming | |||
|descr=How to control your 16ADI/16DO expansion. Input/Output/Analog/etc. | |||
|img=tlogo-can-scan.png | |||
|link=PymateIO-16ADI16DO programming | |||
|traduction=1 | |||
}} | |||
{{ttuto | |||
|label=Change Board_ID | |||
|descr=How to change the 16ADI16DO board identification on the CAN bus. | |||
|img=tlogo-board-id.png | |||
|link=Pymate-16ADI16DO-Tour#Configuration_procedure | |||
}} | |||
{{ttuto-end}} | |||
== PymateIO Expansion Bus == | |||
{{ttuto-begin}} | |||
{{ttuto | |||
|label=Connector | |||
|descr=Pymate.IO Expansion connector in details | |||
|img=tlogo-pymate-expansion-connector.png | |||
|link=PymateIO-Expansion-Connector | |||
}} | |||
{{ttuto | |||
|label=I2C Bus | |||
|descr=Accessing I2C bus | |||
|img=tlogo-pymate-i2c.png | |||
|link=PymateIO-I2C-Bus | |||
}} | |||
{{ttuto | |||
|label=SPI Bus | |||
|descr=Identification of expansion board | |||
|img=tlogo-pymate-spi.png | |||
|link=PymateIO-SPI-Bus | |||
|traduction=1 | |||
}} | |||
{{ttuto | |||
|label=CAN Bus | |||
|descr=Accessing CAN | |||
|img=tlogo-pymate-can.png | |||
|link=PymateIO-CAN-bus | |||
|traduction=11 | |||
}} | |||
{{ttuto | |||
|label=OneWire | |||
|descr=Using OneWire protocol on the Pymate Expansion (part of another turotial). | |||
|img=tlogo-one-wire.png | |||
|link=PymateIO-Delaying#Wiring_DS18B20 | |||
}} | |||
{{ttuto-end}} | |||
== Advanced programming == | == Advanced programming == | ||
| Line 332: | Line 427: | ||
* Creating tasks | * Creating tasks | ||
* Scheduling tasks | * Scheduling tasks | ||
== References == | == References == | ||
Latest revision as of 00:41, 12 September 2026
About PymateIO
PymateIO EcoSystem
PymateIO is expandable by design starting with few board, new arrivals should come with time.
Key products
|
PymateIO Core Core8ADI8DOSC
|
|
PymateIO 16ADI16DO expansion
|
|
CommandHMI [COMING SOON]
|
Product Nomenclature
| Letter | Feature |
|---|---|
| DI | Digital Input. It is prefixed with the number of input (ex : 8DI or 8ADI).
May be in combination with A. |
| A | Analog Input. It is prefixed with the number of analog input (ex : 8A or 8ADI).
May be in combination with DI. |
| DO | Digital Output. It is prefixed with the number of analog output. |
| S | Serial (RS485, MODBUS RTU) |
| C | CAN bus |
| P | SPI bus |
| I | I2C bus |
| U | UART |
| T | Modbus TCP |
Products tour
Programming HowTo
Programming First-step
Using Modbus RTU over RS485. Use PymateIO as Modbus Master. Example with Wind Dir., Power Meter, Temp/Humidity/Lux meter.
Common use-cases
Learn how to implement a no blocking delay within your loop. Using DS18B20 with OneWire protocol to demonstrate the behavior.
Hysteresis management in running process. Discover the HeaterHis and CoolerHis controller class.
TRAVAUX EN COURS. LED can do so much more than being on or off.
HeartBeat, Pulsing, ErrorCode and more can be so useful.
Mini projects
- Tank refill
Pymate Expansion programming
TRAVAUX EN COURS. How to control your 16ADI/16DO expansion. Input/Output/Analog/etc.
PymateIO Expansion Bus
Advanced programming
- About asyncio
- Creating tasks
- Scheduling tasks
References
- PymateIO library
- Helper libraries

























