
Nie, to nie jest oferta komercyjna, to koszt komponentów systemu, który będziesz mógł złożyć po przeczytaniu artykułu.
Trochę historii:
Jakiś czas temu postanowiłem założyć pszczoły i rzeczywiście się pojawiły… na cały sezon, ale nie przetrwały zimy.
I to pomimo, że wydawało się, że wszystko robiłem dobrze — jesienne karmienie, ocieplenie przed zimnymi dniami.
Ul był klasyczny, drewniany systemu 'Dadant' na 10 ramek z deski o grubości 40 mm.
Ale tej zimy z powodu skoków temperatury nawet doświadczeni pszczelarze stracili znacznie więcej niż zwykle.
Tak pojawił się pomysł na system monitorowania stanu ula.
Po publikacji kilku artykułów na Habra i rozmowach na forum pszczelarzy, postanowiłem iść od prostego do skomplikowanego.
Waga to jedyny bezsporny parametr, ale zazwyczaj istniejące systemy monitorują tylko jeden 'referencyjny' ul.
Jeżeli coś jest nie tak (na przykład wylot roju, choroba pszczół), wyniki stają się nieaktualne.
Dlatego postanowiono obserwować zmiany wagi od razu trzech uli jednym mikrokontrolerem, a inne 'dodatki' dodać później.
W rezultacie powstał autonomiczny system o czasie pracy około miesiąca na jednym ładowaniu baterii 18650 i wysyłaniu statystyk raz dziennie.
Konstrukcję starałem się maksymalnie uprościć, aby można ją było powtórzyć nawet bez schematów, tylko na podstawie zdjęć.
Logika działania jest następująca: przy pierwszym uruchomieniu/resetowaniu zapisywane są w EEPROM odczyty z czujników zamontowanych pod ulami.
Następnie, każdego dnia, po zachodzie słońca system 'budzi się', odczytuje wyniki i wysyła SMS z informacjami o zmianie wagi za dobę i od momentu włączenia.
Dodatkowo przesyłana jest wartość napięcia baterii, a przy spadku do 3.5V wydawane jest ostrzeżenie o konieczności naładowania, ponieważ poniżej 3.4V moduł komunikacji się nie włącza, a wyniki wagi już 'pływają'.
'Pamiętasz, jak to wszystko się zaczęło. Każde było po raz pierwszy i na nowo.'

Tak, dokładnie taki zestaw 'sprzętu' był na początku, chociaż do końcowej wersji przetrwały tylko czujniki tensometryczne i przewody, ale o wszystkim w swoim czasie.
Tak naprawdę, potrzebna nie będzie rolka kabla, po prostu okazała się w tej samej cenie, co 30 m na odcinki.
Jeśli nie boisz się demontażu 3 diod SMD i pół setki punktów zwykłego (wyprowadzanego) lutowania — to do dzieła!
Zatem potrzebujemy następującego zestawu sprzętu/materiałów:
- Arduino Pro Mini 3V
Należy zwrócić uwagę na układ scalony stabilizatora liniowego — musi być dokładnie na 3.3V — z oznaczeniem KB 33/LB 33/DE A10 — moi Chińczycy coś pomylili i cała partia
płyt w sklepie okazała się mieć regulator 5-woltowy i kwarce na 16MHz. - USB-Ttl na chipie CH340 — można nawet użyć 5-woltowego, ale wtedy w trakcie programowania mikrokontrolera, Arduino będzie trzeba odłączyć od modułu GSM, aby nie uszkodzić ostatniego.
Płytki z chipem PL2303 nie działają pod Windows 10. - Moduł komunikacji GSM Goouu Tech IOT GA-6-B lub AI-THINKER A-6 Mini.
Dlaczego zdecydowałem się na niego? Neoway M590 — konstruktor, wymagający specjalnych zabiegów, GSM SIM800L — nie przypadł mi do gustu niestandardowy poziom logiki 2.8V, wymagający zgodności nawet z trzyvoltowym Arduino.
Ponadto rozwiązanie od AiThinker charakteryzuje się minimalnym zużyciem energii (podczas wysyłania SMS-a nie widziałem prądu wyższego niż 100mA). - Antena GSM GPRS 3DBI (na zdjęciu powyżej — prostokątna płytka z 'ogonem', o godzinie 9)
- Starter operatora, który ma dobre pokrycie w lokalizacji Twojej pasieki.
Tak, pakiet należy najpierw aktywować w zwykłym telefonie, WYŁĄCZYĆ ZAPYTANIE PIN przy wejściu i doładować saldo.
Obecnie jest wiele opcji z nazwami w stylu 'Czujnik', 'IoT' — mają nieco niższą opłatę abonamentową. - Przewód dupont 20cm mama-mama — 3 szt. (do podłączenia Arduino do USB-TTL)
- 3 szt. HX711 — ADC dla wag
- 6 czujników tensometrycznych o udźwigu do 50kg
- 15 metrów czteroprzewodowego kabla telefonicznego — do połączenia modułów wagowych z ARDUINO.
- Fotorezystor GL5528 (ważne, że taki, z oporem w ciemności 1MΩ i w świetle 10-20kΩ) oraz dwa zwykłe rezystory na 20k
- Kawałek dwustronnej 'grubej' taśmy klejącej 18x18mm — do przymocowania Arduino do modułu komunikacyjnego.
- Uchwyt na baterie 18650 i sama bateria ~2600mAh.
- Trochę wosku lub parafiny (świeca-tabletka do aromalampy) — do zabezpieczenia wilgoci HX711
- Kawałek drewnianego klocka 25x50x300mm do podstawy czujników tensometrycznych.
- Tuzin wkrętów z podkładką 4,2x19 mm do mocowania czujników do podstawy.
Baterię można wziąć z laptopów — znacznie taniej niż nowa, a pojemność będzie znacznie wyższa niż w chińskiej UltraFire — udało mi się uzyskać 1500 w porównaniu do 450 (to u Fire'a 6800 😉
Oprócz tego będą potrzebne proste ręce, lutownica EPSN-25, kalafonia i lutowie POS-60.

Jeszcze 5 lat temu korzystałem z radzieckiego lutownicy z miedzianym grotem (właśnie nie spodobały mi się stacje lutownicze — brałem na testy i kończyłem schemat EPSN-em).
Jednak po awarii i kilku chińskich strasznych podróbek, ostatnia nazywała się Sparta — rzecz tak samo surowa, jak jej nazwa, zatrzymałem się
na produkcie z termoregulatorem.
No to zaczynamy!

Na początek, wyjmujemy z modułu GSM dwie diody LED (miejsce, gdzie się znajdowały, zaznaczone pomarańczowym owalem)
Wkładamy kartę SIM stykami do płytki drukowanej, ścięty narożnik na zdjęciu oznaczony jest strzałką.

Następnie wykonujemy podobną procedurę z diodą LED na płytce Arduino (oval po lewej stronie kwadratowego chipu),
Lutujemy złącze na cztery styki (1),
Bierzemy dwa rezystory 20k, skręcamy końcówki z jednej strony, lutujemy skrętkę w otworze styku A5, pozostałe końcówki do RAW i GND Arduino (2),
Fotorezystor przycinamy do 10 mm i lutujemy go do styków GND i D2 płytki (3).
Teraz przyszedł czas na niebieską taśmę dwustronnego kleju — przyklejamy ją do uchwytu karty SIM modułu komunikacyjnego, a na górze — Arduino — czerwona (srebrna) przycisk zwrócony do nas i znajduje się nad kartą SIM.
Lutujemy zasilanie: plus z kondensatora modułu komunikacyjnego (4) do styku RAW Arduino.
Faktem jest, że sam moduł komunikacyjny wymaga do swojego zasilania 3.4-4.2V, a jego styk PWR jest podłączony do przetwornika obniżającego, dlatego by działać z li-ion, napięcie należy podać omijając tę część obwodu.
W Arduino zaś, przeciwnie, podłączamy zasilanie przez przetwornik liniowy — przy małych poborach prądu, spadek napięcia wynosi 0.1V.
Za to, podając stabilizowane napięcie do modułów HX711, pozbywamy się potrzeby ich modyfikacji pod mniejsze napięcie (i od razu również od zwiększenia szumów w wyniku tej operacji).
Następnie lutujemy zworki (5) między stykami PWR-A1, URX-D4 i UTX-D5, „ziemię” GND-G (6) oraz na koniec zasilanie z uchwytu baterii 18650 (7), podłączamy antenę (8).
Teraz bierzemy przetwornik USB-TTL i łączymy przewodami Dupont z ARDUINO (złącze 1) styki RXD-TXD i TXD-RXD, GND-GND:

Na powyższym zdjęciu — jeszcze pierwsza wersja (z trzech) systemu, który był używany do debugowania.
A teraz na chwilę odłożymy lutownicę i przejdziemy do części programowej.
Będę opisywać sekwencję działań dla Windows:
Po pierwsze, należy pobrać i zainstalować/rozpakować program. — bieżąca wersja — 1.8.9, ale ja używam 1.6.4
Dla uproszczenia rozpakowujemy archiwum do folderu C:arduino-«numer_twojej_wersji», wewnątrz znajdziemy foldery /dist, drivers, examples, hardware, java, lib, libraries, reference, tools oraz plik wykonywalny arduino (oprócz innych).
Teraz potrzebujemy biblioteki do pracy z ADC — zielony przycisk „clone or download” — pobierz ZIP.
Zawartość (folder HX711-master) umieszczamy w katalogu C:arduino-«numer_twojej_wersji»libraries
No i oczywiście sterownik do z tego samego githuba — z rozpakowanego archiwum uruchamia się instalator plikiem SETUP.
Ok, uruchamiamy i konfigurujemy program C:arduino-«numer_twojej_wersji»arduino

Wchodzimy w punkt „Narzędzia” - wybieramy płytkę „Arduino Pro lub Pro Mini”, procesor Atmega 328 3.3V 8 MHz, port — numer inny niż systemowy COM1 (po zainstalowaniu sterownika CH340 przy podłączonym adapterze USB-TTL pojawia się COM1).
Ok, kopiujemy poniższy szkic (program) i wklejamy go w oknie 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);
}
}
W pierwszym wierszu, w cudzysłowie char phone_no[]=„+123456789012”; — zamiast 123456789012 wpisujemy swój numer telefonu z kodem kraju, na jaki będą przychodziły SMS.
Teraz klikamy przycisk sprawdzenia (nad cyfrą jeden na zrzucie ekranu powyżej) — jeśli na dole (pod trójką na zrzucie) pojawi się „Kompilacja zakończona” — możemy wgrać program do mikrokontrolera.
Tak, USB-TTL podłączony do ARDUINO i komputera, wkładamy naładowany akumulator do uchwytu (zwykle na nowej arduino zaczyna migać dioda LED z częstotliwością raz na sekundę).
Teraz wgrywanie — ćwiczymy naciskanie czerwonego (srebrnego) przycisku mikrokontrolera — należy to zrobić dokładnie w odpowiednim momencie!!!
Czy jest? Naciskamy przycisk „Wgraj” (nad dwójką na zrzucie ekranu), i uważnie patrzymy na linijkę na dole interfejsu (pod trójką zrzutu).
Jak tylko napis „kompilacja” zmieni się na „ładowanie” — naciskamy czerwony przycisk (reset) — jeśli wszystko jest w porządku — na adapterze USB-TTL zaczną radośnie migać światełka, a na dole interfejsu pojawi się napis „Wgrano”
Teraz, póki czekamy na przyjście testowego SMS na telefon, opowiem jak działa program:

Na zdjęciu — druga wersja stanowiska testowego.
Przy pierwszym włączeniu system porównuje bajty numer 500 i 501 EEPROM, jeśli są równe, oznacza to, że dane kalibracyjne nie zostały zapisane, a algorytm przechodzi do sekcji konfiguracji.
To samo dzieje się, gdy fotorezystor jest zasłonięty (zakrętką od długopisu) — aktywuje się tryb resetowania parametrów.
Czujniki tensometryczne powinny być już zainstalowane pod uli, ponieważ po prostu rejestrujemy początkowy poziom zerowy i następnie mierzymy zmianę wagi (na razie przyjdą same zera, ponieważ nic jeszcze nie podłączyliśmy).
Na Arduino zacznie migać wbudowana dioda LED na pinie 13.
Jeśli Reset się nie następuje, dioda LED zapali się na 12 sekund.
Po tym wysyłana jest testowa wiadomość SMS z komunikatem „INITIAL BOOT OK” oraz napięciem baterii.
Moduł komunikacyjny wyłącza się, a po 3 minutach płytka Arduino przełącza płytki ADC HX711 w tryb uśpienia i sama zasypia.
Taki czas opóźnienia wprowadzono, aby nie łapać zakłóceń od działającego modułu GSM (po wyłączeniu przez jakiś czas 'szumi').
Dalej mamy przerwanie z fotorezystora na drugim pinie (z włączonym podciągnięciem do plusa przy pomocy funkcji pullup).
Przy tym, po aktywacji przez jeszcze 3 minuty sprawdzany jest stan fotorezystora — aby wyeliminować powtarzające się/fałszywe aktywacje.
Co ciekawe, bez żadnych ustawień system uruchamia się 10 minut po astronomicznym zachodzie słońca w pochmurną pogodę i po 20 w słoneczną.
Tak, aby przy każdym włączeniu system nie resetował się, musi być podłączony przynajmniej pierwszy moduł HX711 (piny DT-D10, SCK-A0).
Następnie odczytywane są wartości czujników tensometrycznych, obliczana jest zmiana wagi w porównaniu do poprzedniego wyzwolenia (pierwsza liczba w wierszu po Hive) oraz od pierwszego włączenia, sprawdzane jest napięcie baterii, a te informacje są przesyłane jako SMS:

Przy okazji, otrzymaliście SMS? Gratulacje! Jesteśmy w połowie drogi! Baterię można na razie wyjąć z oprawki, komputer nie będzie już potrzebny.
Dodam, że centrum kontroli lotów wyszło na tyle kompaktowe, że można je zmieścić w słoiczku po majonezie, w moim przypadku idealnie pasowała półprzezroczysta pudełko o rozmiarze 30x60x100mm (od wizytówek).
Tak, śpiący system pobiera ~2.3mA — w 90% z powodu modułu komunikacyjnego — nie wyłącza się całkowicie, a przechodzi w tryb oczekiwania.

Przystępujemy do wytwarzania czujników, najpierw omówimy układ rozmieszczenia sensorów:

To plan ula — widok z góry.
Klasycznie instaluje się 4 czujniki w rogach (1,2,3,4)
Będziemy mierzyć w inny sposób. A dokładniej wręcz w trzeci sposób. Ponieważ inaczej działają chłopaki z BroodMinder:

W tej konstrukcji czujniki są zainstalowane na pozycjach 1 i 2, punkty 3, 4 opierają się na belce.
Wtedy na czujnikach spoczywa tylko połowa wagi.
Tak, ta metoda ma mniejszą dokładność, ale trudno sobie wyobrazić, aby pszczoły wypełniły wszystkie ramki 'językami' z plastrów wzdłuż jednej ścianki ula.
Tak więc proponuję całkowicie zredukować czujniki do punktu 5 — wtedy nie ma potrzeby ekranowania systemu, a przy użyciu lekkich uli można się obyć nawet z jednym czujnikiem.

Ogólnie przetestowano dwa rodzaje modułów na HX711, dwa rodzaje czujników i dwa warianty ich połączenia — z pełnym mostkiem Wheatstone'a (2 czujniki) i z połówką, gdy druga część jest uzupełniana rezystorami 1k o tolerancji 0.1%.
Jednak ostatnia metoda jest niepożądana i niezalecana nawet przez producentów czujników, dlatego opiszę tylko pierwszą.
Zatem na jeden ul będziemy instalować dwa tensometry i jeden moduł HX711, schemat połączeń jest następujący:

Od płytki ADC do Arduino idzie 5 metrów czterożyłowego kabla telefonicznego — .
Ogólnie zostawiamy na czujnikach "ogonki" po 8 cm, obdzieramy skrętkę i wszystko lutujemy jak na powyższym zdjęciu.
Zanim zaczniemy część stolarską, umieść wosk/parafinę w odpowiednim naczyniu, aby topniały w kąpieli wodnej.
Teraz bierzemy naszą belkę i dzielimy na trzy odcinki po 100 mm.
Następnie zaznaczamy podłużny wpust o szerokości 25 mm, głębokości 7-8 mm, przy pomocy piły i dłuta usuwamy zbędne materiały — powinien wyjść profil w kształcie litery p.
Wosk się nagrzał? — zanurzamy w nim nasze płytki ADC — to ochroni je przed wilgocią/mgłą:

Umieszczamy to wszystko na drewnianej podstawie (konieczne jest zabezpieczenie środkiem przeciwgrzybiczym):

No i w końcu, mocujemy czujniki wkrętami:

Była jeszcze opcja z niebieską taśmą klejącą, ale z powodów humanitarnych jej nie przedstawiam 😉
Od strony Arduino robimy następujące:
Obdzieramy nasze kable telefoniczne, kolorowe żyły skręcamy ze sobą, lutujemy.
Po tym lutujemy do styków płytki jak na zdjęciu:

Wszystko, teraz do ostatecznej kontroli, ustawiamy czujniki według sektorów okręgu, na górze — kawałek sklejki, resetujemy kontroler (wkładamy baterię z nałożonym na fotodiody kapturkiem od długopisu).
W tym czasie dioda LED na Arduino powinna migać, a do Ciebie powinna przyjść testowa SMS.
Następnie zdejmujemy z fotoelementu osłonę i idziemy napełnić wodę do plastikowej butelki o pojemności 1,5 litra.
Stawiamy butelkę na sklejce i jeśli upłynęło już kilka minut od włączenia, zakładamy z powrotem osłonę na fotorezystor (imitując zachód słońca).
Po trzech minutach dioda LED na Arduino zapali się, a Ty powinieneś otrzymać SMS z wartościami wagi wynoszącymi około 1 kg na wszystkich pozycjach.
Gratulacje! System został pomyślnie zbudowany!
Jeśli teraz zmusisz system do działania ponownie, w pierwszej kolumnie wagi pojawią się zera.
Tak, w rzeczywistych warunkach fotorezystor powinien być skierowany pionowo ku górze.
Teraz przedstawiam krótki przewodnik użytkowania:
- Zainstalować czujniki tensometryczne pod tylnymi ściankami uli (pod przednimi podłożyć belkę/deskę o grubości ~30mm)
- Zacienić fotorezystor i podłączyć akumulator — dioda powinna migać, a do Ciebie powinna przyjść testowa SMS z tekstem «INITIAL BOOT OK»
- Umieścić centralną jednostkę w maksymalnej odległości od uli, aby kable nie przeszkadzały podczas pracy z pszczołami.
Każdego wieczoru, po zachodzie słońca, będzie przychodzić SMS z informacją o zmianie wagi za dobę oraz od momentu uruchomienia.
Po osiągnięciu napięcia akumulatora wynoszącego 3,5V, SMS zakończy się linią „!!! NAŁADUJ AKUMULATOR !!!”
Czas pracy na jednym akumulatorze o pojemności 2600mAh wynosi około miesiąca.
W przypadku wymiany akumulatora, dobowe zmiany wagi uli nie są zapamiętywane.
UPD OSTRZEŻENIE!
W WARUNKACH SŁABEGO SYGNAŁU, moduł GSM zwiększa moc, co prowadzi do RESTARTU SYSTEMU
Okazało się to w trakcie „polowych” testów (niejasne, dlaczego użytkownicy modułów GSM nie zgłaszają takich problemów).
Aktualnie przygotowuję nową schemat:

Po pomyślnym sprawdzeniu, ta publikacja zostanie zaktualizowana.
Elektropszczelarz Andrzej.
Źródło: habr.com
