Différences entre versions de « MyDin »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(52 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
  
 
== Introduction ==
 
== Introduction ==
I always wanted to create a DIN based product capable of running MicroPython to create automation solutions.
+
MyDin is a versatile DIN based prototyping/learning solution running MicroPython.  
  
A_SAMPLE_PICTURE
+
MyDin is designed to create custom automation solutions.
  
MyDin combines one controler board (running software) together with one backplane board (power interface).  
+
[[Fichier:MyDin-3modules.jpg|640px]]
  
A_DETRAIL_PICTURE
+
{{dbox-orange| MyDin combines '''one controler''' board together with '''one backplane''' board (power interface). }}
  
The whole is propelled by classes designed to improves integration with MicroPython.  
+
[[Fichier:MyDin-Principle.jpg|800px]]
  
'''MyDin Features:'''
+
MyDin is propelled by a software solution (Python classes) designed to help writing your own code with MicroPython.
 +
 
 +
Thanks to the power of Python, the DIN controler class is '''configured''' with a backplane class making the backplane features automagically injected inside the controler.
 +
 
 +
== MyDin Features ==
 +
* Controler board based on Raspberry-Pi Pico 2
 +
** Dual Core Cortex M33 @ 150 MHz
 +
** 512 KB RAM
 +
** 4 MB Flash
 +
** WiFi/Bluetooth
 
* Watchdog
 
* Watchdog
 
* Realtime Clock
 
* Realtime Clock
 
* [https://docs.micropython.org/en/latest/library/asyncio.html AsyncIO] implementation (cooperative multitasking)
 
* [https://docs.micropython.org/en/latest/library/asyncio.html AsyncIO] implementation (cooperative multitasking)
* setup() / loop() implementation
+
* {{fname|setup()}} / {{fname|loop()}} implementation for user code
 
* Monitoring task
 
* Monitoring task
* Custom task
+
** Inner temperature
 +
* Custom task (for user code)
 
* DS18B20 temperature sensor (automatic detection and activation)
 
* DS18B20 temperature sensor (automatic detection and activation)
* HMI Interface (configuration depends on DIN module size)
+
* User Interface (configuration depends on DIN module size)
* Expansion Interface (I2C, SPI, UART, OneWire)<br />Support for many sensors thank to MicroPython (see also [https://github.com/mchobby/esp8266-upy esp8266-upy] repository)
+
* Expansion Interface  
* Controler board based on Raspberry-Pi Pico 2
+
** Qwiic / StemmaQt (I2C)
** Dual Core Cortex M33 @ 150 MHz
+
** UEXT (I2C, SPI, UART, OneWire)
** 512 KB RAM
+
** Support for many sensors thank to MicroPython (see [https://github.com/mchobby/esp8266-upy esp8266-upy] repository)
** 4 MB Flash
+
* Interchangeable "Power" BackPlane board<br />Many power interface combinations...
** WiFi/Bluetooth
 
* Interchangeable BackPlane Power board<br />Many power interface combinations...
 
 
** Relay
 
** Relay
 
** 24V in/out
 
** 24V in/out
 
** Analog input/output
 
** Analog input/output
 +
 +
== MyDin Assortments ==
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
| align="center" | Din size
 +
| align="center" colspan="2" | Controler
 +
| align="center" colspan="2" | Backplane
 +
| align="center" colspan="2" | Backplane
 +
|- style="font-size: 90%"
 +
| align="center" | '''3 modules'''<br />[[fichier:dincase-3modules.png]]
 +
| align="center" | {{pl|2807|DINCASE-MB3PICO}}<br/>[[fichier:dincase-mb3pico.png|250px]]
 +
| align="left"  | <ul><li>RTC</li><li>4 User buttons</li><li>Reset button</li><li>4 User LEDs</li><li>Status LED</li><li>Buzzer</li><li>Qwiic/StemmaQt (I2C)</li><li>UEXT conn. (I2C,SPI,UART)</li><li>OneWire conn.</li><li>WiFi/Bt</li><li>micro USB</li></ul>
 +
| align="center" | {{pl|2737|DINCASE-2R-BP3MOD}}<br/>[[fichier:dincase-2r-bp3mod.png|250px]]
 +
| align="left"  | Two relays<br />(opto-isolated)
 +
| align="center" | coming soon
 +
| align="left" | coming soon
 +
 +
|- style="font-size: 90%"
 +
| align="center" | '''4 modules'''<br />[[fichier:dincase-4modules.png]]
 +
| align="center" | to do
 +
| align="left" | to to
 +
| align="center" | to do
 +
| align="left"  | to do
 +
| align="center" | to do
 +
| align="left"  | to do
 +
 +
|- style="font-size: 90%"
 +
| align="center" | '''6 modules'''<br />[[fichier:dincase-6modules.png]]
 +
| align="center" | to do
 +
| align="left" | to to
 +
| align="center" | to do
 +
| align="left"  | to do
 +
| align="center" | to do
 +
| align="left"  | to do
 +
|}
 +
 +
== Learning ==
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=Async or not
 +
  |descr=Controling your myDin with AsyncIO or with procedural code. Learn the basic coding with MicroPython.
 +
  |img=tlogo-mydin-async-or-not.jpg
 +
  |link=mydin-async-or-not
 +
}}
 +
 +
{{ttuto
 +
  |label=Modules & classes
 +
  |descr=Cross table of boards vs python classes.
 +
  |img=tlogo-mydin-modules-and-classes.png
 +
  |link=Mydin-modules-and-classes
 +
}}
 +
 +
{{ttuto
 +
  |label=Bases classes
 +
  |descr=Bases classes diagram and description. Understanding the bases will help you to write efficient code.
 +
  |img=tlogo-mydin-class-diagram.png
 +
  |link=Mydin-classes-diagram
 +
}}
 +
 +
{{ttuto
 +
  |label=Advanced coding
 +
  |descr=Learn advance feature coding with RUN_APP, setup, task creation, etc
 +
  |img=tlogo-mydin-advanced.png
 +
  |link=Mydin-advanced-usage
 +
}}
 +
 +
{{ttuto
 +
  |label=Pico3Mod class
 +
  |descr=The very first MyDin controler board
 +
  |img=tlogo-mydin-Pico3Mod.png
 +
  |link=Mydin-Class-Pico3Mod
 +
}}
 +
 +
{{ttuto
 +
  |label=TwoRelay3Mod C.
 +
  |descr=The very first MyDin backplane board
 +
  |img=tlogo-mydin-Pico3Mod.png
 +
  |link=Mydin-Class-TwoRelay3Mod
 +
}}
 +
 +
{{ttuto-end}}
 +
 +
== Resources and use-cases ==
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=Code Repository
 +
  |descr=MicroPython code repository with examples, tests and usecase scripts.
 +
  |img=tlogo-github.jpg
 +
  |url=https://github.com/mchobby/micropython-mydin
 +
}}
 +
 +
{{ttuto
 +
  |label=Thermostat
 +
  |descr=Implement a basic thermostat with a DS18B20 temperature sensor and a relay
 +
  |img=tlogo-thermostat.png
 +
  |link=Mydin-UseCase-Basic-Thermostat
 +
}}
 +
 +
{{ttuto-end}}
  
 
{{MyDin-TRAILER}}
 
{{MyDin-TRAILER}}

Version actuelle datée du 7 mai 2025 à 17:27

Introduction

MyDin is a versatile DIN based prototyping/learning solution running MicroPython.

MyDin is designed to create custom automation solutions.

MyDin-3modules.jpg

MyDin combines one controler board together with one backplane board (power interface).

MyDin-Principle.jpg

MyDin is propelled by a software solution (Python classes) designed to help writing your own code with MicroPython.

Thanks to the power of Python, the DIN controler class is configured with a backplane class making the backplane features automagically injected inside the controler.

MyDin Features

  • Controler board based on Raspberry-Pi Pico 2
    • Dual Core Cortex M33 @ 150 MHz
    • 512 KB RAM
    • 4 MB Flash
    • WiFi/Bluetooth
  • Watchdog
  • Realtime Clock
  • AsyncIO implementation (cooperative multitasking)
  • setup() / loop() implementation for user code
  • Monitoring task
    • Inner temperature
  • Custom task (for user code)
  • DS18B20 temperature sensor (automatic detection and activation)
  • User Interface (configuration depends on DIN module size)
  • Expansion Interface
    • Qwiic / StemmaQt (I2C)
    • UEXT (I2C, SPI, UART, OneWire)
    • Support for many sensors thank to MicroPython (see esp8266-upy repository)
  • Interchangeable "Power" BackPlane board
    Many power interface combinations...
    • Relay
    • 24V in/out
    • Analog input/output

MyDin Assortments

Din size Controler Backplane Backplane
3 modules
Dincase-3modules.png
DINCASE-MB3PICO
Dincase-mb3pico.png
  • RTC
  • 4 User buttons
  • Reset button
  • 4 User LEDs
  • Status LED
  • Buzzer
  • Qwiic/StemmaQt (I2C)
  • UEXT conn. (I2C,SPI,UART)
  • OneWire conn.
  • WiFi/Bt
  • micro USB
DINCASE-2R-BP3MOD
Dincase-2r-bp3mod.png
Two relays
(opto-isolated)
coming soon coming soon
4 modules
Dincase-4modules.png
to do to to to do to do to do to do
6 modules
Dincase-6modules.png
to do to to to do to do to do to do

Learning

Async or not

Tlogo-mydin-async-or-not.jpg

Controling your myDin with AsyncIO or with procedural code. Learn the basic coding with MicroPython.

Modules & classes

Tlogo-mydin-modules-and-classes.png

Cross table of boards vs python classes.

Bases classes

Tlogo-mydin-class-diagram.png

Bases classes diagram and description. Understanding the bases will help you to write efficient code.

Advanced coding

Tlogo-mydin-advanced.png

Learn advance feature coding with RUN_APP, setup, task creation, etc

Pico3Mod class

Tlogo-mydin-Pico3Mod.png

The very first MyDin controler board

TwoRelay3Mod C.

Tlogo-mydin-Pico3Mod.png

The very first MyDin backplane board

 

Resources and use-cases

Code Repository

Tlogo-github.jpg

MicroPython code repository with examples, tests and usecase scripts.

Thermostat

Tlogo-thermostat.png

Implement a basic thermostat with a DS18B20 temperature sensor and a relay

 

Modèle:MyDin-TRAILER