Jetblack31 / EcoPV

Arduino based energy routing to maximize the use of PV production at home.
GNU Lesser General Public License v2.1
29 stars 16 forks source link

Features MQTT with Ethernet W5100 / W5500 #6

Open robotsflo opened 4 years ago

robotsflo commented 4 years ago

Pour commencer, je dois vous féliciter pour cet énorme travail réalisé avec un code commenté / documenté et très explicite.

Je pense que le projet "EcoPV" pourrait s'agrémenter d'une compatibilité avec les puces ethernet W5100 et W5500. A la lecture du code cela me semble assez simple à implémenter étant donné qu'il s'agit d'une bibliothèque Arduino (Ethernet.h). Une fonctionnalité supplémentaire serait aussi très intéressante car universelle dans le monde de l'IoT : le MQTT, en effet l'API HTTP c'est parfait pour la consultation. En revanche, l'utilisation d'un serveur domotique oblige d'interroger le serveur HTTP de manière périodique. A contrario, le protocole MQTT, largement supporté par les solutions domotiques (HomeAssistant, Openhab, Domoticz, Jeedom ...), se démarque du protocole HTTP par sa rapidité du transfert de l'information ce qui permet à des scénarios domotiques d'être très réactifs. Encore un énorme bravo, et n'hésitez pas à communiquer un lien de Don Paypal pour ceux qui le souhaitent.

Jetblack31 commented 4 years ago

Bonjour,

Merci beaucoup pour le message de soutien, ca me fait plaisir. Concernant le support ethernet, la limitation vient de la mémoire programme et surtout de la mémoire data, il n'y en a pas beaucoup dans l'arduino et je suis aux limites... J'ai dû choisir une bibliothèque très légère pour supporter le TCP avec la puce du shield proposé. Toutes les autres bibliothèques étaient trop gourmandes en mémoire. MQTT serait en effet plus efficace, je n'ai pas d'expérience sur ce protocole. Je vais essayer de me renseigner. S'il y a évolution, ca se fera sur la base du Nano Every, qui a le même brochage mais plus de puissance et de mémoire. Toutefois, le portage demande un peu de travail et je coince actuellement pour configurer un taux d'acquisition ADC personnalisé... A creuser...

J'ai ajouté un bouton "Sponsor" dans la barre des actions du GitHub, ca permet de faire des dons via PayPal !

A+ Jetblack

robotsflo commented 4 years ago

Je comprend désormais mieux les difficultés rencontrées à supporter des shields ETH différents et des fonctionnalités supplémentaires. Je pense que ton programme fonctionnerait sur ATMega 2560 avec le support de nouvelles cartes ETH et de fonctionnalités supplémentaires tel que le MQTT par exemple. Néanmoins cette puce ne respecte plus du tout le brochage du nano et est un peu plus couteuse à l'achat. Etant donné que je dispose d'une puce similaire ainsi que d'un shield ethernet w5500 en rab, il faudrait que je me penche sur la réécriture de ton code, mais je crains que se soit trop complexe pour moi étant donné que tu écris directement dans les registres pour optimiser les temps machine. La réalisation ensuite d'une carte PCB d'adaptation au brochage du nano pourrait être envisageable. La deuxième solution plus simple serait de m'inspirer du fonctionnement d'un ESP12 sur SerialBridge.ino et de l'adapter à un deuxième arduino nano connecté en Série au premier, ainsi qu'à une carte shield ethernet. (je ne suis pas fan du wifi pour ces applications fonctionnant constamment, rien de tel qu'un bon vieux câble ethernet). Je te ferais un retour de l'avancée de mes recherches, pour l'instant je dois déjà raccorder l'ancienne version du router PV de Tigrous à base de compteur DIN.

Au plaisir d'échanger d'avantage sur le sujet. A+