Quick-Start



Coté 'Module'


Solution simple pour démarrer et installer MirTOS sur un module, est d'utiliser le 'Mirtos_loader' qui permet de charger le firmware MirTOS et une configuration minimale.


L'installation se fait via un petit programme qu'il est possible de charger dans l'IDE Arduino ou sur n'importe quel IDE.


Nous allons utiliser ici deux exemples, le premier pour un module basé sur un Wemos D1 via l'interface IDE Arduino, le second, pour un module ESP32R4 via une interface PlatformIO.


Wemos D1 et Arduino IDE


Pour cet exemple, on a utilisé un WeMos D1 avec un shield 'bouton' et un shield 'LED' (le même exemple peut être utilisé avec un shield bouton et un shield relay, sans problème)



1) Il faut télécharger le petit programme de chargement sur l'URL http://www.mirtos.org/quickstart/MirTOS_loader.ino et le charger dans l'IDE Arduino



2) Modifier les informations de connexion, le nom du module, et le type de hardware (cf note en fin de document) :



et



3) Dans l'IDE Arduino, sélectionner le bon matériel (Tools / Board)



4) Sélectionner la partition de la flash dans le menu Tools (choisir la partition SPIFFS la plus petite)



5) Compiler et télécharger sur le module




En ouvrant la fenêtre de communication (  ) vous pourrez suivre le processus.....


D'abord :


Puis :



A la fin du BOOT de MirTOS, l'adresse IP du module est affichée.

Il reste à ouvrir un navigateur et placer l'adresse....



L'accès aux fichiers se fait pas le lien 'File Access'


Dans le cadre de ce petit exemple, on va désactiver l'usage 'intégré' de la LED pour la connecter aux événements liés au bouton.


a) Ouvrir le fichier 'config.ini' qui a été généré, et 

- désactiver l'utilisation du shield LED par le système (par défaut, la LED et/ou le shield LED est utilisé par le système pour indiquer son état). Pour le faire, dans la section [General] il faut ajouter la ligne Led_enabled=0

- désactiver l'I2C (car sur le WeMos, les lignes I2C utilisent, par défaut, la ligne D2, qui est aussi celle utilisée par le shield LED). Pour le faire il faut ajouter dans la section [Device] les lignes i2c_scl_pin=255 et i2c_sda_pin=255

- activer le port 4 pour la led RGB (le port D2 du WeMos correspont au GPIO 4)

- Puis cliquer sur le bouton 'Save'


Ce qui donne :



Pour l'usage du shield 'Relay' cette étape n'est pas nécessaire. Le shield Relay utilise par défaut le port GPIO 12 (D6) qui est préconfiguré par la ligne Type=WEMOS


REMARQUE : La notation MTOS_XXX est obsolète, il faut utiliser la notation raccourcie. Ainso MTOS_WEMOS devient WEMOS


Ensuite on va configurer le programme (main.xml) pour qu'il agisse sur les événements du bouton :


Ouvrir le fichier main.xml (choisir dans le combo 'main.xml' et cliquer sur Load)


Sous la source d'événement <B1> correspondant au bouton 1, dans l'événement <P> (Pressed), ajouter la commande:

Led(RGB,0,0,255);

Sue la ligne de l'événemnt <R> (Released) mettre la commande :

Led(RGB,0,0,0)


Pour l'usage du relay, on peut mettre la commande, dans l'événement 

<P> Relay(1,T);</P>

en laissant le <R> tel quel

(T indiquant 'Toggle') 



Puis appuyer sur Save


Ce qui donne :




Puis effectuer un reset du module (soit par le bouton Reset du module, soit par le bouton Reset de l'interface Web, soit encore avec la command (sur la ligne serial) RT();


Et lors de la pression sur le bouton on obtient :


Et la lumière s'allume à la pression et s'éteint lors du relâchement ( https://youtu.be/OrGR9KJhtio )




---------------------------------------------------


ESP32R4 et PlatformIO


Dans cet exemple, on va charger le firmware sur un board basé sur un ESP32.



Le processus est similaire au cas du Wemos (c'est à dire, téléchargement du programme INO, modification du SSID et du password):



#define WIFI_SSID "mySSID"

#define SSID_PASSWORD  "myPassword"

#define DEVICE_NAME "ESP32R4"


Avec la modification suivant pour le code du loader : 


Au lieu de 

#define MIRTOS_HW "MTOS_WEMOS"


il faudra choisir :

// ESP 32

//

// DevKit 1

 #define MIRTOS_HW "MTOS_ESP32_DK1"


 

Le projet platformIO sera configuré ainsi (platformIO.ini)


[env:esp32]

platform = espressif32

board = esp32dev

framework = arduino


; change microcontroller

board_build.mcu = esp32

monitor_filters = esp32_exception_decoder


board_build.partitions = min_spiffs.csv

monitor_speed  = 115200





ce qui correspond au choix du processeur et au choix de la taille du SPIFFS dans la flash.


Après compilation et téléhargement, le module s'arrête. Contrairement au WeMos, ce module n'est pas resetté par la ligne série, il faut donc presser sur le bouton RESET.


Le module démarre :


*** MirTOS 21.501 Starting...

*** (Oct 21 2023 09:30:06)   MAC : EC:62:60:F4:22:34

INFO : Scan NetworkINFO : Found 7 net

[0-0](-42):....

[6-6](-93):(-93) ch 1

Try to connect to [mySSID]:......

...

INIT ends with Free Heap:132772


Init completed !

192.168.90.118

17:18:1: 22/10/2023  [Hello world]


A nouveau, il faut aller dans l'URL spécifiée à la fin du démarrage...


S'agissant d'un module spécifique sur un firmware générique, il faut, dans le config, spécifier le type de ce board :



[Device]

Type=ESP32R4


Après avoir sauver, il faut ouvrir le main.xml et le modifier comme suit (pour notre exemple) :



<B1>

       <P>DP(P B1);RY(1,T);</P>

       <R>DP(R B1);</R>

</B1>

<B2>

       <P>DP(B2);RY(2,T);</P>

</B2>

<B3>

       <P>DP(B3);RY(3,T);</P>

</B3>

<B4>

       <P>DP(B4);RY(4,T);</P>

</B4>


Il faut sauver, puis rebooter le module, et on obtient ça https://youtu.be/cJM_IK9PNVg



-----------------------------



Note :


Voici quelques remarques sur le matériel.


Dans le cas de l'usage d'un chip ESP8685, il faut utiliser la configuration suivante (au lieu de ESP32_C3):


#define MIRTOS_HW "ESP8685"


et dans le menu 'Tools' de l'IDE Arduino, il faut choisir les options suivantes :




Remarque sur la gestion de l'USB/RS232 sur l'ESP32C3 :

Sur le firmware ESP32_C3, les options ARDUINO_USB_MODE=1 et ARDUINO_USB_CDC_ON_BOOT=1 sont utilisées, c'est le cas de plusieurs modules HW.

Dans le cas de la sélection ESP8685 ces options ne sont pas utilisées.














 



Créé avec HelpNDoc Personal Edition: Produire des livres électroniques facilement