Sistem informatic pentru gestionarea unei ferme apicole monitorizate online [612852]
1
Sistem informatic pentru gestionarea unei ferme apicole monitorizate online
1.1 Introducere. Problematica gestionarii unei ferme apicole.
Ce este o ferma apicola
Greutatea de a gestiona lucrarile apicole
Monitorizarea electronica pentru a creste eficienta…
Optimizarea transportului facut de terti pentru mobilitatea unor ferme containerizate
1.2 Tehnologii software si hardware folosite:
FLASK, MySQL, ANDROID, Python, Arduino, C
1.3 Aplicatia Albinuta Mea
Proiectare (scheletul, diagrama er la bd si nu numai, user ), e ventuale interconectari cu
el) descrierea fiecarui subsistem
Implementarea aplicatiei (secvente de cod, probleme intampinate si rezolvarea lor)
Urcare pe GITHUB si referinta catre ea;
Manual de utilizare (ss, etape, descriere) crearea unei prezentari video cu link in care
se utilizeaza app
Componenta care genereaza alerte in cazul in care stupul este miscat
1.4 Concluzii si directii vitoare de dezvoltare:
–- as folosi alt framework
–- as schimba tehnologia de conexiune
–- mai multe cutii pe stup, crearea unei harti a cutiilor, harti ale stupinei
1.5 Bibliografie
2
1. Introducere. Problematica gestionării unei ferme apicole
1.1 Ce este o fermă apicolă
Pentru a putea oferi o definiție cât mai corectă a fermei apicole, mai întâi vom încerca să
definim separat cei doi termeni.
Termenul fermă conform dex -ului este o exploatație agricolă care poate fi privată sau de
stat, cu profil vegetal, zootehnic sau mixt, alcătuită dintr -un teren sau mai multe , amenajări,
construcții , utilaje, etc, necesare activității desfășurate. Cu alte cuvinte ferma reprezintă un
cumul de ustensile care folosite în mod avantajos duc la obținerea de produse finite cu scopul
comercializării lor sau a utilizării proprii.
Termenul apicol provine din fr ancenzul “apicole” care se referă la apicultură. Apicultura
(din latinescul apis) este știința creșsterii și îngrijirii albinelor, aceasta este o ramură a
zootehniei. Scopul acestei științe este de a obține producții apicole cantitative si calitative și a
creșterii producției de semințe la plantele agricole entomofile.
Totuși primul contact al oamenilor cu această știință nu a avut ca obiective cele menționate mai
sus. Încă din cele mai vechi timpuri omul a căutat cuiburi de albine sălbatice și a luat miere a
cu scopul de a se hrăni . Cea mai veche inscripție despre această activitate datează din perioada
6000 Î.Hr., aceasta se constituie dintr -un desen pe o piatră fiind găsită lângă Valencia, Spania.
Acest desen pare a reprezenta o persoana care ia miere dint r-o grotă situată în fața unei stânci.
Apicultorii au apărut de mai bine de 4500 ani și au folosit stupi de unde puteau recolta miere.
Odată cu trecerea timpul ui, la fel cum toate tehncile s -au moderniza t, această ocupație a devenit
o știință și a adus nou tăți care au crescut producția de miere dar oferind și posibilitatea de a
folosi alte materii pe care albinele le folosesc.
Apicultura a suferit diverse modificări în timp aceasta fiind impărțită în două mari categorii:
apicultura tradițională si apicultur a modernă.
Cea tradițională a fost marcată de
folosirea stupilor orizon tali, vorb im de
anii 2500 Î.Hr., stupi foarte apropiați de
cei găsiți și în zilele noastre doar că în
regiuni izolate fără acces la informații .
Stupii veriticali, au fost folosiți și ei în
această perioadă doar că aceștia nu erau
eficienți deoarece accesul la miere de
cele mai multe ori provoca omorârea
familiilor de albine prin a sfixierea
acestora sau prin afumarea cu sulf.
Acest tip de stup a fost folosit în nordul
munților Alpi și în Caucaz, aceștia erau
realizați din bușteni verticali, având
chiar și o usă laterală pentru a facilita
accesul.
Dupa cum am menționat mai sus, diferența între tipul de stupi folosit este dată de ușurința
cu care se face accesul la miere fără a deranja albinele. Abia începând cu anii 1600 -1700
științele au început să capete experiență și a se pune fundamentele teoret ice asupra anatomiei
Figură 1 – Stupi orizontali din regiunea Fada N'Gourma
sursa: wikiwand.com
3
albinelor, unde se produce puietul și ceara, faptul că albinele transportă nectarul, polenul și
propolisul de la plante. Problema acelor vremuri era că informația descoperită într -o anumită
zonă, cum ar fi Europa rămânea acolo, iar cel elalte zone trebuiau să descopere singure același
lucru , eventual sub o formă diferită , ceea ce duce a la decalaje de ti mp iar evoluția fiind
întârziată . Această problemă fiind întâlnită în toate domeniile nu doar în cel al apiculturii .
Apicultura modernă a oferit spre utilizare a stupilor ficși în care albinele construiau faguri.
În anul 1680 Sir George Wheler a descris în cartea sa, A journey into Greece, stupul regăsit în
Grecia. Aici acesta a regăsit, la mănăstirea Sfântul Cyriacus, un mod de a construi stupii.
Aceștia semănau cu niste ghivece de flori, care aveau niște rame deasupra fără a fi lipite pentru
a putea fi scoase una câte una. Acești stupi permiteau călugărilor să facă operațiuni de:
inspectare și manevrare a familiilor de albine atunci când a cestea erau plecat după hrană,
controlau roitul, recoltau mierea fără să distrugă ramele.
Acum , după ce am aflat ce este apicultura, ce este o fermă, putem oferi o definitie a fermei
apicole. Ferma apicolă reprezintă o exploatație agricolă cu profil zootehnic, care are scopul
principal de a produce miere și celelalte rezultate de pe urma albinelor , cum ar fi: ceară, polen,
lăptișor, propolis, venin și polenizarea florilor.
Pentru a înțelege importanța ferme apicole numai din perspectiva acțiunii de polenizare a
plantelor putem lua exemplu studiul de la Universitatea Goettingen din Germania, acolo un de
au fost comparate căpșunile obținute prin polenizarea prin trei metode difierite; aceste trei
forme sunt: de către albine, vânt sau prin autopolenizare. Concluziile au fost că fructele care
au fost polenizate de albine aveau o greutate mai mare cu 11% d ecat cele polenizate prin alte
metode în același timp și multe alte avantaje.
România se află printre țările care produc peste 20.000 de tone de miere anual, la fel ca
Germania, Spania. China este țara care produce cea mai mare cantitate de miere și anume
502.614 tone, iar Turcia 105.532 de tone. Aceste date fiind distribuite de către site-ul
europarl.europa.eu 1. Tot în acest comunicat se arată că în total, Uniunea Europeană, adună
aproximativ 600 de mii de apicultori și peste 17 milioane de stupi producând peste 250.000 de
tine de miere pe an.Din aceiași sursă, mai sus menționată, se specifică informații precum prețul
unui kilogram de miere importat în UE, în 2016 care este de 2,23 euro, în timp ce prețul de
imprt este 5,69 euro, o altă informație important ă este și faptul că UE a importat aproximativ
200.000 de tone de miere. Din aceste informații reiese faptul că mierea este un produs aflat la
mare căutare iar concurența nu este una foarte ridicată. Uniunea Europeană dorește să vină în
ajutorul apicultoril or cu scopul de a crește cantitatea de miere produsă, ajutându -i pe aceștia cu
diverse subvenții, cadru legislativ care să -i proteje. Autoritățile înțeleg necesitatea dezvoltării
sectorului apicol pentru agricultură, alimentație și biodiversitate. Astfel c omunitatea europeană
dorește interzicerea utilizării a pesticidelor dăunătoare albinelor.
Mierea pe lângă utilizarea sub formă de produs alimentar, aceasta este util izată și pe post
de componentă î n domeniul farmaceutic, dar și a pentru îngrijirea pielii sau a părului. Nu doar
mierea este folosită pentru alte domenii. Și alte produse ce se pot obține de pe urma muncii
albinelor sunt folosite, cum ar fi: polenul, păstura este un produs foarte greu de preluat deoarece
aceasta se produce în cantități mici, da r este de 3 ori mai bogată în vitamine de cât polenul ;
lăptișorul de matcă numit și elixirul tinereții și se presupune că previne maladia Alzheimer;
ceară, căpăceală, veninul de albine, apilarnil, fagure de miere sunt alte câteva exemple pe care
stupii de albine ni le furnizează și reprezintă o sursă de sănătate sau venit în plus.
1 https://www.europarl.europa.eu/news/ro/headlines/economy/20180222STO98435/piata -mierii -din-ue-in-cifre-
infografic
4
1.2 Greutatea de a gestiona lucră rile apicole
Ca orice știință, apicultura a trecut prin mai multe etape până a ajunge în forma de astăzi.
Problemele apiculturii nu sunt rezolvate în totalitate, dacă acum două mii de ani problema în
această ocupație era cum să iei mierea fără a face rău familiei de albine , deoarece la început
recoltarea mierii presupunea uciderea familie de albine. A cum s -a ajuns la probleme de
eficientizare a costuri lor de producție, a cantității de producție, a acoperirii terenurilor care au
nevoie de polenizarea florilor, toate acestea având ca scop obținerea unei cantități cât mai mare
de miere cu un efort cât mai mic cu putință; bineînteles că în cazul societățilo r care se ocupă
de producerea și comercializarea acestui produs scopul este de mărire a profitului.
Pentru a putea benef icia de o eficiență în producția de miere este necesar, pentru o fermă,
să aibă familii de albine sănătoase și rezistente. Pentru a putea întruni această necesitate trebuie
parcurse o serie de lucrări apicole pe tot parcusul anului. Dar acest lucru nu este suficient, chiar
și în cazul în care fam iliile de albine sunt sănătoase dar sunt la o distanță mare de câmpurile cu
hrană acestea vor fi mai puțin eficiente în producție.
Dacă în cazul apicultorilor care produc miere la nivel mai mic greutatea gestionării acestor
activități nu este atât de mere, atunci în cazul apicultorilor care au mii de stupi în gestiune acest
efort este direct proporțional cu numărul de stupi. De menționat, în cazul fermelor apicole este
o ierhie generală. Stupii sunt asezați în stupine, iar stupinele formează ferma apicolă. Practic o
mulțime de stupi situați în aceiași locație formează o stupină. O astfel de erarhizare favorizează
gestiunea fermelor apicole deoarece majoritatea lucrărilor se realizează la nivel de stupină,
adică pentru toți stupii deodată.
Fiecare stup are ne voie de câte două -trei intervenții lunare, gestionarea unor astfel de lucrări
poate fi anevoiasă, deoarece anumiț i stupi necesită intervenții di firete, iar pentru a putea ține
cont de toate necesitățile e ste nevoie de notarea tuturor intervențiilor făcute la nivel de fiecare
stup și stupină pentru ca mai apoi să se cunoască ce s -a făcut în prealabil . Pe baza acestor
cunoștințe luându -se decizia de ce urmează a se face de către stupar2. Cele mai importante
lucrări ce se realizează cu regularitate și în cazul stupinelor sunte reprezentate de tratamente,
controale veterinare și hrănire.
O bună gestionare a informațiilor într -un format electronic poate oferi pe lângă anumite
rapoarte generate pe baza informațiilor deținute și posibilitatea de previziona anumite probleme
ce pot să apară pe baza datelor culese deja. Un apicultor cu experiență, ajutându -se de
instrumente moderne, poate să eficientizeze într -un procent ridicat producția prin evitarea
anumitor probleme ce ar putea să apară der previzionate cu suficien t timp înainte cât să permită
evitarea unei astfel de probleme. Pe lângă previzionare, se mai adăugă și ajutorul furnizat în
luarea unei decizii corecte, deoarece e mult mai simplu să iei o decizie în baza unor informații
în prealabil decât fără.
Pe lângă lucrările ce trebuie realizate există și problema mutării stupinelor dintr -o locație
în alta, fapt necesar pentru a eficientiza producția de produse apicole dar și pentru a poleniza
plante. În funcție de perioadele din an stupinele trebuie mutate în divers e locații cu scopul de a
le furniza hrana necesară. Dar prin hrănirea albinelor se poate urmări și procesul dezvoltării
plantelor prin polenizarea lor. Acest lucru este destul de greu de gestionat în cazul apicultorilor
ce au sute sau chiar mii de stupine în subordine.
După cum am demonstrat în rândurile de mai sus, este clar că inexistența unui registru în
care să se stecheze informațiile face aproape imposibilă dezvoltarea unei ferme apicole.
2 STUPÁR, stupari, s. m. Apicultor, prisăcar. (DEX)
5
1.3 Monitor izarea electronică pentru a crește eficienț a
Științele a u fost și sunt într-o continuă evoluție, în aceiași situație se află și domeniul IT.
Acolo unde odată cu creearea aplicațiilor în diferite domenii s -au realizat diverse utilitare și
pentru domeniul apicol. Astfel aplicații și dispozitive create inițial pen tru alte activități și -au
găsit rapid aplicabilitatea în domeniul apicol.
Când este folosit un sistem de monitorizare electronic, aproximările și presupunerile nu își
mai au locul în deciziile ce privesc activitatea desfășurată fie că vorbim de domeniul ap icol sau
oricare altul. În schimb, culegerea și stocarea informațiilor relevante , în aplicații specializate ,
vor reduce volumul de muncă, dar va crește eficiența acesteia, dar și a angajaților care lucrează
în cadrul fermei. O listă cu avantajele create de aceste aplicații și instrumente ar suna astfel:
reducerea consumului de combustibil, evidența operațiunilor , monitorizarea activităților,
informații de ordin meteorologic, rapoarte grafice.
Existența anumitor instrumente care să ofere informațiile necesare prin simpla accesare din
confortul casei sau de la birou, poate genera scăderi ale costurilor de necrezut. Deoarece prin
aceste metode se economisesc atât resurse financiare dar cât și de timp. Sigur că aceste
instrumente necesită o investiție în prealabil, dar în cazul fermelor apicole cu un efectiv mare
de stupine, această investiție ar fi amortizată foarte repede.
La fel ca în oricare industrie odată ce tehnologia a fost implementată cantitatea de producție
a crescut, iar costurile s -au micșorat , acest fapt datorându -se eficienței cu care lucrează un soft
comparativ cu munca unei persoane.
Păstrarea informațiilor în mod electronic este facilă, deoarece datele se pot structura cu
ușurință putându -se să se trăgă concluzii corecte pe baza datelor. P e lângă acest beneficiu mai
este și posibilitatea ca aceste date stocate în format electronic se pot salva și copia pe diferite
dispozitive fiind la îndemână oriunde și oricând.
Existența anumitor aplicații încearcă rezolvarea problemelor întâmpinate la ca pitolele
anterioare, printre care regăsim problema gestionării lucrărilor realizate de către stupar.
Această problemă este rezolvată de utilizarea unei baze de date, aceasta putând stoca totalit atea
informațiilor necesare stuparului după modul în care el d orește . Dar această soluție nu este una
facilă pentru un utilizat or normal, deoarece necesită deținerea anumitor cunoștințe de
specialitate ceea ce poate îngreuna situație iar lipsa experienței de lucru cu astfel de programe
pot provoca probleme mari, chia r și pierderea datelor .
Odată cu evoluția tehnologiei au început să apară și aplicații de specialitate pentru domeniul
apicol, care să poată fi utilizate de utilizatori i cu minimum de cunoștințe. Momentan aceste
aplicații pot salva stupii, lucrările realiz ate, dar aces tea au minusuri la nivel de gestiune a
stupilor și a stupinelor, probleme de localizare a acestora și multe alte deficiențe care momentan
nu sunt rezolvate.
Monitorizarea electronică aduce și un avantaj din perspectiva prieteniei cu mediul
înconjurător. Odată cu apelarea la practicile monitorizării electronice, numărul deplasările de
la un punct la altul se reduc, deoarece informațiile sunt furnizate de către dispozitivele
electronice. Acest avantaj se resimte mai ales în cazul fermelor apicole , deoarece în cazul
fermelor mari, stupinele sunt poziționate în diverse locații, iar pentru verificarea stării stupilor
este necesară deplasarea la fiecare stupină de către apicultor, pentru a verifica care este
temperatura, cât de rece este noaptea sau c ât de mult a plouat în ultimele zile, acestea fiind
informații necesare păstrării în condiții bune ale stupinelor. Astfel prin implementarea anumitor
instrumente tehnologice, apicultorul va putea afla toate informațiile necesare mult mai rapid și
fără să f ie necesar să se deplaseze la stupina respectivă.
6
1.4 Optimiz area transportului facut de terț i pentru mobilitatea unor ferme
containerizate
Alegerea modului de transport, a distaț ei, a rutei sunt elemente importante atunci când
vorbim de costuri ce se adaugă la costul de producție. Fiecare societate sau întreprindere fac
studii și verificări multiple pentru identificarea celei mai bune rute. Eșecul în identificarea celei
mai potrivite metode sau rute de transport poate produce măriri ale costului de trnaspor t, un
lucru nedorit. Din Economie extragem că în orice sistem de producție transportul joacă un rol
foarte important, deoarece acesta alimentează sistemul de producție iar mai apoi distrbuie
marfa. În această situație se află și apicultorii, chiar dacă vor bim doar de o componentă dintr –
un ansamblu al sistemului de producție și anume transportul, deoarece este foarte important ca
stupinele să fie mutate la momentul necesar și orice întârziere poate produce pierderi mari la
nivelul producției de miere .
Dacă o familie de albine poate produce, în plin sezon, 150 -200 de grame de miere pe zi, reiese
faptul că o stupină de 20 de stupi, generează 3kg de miere pe zi. Dacă prețul cu care vindem
kilogramul de miere este de 50 de lei, rezultă o pierdere de 150 de lei. Această pierdere rezultată
doar în cazul în care transportatorul întârzie cu o zi mutarea stupinei.
Optimizarea transportului făcut de terți a stupinelor este necesară în reducerea costurilor de
producție deoarece un cost mare al transportului se adaugă la costul de producție. Fiecare
apicultor își dorește micșorarea acestor costuri pentru a avea un profit mai mare și totodată să
permită accederea produselor pe piață la un preț mai mic.
Această problemă nu este doar în cazul în care transportul este efectu at de către terți,
deoarece chiar și în situația în care un apicultor dispune de mijloace de transport proprii acesta
își va dori parcurgerea distanțelor celor mai scurte și deci mai puțin costisitoare atât din
perspectiva carburantului cât și a timpului.
Figură 2 – Exemplificare rute multiple de la o locație la alta
7
Apicultorii pot folosi diferite aplicații, exemplu având aplicația creata de către cei de la
Google, care este o aplicație gratuită oferindu -ne posibilitatea alegerii rutei, dintr -o locație în
alta. Aceasta fiind și cea mai scurtă din perspectiva timpului. Asta înseamna că dacă dorim să
călătorim din punctul A în punctul B și avem la dispoziție două trasee unul mai lung si altul
mai scurt din punctul de vedere al kilom etrilor, Google va recomanda traseul de pe urma căruia
scoatem timpul cel mai scurt.
După cum se poate observa și în figura numărul 2, posibilitatea existenței a mai multor
trasee de la un punct la altul este foarte mare, iar aplicațiile care există moment an este posibil
să nu satisfacă nevoile și cerințele unui apicultor care dorește să transporte stupinele dintr -o
locație în alta. De exemplu în figura menționată se arată existența a trei rute posibile dinspre
Fălticeni spre Iași sau invers. Fiecare traseu este diferit din punct de vedere al distanței, cel mai
scurt fiind de altfel și cel selectat, acesta fiind și un traseu care se petrece doar pe o drum
european, ceea ce înseamnă că viteza maximă permisă de rulare este mai mare față de celelalte
rute, care au porțiuni de drumuri naționale și județene, acest lucru va duce la un timp mai scurt
pe această rută decât celelalte. Acestea sunt criteriile pe baza cărora se iau decizii cu privire la
traseul pe care urmează a fi transportate stupinele.
Problema acest or aplicatii, de genul Google Maps nu este numai faptul că nu ne oferă un
anume traseu pe baza unor criterii selectate de către noi, deoarece acest dezavantaj îl putem
anula alegând traseul dorit , păstrând ghidarea oferită de aplicație, ci problema este că nu sunt
specializate pentru nevoile unui apicul tor. Ci aceste aplicații sunt create pentru a le folosi unui
șofer sau unor persoane care vor să ajungă din punctul A în punc tul B. Pe când o aplica ție
creată pentru apicultori ar aduce marele avantaj de a fixa pe hartă locația exactă a stupinelor
permițând apicultorului să real izeze un traseu după bunul plac, o altă informație necesară în
acest caz este și numărul stupilor pe care dorim să -l transpor tăm. Fiecare stupină are un număr
variabil de stupi, iar alegerea unui autovehicul prea mare sau prea mic poate produce măriri ale
costului de transport.
Aceaste probleme descrise mai sus apar atunci când dorim să mutăm mai multe stupin e în
locații diferit e. Astfel o aplicație care ne -ar permite sa vedem poziția fiecărei stupine ar facilita
scăderea costurilor cu transportul, deoarece utilizatorul ar putea face anumite corelații alegând
ordinea de transport a stupinelo r pentru a putea reduce costul realizân du-se diferite trasee care
vor avea ca rezultat optimizarea transportului .
Un alt avantaj oferit de o astfel de aplicație ar fi și alegerea transportatorului, în cazul în
care dorim să transportăm o stupină din punctul A, e posibil ca alegând un transport ator din
imediata apropiere a acestui punct să putem obține un preț mai bun asupra costului de transport.
Vizualizarea numărului de stupi din fiecare stupină prezintă din nou un factor foarte
important, deoarece odată cu această informație pe care ne -o poa te oferi o aplicație specializată
pentru domeniul apiculturii, vom ști ce fel de autovehicul ne este necesar, astfel optimizându –
se costul transportului.
Necesitatea existenței unui instrument specializat în eficientizarea transportului este din ce
în ce mai mare, doarece fiecare antreprenor care se ocupă de o astfel de afacere își dorește să
eficientizeze costul producției, costul producției fiind direct influențat de către costul
transportului. Iar o astfel de aplicațe nu poate decât să creeze un real av antaj apicultorilor,
deoarece micșorarea costului de afacere, alături de ușurarea muncii realizate de către apicultor
și chiar micșorarea efectivului de persoane ce lucrează pentru o astfel de fermă, eficientizează
la maximum producția de miere și alte pro duse din aceiași clasă, cel puțin din perspectiva
transportului.
8
2. Tehnologii software si hardware folosite:
Pentru realizarea acestei lucrări am creat un ansamblu care este compus din următoarele
subansamble : dintr -un server realizat cu ajutorul framework -ului Flask scris în limabjul
Python, două aplicații Android, o bază de date în MySQL și un modul Arduino programat în
limbajul C. Acestea sunt descrise în rândurile următoare.
2.1 Arduino & C
La elaborarea acestei teme a fost necesară folosirea mai multor senzori printre care: de
umiditate, presiune atmosferică, de ploaie, de temperatura. Unii dintre acești senzori sunt
utilizați pentru a prelua informațiile din exteriorul stupului sau din interiorul stupului dar sunt
și cazuri în care am folosit acelasi t ip de senzor pentru a prelua informații atât din exterior cât
și din interior, un exemplu poate fi senzorul de temperatura.
Acești senzori pentru a putea furniza informații și pentru a le putea utiliza au nevoie de
alimentare cu energie si un colector de date, în cazul meu acest colector este placa de baza
Arduino Uno.
Arduino este o întreprindere care produce plăcuțe de dezvoltare bazate pe microcontrolere
și soft -uri care are scopul de programa aceste plăci.
Arduino Uno este un model de placa de bază co nstruit de către această companie , aceasta
este o platformă de mici dimensiuni, în generala aceste dimensiuni sunt situate între 6.8cm și
5.3cm , este construită în jurul unui procesor, oferă pini digitali cât si analogici care permit
conectarea la senzori sau pentru a urca programul realizat de programator. Prin conectarea
senzorilor placa devine capabilă să comunice cu mediul exterior prin preluarea datelor de la
senzori și efectuarea anumitor acțiuni în funcție de modul de programare și de abilitățile ce îi
sunt atribuite. De exemplu dacă o plăcuță este prgramată ca atunci când în mediul exterior este
o temperatură mai mare de 30 de grade, aceasta să scoate un sunet puternic, va fi necesar ca
plăcuței să i se atrebuie un senzor de temperatură și un difuzor .
Figură 3 – Placă Arduino Uno
Placa Arduino Uno se conecteaza la c alculator, printr -un cablu de tipul USB A -B, acesta
vine în versiuni diferite de lungime: 1,5m sau 3m. Placa poate fi alimentată prin cablul USB
atunci când urcăm programe sau în mod extern: de la priză, baterii, panouri solare.
9
Arduino oferă și un IDE specializat pentru aceste plăcuțe care oferă diverse avantaje. De
altfel se poate folosi orice alt IDE atâta timp cât codul este compilat în limbaj mașină pentru a
putea fi urcat pe plăcuță iar mai apoi să se execute etapele interpretare și de execuție .
C este un limbaj de programare procedural, este interpretat și nu compilat; pentru a fi
compilat acesta are nevoie de un compilator. Acest limbaj permite accesul la nivel scăzut la
memorie și construcții de limbaj care admite o mapare eficientă a instrucțiunilor de la mașină,
toate cu suport minim de rulare. A fost creat în anii 1970 de Kne Thompson și Dennis Ritchie,
cu scopul de a scrie nucleul sistemului de operare UNIX. Acesta este un limbaj apreciat mai
ales pentru eficiența codului obiect generat de compilatoarele C și pentru portabilitatea sa,
acesta fiind un limbaj care permite rularea pe mai multe tipuri de mașini. C este unul dintre
limbajele care permite uti lizarea pointerilor, aceștia fiind un tip de referință care păstrează
adresa unui obiect din memorie. În momentul compilării, pointerul este un tip de dată complex,
ce reprezintă atât adresa de memorie cât și tipul de dată. Pointerii sunt folosiți mai ales la
alocarea dinamică a memoriei. C oferă posibilitatea lucrării cu tablouri multidimensionale.
Acest lucru înseamnă că pot exista tablouri de tablouri.
C este utilizat pentru a scrie părți din sisteme de operare cum ar fi Windows, UNIX, Linux.
Dar acesta a fost utilizat și pentru crearea sistemelor de baze de date, pachete grafice, drivere
de rețea, compilatoare și ansamblatoare.
Sintaxa acestui limbaj reprezintă temelia multor limbaje create mai apoi, printre care: C++,
Java, JavaScript, C#, D și altele.
Figură 4 – Exemplu aplicație demo – Hello World
După cum se va putea observa, aceast exemplu de cod scris în limbajul C va fi aproape identică
cu sintaxa și codul folosit pentru a programa modulele Arduino. Codul de mai sus va af ișa un
mesaj de tipul: Hello, world, acest lucru fiind datorat instrucțiunii printf();. Pentru a rula un
program C este necesar ca în fișier să existe funcția main(), după cum spune și numele aceasta
este funcția principală. Din interiorul acesteia se poat apela și celelalte funcții create.
Prima linie apeleaza librăria stdio.h, acest antet definește trei tipuri de variabile, mai multe
macro -uri și diverse funcții pentru efectuarea de intrări și ieșiri.
În cazul acestui proiect s -a folosit limbajul C scris și compilat în IDE -ul oferit de către cei
de la Arduino. Acest IDE utilizează programul AVRDUDE pentru a converti codul executabil
într-un fișier text în codificare hexadecimală care este încărcat pe pl aca Arduino de un program
de încărcare în firmware -ul dispozitivului. În mod implicit, AVRDUDE este folosit ca
instrument de încărcare a codul de utilizator pe plăcile oficiale Arduino. Programul arduino
este structurat pe două mari functii setup() si loop ().
10
Figură 5 IDE-Arduino (versiunea 1.8.10) și codul implicit
Figură 6 Exemplificare cod Arduino în limbajul C
Funcția setup are rolul de a stabili și inițializa componentele, aceasta apelându -se o singură
dată la starul programului, tot aici se încarcă librăriile necesare pentru a se lucra cu senzorii.
Pe când funcția loop are rolul de a își da refresh pentru actualizarea informațiilor, această
actualizare poate fi întârziată cu secventa delay(1000) , unde 1000 înseamnă o secundă, această
valoare putând fi modificată dar păstrându -se unitatea de măsură.
Sintaxa ”#include <SoftwareSerial.h>” are rolul de a apela librăria care va furniza posibilitatea
conexiunii a plăcii arduino cu modulu bluetooth. Ace st modul transmite informațiile la o
aplicație Android care urmează se facă diferite prelucrări pe aceste date.
Arduino alături de limbajul C pot deveni instrumente foarte puternice chiar și în mâinele
celor cu mai puțină experiență în acest limbaj.
11
2.2 A ndroid
În acest proiect, tehnologia Android face posibilă vizualizarea informațiilor într -un mod
prietenos pentru utilizator printr -o interfață grafică specializată pe datele ce sunt furnizare și
prietenoasă .
Android este o platformă software dar totodată acesta este și sistem de operare pentru
dispozitivele mobile bazate pe nucleul Linux. Acesta este un sistem open source3 și free –
software 4, lansarea acestei platforme a avut loc în anul 2007 , dar pentru a se ajunge la acest
moment Google a achiziționat în 2005 o companie de dimensiuni reduse numită Android, în
perioada ce urmează Google realizează diferite activități care să asigure mediul favorabil
dezvoltării unei astfel de tehnologii. Iar în 2007 cei de la Goolge lansează o mare parte de cod
sub licență Apache . Odată cu această decizie de a lansa codul sursă Google fondează Open
Hamdset Alliance, care avea să fie o grupare de 48 de companii din domeniul hard, soft dar și
telecomunicații.
Nucleul Linux este temelia pentru sistemul de operare Android. Datorită acestei
componente sistemul de operare poate controla funcționarea dispozitivelor hardware prin
drivere. Creatorii acestei tehnologii au ales folosirea Linux -ului din mai multe motive. Unul
dintre acestea este faptul ca Nucleul Linux este open so urce, ceea ce permite modificarea după
necesitățile proprii și după dorința fiecăruia. Un al motiv este acela că atunci când ai un ceva
gata făcut și nu generează costuri în plus și e făcut bine, nu ai nici un motiv să nu folosești
scutind astfel timp preț ios. Totuși chiar daca la baza sistemului de operare Android se află
Linux asta nu înseamnă că este posibilă deschiderea unei aplicații Linux în Android, deoarece
lipsesc alte utilitare necesare rulăriii aplicației cum ar fi serverul grafic sau bibliotecil e GNU.
Acest lucru este valabil și în sens contrar, în acest caz lipsind Linux -ului mașina virtuală Dalik
și Android RunTime.
Dacă inițial Android era folosit doar pentru telefoanele deștepte în acest moment este folosit
pe gamă variată de dispozitive si g hageturi. Se presupune că în lume există peste un miliard și
jumătate de dispozitive care sunt pornite de către Android.
Android oferă posibilitatea de a scrie aplicați a in limbajul de programare Java, C și Kotlin .
Avant ajul existenței a numeroaselor libră rii și a unei comunități mari fac ca realizarea
aplicațiilor în A ndroid să fie mai ușoară și mai rapidă în limbajul de programare Java . În
Octombrie 2017 cei de la Google , au introdus ca alternativă la limbajul de programare cu care
se pot crea aplicații s i limbajul Kotlin, acesta este un limbaj baza t pe Java dar sintaxa acestuia
seamănă mai mult cu JavaScript. Totuși fie că vorbim de Java sau Kotlin atunci când vorbim
de dezolvtarea unei aplicații în Android vom folosi și XML.
XML este un sistem extensibi l de marcare, acesta este similar cu HTML doar că are o formă
diferită la nivel de structură, iar această încercare de asemănare a celor două tehnologii nu este
decât pentru a ne face o imagine despre cum arată XML. Cele două limbaje au drept ”părinte”
limbajul SGML.
Android de a lungul timpului a suferit mari transform ări, acestea sunt la număr de 29 , sigur
că printre lansările de noi versiuni au existat diferite update -uri dar cu un impact mai redus
asupra graficii sau a altor componente. Prima versiune d e android pentru care se mai poate face
aplicații este notată cu 2.3 si are API level5 9 iar ultima versiune este android 10 API level 29
3 Open source = ”sursă deschisă” când un produs fie el software sau de altă natură este re alizat astfel încât să se
ofere permisiunea și altor contribuitori care pot interveni în procesul de creație a produsului.
4 Free-software = ”program liber” acest tip de program poate fi studiat, distribuit și modificat cu restricții minime
5 API level = determină compatibilitatea aplicației tale cu diferite versiuni de android
12
iar spre finalul acestui an se va lansa și versiunea de android 11. Lucrul ce mi s -a parut
interesant la denumirile al ese pentru fiecare versiune de android este faptul că aceștia au ales
să pună denumiri de prăjituri, acest lucru a început odată cu versiunea 1.5 care s -a numit
Cupcake, denumire de începe cu litera C, aceștia reușesc să fie constanți însă pânâ la versiune a
9 care purta numele Pie, iar pentru versiunea 10 oficiali anunță că renunță la această denumiri
de prăjituri.
Mediul de dezvoltare recomandat de documentația celor de la Android este Android Studio
care este un IDE folosit doar pentru dezvoltarea aplicațiilor pe Android. Se pot crea aplicații
atât pentru dispozitivele mobile (telefoane, tablete) cât și pentru SmartTV. Dar pe lângă acest
IDE se mai poate folosi si IntelliJ IDEA, Visual Studio Code, Eclipse si multe alte programe.
Android studio oferă posibilitatea rulării și tes tării a aplicației ce o dezvoltă m într -un emulator,
acest lucru nu poate decât să vină în avantajul programatorului. Alte avantaje pe care le prezintă
acest mediu de dezvoltare sunt posibilitatea rulării pe mai multe siste me de operare, cum ar fi
Windows, MacOS și Linux, sau un alt avantaj este faptul că acesta este gratuit. Dezavantajul
acestui IDE este că reprezintă un mare consumator de resurse fiind necesar, pentru rularea
optimă, un calculator cu specificații bune : min imum 4 GB RAM/ 8 GB RAM recomandat, de
la 2 până la 6 GB liberi spațiu pe disk (acest lucru fiind în funcție de faptul dacă se folosește
emulatorul sau nu) și versiunea minimă a JDK6-ului să fie 8.
Figură 7 – Android Studio & Emu lator
După cum se poate observa, IDE -ul oferit de Android este unul modern. Acesta permite
urilizarea atât în stilul dark cât și light, de menționat este faptul ca IDE -ul este realizat în
colaborare cu cei de la IntelliJ , cei din urmă dezvoltând un IDE și pentru limbajul de
programare JAV; de altfel un ide foarte bun.
6 JDK = Java Development Kit – include JVM și alte câteva resurse necesare dezvoltării de aplicații JAVA (JVM
– Java Virtual Machine)
13
De altfel un aspect important este faptul că emulatorul permite rularea a mai multor versiune
de android, acest lucru constituie un avantaj pentru dezvoltatori deoarece vor putea testa
aplica ția pe fiecare versiune dorită, astfel asigurându -se că toate aplicațiilor vor rula așa cum
își dorește pe fiecare dispozitiv, pe lângă aceste aspecte, mai oferă posibilitatea rulării pe mai
multe tipuri de telefoane, cu rezoluții diferite. Pentru dezvolta torii de aplicații cu alt scope decât
cel de rulare pe mobile, există posibilitatea creării a mai multor tipuri de dispozitive virtuale
cum ar fi Smart TV sau tabelete.
Figură 8- Meniu adăugare dispozitiv virtual pentru testarea plicației
Nu se poate să face o prezentare a tehnologiei Android fără să aducem în discuție Google Play ,
locul care ar putea fi definit ca fiind drept o piață, asta dacă am discuta din punct de ve dere
economic. Pe Google Play, dezvoltatorii de aplicații își pun proiectele la dispoziția
utilizatorilor. Utilizatorii au posibilitatea să descarce și să ruleze
aplicații din Google Play, acestea pot fi gratuite, parțial gratuite
sau care trebuiesc plăti te. Acest lucru aduce avantaje te partea
ambelor părți, utilizatorul își face munca mai usoară folosindu –
se de aplicație iar dezvoltatorul câștigă o sumă de bani.
Google play a fost înființat în anul 2008, odată cu prezentarea
tehnologiei Android. Acest se rviciu a suferit diverse modficări
de a lungul timpuli; a avut denumiri ca: Android Market,
Magazin Play. Acest serviciu nu furnizează doar aplicații el
vine la pachet cu reviste și cărți digitale, filme, cărți audio.
La sfârșitul anului 2019, acest servic iu, furniza aproximativ
2.886 .000 de aplicații din care un procentaj de 95.9% sunt gratis
iar peste 40% din aplicații sunt jocuri . Numărul dezvoltatorilor
de aplicații este de aproximativ 388.000. O altă statistică furnizată de cei de la Google arată că
se aproximează ca numărul de utilizatori să fie mai mare de un miliard.
Figură 9 – Iconița Google Play
14
2.3 Flask & Python
Python este un limbaj de programare foarte des întâlnit în aceste zile, acesta este un limbaj
interpretat de nivel înalt conceput de Guido van Rossum și lansat în anul 1991 . Spre deoserbire
de alte limbaje de programare Python nu este un limbaj compilat. Acesta este un limbaj de
programare orientat obiect. Python este r enumit pentru sintaxa ușoară, acesta pune m are accent
pe spațiile libere, i ar acest lucru ajută și la formarea unui stil a scrierii de cod cu o lizibilitate
mărită ceea ce face ca în cazul întoarcerii atenției asupra unui cod scris cu ceva timp în urmă
să fie m ai facilă pentru a întelege și pentru a fixa eventualele probleme. Un alt avantaj prezent
la limbajul Python este acela ca în general codul este foarte simplu, format din puțini termeni,
iar utilizarea și posibilitatea a scrie cod modular pentru ca ma i apoi să imporți librăriile
respective în cât mai multe proiecte este o ușurare a muncii de dezvoltator.
Acest limbaj de programare este utilizat des datorită avantajelor mai sus menționate într -o
gamă variată de subdomenii din IT, cum ar fi: automatizări (iar ca exemplu se poate oferi cazul
în care un administrator de rețea are cerința de a face diferite update -uri pentru mai multe
servere, cu Python este mult mai simplu să scrii un script care va face aceste lucruri), acesta
este folist în crearea de int erfețe grafice pentru utilizatori .
Flask este un micro -framework scris în Python, acesta este clasificat astfel deoarece nu
necesită anumite instrumente sau biblioteci. Inexistența abstractizării bazei de date, validarea
de formule sau orice alte component e ce alte frameworkuri le prezintă fac ca Flask să nu fie
cel mai performant framework , cel puțin din punctul de vedere grafic. Flask nu oferă nici un
modul de grafică, tot ce se execută este realizat în linia de comandă . Dar totuși Flask, în 2018,
a fost premiat ca fiind cel mai popular framework scris în limbajul Python, iar acestea nu sunt
puține. Acesta oferă instrumente, biblioteci și mecanisme care vă permit să construiți o aplicație
web, dar nu vă aplică dependențe sau vă va spune cum să arate proiec tul.
Aplicația pe care dorim să o construim poate reprezenta orice proiect de la un blog, până
la un magazin online. Permițând adăugarea de extensii furnizate de comunitate, care vor
permite să adăgați mai multă funcționalitate aplicației web.
Flask este utilizat în general de pasionații limbajului de programare Python, dar nu numai.
Dacă te gândești să construiești o aplicație web și ti -ar plăcea să o faci în Python, cel mai
probabil vei dori să folosești un framework deoarece acesta îți oferă o parte din aplicație gata
făcută eliberându -te pe tine, dezvoltatorul, de activități repetitive. Practic framework -ul
implementează toatâ funcționalitatea pe care o îndeplinește în general o aplicație web. Pentru
un dezvoltator care dorește să învețe și să capete o experiență mărită este recomandat să
utilizeze acest framework, deoarece permite controlul complet, este simplu si flexibil.
Flask folosește Werkzeug și Jinja2 . Werkzeug este o librărie folostiă pentru limbajul de
programare Python. Aceasta furnizează și W SGI; e xistă două componente principale ale
WSGI; primul este din partea serverului. Elementul dinspre server va apela un obiect care este
de obicei definit de o rută. Odată invocat, a doua componentă, a aplicație, conține structura și
codul care urmează să fie executat. Deci practic WSGI se află între utilizator și codul scris în
Python, adică Flask. Jinja este un motor web de temeplate -uri, adică acesta permite randarea
codului HTML pentru a putea fi returnat de către WSGI atunci când este acesată o anumit ă
rută. Acesta a fost realizat de către Armin Ronacher și este realizat pentru Python. Cu ajutorul
acestuia putem realiza diferite operațiuni în codul HTML cum ar fi executarea de condiții sau
execuții repetitive cu o mare ușurință.
15
Figură 10- Cod demo pentru randarea unui template cu Jinjia
Se poate rula Flask acolo unde Python este instalat, versiunea de Python poate fi de la 2.5
în sus. Instalarea framework -ului se face foarte ușor în condițiile în care există pip pe
dispozitiv ul respectiv. Comanda de instalare este următoarea: pip3 install flask –
user , odată ce s -a instalat putem începe să creăm primul ”Hello World” din această aplicație.
Figură 11 Cod demo, Hello World Flask
Prima linie de cod importă Flask, următoarele lini de cod inițializează variabila app folosind
atributul __name__. Până aici a fost simplu Python, de aici Flask își intră în rol. @app.route
este decoratorul Python.
Docaratorii sunt una dintre cele mai imp ortante noțiuni din Python. Un decorator, prin definiție,
este o funcție care preia o altă funcție și o extinde dar fără să aducă modificări explicite la
funcția ce o preia . Ajută la crearea codului nostru mai scurt si mai specific limbajului de
programar e Python.
Folosind decoratorul @app.route pentru a activa o parte din codul scris de noi atunci când o
rută URL 7a plicației noastre este accesată. În acest caz, atunci când ruta este „ / ” , care de
altfel este și singura rută a programului, ne va returna cuvintele Hello, word! . Acest slash
reprezintă ruta de bază a aplicației, aceasta poate fi privită ca un „acasă”.
7 URL = adresa unei pagini World Wide Web.
16
Se poate observa că dupa linia decorator avem o funcție. Atunci când utiliz atarul accesează
această rută a aplicației în mod automat este apelată funcția hello() , în Python funcțiile încep
cu acest cuvânt cheie def.
Linia de cod: return “Hello, word!”; returnează la fel cum am specificat și mai sus
cuvintele din interiorul ghilim elelor. Într -o aplicație care are un scop și acela nu este de a învăța
sau cel puțin nu numai, dezvoltatorul va genera un cod HTML astfel un utilizator al aplicației
va vedea în browser informații frumos stilizate. Sigur că aceasta nu trebuie neapărat să g enereze
cod HTML, deoarece poate returna obiecte de tipul JSON, simple stringuri sau alte tipuri de
date.
Penultima linie de cod if __name__ == ”__main__” reprezintă o verificare a faptului
ca acel cod să nu execute altceva automat sau să fie important în alt proiect.
Iar ultima linie de cod app.run() pornește serverul în modul de dezvoltare și permite accesarea
utilizatorilor a aplicației web. Dar în acest mod vom putea accesa doar de pe localhost. Deci
fără utilizarea unei adrese publice și fără routarea acesteia nu vom putea folosi acest server
pentr a îl accesa din internet.
JSON este acronimul de la JavaScript Object Notation și reprezintă un format de date,
acesta este folosit la schimbarea datelor între aplicații care comunică între ele, de obicei în
rețea , procesul poată numele de serializare . Formatul JSON a fost creat de Douglas Crockford.
Acest format este independent față de limbajul de programare, dar este familiar programatorilor
din familia C, inclusiv C++ , C#, Java, JavaScript, Perl, Python și multe altele.
Asta face din JSON un limbaj ideal pentru schimbul de date. Acesta este așezat sub forma unei
colecții de perechi nume/valoare. Avantajul acestui format de date este reprezentat de faptul că
valoarea po ate fi aproape orice tip de date, inclusiv boolean, string, number, array, sau chiar un
alt JSON. Dar formatul din timpul trimiterii este de tipul text, deci într -un scenariu de tipul
trimiterii de la server la browser a unor date de tipul number, la primi rea în browser va fi
necesară convertirea JSON -ului. Totuși limbajele mai sus menționate au librării care fac asta
într-un mod automat, odată ce sunt apelate.
Această aplicație are un mod de lucru simplu, la acesarea oricărei rute definite în codul
program va realiza diferite operațiuni și va returna ceva. Deci la o anumită adresă poate exista
un cod de ștergere a unor înregistrări din baza de date, odată ce ștergerea a avut succes funcția
va returna un mesaj ales de programator. Acestea sunt marele avantaj e oferite de Flask, este
foarte ușor de utilizat și de înteles, este scris în limbajul Python, ceea ce îl face ușor de
manipulat din perspectiva scrierii de cod, este flexibil și poate fi chiar foarte puternic. Sigur că
acest framework prezintă și dezavant aje unul dintre ele este acela că pentru un utilizator fără
cunoștințe de programare îi va fi aproape imposibil să creeze o astfel de aplicație, cu toate că
multitudinea surselor de informare oferite de Python și comunitate, plus o documentație foarte
bine structurată și detaliată de către cei de la Flask face ca programarea unei astfel de aplicații
să fie tratată cu o oarecare ușurință. Un alt dezavantaj poate fi considerat acel că în cazul în
care nu acem o librărie furnizată de Flask sau comunitate vom f i puși în poziția de a o crea noi
înșine, dar acest lucru poate fi transformat în avantaj deoarece comparativ cu alte astfel de
framework -uri, în alte limbaje de programare, care nu sunt open source, în Python este foarte
ușor să construiești diferite libr ării după bunul plac.
Odată ce îi sunt adăugate diferite librării, acestea fiind oferite de comunitate, poate face aproape
orice, imaginația fiind limita.
2.4 MySQL
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sistem informatic pentru gestionarea unei ferme apicole monitorizate online [612852] (ID: 612852)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
