Surveillance par SMS du poids de trois ruches pour 35 $

Newbee


Cela fait un bon moment depuis la publication précédente sur le système pour 30 $ .


Qu'est-ce qui a changé au cours du dernier mois lunaire?


  1. Une batterie solaire a été ajoutée - la durée de fonctionnement est presque illimitée.
  2. Ajout d'informations d'envoi sur un appel.
  3. La capacité de travailler avec tous les types de modules de communication qui sont venus à mon avis - AiThinker, Goouu tech, SIM800 / 900, Neoway M590 *

Mais le plus important est que le module de communication et le microcontrôleur sont désormais physiquement séparés, ce qui élimine les interférences dans son fonctionnement avec le HX711.


Et tout cela grâce aux critiques constructives des habitants de Habrovsk et des apiculteurs qui se sont joints à la discussion du système.


Le reste des caractéristiques de performance est resté le même - le poids maximum des ruches est de 200 kg, après le coucher du soleil, la mesure est effectuée et les indicateurs sont envoyés.


Anticipant les critiques concernant la non-utilisation des modes de sommeil et des lignes de signaux supplémentaires des modules GSM, je dirai ce qui suit:


Chaque module de communication a ses spécificités - certains s'endorment à un faible niveau de signal, certains à un niveau élevé, certains avec un double tap.


Les spécificités de "faites-le vous-même" impliquent une certaine partie créative, et cela vaut la peine de le montrer ici.


J'ai également réalisé un système avec un œil sur le développement ultérieur de la surveillance d'autres paramètres de la ruche, où le sommeil n'est pas particulièrement nécessaire.


En général, dans le tableau des titres - Android pur système de base à partir duquel vous pouvez danser n'importe où avec la conception et le nombre / ensemble de capteurs, modules, etc.


Cet article concerne les échelles, et sous la coupe, ma vision personnelle et la mise en œuvre du système.


En un mot - BIENVENUE! C'est parti!


Pour commencer, ce système ne dort pas ... du tout, car une batterie solaire à deux cellules de 6 volts produit 5 volts et jusqu'à une centaine de milliampères même par temps nuageux.


Et la consommation de l'ensemble du système est de 17mA, en mode veille (dans la norme GSM1800) et une trentaine sur le GSM900.


De plus, comme déjà mentionné, cela a été fait dans le but de mettre en œuvre des fonctions de surveillance supplémentaires en temps réel (un essaim, par exemple, peut s'éteindre en 5 minutes) - il n'y a pas de temps pour dormir ;-)


Vous voulez une économie d'énergie absolue, donc ce sera dans la prochaine publication, mais ce sera complètement différent l'histoire le système.


* Oui, en ce qui concerne la note de bas de page sur les modules de communication, ce n'est pas que je suis devenu un adhérent AiThinker, je dois juste assembler Neoway moi-même, et les modules SIM800L nécessitent un article séparé avec un programme éducatif pour travailler avec eux.


En un mot, les GSM sélectionnés sont à mon humble avis, les seuls qui peuvent fonctionner sur 4 fils, y compris l'alimentation, sans danses supplémentaires avec des tambourins.


Nous aurons besoin des équipements / matériels suivants:


  1. Arduino Pro Mini 3V
    Vous devriez faire attention à la puce du convertisseur linéaire - elle devrait être exactement 3,3 V - sur la puce de marquage KB 33 / LB 33 / DE A10 - les Chinois ont mélangé quelque chose avec moi, et tout le lot
    les circuits imprimés dans le magasin se sont avérés être équipés de régulateurs 5 volts et de quartz 16 MHz.
  2. USB-Ttl sur une puce CH340 - vous pouvez même 5 volts, mais pendant le firmware du microcontrôleur, Arduino devra être déconnecté du module GSM, afin de ne pas brûler ce dernier.
    Les cartes sur la puce PL2303 ne fonctionnent pas sous Windows 10.
  3. Module de communication GSM Goouu Tech IOT GA-6-B ou AI-THINKER A-6 Mini.
  4. Antenne GSM GPRS "YG-01"

    La façon dont ils ont réalisé une telle augmentation - une énigme - est peut-être liée à leur absence totale ;-).
  5. Pack de démarrage pour un opérateur ayant une bonne couverture à l'emplacement de votre rucher.
    Oui, le forfait doit d'abord être activé dans un téléphone ordinaire, désactiver la demande de code PIN à l'entrée et reconstituer le compte.
  6. fil dupont 20cm mère mère - 4 pcs. (pour connecter Arduino à USB-TTL)
  7. 3 pièces HX711 - ADC pour balances
  8. 6 pesons pesant jusqu'à 50 kg
  9. 15 mètres de câble téléphonique à 4 fils - pour connecter des modules de poids et GSM avec ARDUINO.
  10. Photorésistance GL5528 (c'est important, avec une résistance à l'obscurité de 1MOhm et une résistance à la lumière de 10-20kOhm).
  11. deux paires de fiches et prises 6P6C - téléphone, prises - avec "queues"
  12. Ruban adhésif double face 50 cm de largeur 10 mm - pour fixer le panneau solaire au boîtier du module GSM.
  13. Carte chargeur basée sur TP4056 pour batteries LiIon
  14. Le support de batterie 18650 et, en fait, la batterie elle-même.
  15. Un peu de cire ou de paraffine (bougie pour tablette de lampe aromatique) - pour la protection contre l'humidité HX711
  16. Un morceau de poutre en bois 25x50x300mm pour la base des cellules de charge.
  17. Une douzaine de vis autotaraudeuses avec une rondelle de pression de 4,2x19 mm pour le montage des capteurs sur la base.
  18. Batterie solaire 5-6V 2W (il n'y en avait pas dans le prochain mage radio - j'ai pris deux diodes simples et une paire de diodes 1N4148)
    Vue arrière des panneaux
    Il n'y a pas de courant inverse à travers le chargeur, mais les modules solaires parallèles doivent être allumés correctement via des diodes
  19. Une boîte pour un module de communication et une batterie solaire (taille 60x100mm) - vous pouvez prendre une distribution appropriée de produits électriques, mon plastique de cartes de visite 30x60x100 idéalement adapté.

De plus, il faudra des mains tordues, un fer à souder EPSN-25, de la colophane et de la soudure POS-60.


Pour la menuiserie, une scie à métaux pour bois / métal, un burin et une perceuse avec une perceuse de 3 mm suffisent.


La disposition du système est la suivante:


Disposition


Dans tous les cas, vous ne devez pas placer le module GSM à moins d'un mètre de l'Arduino - avec une puissance de signal élevée dans la norme GSM900, cela peut provoquer le redémarrage du microcontrôleur!


Eh bien, le module de communication avec la batterie solaire - doit être installé sur un poteau - et la réception sera meilleure, et plus éloignée des abeilles.


Commençons maintenant l'assemblage:


GSM A6


Pour commencer, deux LED sont soudées à partir du module GSM (l'endroit où elles ont été encerclées dans un ovale orange).


Nous insérons la carte SIM avec les pads sur la carte de circuit imprimé, le coin biseauté sur la photo est indiqué par la flèche.


De plus, de la batterie et du fil allant au contrôleur, il est soudé directement au condensateur (4).


Le fait est que le module de communication lui-même nécessite 3,4-4,2 V pour son alimentation, et son contact PWR est connecté à un convertisseur abaisseur abaisseur, donc pour un fonctionnement à partir de la tension Li-ion, il faut appliquer en contournant cette partie du circuit.


Arduino Pro Mini 3v


Ensuite, nous effectuons une procédure similaire avec la LED sur la carte Arduino (l'ovale à droite de la puce carrée).


Nous soudons le peigne en quatre contacts (1), toujours horizontalement - le long de la carte.


Nous raccourcissons les pieds de la photorésistance à 10 mm et les soudons avec des conducteurs de 20 cm aux bornes GND et D2 de la carte (2).


Nous fournissons de l'énergie via un convertisseur linéaire - à faible courant, la chute de tension de décrochage est de 0,1 V.


Mais en fournissant une tension stabilisée aux modules HX711, nous nous débarrassons de la nécessité de les affiner à une tension inférieure (et en même temps d'augmenter le bruit à la suite de cette opération).


Vous devez maintenant prendre 5 mètres d'un câble téléphonique à quatre fils et le souder entre le microcontrôleur et le module de communication selon le schéma au début de l'article (les couleurs des fils correspondent à la réalité).


Nous soudons également le support de batterie, nous ferons le reste un peu plus tard.


Et maintenant, pendant un certain temps, nous nous éloignons du fer à souder et passons à la partie logicielle.
Je vais décrire la séquence d'actions pour Windows:
Tout d'abord, vous devez télécharger et installer / décompresser le programme Arduino IDE - la version actuelle est 1.8.9, mais j'utilise 1.6.4


Pour plus de simplicité, nous décompressons l'archive dans le dossier C: \ arduino- "votre_version_numéro", à l'intérieur nous aurons le / dist, les pilotes, les exemples, le matériel, java, lib, les bibliothèques, la référence, les dossiers d'outils, ainsi que le fichier exécutable arduino (entre autres).


Nous avons maintenant besoin d'une bibliothèque pour travailler avec le HX711 ADC - le bouton vert "cloner ou télécharger" - télécharger ZIP.


Le contenu (dossier HX711-master) est placé dans le répertoire C: \ arduino- "your_version_number" \ bibliothèques


Et bien sûr, le pilote pour USB-TTL provient du même github - à partir de l'archive décompressée, le fichier SETUP d'installation est simplement lancé.


Pour ceux qui hésitent à s'embêter avec les bibliothèques, j'ai emballé mon assemblage du programme IDE Arduino - il suffit de le télécharger et de le déballer.


Nous démarrons et configurons le programme C: \ arduino- "your_version_number" \ arduino


Interface de programme


Nous allons à l'élément "Outils" - sélectionnez la carte "Arduino Pro ou Pro Mini", le processeur Atmega 328 3,3 V 8 MHz, le port est le numéro autre que le système COM1 (il apparaît après l'installation du pilote CH340 avec l'adaptateur USB-TTL connecté).


Ok, copiez l'esquisse suivante (programme) et collez-la dans la fenêtre Arduino IDE


char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code // NeverSleep #include <SoftwareSerial.h> // Sofrware serial library #include "HX711.h" // HX711 lib. https://github.com/bogde/HX711 #include <EEPROM.h> // EEPROM lib. HX711 scale0(10, 14); HX711 scale1(11, 14); HX711 scale2(12, 14); #define SENSORCNT 3 HX711 *scale[SENSORCNT]; SoftwareSerial mySerial(5, 4); // Set I/O-port TXD, RXD of GSM-shield float delta00; // delta weight from start float delta10; float delta20; float delta01; // delta weight from yesterday float delta11; float delta21; float raw00; //raw data from sensors on first start float raw10; float raw20; float raw01; //raw data from sensors on yesterday float raw11; float raw21; float raw02; //actual raw data from sensors float raw12; float raw22; word calibrate0=20880; //calibration factor for each sensor word calibrate1=20880; word calibrate2=20880; word daynum=0; //numbers of day after start int notsunset=0; boolean setZero=false; boolean forceSend=false; char ch = 0; char ch1 = 0; char ch2 = 0; char ch3 = 0; char ch4 = 0; void readVcc() // read battery capacity { ch = mySerial.read(); while (mySerial.available() > 0) { ch = mySerial.read(); } // empty input buffer from modem mySerial.println("AT+CBC?"); //ask gprs for battery status (for sim800 and neoway command must be "AT+CBC" ) delay(200); while (mySerial.available() > 0) { //read input string between coma and CR ch = mySerial.read(); if (ch ==','){ ch1 = mySerial.read(); ch2 = mySerial.read(); ch3 = mySerial.read(); ch4 = mySerial.read(); } } } // ********************************************************************** void SendStat() { detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt digitalWrite(13, HIGH); if (!forceSend){ notsunset=0; for (int i=0; i <= 250; i++){ if ( !digitalRead(2) ){ notsunset++; } //is a really sunset now? you shure? delay(360); } } if ( notsunset==0 || forceSend ) { raw01=raw02; raw11=raw12; raw21=raw22; raw02=scale0.get_units(16); //read data from scales raw12=scale1.get_units(16); raw22=scale2.get_units(16); daynum++; delta00=(raw02-raw00)/calibrate0; // calculate weight changes delta01=(raw02-raw01)/calibrate0; delta10=(raw12-raw10)/calibrate1; delta11=(raw12-raw11)/calibrate1; delta20=(raw22-raw20)/calibrate2; delta21=(raw22-raw21)/calibrate2; readVcc(); delay(200); mySerial.println("AT+CMGF=1"); // Part of SMS sending delay(2000); mySerial.print("AT+CMGS=\""); mySerial.print(phone_no); mySerial.write(0x22); mySerial.write(0x0D); // hex equivalent of Carraige return mySerial.write(0x0A); // hex equivalent of newline delay(2000); mySerial.print("Turn "); mySerial.println(daynum); mySerial.print("Hive1 "); mySerial.print(delta01); mySerial.print(" "); mySerial.println(delta00); mySerial.print("Hive2 "); mySerial.print(delta11); mySerial.print(" "); mySerial.println(delta10); mySerial.print("Hive3 "); mySerial.print(delta21); mySerial.print(" "); mySerial.println(delta20); mySerial.print("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); if (forceSend) {mySerial.print("Forced SMS");} mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); } forceSend=false; digitalWrite(13, LOW); attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } // ************************************************************************************************* void switchto9600() { mySerial.begin(115200); // Open software serial port delay(16000); // wait for boot mySerial.println("AT"); delay(200); mySerial.println("AT"); delay(200); mySerial.println("AT+IPR=9600"); // Change Serial Speed delay(200); mySerial.begin(9600); mySerial.println("AT&W0"); delay(200); mySerial.println("AT&W"); } void setup() { // Setup part run once, at start pinMode(13, OUTPUT); // Led pin init pinMode(2, INPUT_PULLUP); // Set pullup voltage Serial.begin(9600); // ------------------------------------------------------------------------------- switchto9600(); // switch module port speed // ------------------------------------------------------------------------------- mySerial.begin(9600); delay(200); scale[0] = &scale0; //init scale scale[1] = &scale1; scale[2] = &scale2; scale0.set_scale(); scale1.set_scale(); scale2.set_scale(); delay(200); setZero=digitalRead(2); //if (EEPROM.read(500)==EEPROM.read(501) || setZero) // first boot/reset with hiding photoresistor if (setZero) { raw00=scale0.get_units(16); //read data from scales raw10=scale1.get_units(16); raw20=scale2.get_units(16); EEPROM.put(500, raw00); //write data to eeprom EEPROM.put(504, raw10); EEPROM.put(508, raw20); for (int i = 0; i <= 24; i++) { //blinking LED13 on reset/first boot digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); } } else { EEPROM.get(500, raw00); // read data from eeprom after battery change EEPROM.get(504, raw10); EEPROM.get(508, raw20); digitalWrite(13, HIGH); // turn on LED 13 on 12sec. delay(12000); digitalWrite(13, LOW); } delay(200); // Test SMS at initial boot readVcc(); delay(200); mySerial.println("AT+CMGF=1"); delay(2000); mySerial.print("AT+CMGS=\""); mySerial.print(phone_no); mySerial.write(0x22); mySerial.write(0x0D); // hex equivalent of Carraige return mySerial.write(0x0A); // hex equivalent of newline delay(2000); mySerial.println("INITIAL BOOT OK"); mySerial.print("Battery capacity is "); mySerial.print(ch1); mySerial.print(ch2); mySerial.print(ch3); mySerial.print(ch4); mySerial.println(" %"); mySerial.println (char(26));//the ASCII code of the ctrl+z is 26 delay(3000); raw02=raw00; raw12=raw10; raw22=raw20; attachInterrupt(0, SendStat , RISING); // Interrupt by HIGH level } void loop() { digitalWrite(13, LOW); ch=mySerial.read(); if ( ch=='R' ) { //wait first lerrer from "RING" string forceSend=true; mySerial.println("ATH"); SendStat(); ch=' '; } } 

Dans la première ligne, entre guillemets char phone_no [] = "+ 123456789012"; - au lieu de 123456789012, nous mettons notre numéro de téléphone avec le code du pays auquel le SMS sera envoyé.


Cliquez sur le bouton de vérification (au-dessus du numéro un dans la capture d'écran ci-dessus) - si ci-dessous (sous le triple dans la capture d'écran) "La compilation est terminée" - alors nous pouvons flasher le microcontrôleur.


Ainsi, l'USB-TTL est connecté à l'ARDUINO et à l'ordinateur (comme sur la photo ci-dessus), nous mettons la batterie chargée dans le support (généralement sur un nouvel arduino, la LED commence à clignoter une fois par seconde).


Maintenant, le firmware - nous nous entraînons à appuyer sur le bouton rouge (argent) du microcontrôleur - cela devra être fait strictement à un certain moment !!!


Est-il Cliquez sur le bouton "Télécharger" (au-dessus des deux dans la capture d'écran), et regardez attentivement la ligne au bas de l'interface (sous les trois écrans).


Dès que l'inscription "compilation" est remplacée par "download" - appuyez sur le bouton rouge (reset) - si tout va bien - l'adaptateur USB-TTL clignote joyeusement, et l'inscription "Downloaded" en bas de l'interface


Pendant que nous attendons l'arrivée du SMS de test par téléphone, je vais vous expliquer le fonctionnement du programme:


La première fois que le système est allumé, il vérifie les octets 500 et 501 de l'EEPROM; s'ils sont égaux, les données d'étalonnage n'ont pas été écrites et l'algorithme passe à la section de configuration.


La même chose se produit si, lorsqu'elle est allumée, la photorésistance est ombrée (avec un capuchon d'un stylo) - le mode de réinitialisation des paramètres est activé.


Des jauges de contrainte devraient déjà être installées sous les ruches, car nous fixons simplement le niveau initial de zéro, puis mesurons le changement de poids (maintenant des zéros viendront, car nous n'avons encore rien connecté).


Sur Arduino, la LED intégrée de la broche 13 clignote.
Si la réinitialisation ne se produit pas, la LED s'allume pendant 12 secondes.
Après cela, un SMS de test est envoyé avec le message "INITIAL BOOT OK" et le pourcentage de charge de la batterie.


De plus, nous avons une interruption sur le capteur photo travaillant sur la deuxième broche (plus le levage est activé par la fonction pullup).
Dans ce cas, après un déclenchement de 3 minutes supplémentaires, l'état de la photorésistance est vérifié pour exclure les faux positifs / répétés.
Pour empêcher le système d'effectuer une réinitialisation à chaque mise sous tension, au moins le premier module HX711 doit être connecté (broches DT-D10, SCK-A0)


Ensuite, les lectures des cellules de charge sont prises, le changement de poids par rapport à l'opération précédente (le premier numéro de la ligne après Hive) est calculé et dès le premier démarrage, la tension de la batterie est vérifiée et ces informations sont envoyées sous forme de SMS:


Exemple de système


Au fait, avez-vous reçu des SMS? Félicitations! Nous sommes à mi-chemin! Bien que la batterie puisse être retirée de son support, nous n'aurons plus besoin d'un ordinateur.


Nous procédons à la fabrication de capteurs, pour commencer, abordons la disposition des capteurs:


Emplacement du capteur


Ceci est le plan de la ruche - vue de dessus.


Classiquement, 4 capteurs sont installés dans les coins (1,2,3,4)


Nous mesurerons différemment. Ou plutôt, même dans le troisième. Comme les gars de BroodMinder font différemment:


Broodminder


Dans cette conception, les capteurs sont installés aux positions 1 et 2, les points 3.4 sont basés sur le faisceau.
Ensuite, seulement la moitié du poids tombe sur les capteurs.
Oui, une telle méthode a moins de précision, mais il est difficile d'imaginer que les abeilles ont construit tous les cadres avec des «langues» des nids d'abeilles le long d'un mur de la ruche.


Donc, je propose de réduire les capteurs au point 5 au total - alors il n'est pas nécessaire de protéger le système, et lorsque vous utilisez des ruches lumineuses, il est tout à fait nécessaire de le faire avec un seul capteur.


Ainsi, sur une ruche, nous installerons deux cellules de charge et un module HX711, le schéma de câblage est le suivant:



De la carte ADC à l'arduino, il y a 5 mètres d'un câble téléphonique à 4 conducteurs (dans le cas des modules de poids 2 et 3), le premier capteur est connecté avec une «queue» de 10 cm, mais plus sur cela plus tard.


En général, sur les capteurs nous laissons des "queues" de 8 cm, nous nettoyons la paire torsadée et nous dessoudons tout comme sur la photo ci-dessus.


Avant de commencer la menuiserie, placez la cire / paraffine dans un récipient approprié pour faire fondre dans un bain-marie.


Maintenant, nous prenons notre poutre et la divisons en trois segments de 100 mm


Ensuite, nous délimitons une rainure longitudinale de 25 mm de large, de 7 à 8 mm de profondeur, à l'aide d'une scie à métaux et d'un burin, nous enlevons l'excédent - un profil en forme de U devrait sortir.


Les bases


En fait, nous avons besoin d'une partie en forme de H 1 et deux - P-shki, toutes de 10 cm de long.


Pourquoi N-ka - ne le croyez pas, cachez-y l'Arduino:


le miracle de la technologie hostile


De plus, des prises 6P6C pour connecter les capteurs 2 et 3 sont également fixées ici.


La cire s'est réchauffée? - nous y trempons nos cartes ADC - cela les protégera de l'humidité / du brouillard:


Protection ADC contre l'humidité


Nous avons tout sur une base en bois (il faut le traiter avec un antiseptique de décomposition):


Assemblage


Et enfin, nous fixons les capteurs avec des vis:


Capteur prêt


Ensuite, nous soudons tous les composants restants selon le schéma dans l'en-tête et le bon sens.


En termes de localisation des composants, il est conseillé de faire preuve d'imagination, une chose à considérer - la distance entre le microcontrôleur et le module GSM doit être d'au moins un mètre!


J'ai obtenu le design suivant:


Finale


Oui, j'ai pris l'angle d'installation des panneaux à 45 degrés - en raison de la simplicité de fabrication, mais il est proche des quarante degrés optimaux pour l'été à la latitude de Kiev.


Voilà, maintenant pour le contrôle final, placez les capteurs dans les secteurs du cercle, sur le dessus - un morceau de contreplaqué, mettez le contrôleur à zéro (allumez le système avec le capuchon sur la photodiode du stylo plume).


Dans ce cas, la LED de l'arduino devrait clignoter et un SMS de test devrait apparaître.


Ensuite, nous retirons le capuchon de la photocellule et nous allons chercher de l'eau dans une bouteille en plastique de 6 litres.
Nous mettons la bouteille sur du contreplaqué et si plusieurs minutes se sont déjà écoulées depuis la mise sous tension, remettez le capuchon sur la photorésistance (simulant le coucher du soleil).


En même temps, la LED de l'arduino s'allume et vous devriez recevoir un SMS avec une valeur de poids d'environ 4 kg à toutes les positions.


Félicitations! Le système est assemblé avec succès!


Si nous faisons maintenant fonctionner à nouveau le système, alors dans la première colonne du poids, nous obtenons des zéros.


Oui, dans des conditions réelles, il est souhaitable d'orienter la photorésistance verticalement vers le haut.


Je vais maintenant donner un bref manuel sur l'utilisation de:


  1. Installez des jauges de contrainte sous les parois arrière des ruches (sous le devant, remplacez une poutre / planche de 30 mm d'épaisseur)
  2. Installer un module de communication avec des panneaux solaires en élévation, à quelques mètres des ruches.
    L'orientation des panneaux solaires - au sud - peut être boussée (nous n'attraperons pas le vrai).
  3. Ombrez la photorésistance et insérez la batterie - la LED devrait clignoter et un SMS de test avec le texte "INITIAL BOOT OK" devrait venir
    Chaque soir, après le coucher du soleil, les SMS arriveront avec un changement de poids par jour et à partir du moment du lancement.
    Lorsque vous appelez le numéro de carte SIM du module GSM, le contrôleur décroche (nous entendons «l'abonné ne peut pas recevoir l'appel») et le SMS est livré avec des mesures extraordinaires.
    Dans un tel message, il y aura une ligne supplémentaire - "SMS forcé";

Il reste très peu à la beauté complète du système:


  1. Ajoutez le système automatique de l'appareil sur le capteur photo.
  2. Vérifiez les autres types de modules de communication.
  3. Pour tout faire sous l'ESP-8266 - tout d'abord, il prend en charge les mises à jour du micrologiciel "par liaison radio" - c'est pratique.

Deuxièmement, il peut fournir des statistiques sous la forme de simples pages Web.
Et enfin, si vous avez le Wi-Fi, vous pouvez refuser complètement le GSM-ki.


Oh oui, je suis fatigué de quelque chose qui dérange avec les fils, et j'ai promis un système à économie d'énergie "absolue".


En un mot, j'ai décidé de jouer un peu "idiot" et de tout faire.
Combien réussissent - lisez la publication dans un mois!


Rendez-vous sur les pages de Habr-a,
Apiculteur électrique Andrey


PS Pour les nouvelles publications sur ce sujet, voir beefree.xyz

Source: https://habr.com/ru/post/fr448274/


All Articles