Moniteur sans fil d'humidité du sol

Salutations à tous les lecteurs de Habr! Aujourd'hui, je veux partager avec vous mon nouveau projet - un capteur d'humidité du sol sans fil, qui est construit sur la base du module d'humidité du sol bien connu avec aliexpress. Le nouveau capteur est une suite logique de mon premier projet DIY sur ce sujet. Mais dans la nouvelle implémentation, ce n'est plus un module Arduino, mais un appareil complet avec son propre boîtier. Alors, bouillie de la hache, deuxième partie! :)



Le module chinois de mesure de l'humidité du sol est construit sur une minuterie 555. La méthode de mesure est capacitive. Pour mon projet, j'avais besoin d'une version du module avec le régulateur de tension XC6206P332 installé à 3,3 V, qui à l'avenir devra être retiré de la carte du module. Le fait est que dans de telles versions, nous utilisons une modification de la minuterie TLC555 avec un seuil inférieur pour une alimentation de 2V. Dans les versions sans stabilisateur, les minuteries NE555 sont utilisées avec un seuil de puissance inférieur de 5V. Mais en tout cas, ce qui est plus facile à acheter pour répéter ce projet, c'est l'affaire d'un répéteur. Dans la première option, nous soudons le régulateur de tension, dans la seconde, nous changeons la minuterie, par exemple en une comme celle-ci - LMC555) fonctionnant même à partir de 1,5 V. Pour le module sans fil au capteur d'humidité du sol chinois, j'ai choisi un module radio d'EBYTE E73C sur lequel la puce nRF52840 est installée. L'argument était le prix du module et le montant disponible de ces modules dans mes réserves.



Le module sans fil s'est avéré être très simple, une LED RVB, quelques boutons, un transistor à effet de champ, une batterie. Même la soudure débutante la plus inexpérimentée peut assembler un tel appareil. Sur le capteur d'humidité, en plus de retirer le stabilisateur de tension, il est également nécessaire de dessouder le connecteur et de souder la fiche mâle 3P à sa place, pas 2,54 mm.

Les dimensions de la carte se sont avérées être légèrement plus petites que dans le premier projet - 42x29 mm, déterminées par la taille du support de batterie.



Le boîtier a été imprimé sur mon imprimante SLA ANYCUBIC. Le temps d'impression des pièces est de l'ordre de quelques heures. Le post-traitement ultérieur a pris environ une demi-heure. Le coût de la résine polymère usée est de ~ 100r.

Consommation en mode veille - 4,7 mA, en mode transmission 8 mA. L'intervalle de mesure est variable, étape 1 minute. Temps de mesure 50 ms (5 mesures dans le programme de test), consommation pendant la mesure ~ 1 mA. Il mesure également la température de la puce, mesure le niveau de la batterie. Transfert de données vers le contrôleur UD via le réseau Mysensors, transfert de données vers le contrôleur UD via le réseau Zigbee.

Le code des programmes de test est sur mon Github.

Exemple de travail dans le réseau Mysensors et Mazhordomo UD.





Exemple de travail sur le réseau ZigBee et Mazhordomo UD





Le code de configuration du convertisseur dans le module zigbee2mqtt pour le capteur d'humidité (pas encore sûr si c'est la bonne solution).

{
        zigbeeModel: ['nrf52840.ru_PWS'],
        model: 'nrf52840.ru_PWS',
        vendor: 'nrf52840.ru',
        description: 'Plant watering sensor',
        supports: 'humidity',
		fromZigbee: [fz.humidity2, fz.battery_PWS],
        toZigbee: [],
		meta: {configureKey: 1},
        configure: async (device, coordinatorEndpoint) => {
            const endpoint = device.getEndpoint(10);
			await bind(endpoint, coordinatorEndpoint, ['msRelativeHumidity', 'genPowerCfg']);
            await configureReporting.humidity(endpoint);
			await configureReporting.batteryVoltage(endpoint);
        },
    },



Le firmware du test a été écrit par l'un des participants de notre communauté DIY - Lenz, voici son GIthub .

Le coût des composants qui devaient être ajoutés à l'humidimètre chinois était d'environ 400 à 500 roubles. À mon avis, ce n'est pas mal du tout.

Vidéo de fonctionnement du capteur


Photo du capteur












D'autres plans pour ce projet. Je voudrais remplacer le MK par quelque chose de plus simple, par exemple, avec nRF52810 ou nRF52811, mais tout dépendra du prix, vous devrez probablement abandonner les modules radio et simplement le faire sur une puce. Je vais peut-être penser à ajouter un buzzer, c'est très probablement le stabilisateur de puissance, car maintenant vous devez prendre en compte la tension d'alimentation lors de la mesure. Mettez la version Zigbee à un état stable, faites la version BLE, faites une application d'affichage mobile. En général, il y aura certainement autre chose.

Github de ce projet .

Si vous êtes intéressé par ce projet, je vous propose d'aller au groupe des télégrammes, il y aura toujours de l'aide pour maîtriser les protocoles Maysensors, Zigbee, BLE sur nRF5, ils aideront à maîtriser la programmation nRF52 dans Arduino IDE et pas seulement dedans.

Cart Cart - @DIY Devices.

Cart Cart - @MySensors .

All Articles