MQTT sur Weewx 5.xx (Raspberry Pi3)

Voici comment mettre en place une remontée d’information de weewx par MQTT.

MQTT C’est quoi :

MQTT est un protocole de messagerie basé sur des normes, ou un ensemble de règles, utilisé pour la communication de machine à machine. Les capteurs intelligents, les objets portés sur soi (wearables) et les autres appareils de l’Internet des objets (IoT) doivent généralement transmettre et recevoir des données sur un réseau aux ressources limitées et à la bande passante restreinte. Ces appareils IoT utilisent MQTT pour la transmission des données, car il est facile à implémenter et peut communiquer efficacement les données IoT. MQTT prend en charge la messagerie des appareils vers le cloud et du cloud vers l’appareil.

Pourquoi le protocole MQTT est-il important ?

Le protocole MQTT est devenu une norme pour la transmission de données IoT, car il offre les avantages suivants :

Léger et efficace

L’implémentation de MQTT sur l’appareil IoT nécessite des ressources minimales, de sorte qu’il peut même être utilisé sur de petits microcontrôleurs. Par exemple, un message de contrôle MQTT minimal peut ne contenir que deux octets de données. Les en-têtes des messages MQTT sont également de petite taille afin que vous puissiez optimiser la bande passante du réseau.

Évolutif

L’implémentation de MQTT nécessite une quantité minimale de code qui consomme très peu d’énergie en fonctionnement. Le protocole possède également des fonctionnalités intégrées pour prendre en charge la communication avec un grand nombre d’appareils IoT. Vous pouvez donc implémenter le protocole MQTT pour vous connecter à des millions de ces appareils.

Fiable

De nombreux appareils IoT se connectent sur des réseaux cellulaires peu fiables, avec une faible bande passante et une forte latence. MQTT possède des fonctionnalités intégrées qui réduisent le temps que le dispositif IoT prend pour se reconnecter au cloud. Il définit également trois niveaux de qualité de service différents pour garantir la fiabilité des cas d’utilisation IoT : au plus une fois (0), au moins une fois (1) et exactement une fois (2).

Sécurisé

MQTT permet aux développeurs de chiffrer facilement les messages et d’authentifier les appareils et les utilisateurs à l’aide de protocoles d’authentification modernes, tels que OAuth, TLS1.3, Customer Managed Certificates, etc.

Bonne prise en charge

Plusieurs langages comme Python disposent d’un support étendu pour implémenter le protocole MQTT. Les développeurs peuvent donc l’implémenter rapidement avec un codage minimal dans tout type d’application.

Comment installer MQTT sur weewx 5.0

Download

wget -O weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip

Je vous invite a visiter cette page : https://github.com/matthewwall/weewx-mqtt

-->En premier lieu il vous faut Installer "Paho-mqtt"
Pour Python 3
sudo pip3 install paho-mqtt

For python2:

sudo pip install paho-mqtt
–> Comment installer !

Sur un système avec python2 et python3, et en utilisant weewx sur python3

sudo pip3 install paho-mqtt==1.6.1
Installer l’extension !
    sudo weectl extension install weewx-mqtt.zip
    

    Modifier le fichier de configuration de Weewx: (weewx.conf)

    En rajoutant cela :

    [StdRESTful]
    
    [[MQTT]]
            server_url = mqtt://user:pass@localhost:1883
            topic = weather
            unit_system = METRIC
            binding = archive,loop
            aggregation = aggregate
            log_failure = true
            log_success = true

    Puis modifier le skin que vous utiliser : skin.conf

    En rajoutant cela :

    # MQTT Websockets defaults
        mqtt_websockets_enabled = 1
        mqtt_websockets_host = localhost
        mqtt_websockets_port = 1883
        mqtt_websockets_ssl = 0
        mqtt_websockets_topic = weather/loop
        disconnect_live_website_visitor = 1800000

    Je précise que vous devez être en possession des informations de votre server MQTT , comme le user name, le mot de passe et son adresse .

    En l’occurence : user c’est le nom de la session

    pass : c’est le mot de passe

    Localhost : c’est l’adresse ip ou web de votre server MQTT.

    Une fois cela fait vous devez arréter weewx et le redemarrer.

    sudo systemctl stop weewx
    sudo systemctl start weewx
    

    Taggé , .Mettre en favori le Permaliens.

    Les commentaires sont fermés.