SMS-Überwachung des Gewichts von drei Bienenstöcken für 35 US-Dollar

Newbee


Seit der vorherigen Veröffentlichung über das System für 30 US-Dollar ist eine Weile vergangen.


Was hat sich im letzten Mondmonat geändert?


  1. Eine Solarbatterie wurde hinzugefügt - die Betriebszeit ist nahezu unbegrenzt.
  2. Sendeinformationen zu einem Anruf hinzugefügt.
  3. Die Fähigkeit, mit allen Arten von Kommunikationsmodulen zu arbeiten, die mir in den Sinn gekommen sind - AiThinker, Goouu Tech, SIM800 / 900, Neoway M590 *

Das Wichtigste ist jedoch, dass das Kommunikationsmodul und der Mikrocontroller jetzt physisch getrennt sind, wodurch Störungen im Betrieb des HX711 vermieden werden.


Und das alles dank konstruktiver Kritik an den Bewohnern und Imkern der Habrovsk, die sich der Diskussion über das System angeschlossen haben.


Die übrigen Leistungsmerkmale blieben unverändert - das maximale Gewicht der Bienenstöcke beträgt 200 kg. Nach Sonnenuntergang wird die Messung durchgeführt und die Indikatoren werden gesendet.


Ich antizipiere Kritik bezüglich der Nichtverwendung von Schlafmodi und zusätzlichen Signalleitungen von GSM-Modulen und sage Folgendes:


Jedes Kommunikationsmodul hat seine eigenen Besonderheiten - einige schlafen bei niedrigem Signalpegel ein, andere bei hohem Pegel, andere mit doppeltem Tippen.


Die Besonderheiten von "Do it yourself" implizieren einen bestimmten kreativen Teil, und es lohnt sich, ihn hier zu zeigen.


Ich habe auch ein System mit Blick auf die Weiterentwicklung der Überwachung anderer Parameter des Bienenstocks entwickelt, bei denen Schlaf nicht besonders benötigt wird.


Im Allgemeinen in der Titeltabelle - reines Android Basissystem, von dem aus Sie mit dem Design und der Anzahl / dem Satz von Sensoren, Modulen usw. überall tanzen können.


In diesem Artikel geht es um Skalen und unter dem Strich um meine persönliche Vision und Implementierung des Systems.


Mit einem Wort - WILLKOMMEN! Lass uns gehen!


Zunächst schläft dieses System überhaupt nicht ... weil eine 6-Volt-Zweizellen-Solarbatterie selbst bei bewölktem Wetter 5 Volt und bis zu hundert Milliampere erzeugt.


Der Verbrauch des gesamten Systems beträgt 17 mA im Standby-Modus (im GSM1800-Standard) und etwa dreißig beim GSM900.


Darüber hinaus wurde dies, wie bereits erwähnt, mit dem Ziel durchgeführt, zusätzliche Überwachungsfunktionen in Echtzeit zu implementieren (ein Schwarm kann beispielsweise in 5 Minuten ausgehen) - es ist keine Zeit zum Schlafen ;-)


Sie möchten absolut Energie sparen, so wird es in der nächsten Veröffentlichung sein, aber es wird völlig anders sein die Geschichte das System.


* Ja, was die Fußnote zu Kommunikationsmodulen betrifft, ist es nicht so, dass ich ein AiThinker-Anhänger geworden bin, ich muss nur Neoway selbst zusammenbauen, und für SIM800L-Module ist ein separater Artikel mit einem Schulungsprogramm zur Arbeit mit ihnen erforderlich.


Mit einem Wort, die ausgewählten GSMs sind IMHO, die einzigen, die an 4 Drähten, einschließlich Strom, ohne zusätzliche Tänze mit Tamburinen arbeiten können.


Wir benötigen die folgenden Geräte / Materialien:


  1. Arduino Pro Mini 3V
    Sie sollten auf den Mikrochip des Linearwandlers achten - er muss genau 3,3 V betragen - auf dem Markierungs-Chip KB 33 / LB 33 / DE A10 - die Chinesen haben etwas mit mir und der ganzen Charge verwechselt
    Es stellte sich heraus, dass die Leiterplatten im Laden mit 5-Volt-Reglern und 16-MHz-Quarz ausgestattet waren.
  2. USB-Ttl auf einem CH340-Chip - Sie können sogar 5 Volt erzeugen, aber während der Firmware des Mikrocontrollers muss Arduino vom GSM-Modul getrennt werden, um letzteres nicht zu verbrennen.
    Karten auf dem PL2303-Chip funktionieren unter Windows 10 nicht.
  3. GSM-Kommunikationsmodul Goouu Tech IOT GA-6-B oder AI-THINKER A-6 Mini.
  4. GSM-Antenne GPRS "YG-01"

    Wie sie einen solchen Anstieg erreicht haben - ein Rätsel - ist vielleicht relativ zu dessen völliger Abwesenheit ;-).
  5. Starterpaket für einen Bediener mit guter Abdeckung am Standort Ihres Bienenhauses.
    Ja, das Paket muss zuerst in einem normalen Telefon aktiviert werden. Deaktivieren Sie die PIN-Anfrage am Eingang und füllen Sie das Konto auf.
  6. Draht Dupont 20cm Mutter Mutter - 4 Stk. (zum Anschließen von Arduino an USB-TTL)
  7. 3St HX711 - ADC für Waagen
  8. 6 Wägezellen mit einem Gewicht von bis zu 50 kg
  9. 15 Meter 4-adriges Telefonkabel - zum Anschluss von Gewichtsmodulen und GSM mit ARDUINO.
  10. Fotowiderstand GL5528 (dies ist wichtig, mit einem Dunkelwiderstand von 1 MOhm und einem Lichtwiderstand von 10-20 kOhm).
  11. zwei Paar Stecker und Buchsen 6P6C - Telefon, Buchsen - mit "Schwänzen"
  12. 50 cm doppelseitiges Klebeband 10 mm breit - zur Befestigung des Solarpanels am Gehäuse des GSM-Moduls.
  13. TP4056-basierte Ladekarte für LiIon-Akkus
  14. Der 18650 Batteriehalter und in der Tat die Batterie selbst.
  15. Ein wenig Wachs oder Paraffin (Aromalampentablettenkerze) - zum Feuchtigkeitsschutz HX711
  16. Ein Stück Holzbalken 25x50x300mm für die Basis von Wägezellen.
  17. Ein Dutzend selbstschneidende Schrauben mit einer 4,2 x 19 mm Pressscheibe zur Montage von Sensoren an der Basis.
  18. 5-6V 2W Solarbatterie
    Rückansicht der Paneele
    Es gibt keinen Rückstrom durch das Ladegerät, aber parallele Solarmodule sollten ordnungsgemäß über Dioden eingeschaltet werden
  19. Eine Box für ein Kommunikationsmodul und eine Solarbatterie (Größe 60x100mm) - Sie können eine geeignete Verteilung von Elektrogeräten nehmen, mein Kunststoff aus Visitenkarten 30x60x100 ist ideal geeignet.

Darüber hinaus sind krumme Hände, ein EPSN-25-Lötkolben, Kolophonium und POS-60-Lot erforderlich.


Für die Tischlerei reichen eine Bügelsäge für Holz / Metall, ein Meißel und ein Bohrer mit einem 3-mm-Bohrer aus.


Das Layout des Systems ist wie folgt:


Layout


In jedem Fall sollten Sie das GSM-Modul nicht näher als einen Meter vom Arduino entfernt platzieren. Bei einer hohen Signalleistung im GSM900-Standard kann dies dazu führen, dass der Mikrocontroller neu gestartet wird!


Nun, das Kommunikationsmodul mit der Solarbatterie - sollte an einer Stange installiert werden - und der Empfang wird besser und weiter von den Bienen entfernt sein.


Beginnen wir nun mit der Montage:


GSM A6


Für den Anfang werden zwei LEDs vom GSM-Modul (der Stelle, an der sie in einem orangefarbenen Oval eingekreist waren) verlötet.


Wir legen die SIM-Karte mit den Pads in die Leiterplatte ein, die abgeschrägte Ecke auf dem Foto ist durch den Pfeil gekennzeichnet.


Außerdem wird die Batterie und das Kabel, das zur Steuerung führt, direkt mit dem Kondensator (4) verlötet.


Tatsache ist, dass das Kommunikationsmodul selbst 3,4-4,2 V für seine Stromversorgung benötigt und sein PWR-Kontakt mit einem Abwärts-Abwärtswandler verbunden ist, so dass für den Betrieb mit Li-Ionen-Spannung unter Umgehung dieses Teils der Schaltung angelegt werden muss.


Arduino Pro Mini 3v


Dann führen wir einen ähnlichen Vorgang mit der LED auf der Arduino-Platine durch (das Oval rechts vom quadratischen Chip).


Wir löten den Kamm in vier Kontakte (1), immer horizontal - entlang der Platine.


Wir kürzen die Fotowiderstandsschenkel auf 10 mm und löten sie mit 20-cm-Leitern an die Klemmen GND und D2 der Platine (2).


Wir liefern Strom über einen Linearwandler - bei niedrigen Strömen beträgt der Spannungsabfall 0,1 V.


Durch Anlegen einer stabilisierten Spannung an die HX711-Module entfällt jedoch die Notwendigkeit, sie unter einer niedrigeren Spannung zu verfeinern (und gleichzeitig das Rauschen infolge dieses Vorgangs zu erhöhen).


Jetzt müssen Sie 5 Meter eines vieradrigen Telefonkabels nehmen und es gemäß dem Diagramm am Anfang des Artikels zwischen dem Mikrocontroller und dem Kommunikationsmodul löten (die Farben der Drähte entsprechen der Realität).


Wir löten auch den Batteriehalter, den Rest erledigen wir etwas später.


Und jetzt schweifen wir für einige Zeit vom Lötkolben ab und gehen zum Software-Teil über.
Ich werde die Reihenfolge der Aktionen für Windows beschreiben:
Zunächst müssen Sie das Arduino IDE- Programm herunterladen und installieren / entpacken - die aktuelle Version ist 1.8.9, aber ich verwende 1.6.4


Der Einfachheit halber entpacken wir das Archiv in den Ordner C: \ arduino- "your_version_number". Darin befinden sich die Ordner / dist, Treiber, Beispiele, Hardware, Java, lib, Bibliotheken, Referenz, Tools sowie die ausführbare Datei von arduino (unter anderem).


Jetzt brauchen wir eine Bibliothek für die Arbeit mit dem HX711 ADC - die grüne Schaltfläche "Klonen oder Herunterladen" - ZIP herunterladen.


Der Inhalt (Ordner HX711-master) befindet sich im Verzeichnis C: \ arduino- "Ihre_Versionsnummer" \ Bibliotheken


Und natürlich stammt der Treiber für USB-TTL vom selben Github - aus dem entpackten Archiv wird die SETUP-Datei des Installationsprogramms einfach gestartet.


Für diejenigen, die sich nur ungern mit Bibliotheken beschäftigen, habe ich meine Baugruppe des Arduino IDE- Programms gepackt - einfach herunterladen und entpacken.


Wir starten und konfigurieren das Programm C: \ arduino- "your_version_number" \ arduino


Programmschnittstelle


Wir gehen zum Punkt "Extras" - wählen Sie die Karte "Arduino Pro oder Pro Mini", den Atmega 328 3,3 V 8 MHz Prozessor, der Port ist die andere Nummer als das System COM1 (erscheint nach der Installation des CH340-Treibers mit angeschlossenem USB-TTL-Adapter).


Ok, kopieren Sie die folgende Skizze (Programm) und fügen Sie sie in das Arduino IDE-Fenster ein


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=' '; } } 

In der ersten Zeile in Anführungszeichen char phone_no [] = "+ 123456789012"; - Anstelle von 123456789012 geben wir unsere Telefonnummer mit der Landesvorwahl an, an die die SMS gesendet wird.


Klicken Sie auf das Kontrollkästchen (über der Nummer eins im obigen Screenshot) - wenn unten (unter dem Dreifachen im Screenshot) "Kompilierung ist abgeschlossen" - können wir den Mikrocontroller flashen.


Also, USB-TTL ist mit dem ARDUINO und dem Computer verbunden (wie auf dem Foto oben), wir legen den geladenen Akku in die Halterung (normalerweise beginnt bei einem neuen Arduino die LED einmal pro Sekunde zu blinken).


Jetzt die Firmware - wir trainieren, um den roten (silbernen) Knopf des Mikrocontrollers zu drücken - dies muss unbedingt zu einem bestimmten Zeitpunkt erfolgen !!!


Ist da Klicken Sie auf die Schaltfläche "Hochladen" (über den beiden im Screenshot) und sehen Sie sich die Zeile am unteren Rand der Benutzeroberfläche (unter den drei Bildschirmen) genau an.


Sobald die Beschriftung "Zusammenstellung" durch "Herunterladen" ersetzt wird - drücken Sie die rote Taste (Zurücksetzen) - wenn alles in Ordnung ist - blinkt der USB-TTL-Adapter freudig und die Beschriftung "Heruntergeladen" am unteren Rand der Benutzeroberfläche


Während wir darauf warten, dass die Test-SMS am Telefon eintrifft, erkläre ich Ihnen, wie das Programm funktioniert:


Beim ersten Einschalten des Systems werden die Bytes 500 und 501 des EEPROM überprüft. Wenn sie gleich sind, wurden die Kalibrierungsdaten nicht aufgezeichnet, und der Algorithmus fährt mit dem Setup-Abschnitt fort.


Das gleiche passiert, wenn der Fotowiderstand beim Einschalten schattiert ist (mit einer Kappe von einem Stift) - der Parameter-Reset-Modus ist aktiviert.


Dehnungsmessstreifen sollten bereits unter den Bienenstöcken installiert sein, da wir einfach den Anfangspegel von Null festlegen und dann die Gewichtsänderung messen (jetzt werden Nullen kommen, da wir noch nichts angeschlossen haben).


Auf Arduino blinkt die eingebaute LED von Pin 13.
Wenn der Reset nicht erfolgt, leuchtet die LED 12 Sekunden lang auf.
Danach wird eine Test-SMS mit der Meldung "INITIAL BOOT OK" und dem Prozentsatz der Batterieladung gesendet.


Außerdem haben wir einen Interrupt am Fotosensor, der am zweiten Stift arbeitet (plus das Anheben wird durch die Pullup-Funktion aktiviert).
In diesem Fall wird nach weiteren 3 Minuten Auslösen der Zustand des Fotowiderstands überprüft, um wiederholte / falsch positive Ergebnisse auszuschließen.
Um zu verhindern, dass das System bei jedem Einschalten zurückgesetzt wird, muss mindestens das erste HX711-Modul angeschlossen sein (Pins DT-D10, SCK-A0).


Dann werden die Wägezellenablesungen vorgenommen, die Gewichtsänderung gegenüber dem vorherigen Vorgang (die erste Zahl in der Zeile nach Hive) berechnet und vom ersten Start an wird die Batteriespannung überprüft und diese Informationen werden in Form von SMS gesendet:


Probensystem


Hast du übrigens SMS erhalten? Glückwunsch! Wir sind auf halbem Weg! Während der Akku aus der Halterung entfernt werden kann, benötigen wir keinen weiteren Computer.


Wir fahren mit der Herstellung von Sensoren fort. Lassen Sie uns zunächst das Layout der Sensoren ansprechen:


Sensorposition


Dies ist der Plan der Bienenstock-Draufsicht.


Klassischerweise sind 4 Sensoren in den Ecken installiert (1,2,3,4)


Wir werden anders messen. Oder besser gesagt, sogar im dritten. Wie die Jungs von BroodMinder es anders machen:


Brutminder


Bei dieser Konstruktion sind die Sensoren an den Positionen 1 und 2 installiert, die Punkte 3.4 basieren auf dem Strahl.
Dann fällt nur die Hälfte des Gewichts auf die Sensoren.
Ja, eine solche Methode ist weniger genau, aber es ist schwer vorstellbar, dass die Bienen alle Rahmen mit „Zungen“ aus den Waben entlang einer Wand des Bienenstocks aufgebaut haben.


Daher schlage ich vor, die Sensoren auf Punkt 5 zu reduzieren - dann muss das System nicht abgeschirmt werden, und bei Verwendung von leichten Bienenstöcken muss unbedingt ein Sensor verwendet werden.


In einem Bienenstock werden also zwei Wägezellen und ein HX711-Modul installiert. Der Schaltplan lautet wie folgt:



Von der ADC-Karte bis zum Arduino gibt es 5 Meter eines 4-adrigen Telefonkabels (bei Modulen mit Gewicht 2 und 3), der erste Sensor ist mit einem 10-cm-Schwanz verbunden, aber dazu später mehr.


Im Allgemeinen lassen wir bei den Sensoren "Schwänze" von 8 cm, reinigen das verdrillte Paar und löten alles wie auf dem Foto oben.


Legen Sie vor Beginn der Tischlerei Wachs / Paraffin in einen geeigneten Behälter, um es in einem Wasserbad zu schmelzen.


Jetzt nehmen wir unseren Strahl und teilen ihn in drei Segmente von 100 mm


Als nächstes markieren Sie eine 25 mm breite, 7-8 mm tiefe Längsnut mit einer Bügelsäge und einem Meißel. Wir entfernen den Überschuss - ein U-förmiges Profil sollte herauskommen.


Die Grundlagen


Tatsächlich brauchen wir einen H-förmigen Teil 1 und zwei - P-shki, alle 10 cm lang.


Warum N-ka - glaube es nicht, verstecke das Arduino darin:


das Wunder der feindlichen Technologie


Zusätzlich sind hier 6P6C-Buchsen zum Anschluss der Sensoren 2 und 3 angebracht.


Wachs aufgewärmt? - Wir tauchen unsere ADC-Platten dort ein - dies schützt sie vor Feuchtigkeit / Nebel:


ADC-Schutz gegen Feuchtigkeit


Wir haben alles auf einem Holzsockel (es ist notwendig, es mit einem Antiseptikum gegen Verfall zu behandeln):


Montage


Und zum Schluss befestigen wir die Sensoren mit Schrauben:


Sensor bereit


Als nächstes löten wir alle verbleibenden Komponenten gemäß dem Schema im Header und im gesunden Menschenverstand.


In Bezug auf die Position der Komponenten ist es ratsam, Vorstellungskraft zu zeigen. Beachten Sie Folgendes: Der Abstand zwischen dem Mikrocontroller und dem GSM-Modul sollte mindestens einen Meter betragen!


Ich habe folgendes Design:


Finale


Ja, ich habe den Einbauwinkel der Paneele auf 45 Grad geschätzt - aufgrund der einfachen Herstellung, aber er liegt nahe an den optimalen vierzig Grad für den Sommer auf dem Breitengrad von Kiew.


Jetzt können Sie zur letzten Überprüfung die Sensoren in den Kreissektoren oben platzieren - ein Stück Sperrholz, den Controller auf Null stellen (schalten Sie das System mit der Kappe auf der Fotodiode vom Füllfederhalter aus ein).


In diesem Fall sollte die LED am Arduino blinken und eine Test-SMS sollte kommen.


Dann nehmen wir die Kappe von der Fotozelle ab und sammeln Wasser in einer 6-Liter-Plastikflasche.
Wir stellen die Flasche auf Sperrholz und setzen nach dem Einschalten bereits einige Minuten auf den Fotowiderstand (simuliert den Sonnenuntergang).


Gleichzeitig leuchtet die LED am Arduino auf und Sie sollten an allen Positionen eine SMS mit einem Gewichtswert von ca. 4 kg erhalten.


Glückwunsch! Das System ist erfolgreich montiert!


Wenn wir das System jetzt wieder zum Laufen bringen, erhalten wir in der ersten Spalte des Gewichts Nullen.


Ja, unter realen Bedingungen ist es wünschenswert, den Fotowiderstand vertikal nach oben auszurichten.


Jetzt werde ich ein kurzes Handbuch zur Verwendung von:


  1. Installieren Sie Dehnungsmessstreifen unter den Rückwänden der Bienenstöcke (unter der Vorderseite ersetzen Sie einen Balken / eine Platte mit einer Dicke von ~ 30 mm).
  2. Installieren Sie ein Kommunikationsmodul mit Sonnenkollektoren auf einer Höhe, einige Meter von den Bienenstöcken entfernt.
    Die Ausrichtung der Sonnenkollektoren - nach Süden - kann erfasst werden (wir werden die wahre nicht erfassen).
  3. Schattieren Sie den Fotowiderstand und legen Sie den Akku ein - die LED sollte blinken und eine Test-SMS mit dem Text "INITIAL BOOT OK" sollte kommen
    Jeden Abend nach Sonnenuntergang kommt SMS mit einer Gewichtsänderung pro Tag und ab dem Start an.
    Wenn Sie die SIM-Kartennummer des GSM-Moduls anrufen, geht der Controller ab (wir hören „Der Teilnehmer kann den Anruf nicht empfangen“) und die SMS enthält außergewöhnliche Messwerte.
    In einer solchen Nachricht wird eine zusätzliche Zeile angezeigt - "Forced SMS";

Von der vollständigen Schönheit des Systems ist nur noch sehr wenig übrig:


  1. Fügen Sie das automatische Gerätesystem zum Fotosensor hinzu.
  2. Überprüfen Sie andere Arten von Kommunikationsmodulen.
  3. Um alles unter ESP-8266 zu erledigen - erstens werden Firmware-Updates "drahtlos" unterstützt - ist dies praktisch.

Zweitens - es kann Statistiken in Form von einfachen Webseiten geben.
Und schließlich, wenn Sie Wi-Fi haben, können Sie GSM-ki vollständig ablehnen.


Oh ja, ich habe es satt, mit Kabeln herumzuspielen, und ich habe ein System mit "absoluter" Energieeinsparung versprochen.


Mit einem Wort, ich beschloss, einen kleinen "Narren" zu spielen und alles zu tun.
Wie viel Erfolg - lesen Sie die Publikation in einem Monat!


Wir sehen uns auf den Seiten von Habr-a,
Elektrischer Imker Andrey


PS Für neue Veröffentlichungen zu diesem Thema siehe Beefree.xyz

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


All Articles