
Nu, aceasta nu este o ofertă comercială, este costul componentelor sistemului pe care îl veți putea asambla după citirea articolului.
Puțin context:
Cu ceva timp în urmă am decis să cresc albine și, într-adevăr, acestea au apărut... pentru un sezon întreg, dar nu au supraviețuit iernii.
Și asta în ciuda faptului că am făcut totul corect - hrănire de toamnă, izolare înainte de frig.
Stupul era clasic, din lemn, de tip „Dadant”, cu 10 rame din placaj de 40 mm.
Dar în acea iarnă, din cauza „oscilațiilor” de temperatură, chiar și apicultorii experimentați au pierdut mult mai mult decât de obicei.
Așa a apărut ideea unui sistem de monitorizare a stării stupului.
După publicarea câtorva articole pe Habr și discutând pe forumul apicultorilor, am decis să încep cu lucruri simple și apoi să trec la cele complexe.
Greutatea este singurul parametru incontestabil, dar, de obicei, sistemele existente monitorizează doar un stup „de referință”.
Dacă cu acesta ceva nu merge bine (de exemplu, ieșirea roiului, boala albinelor), atunci datele devin irelevante.
Așa că am decis să urmăresc schimbarea greutății a trei stupi cu un singur microcontroler, adăugând apoi alte „componente”.
În cele din urmă, a rezultat un sistem autonom cu o durată de funcționare de aproximativ o lună cu o singură încărcare a bateriei 18650 și trimiterea statisticilor o dată pe zi.
Am încercat să simplific la maxim construcția, astfel încât să poată fi replicată chiar și fără scheme, doar din fotografii.
Logica de funcționare este următoarea: la prima pornire/resetare, valorile senzorilor amplasați sub stupi sunt memorate în EEPROM.
Apoi, în fiecare zi, după apus, sistemul „se trezește”, citește valorile și trimite un SMS cu schimbarea greutății în ultimele 24 de ore și de la momentul pornirii.
În plus, se transmite valoarea tensiunii bateriei, iar la scăderea acesteia sub 3.5V se emit avertizări cu privire la necesitatea încărcării, deoarece sub 3.4V modulul de comunicație nu se va porni și datele greutății deja „se pierd”.
„Îți amintești cum a început totul. Totul a fost nou și pentru prima dată.”

Da, exact acest set de „hardware” a fost inițial, de fapt, doar senzorii de tensiune și cablurile au supraviețuit până la varianta finală, dar despre toate pe rând.
De fapt, un rol de cablu nu va fi necesar, doar că acesta s-a dovedit a avea aceeași preț ca 30m pe tăietură.
Dacă nu te sperie demontarea a 3 LED-uri SMD și o jumătate de sută de puncte de lipire obișnuită (din componentă) - atunci hai la drum!
Deci, vom avea nevoie de următorul set de echipamente/materiale:
- Arduino Pro Mini 3V
Trebuie să acordați atenție cipului convertorului liniar — acesta trebuie să fie de 3.3V — pe cipul cu marcaj KB 33/LB 33/DE A10 — chinezii au făcut o greșeală și întreaga partidă
de plăci din magazin s-a dovedit a fi cu regulatorii de 5 volți și cristale de 16MHz. - USB-Ttl pe cipul CH340 — poate fi chiar și de 5 volți, dar în timpul programării microcontrolerului, Arduino trebuie deconectat de la modulul GSM, pentru a nu-l arde pe acesta din urmă.
Plăcile cu cipul PL2303 nu funcționează pe Windows 10. - Modul de comunicație GSM Goouu Tech IOT GA-6-B sau AI-THINKER A-6 Mini.
De ce m-am oprit la acesta? Neoway M590 — un constructor care necesită manevre specifice, GSM SIM800L — nu mi-a plăcut nivelul de logică nestandard de 2.8V, care necesită o adaptare chiar și cu un Arduino de 3 volți.
De asemenea, soluția de la AiThinker are un consum minim de energie (în timpul trimiterii SMS-urilor nu am observat un curent mai mare de 100mA). - Antena GSM GPRS 3DBI (în fotografia de mai sus — un circuit dreptunghiular cu un 'codiță', la ora 9)
- Pachetul inițial de la operator, care are o acoperire bună în locul unde este amplasată albinăria dumneavoastră.
Da, pachetul trebuie activat în prealabil pe un telefon obișnuit, DEZACTIVAȚI SOLICITAREA PIN la intrare și reîncărcați contul.
Acum există multe variante cu denumiri de tip „Senzor”, „IoT” — au o taxă lunară ceva mai mică. - cabluri dupont de 20cm mama-mama — 3 buc. (pentru conectarea Arduino la USB-TTL)
- 3 buc. HX711 — ADC pentru cântare
- 6 senzori de tensiune pentru greutăți de până la 50kg
- 15 metri de cablu telefonic cu 4 fire — pentru conectarea modulelor de greutate cu ARDUINO.
- Fotorezistor GL5528 (este important să fie exact acesta, cu o rezistență în întuneric de 1MΩ și în lumină de 10-20kΩ) și două rezistoare obișnuite de 20kΩ
- O bucată de bandă dublu adezivă 'groasă' de 18x18mm — pentru fixarea Arduino la modulul de comunicare.
- Un suport pentru baterii 18650 și, de fapt, bateria propriu-zisă ~2600mAh.
- Un pic de ceară sau parafină (lumânare tabletă pentru aromaterapie) — pentru protecția HX711 împotriva umezelii
- O bucată de lemn de 25x50x300mm pentru baza senzorilor de tensiune.
- O duzină de șuruburi autoforante cu presă la cap de 4,2x19 mm pentru fixarea senzorilor pe bază.
Bateria poate fi luată de la dezmembrarea laptopurilor — este cu mult mai ieftină decât una nouă, iar capacitatea va fi mult mai mare decât cea a chinezească UltraFire — am obținut 1500 comparativ cu 450 (asta e pentru Fire 6800 😉
În plus, vor fi necesare mâini nu prea stângi, un solder de tip EPSN-25, rășină și cositor POS-60.

Acum 5 ani foloseam un solder sovietic cu vârf de cupru (nu am fost atras de stațiile de sudură — le-am luat la test, dar am terminat circuitul cu un EPSN).
Dar după ce s-a stricat și după câteva minuni monstruoase chinezești, ultima având numele Sparta — un lucru la fel de dur ca și numele, m-am oprit
la un produs cu termostat.
Așadar, să începem!

Pentru început, să scoatem din modulul GSM cele două LED-uri (locul unde se aflau este învăluit într-un oval portocaliu)
Introducem SIM-ul cu contactele către placa de circuit imprimat, colțul tăiat din fotografie este marcat cu o săgeată.

Apoi, efectuăm o procedură similară cu LED-ul de pe placa Arduino (ovalul din stânga cipului pătrat),
Să lipim o placă cu patru contacte (1),
Luăm două rezistori de 20k, răsucim terminalele de o parte, lipim răsucirea în orificiul contactului A5, iar terminalele rămase în RAW și GND-ul Arduino (2),
La fotorezistor, scurtăm picioarele la 10mm și le lipim la terminalele GND și D2 ale plăcii (3).
Acum a venit timpul benzii de izolație de dublă față — o lipim pe suportul SIM-ului modulului de comunicație, iar deasupra — Arduino — butonul roșu (sau argintiu) este orientat către noi și se află deasupra SIM-ului.
Lipim alimentarea: plus de la condensatorul modulului de comunicație (4) la contactul RAW al Arduino.
Problema este că modulul de comunicație necesită o alimentare de 3.4-4.2V, iar contactul său PWR este conectat la un convertor step-down, așa că pentru a funcționa de la li-ion, trebuie să aplicăm tensiune ocolind această parte a circuitului.
În Arduino, dimpotrivă, alimentăm printr-un convertor liniar — pentru curenți mici, căderea de tensiune drop-out este de 0.1V.
Astfel, furnizând o tensiune stabilizată modulelor HX711, ne scutim de necesitatea ajustării pentru un voltaj mai mic (și de asemenea de creșterea zgomotelor ca urmare a acestei operațiuni).
Apoi, lipim punți (5) între contactele PWR-A1, URX-D4 și UTX-D5, „pământul” GND-G (6) și în final alimentarea din suportul bateriilor 18650 (7), conectăm antena (8).
Acum, luăm un convertor USB-TTL și conectăm cu fire Dupont la Arduino (placa 1) contactele RXD-TXD și TXD-RXD, GND-GND:

În fotografia de mai sus — prima versiune (din trei) a sistemului, care a fost utilizată pentru debugging.
Iar acum ne vom distrage de la sudură pentru o vreme și ne vom concentra pe partea software.
Voi descrie secvența de acțiuni pentru Windows:
În primul rând, este necesar să descărcăm și să instalăm/extragem programul — versiunea curentă — 1.8.9, dar eu folosesc 1.6.4
Pentru simplificare, extragem arhiva în folderul C:arduino-«numărul_dvs._versiune»; în interior, vom avea folderele /dist, drivers, examples, hardware, java, lib, libraries, reference, tools, și fișierul executabil arduino (pe lângă altele).
Acum avem nevoie de o bibliotecă pentru a lucra cu ADC — butonul verde „clone or download” — download ZIP.
Conținutul (folderul HX711-master) se plasează în catalogul C:arduino-«numărul_dvs._versiune»libraries
Și, bineînțeles, driverul pentru de pe același github — din arhiva extrasă, se lansează instalatorul cu fișierul SETUP.
Ok, lansăm și configurăm programul C:arduino-«numărul_dvs._versiune»arduino

Intrăm în secțiunea „Instrumente” - alegem placa „Arduino Pro or Pro Mini”, procesor Atmega 328 3.3V 8 MHz, port — numărul altul decât sistemul COM1 (apare după instalarea driverului CH340, când adaptorul USB-TTL este conectat)
Ok, copiem schița următoare (programul) și o inserăm în fereastra Arduino IDE
char phone_no[]="+123456789012"; // Your phone number that receive SMS with counry code
#include <avr/sleep.h> // ARDUINO sleep mode library
#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
byte pin2sleep=15; // Set powerON/OFF pin
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;
float readVcc() { // Read battery voltage function
long result1000;
float rvcc;
result1000 = analogRead(A5);
rvcc=result1000;
rvcc=6.6*rvcc/1023;
return rvcc;
}
void setup() { // Setup part run once, at start
pinMode(13, OUTPUT); // Led pin init
pinMode(2, INPUT_PULLUP); // Set pullup voltage
Serial.begin(9600);
mySerial.begin(115200); // Open Software Serial port to work with GSM-shield
pinMode(pin2sleep, OUTPUT);// Itit ON/OFF pin for GSM
digitalWrite(pin2sleep, LOW); // Turn ON modem
delay(16000); // Wait for its boot
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
//
mySerial.println("AT+CMGF=1"); // Send SMS part
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("V Bat= ");
mySerial.println(readVcc());
if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
delay(500);
mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
delay(3000);
//
raw02=raw00;
raw12=raw10;
raw22=raw20;
//scale0.power_down(); //power down all scales
//scale1.power_down();
//scale2.power_down();
}
void loop() {
attachInterrupt(0, NULL , RISING); // Interrupt on high lewel
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Set ARDUINO sleep mode
digitalWrite(pin2sleep, HIGH); // Turn OFF GSM-shield
delay(2200);
digitalWrite(pin2sleep, LOW); // Turn OFF GSM-shield
delay(2200);
digitalWrite(pin2sleep, HIGH);
digitalWrite(13, LOW);
scale0.power_down(); //power down all scales
scale1.power_down();
scale2.power_down();
delay(90000);
sleep_mode(); // Go to sleep
detachInterrupt(digitalPinToInterrupt(0)); // turn off external interrupt
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 )
{
digitalWrite(13, HIGH);
digitalWrite(pin2sleep, LOW); // Turn-ON GSM-shield
scale0.power_up(); //power up all scales
scale1.power_up();
scale2.power_up();
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;
delay(16000);
mySerial.println("AT+CMGF=1"); // Send SMS part
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("V Bat= ");
mySerial.println(readVcc());
if (readVcc()<3.5) {mySerial.print("!!! CHARGE BATTERY !!!");}
delay(500);
mySerial.println (char(26));//the ASCII code of the ctrl+z is 26
delay(3000);
}
}
În prima linie, în ghilimele char phone_no[]=”+123456789012”; — în loc de 123456789012 punem numărul nostru de telefon cu codul țării, pe care vor veni SMS-urile.
Acum apăsăm butonul de verificare (deasupra cifrei unu în captura de ecran de mai sus) — dacă mai jos (sub trei în captura de ecran) apare „Compilare finalizată” — atunci putem programa microcontrolerul.
Deci, USB-TTL este conectat la ARDUINO și la computer, plasăm bateria încărcată în suport (de obicei, pe o nouă ardună, LED-ul începe să clipească cu o frecvență de o dată pe secundă).
Acum, programarea — ne antrenăm să apăsăm butonul roșu (sau argintiu) al microcontrolerului — acest lucru trebuie să fie făcut exact într-un anumit moment!!!
Ești? Apasă butonul „Încărcați” (deasupra cifrei doi în captura de ecran) și urmărește cu atenție linia din partea de jos a interfaței (sub trei în captura de ecran).
Atunci când textul „compilare” se schimbă în „încărcare” — apăsăm butonul roșu (reset) — dacă totul este ok — pe adaptorul USB-TTL vor clipi luminile din fericire, iar în partea de jos a interfeței va apărea textul „Încărcat”
Acum, în timp ce așteptăm sosirea SMS-ului de test pe telefon, vă voi spune cum funcționează programul:

În fotografie — a doua versiune a standului de testare.
La prima pornire, sistemul compară biții numărul 500 și 501 EEPROM; dacă sunt egali, înseamnă că datele de calibrare nu sunt înregistrate, iar algoritmul trece la secțiunea de configurare.
Acelasi lucru se întâmplă dacă fotorezistorul este acoperit (cu un capac de stilou) la pornire - se activează modul de resetare a parametrilor.
Senzorii de tensiune trebuie să fie deja instalați sub stupi, deoarece fixăm pur și simplu nivelul inițial zero și apoi măsurăm schimbarea greutății (acum vor veni doar zerouri, deoarece nu am conectat încă nimic).
Pe Arduino, va începe să clipească LED-ul încorporat pe pinul 13.
Dacă resetarea nu se produce, LED-ul se aprinde timp de 12 secunde.
După aceea, se trimite un SMS de test cu mesajul „INITIAL BOOT OK” și tensiunea bateriei.
Modulul de comunicație se oprește, iar după 3 minute placa Arduino pune plăcile ADC HX711 în modul de somn și intră și ea în repaus.
Această întârziere este realizată pentru a nu captura interferențe de la modulul GSM în funcțiune (după oprire, în timpul scurt va „foniza”).
Apoi, începem să lucrăm cu întreruperea de pe fotorezistor pe pinul 2 (se utilizează un rezistor de pullup pentru plus).
După activare, starea fotorezistorului este verificată timp de încă 3 minute - pentru a exclude declanșările repetate/false.
Ce este interesant, fără nicio ajustare, sistemul se activează la 10 minute după apusul astronomic în vreme înnorată și la 20 în vreme senină.
Da, pentru ca la fiecare pornire să nu se facă un reset, trebuie să fie conectat măcar primul modul HX711 (pinii DT-D10, SCK-A0).
Apoi se citesc datele senzorilor de tensiune, se calculează schimbarea greutății față de ultima activare (primul număr din linia după Stup) și se verifică tensiunea bateriei, iar aceste informații sunt trimise prin SMS:

Apropo, ai primit SMS-ul? Felicitări! Suntem la jumătatea drumului! Poți scoate bateria din suport, nu mai avem nevoie de computer de acum înainte.
La subiect, centrul de control al zborurilor a ieșit atât de compact încât poate fi adăugat într-un borcan de maioneză; în cazul meu, s-a potrivit perfect o cutie semi-transparentă de dimensiuni 30x60x100mm (de la cărți de vizită).
Da, sistemul în stare de repaus consumă ~2.3mA - în proporție de 90% din cauza modulului de comunicație - acesta nu se oprește complet, ci trece în modul de așteptare.

Să începem fabricarea senzorilor, mai întâi vom aborda schema de amplasare a senzorilor:

Acesta este planul stupului - vedere de sus.
În mod clasic, se instalează 4 senzori la colțuri (1, 2, 3, 4).
Noi vom măsura altfel. Mai exact, conform unei a treia metode. Deoarece cei de la BroodMinder fac lucrurile diferit:

În această construcție, senzorii sunt montați în pozițiile 1 și 2, iar punctele 3 și 4 se bazează pe suport.
Atunci, senzorilor le revine doar jumătate din greutate.
Da, această metodă are o precizie mai mică, dar este totuși greu de imaginat că albinele ar construi toate ramele cu „limbile” din faguri de-a lungul unei pereți ai stupului.
Așadar, propun să aducem senzorii în punctul 5 — astfel, necesitatea de a ecraniza sistemul dispare, iar utilizând stupi ușori, ne putem descurca cu un singur senzor.

În total, au fost testate două tipuri de module pe HX711, două tipuri de senzori și două variante de conectare — cu un pod complet Wheatstone (2 senzori) și cu o jumătate, când a doua parte este completată cu rezistențe de 1k cu toleranță de 0,1%.
Dar ultima metodă nu este dorită și nu este recomandată nici măcar de către producătorii de senzori, așa că voi descrie doar prima.
Așadar, pentru un stup vom instala două celule de forță și un modul HX711, schema de conectare este următoarea:

De la placa ADC la Arduino se află 5 metri de cablu telefonic cu 4 fire — .
În general, lăsăm «cozi» de 8 cm la senzori, curățăm perechea răsucită și conectăm totul așa cum este arătat în poza de mai sus.
Înainte de a începe partea de tâmplărie, puneți ceara/parafina într-un recipient adecvat să se topească la bain-marie.
Acum luăm bușteanul nostru și-l tăiem în trei segmente de 100 mm.
Apoi marcăm canelura longitudinală cu o lățime de 25 mm și o adâncime de 7-8 mm, îndepărtând surplusul cu un fierăstrău și un dălți — ar trebui să obținem un profil în formă de P.
S-a încălzit ceara? — scufundăm plăcile noastre ADC în ea — aceasta le va proteja de umiditate/ceață:

Așezăm totul pe o fundație din lemn (este necesar să tratăm cu un antiseptic împotriva putrezirii):

Și în final, fixăm senzorii cu șuruburi autofiletante:

A existat și o variantă cu bandă adezivă albastră, dar din motive de umanitate, nu o prezint 😉
Din partea Arduino facem următoarele:
Curățăm cablurile telefonice, răsucim firele colorate între ele, le îmbăiem.
După aceea, le lipim la contactele plăcii așa cum se vede în fotografie:

Totul, acum pentru verificarea finală, punem senzorii pe sectoare de cerc, deasupra — un strat de furnir, resetăm controllerul (punem bateria cu capacul de la pix pe fotodiodă).
În acest proces, LED-ul de pe Arduino trebuie să clipească și să primească un SMS de test.
Apoi, scoatem capacul de pe fotoelement și mergem să umplem o sticlă de plastic de 1.5 litri cu apă.
Plasăm sticla pe placaj și, dacă au trecut deja câteva minute de la pornire, punem capacul înapoi pe fotorezistor (imulând un apus).
După trei minute, LED-ul de pe Arduino se va aprinde, iar dumneavoastră veți primi un SMS cu valori de greutate în jur de 1 kg la toate pozițiile.
Felicitări! Sistemul a fost construit cu succes!
Dacă acum forțăm sistemul să funcționeze din nou, atunci în prima coloană a greutății vor fi zero.
Da, în condiții reale, fotorezistorul ar trebui orientat vertical în sus.
Acum voi prezenta un scurt ghid de utilizare:
- Instalați senzorii de greutate sub pereții din spate ai stupilor (sub cei din față, puneți o bară/placă cu o grosime de ~30mm)
- Umbriți fotorezistorul și conectați bateria - LED-ul ar trebui să clipească și să primiți un SMS de test cu textul „INITIAL BOOT OK”
- Poziționați blocul central la o distanță maximă față de stupi, astfel încât cablurile să nu interfereze cu lucrul cu albinele.
În fiecare seară, după apus, va veni un SMS cu schimbarea greutății pe parcursul zilei și de la momentul activării.
Când tensiunea bateriei atinge 3.5V, SMS-ul se va încheia cu textul „!!! ÎNCĂRCAȚI BATERIA !!!”
Timpul de funcționare de la o baterie de 2600mAh este de aproximativ o lună.
În cazul înlocuirii bateriei, schimbările zilnice ale greutății stupilor nu sunt memorate.
UPD ATENȚIE!
ÎN CONDIȚII DE SEMNAL SLAB, modulul GSM își mărește puterea, ceea ce duce la RESTARTAREA SISTEMULUI.
Aceasta a fost descoperită în cadrul testelor „de teren” (nu este clar de ce utilizatorii de module GSM nu raportează astfel de probleme).
Acum pregătesc o nouă schemă:

După verificarea cu succes, această publicație va fi actualizată.
Electro-apicultorul Andrei.
Sursa: habr.com
