Bonjour à vous.
Aujourd'hui j'utilise un Arduino Nano couplé à un SIM800L V2 pour faire des POST sur mon serveur et ma base de donnée.
Tout fonctionne à merveille, et je cherche maintenant à passer à un niveau supérieur :), mais je peine à trouver des informations.
Mon envie/idée, serait de pouvoir mettre à jour le bin de mon arduino, pour mettre à jour le sketch de ce dernier. Par exemple quelque chose de similaire a l'exemple HttpUpdate sur un ESP mais réalisé sur un NANO avec un SIM800L.
J'ai un peu de mal à trouver des informations de ce type, auriez vous une piste ?
je pense que t'as du mal à trouver des infos pour ce genre de manips et que ça va durer encore un peu de temps.
avec un esp, tu "peux" utiliser les 2 processeurs. Grossièrement le 1er déroule ton sketch, et le second a été mis de coté pour gérer les mises à jour à distance (OTA). Donc le nouveau sketch est globalement transmis au second processeur (celui dispo) et s'occupe d'aller flasher le 1er, lui remplacer le sketch (à 2 doigts de l'outrance) et relancer la machine.
autre exemple: certaines cartes comme la 33IOT peuvent faire pareils avec le cloud Arduino, un sketch dédié est caché dans un coin et fera le même travail.
La nano et autre carte du même "niveau" n'ont pas les ressources nécessaires (en terme d'espace de stockage notamment) pour se permettre ce petit tour de passe-passe.
Il te reste bien sur la solution de faire tenir un IDE dans la mémoire du SIM800, mais tu te doutes bien que là j'exagères.
Je pense qu'il faudrait imaginer un montage du type programmateur, il te faut donc un deuxième µcontrôleur, que l'on va appeler programmateur, qui va agir comme le ferait l'IDE ARDUINO.
Le programmateur et la NANO sont reliés par leurs broches RX TX, et une GPIO du programmateur est relié au RESET de la NANO.
Pendant la phase de RESET, les lignes RX et TX sont libérées par le µcontrôleur, ensuite pendant la programmation il y a de fortes chances qu'elles le restent.
Pour résumer :
Au départ, le programmateur laisse les lignes RX TX libres.
La NANO reçoit par radio une requête spéciale lui demandant de se placer en mode programmation.
La NANO libère RX TX
La NANO bascule une GPIO du programmateur qui ouvre sa ligne série avec le SIM800.
Le programmateur fait un RESET de la NANO et envoie le binaire reçu au bootloader de la NANO, en utilisant le protocole STK500.
A la fin, le programmateur fait un RESET de la NANO et libère RX TX.
Cela suppose bien entendu que tu aies utilisé d'autres broches que RX TX entre la NANO et le modem (SoftWareSerial).