ዝርዝር ሁኔታ:

ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት 9 ደረጃዎች
ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት 9 ደረጃዎች

ቪዲዮ: ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት 9 ደረጃዎች

ቪዲዮ: ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት 9 ደረጃዎች
ቪዲዮ: ቡልቡላ አግሮ ኢንዱስትሪ ፓርክ ምረቃ ስነ ስርዓት 2024, ሀምሌ
Anonim
Image
Image
ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት
ኢአ-ኢንዱስትሪ 4.0 አውቶማቲክ የፀሐይ መከታተያ ስርዓት

እኔ ብልጥ IOT løsning, hvor man skal læse data fra en enhed på en app/hjemmeside og derefter lager denne på en database. የፍርዳታ ዳታስሰን ስካል ዲ ዳ æሬ muligt በ hente dataen og vise den. ቪር ሃር ቫልግት በጊሬ dette med en solcelle ፣ hvor vi læser voltagen በ en arduino enhed og viser dette på en በዊንዶውስ መተግበሪያ። Hvor det ከዚህ በኋላ er muligt at lagre og hente denne data fra en database.

ደረጃ 1: Afgrænsning

ፍሬን ጀርሜን ሃቭዴ ቪ ቲንክት ኦስ በላቭ ኤን ሶልቼል ፣ ፍሮ hvor vi skulle kunne læse voltagen og gemme den på en database. Først havde vi tænkt os at lave en hjemmeside og forbinde, databasen, hjemmesiden og Arduinoen sammen med Node-RED. Samt dette havde vi også tænkt os at monitorere e reelt solcellepanel med en inverter. Vi måtte dog gentænke projektet ፣ ዳ vi ikke kunne få inverteren til at virke med solcellepanelet ፣ derfor endte vi med at gå med en lille solcelle ፣ som kunne moniteres direkte fra Arduinoen። Vi endte også med በ droppe Node-RED ፣ ዳ vi vil prøve at gøre projektet mere enkelt። እኔ የዊንዶውስ መተግበሪያን በ stedet valgte vi ፣ hvor vi har samlet alle funktionerne ፣ altså data opsamlingen fra Arduinoen ፣ lagringen af denne data på en database, samt læsning af databasen.

ደረጃ 2: Byg Et Solpanels ያዥ

Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ
Byg Et Solpanels ያዥ

Vi begyndte og designe en holder til solpanel så vi kan bevæge det rundt efter solen vi valgte og tegne det i 3D så vi kunne printe delene ud i en 3D printer målene skulle bare passe efter det solpanel vi har indkøbt. ደርፍ var det bare og montere panel og step motor på holderen vi har vedlagt filerne fra Inventor så de er lige til og bruge

ደረጃ 3: Automatisk Solpanel

Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel

solpanelet bruger 2 stk. ደረጃ ሞተር og 4 stk. lys sensor hvor vi så kan måle lys værdigerne som vi bruger til og vælge hvilken retning panelet skal stå i for og få bedst udnyttelse af panelet vi har vedlagt koden til panelet

የእሷ er አገናኝ til ደ forskellige komponenter ደር er indkøbt

www.amazon.co.uk/gp/product/B00KCP76CS/ref…

www.amazon.co.uk/Neuftech-Stepper-28BYJ-48…

www.amazon.co.uk/Photo-Rististor-5mm-Photoc…

www.amazon.co.uk/Arduino-A000066-ATMEGA328…

ደረጃ 4 - ቮልቲሜትር

ቮልቲሜትር
ቮልቲሜትር

vi skal nu bruge nogle data som vi kan kande til database database har har vi brugt solpanelets volt og læser dem på en analog indgang på en Arduino på billedet kan i se hvordan det er forbundet og vi ሃር også vedlagt koden til vores voltmeter.

ደረጃ 5: Beskrivelse Af Programmet

Beskrivelse Af Programmet
Beskrivelse Af Programmet

Vores ide med dette program er at lave en Windows app, der kan vise voltagen live fra en solcelle. Dette gør vi veved at første at oprette en forbindelse mellem den Arduino som læser voltagen fra solcellen og app’en. ዳታነን ካን ኑ ፍሉል æst fra Arduinoen ved at trykke på”Læs data fra Arduino” ፣ ሰው vælger hvor mange datasæt man ønsker በ skrive dette antal i”Antal man ønsker fra solcelle” ፣ datasættene kommer med et sekunds mellemrum። Når alle datasættene er læst, kan man uploade dataen til en database, hvor den vil blive tildelt et timestamp og en unik ID. እኔ በ hente dataen fra data ዳታቤዝ ውስጥ app’en er der også mulighed ፣ ሰው kan selv bestemme hvor mange datasæt man ønsker ፣ veved at skrive nummeret i tekstboksen”Antal der hentes fra databasen”። ማን kan nu vælge at for vist gennemsnittet fra disse veved at makkere de datasæt man ønsker gennemsnittet af.

ደረጃ 6: ኮዴ

ሲስተምን መጠቀም ፤ ስርዓት. Collections. Generic; System. ComponentModel በመጠቀም; System. Data በመጠቀም; ስርዓትን በመጠቀም መሳል; System. Linq በመጠቀም; ስርዓት በመጠቀም። ጽሑፍ; System. Threading. Tasks በመጠቀም; System. Window. Forms ን በመጠቀም; System. IO. Ports ን በመጠቀም; MySql ን በመጠቀም; MySql. Data. MySqlClient ን በመጠቀም; ስርዓትን መጠቀም። På dennne måde er det nemt at lave om hvis man ændre sin database database eller server.*/ የግል SerialPort myport; ሕብረቁምፊ _አገልጋይ = "127.0.0.1"; ሕብረቁምፊ _ የውሂብ ጎታ = "ሙከራ"; ሕብረቁምፊ _uid = "ሥር"; ሕብረቁምፊ _pwd = ""; የሕዝብ ቅጽ 1 () {InitializeComponent (); } /* እኔ vores ጎታ vi bruger de ውሂብ overfor til Void laver vi vores connectionstring tilne. Hvis der laves en ግንኙነቶች vil der komme en የመልዕክት ሳጥን hvor der står "ተገናኝቷል" ላኪ ፣ EventArgs e) {ይሞክሩት {// Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. ሕብረቁምፊ myConn = "server =" + _ አገልጋይ + "; የውሂብ ጎታ =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; MySqlConnection ግንኙነት = አዲስ MySqlConnection (myConn); ግንኙነት.ክፈት (); MessageBox. Show ("ተገናኝቷል"); } መያዝ (ልዩ) {MessageBox. Show (“ማገናኘት አልተሳካም እባክዎን ግንኙነትዎን ይፈትሹ”) ፤ }} /* ባዶ የላኪን vi til vores ዳታቤዝ እስክያደርግ ድረስ። Den data der som vi har modtaget fra arduino og står i Data Box vil når vi trykker på inset bliver infomationen sendt til databasen. Der vil komme en messages hvor der står "data to DB" og derefter bliver Data Box cleart */ private ባዶ ባዶ insetDB_Click (የነገር ላኪ ፣ EventArgs e) {// Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. ሕብረቁምፊ myConn = "server =" + _ አገልጋይ + "; የውሂብ ጎታ =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; በመጠቀም (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open (); // እኔ የቅድመ -እይታ ደረጃን አጠፋለሁ። '" + መስመሮች። ToString () +"')) "; MySqlCommand cmd = አዲስ MySqlCommand (myInsert, conn); cmd. ExecuteNonQuery (); } conn. Close (); MessageBox. Show ("የውሂብ er ወደ የመረጃ ቋት ተልኳል"); textBoxDB. Clear (); }} /* Void henter vi det data vi har har gemmt i vores data base. vi har en tekstbox hvor der er lavet 3 kolonner hvor der kommer forsekilg data ind. Den første viser data id der der efter vises hvad volten var og til sidst kan du se tidspunket det er målt på. lige nu hentes det antal man har valgt til målinger men det kan laves om hvis man ønsker at se felre eller mindre.*/ የግል ባዶ ባዶ knapDBGet_Click (የነገር ላኪ ፣ EventArgs e) {listViewDb. Clear (); // የእሷ ብልጭልጭ ደ 3 kolonner lavet። listViewDb. Columns. Add ("መታወቂያ"); listViewDb. Columns. Add ("ቮልት"); listViewDb. Columns. Add ("ቀን"); listViewDb. MultiSelect = እውነት; listViewDb. View = View. Details; // የእሷ laver vi en ሕብረቁምፊ hvor vi skriver hvordan vores connetions er til databasen. ሕብረቁምፊ myConn = "server =" + _ አገልጋይ + "; የውሂብ ጎታ =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; በመጠቀም (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ();

// የእሷ henter vi ደ sidste til 20 id der er indsat i tablen Power i databasen.

int antal = int. Parse (textBoxAntal. Text); ሕብረቁምፊ myInsert = "ይምረጡ * ከ (ይምረጡ * ከኃይል ትዕዛዝ በ ID DESC LIMIT"+antal+") ንዑስ ትዕዛዝ በመታወቂያ ASC"; MySqlCommand cmd = አዲስ MySqlCommand (myInsert, conn);

// የእሷ ላቨር vi en የውሂብ tabel (dTable) hvor den data vi henter i databasen bliver lagt ind.

MySqlDataAdapter MyAdapter = new MySqlDataAdapter (); MyAdapter. SelectCommand = cmd; DataTable dTable = አዲስ DataTable (); MyAdapter. Fill (dTable); ለ (int i = 0; i <dTable. Rows. Count; i ++) {// Her fordeler vi det data vi lagt ind i dtable ud i de 3 kolonner vi oprettede tidliger i koden. DataRow dataRow = dTable. Rows ; ListViewItem listitem = አዲስ ListViewItem (dataRow ["id"]. ToString ()); listitem. SubItems. Add (dataRow ["volt"]. ToString ()); listitem. SubItems. Add (dataRow ["ቀን"]። ToString ()); listViewDb. Items. Add (listitem); } conn. Close (); }

}

/* እኔ Void ሃር vi lavet en funktion hvor vi kan regne gennemsnitet af det makere data vi har hentet fra databasen.

ዱ makere det du vil lægge sammen og og bunden af teksboxen står der hvad gennemsnitet. Hvis der sker en fejl vil den skrive en massage hvor der står "ስህተት 40: ተጠቃሚ ዱሚ ነው" */ የግል ባዶ ዝርዝርViewDb_SelectedIndexChanged (የነገር ላኪ ፣ EventArgs e) {ይሞክሩ {ተንሳፋፊ ውፅዓት = 0; ከሆነ (listViewDb. SelectedItems. Count> = 2) { /* Her ligger vi vores output som er 0 sammen med den mærkeret data som bliver lavert om til data typen float og derefter divideres der med den antal der er mærkert så den regner gennemsnitet af volten. Ved at vi brugte CultureInfo. InvariantCulture kan vi få lov til bruge ላይ። i vores komatal */ foreach (ListViewItem item in listViewDb. SelectedItems) {output += float. Parse (item. SubItems [1]. ጽሑፍ ፣ CultureInfo. InvariantCulture)/ listViewDb. SelectedItems. Count; } ውጤት። ጽሑፍ = output. ToString (); }} ይያዙ {MessageBox. Show («ስህተት 40: ተጠቃሚ ዱሚ ነው»); }} /* እኔ Void har vi lavet så den kan læse på serieport i vores tilfælde på en arduino. ዴን læser hvad der står i serieport på com port3 og ligger den data vi modtager ind i vores የውሂብ ሣጥን Når vi trykker på መረጃን ያንብቡ læser den de næste 50 linjer der bliver sendt til serieporten Hvis der er en fejl så den ikke kan læse daten vil der komme en errobox hvor der vil stå "god help you" */ የግል ባዶነት startBn_Click (የነገር ላኪ ፣ EventArgs e) {// የእሷ skriver du de data du skal bruge til at kunne connct til det du skal læse fra. textBoxDB. Clear (); myport = አዲስ SerialPort (); myport. BaudRate = 9600; myport. PortName = textBoxPort. Text; myport. DataBits = 8; myport. StopBits = StopBits. One; ይሞክሩት {// Her siger vi hvor mange den skal ind læse af gangen og hvor det skal ligges henne. myport. Open (); ለ (int i = 1; i <= int. Parse (textBoxAntalArduino. Text); i ++) {string inData = myport. ReadLine (); textBoxDB. AppendText (inData); } myport. Close (); } መያዝ (ልዩ) {

MessageBox. Show ("Der udfylt forkert");

}

} የግል ባዶ እገዛ Bt_Click (የነገር ላኪ ፣ EventArgs e)

{MessageBox. Show ("1 ፕሮግራም በ i programet ውስጥ ለላሴ ቀን ቀኑ መረጃ ለማግኘት". + på læs fra database for at læse den gemet data. " +" / n " +" 4 man can klike på id for at renge gennemsnite af de valt dataer ud. " +" / n " +" 5 የሙከራ forbinles ser om databasen køre. » + Antal der skal hentes fra dataasen skal udfyldes "); }}}

ደረጃ 7 የውሂብ ጎታ

የውሂብ ጎታ
የውሂብ ጎታ

በቪ ቪሌ ላቭ ኤን solcellestyring ፣ viille det være smart at vi kunne se hvor mange volt den laver lige nu. Vi ville også gerne kunne se hvad den lave ved tidliger målinger, eller hvad den i gennemsnittet har harretret i den sidste tid. ለ በ kunne gemme det data har vi lavet en database i wampserver. Vi har har lavet et program i Visual studio som som leer en string med volt volt måling til databasen. ዳታባሰን ገመር værdien som en varchar, da vi havde store problemer med at databasen ville modtage komatal, hvis den gemte dem i double. Vores ጎታ ሰጭ alle målinger et unikt id hvor man kan se værdien hvad, og hvilke tidspunkter det er målt. Vores መተግበሪያ kan hente den forskellige data fra databasen, så det er nemt at læse og og kan kan udregne gennemsnittet af målingerne.

ደረጃ 8 ኤችቲኤምኤል Hjemmeside

ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside
ኤችቲኤምኤል Hjemmeside

ደር er blevet lavet en forside til den al den data vi for ind fra fra databasen, denne side er bygget op ved hjælp HTML og CSS. HTML er blevet brugt til at bygge alle elementerne op på siden og linke til data siden sådan at man kan komme mellem de to side.

CSS er blevet brugt til to give html elementerne farve og til at give den afstand der skal være mellem alting på hjemmesiden.

ደረጃ 9: PHP Hjemmeside

ፒኤችፒ Hjemmeside
ፒኤችፒ Hjemmeside
ፒኤችፒ Hjemmeside
ፒኤችፒ Hjemmeside
ፒኤችፒ Hjemmeside
ፒኤችፒ Hjemmeside

ved brugen af php er der blevet lavet en hjemmeside sådan at en ikke tekniker er i stand til at læse data ud fra solcellen.

denne side er lavet ved at php connecter til databasen og henter dataen ind på hjemmeside lige så snart man loader den. ved brugen af CSS kode er det blevet sat op på en nem og overskuelige måde, med alt den data der kommer fra databasen.

የሚመከር: