Sadržaj:

EAL-Industry 4.0 sistem automatskog solarnog praćenja: 9 koraka
EAL-Industry 4.0 sistem automatskog solarnog praćenja: 9 koraka

Video: EAL-Industry 4.0 sistem automatskog solarnog praćenja: 9 koraka

Video: EAL-Industry 4.0 sistem automatskog solarnog praćenja: 9 koraka
Video: The Third Industrial Revolution: A Radical New Sharing Economy 2024, Juli
Anonim
Image
Image
EAL-Industry 4.0 automatski solarni sistem za praćenje
EAL-Industry 4.0 automatski solarni sistem za praćenje

Odredio sam vam projekt za potpunu i laganu nadogradnju IOT -a, pregledajte male podatke iz enhed aplikacije u aplikaciji/na početnoj stranici ili u manjoj bazi podataka u bazi podataka. Za bazu podataka potrebno je izmjeniti podatke u više podataka. Ako ste uključeni u program za pronalaženje energije u solcelle, možete vidjeti voltažu putem arduino -a i vidjeti aplikaciju u Windows aplikaciji. Ovdje u nastavku slijede izmjene i ažuriranje podataka iz baze podataka.

Korak 1: Afrikovanje

Da biste započeli s lave en Solcelle, pokušajte skulle kunne za voltagen i gemme u bazi podataka. Najprije morate pronaći osnove na lave i početnoj stranici i forbiniranje, bazu podataka, početnu stranicu i Arduinoen sammen sa Node-RED. Samt dette morate vidjeti i podesiti monitorere i reel solcellepanel s inverterom. Vi måtte dog gentænke projektet, da vi ikke kunne få inverteren do virke med solcellepanelet, derfor endte vi med at gå med en lille solcelle, som kunne moniteres direte fra Arduinoen. Ako završite s ispuštanjem Node-RED-a, možete otići na još veće projekte. Postavio sam vas u lave i Windows aplikaciju, kako biste pronašli sve funkcionalne mogućnosti, ili ažurirali podatke iz Arduinoena, zaostajući za podacima u bazi podataka, samo za ažuriranje baze podataka.

Korak 2: Nosač Byg Et Solpanels

Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder

Vi begyndte i designe en držač do solpanel -a možete vidjeti ako det rundt nakon solen vi valgte i tegne det u 3D s vi kunne ispisati izbrisati i u 3D pisač målene skulle bare pass efter det solpanel vi hark indkøbt. derefter var det bare og montere panel i step motor på holderen vi har vedlagt filerne from Inventor s er de lige do til og bruge

Korak 3: Automatisk Solpanel

Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel

solpanelet bruger 2 stk. Koračni motor og 4 stk. lys sensor hvor vi så kan måle lys værdigerne som vi bruger til and vælge hvilken retning panelet skal stå i for og få bedst udnyttelse af panelet vi har vedlagt koden to panelet

njezina je poveznica do dijelova za skeleriziranje komponenti na indkøbtu

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

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

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

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

Korak 4: Voltmetar

Voltmetar
Voltmetar

vi skal nu bruge nogle data som vi kan sende til database to har vi brugt solpanelets volt and leser dem på en analog indgang på en Arduino by bildedet can i hvordan det er forbundet and vi oggå vedlagt koden to vores voltmeter.

Korak 5: Opis programa

Opis programa
Opis programa

Vores ide s dette programom u lave i Windows aplikaciji, možete vidjeti voltagen uživo iz solcelle. Ovu stvar možete vidjeti na opremi i zabraniti mellem den Arduino kao voltagen iz solcellena i aplikacije. Podaci se ne mogu približiti Arduinoenu i pokušati na stranici „Podaci o Arduinu“, koji će pregledati podatke o čovjeku na licu mjesta na skrivenom antalnom popisu i „Antalni čovjek nadmašiti fra solcelle“. Nikakvi podaci nisu dostupni, možete preuzeti podatke u bazu podataka, ako je vaša adresa bliža, prikazuje vremensku oznaku i jedinstveni ID. Aplicirao sam da o tome promijenim podatke u bazi podataka, ali mogu pronaći sve potrebne podatke o manjim podacima o čovjeku, već na skrivenom broju i tekstualnom tekstu "Antal der hentes from databasen". Čovjek ne može vidjeti ako želite posjetiti gennemsnittet za više informacija i sakupiti podatke o čovjeku ønsker gennemsnittet af.

Korak 6: Kode

koristeći System; koristeći System. Collections. Generic; pomoću System. ComponentModel; pomoću System. Data; pomoću System. Drawing; pomoću System. Linq; pomoću System. Text; pomoću System. Threading. Tasks; pomoću System. Windows. Forms; pomoću System. IO. Ports; koristeći MySql; koristeći MySql. Data. MySqlClient; koristeći System. Globalization; prostor imena WindowsFormsApp1 {javna parcijalna klasa Form1: Form { /* Njeni podaci čuvaju podatke do niza veze. På dennne måde er det nemt at the lave om hvis man åndre sinhroniziran je sa bazom podataka ili na serveru.*/ Private SerialPort myport; string _server = "127.0.0.1"; string _database = "test"; string _uid = "root"; string _pwd = ""; javni Form1 () {InitializeComponent (); } /* Odbacujem Void laver vi vores connectionstring do vores baze podataka za veće podatke. Hvis der laves en connections vil der komme and box for message hvor der står "connected" Hvis der ikke kan laves en connection to bazu podataka vil der kommer en errormessage hvor i der står "Povezivanje nije uspjelo, provjerite svoju vezu" */ private void knap_Click (object pošiljatelj, EventArgs e) {probajte {// Njen laver vi en string hvor vi skriver hvordan vores connections to bazu podataka. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; MySqlConnection veza = nova MySqlConnection (myConn); connection. Open (); MessageBox. Show ("Povezano"); } catch (Exception) {MessageBox. Show ("Povezivanje nije uspjelo, provjerite vezu"); }} /* Odbijam pošiljaoca nevažećih podataka do vaše baze podataka. Podatke možete pronaći na arduinu i u Data Box -u ako ne pokušate ubaciti više informacija u bazu podataka. Der vil komme en messages hvor der står "data send to DB" and derefter bliver Data Box cleart */ private void insetDB_Click (pošiljatelj objekta, EventArgs e) {// Njen pretvarač u nizu hvor na skrivenom hvordan -u poziva veze do baze podataka. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; koristeći (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open (); // Oglasim za svaki podatak o svim izvorima i glasovnim okvirima za podatke i o izmjenama podataka za označavanje i tablično napajanje i o napajanju za bazu podataka (varijacije u tekstBoxDB. Lines) {string myInsert = "INSERT INTO power (volt) VALUES ('" + lines. ToString () +"') "; MySqlCommand cmd = nova MySqlCommand (myInsert, conn); cmd. ExecuteNonQuery (); } conn. Close (); MessageBox. Show ("Podaci su poslati u bazu podataka"); textBoxDB. Clear (); }} /* Odbacujem podatke o poništavanju nepostojanja podataka iz vaše baze podataka i baze podataka. vi har tekst tekst hvor der er lavet 3 kolonner hvor der kommer forsekilg data ind. Omogućite pregled podataka ako ih pogledate nakon što ste ih pronašli ako ih ne možete pronaći na svom mjestu. lige ne smiju biti antalni muškarci koji će se mijenjati do najmlađih muškaraca koji će moći vidjeti sve što su htjeli učiniti ako se osjećate bolje.*/ private void knapDBGet_Click (pošiljatelj objekta, EventArgs e) {listViewDb. Clear (); // Her bliver de 3 kolonner lavet. listViewDb. Columns. Add ("id"); listViewDb. Columns. Add ("volt"); listViewDb. Columns. Add ("datum"); listViewDb. MultiSelect = true; listViewDb. View = Prikaži. Details; // Njen pretvarač u nizu na skrivenom računaru hvordan izgovara veze do baze podataka. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; koristeći (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ();

// Njen vlasnik je do 20 godina kada je ubačena u tablicu Power i databasen.

int antal = int. Parse (textBoxAntal. Text); string myInsert = "SELECT * FROM (SELECT * FROM power ORDER BY id DESC LIMIT"+antal+") sub ORDER BY id ASC"; MySqlCommand cmd = nova MySqlCommand (myInsert, conn);

// Her laver vi en data tablic (dTable) hvor data data henter and databasen bliver lagt ind.

MySqlDataAdapter MyAdapter = novi MySqlDataAdapter (); MyAdapter. SelectCommand = cmd; DataTable dTable = nova DataTable (); MyAdapter. Fill (dTable); for (int i = 0; i <dTable. Rows. Count; i ++) {// Njen fordeler prikazuje podatke o lagt indeksnim tablicama u 3 kolonner vi oprettede tidliger i koden. DataRow dataRow = dTable. Rows ; ListViewItem listitem = novi ListViewItem (dataRow ["id"]. ToString ()); listitem. SubItems. Add (dataRow ["volt"]. ToString ()); listitem. SubItems. Add (dataRow ["date"]. ToString ()); listViewDb. Items. Add (listitem); } conn. Close (); }

}

/* I denne Void sadrži informacije o funkcijama koje možete koristiti za generiranje podataka ako napravite podatke iz baze podataka.

Du makere det du vil lægge sammen og i bunden af teksboxen står der hvad gennemsnitet. Ovo je skriveno i uklonjeno sa skrivenih poruka i masažom ako se pojavi poruka "Greška 40: Korisnik je lutka" */ private void listViewDb_SelectedIndexChanged (pošiljalac objekta, EventArgs e) {try {float output = 0; if (listViewDb. SelectedItems. Count> = 2) { /* Njen poveznik je objavio rezultate tako što je 0 uzoraka sa više podataka izbacio sve što je potrebno, dok vrsta podataka ne ispadne i ne ukloni razdjelnike s antalnog podatka ako je zabilježeno volten. Ved i vi brugte CultureInfo. InvariantCulture možete vidjeti sve do bruge. i glasi komatal */ foreach (stavka ListViewItem u listViewDb. SelectedItems) {output += float. Parse (item. SubItems [1]. Text, CultureInfo. InvariantCulture)/ listViewDb. SelectedItems. Count; } Output. Text = output. ToString (); }} catch {MessageBox. Show ("Greška 40: Korisnik je lutka"); }} /* Odustao sam od Void -a i rekao sam da ga možete pratiti na seriji izvještaja i glasati na arduinu. Da biste to učinili, pogledajte port na port 3 i otvorite podatke u obliku izmjenjivača u glasovnim okvirima. Okvir za podatke Ne pokušajte pročitati podatke na stranici 50, koja se nalazi na sljedećoj stranici. der komme en errobox hvor der vil stå "Bog ti pomogao" */ private void startBn_Click (pošiljatelj objekta, EventArgs e) {// Njen skriver za podatke s skale bruge do kunne connct do det du skal lsese fra. textBoxDB. Clear (); myport = novi SerialPort (); myport. BaudRate = 9600; myport. PortName = textBoxPort. Text; myport. DataBits = 8; myport. StopBits = StopBits. One; try {// Her siger vi hvor mange den skal ind læse af gangen og hvor det skal ligges henne. myport. Open (); for (int i = 1; i <= int. Parse (textBoxAntalArduino. Text); i ++) {string inData = myport. ReadLine (); textBoxDB. AppendText (inData); } myport. Close (); } catch (Izuzetak) {

MessageBox. Show ("Der udfylt forkert");

}

} private void helpBt_Click (pošiljalac objekta, EventArgs e)

{MessageBox. Show ("1 Kliknite na podatke za pojedinačni datum u programu u". " +" / N " +" 2 kliknite na bazu podataka za gemme podatke. " +" / N " +" 3 kliknite u bazi podataka za podatke o gemetima. " +" / n " +" 4 čovjeka se mogu svidjeti på id za ostale gennemsnite podatke nakon što je data data data. " +" / n " +" 5 Test forbinles ser om databasen. " +" / n " +" port navn skal udfyldes med den port man har solcellen do " +" / n " +" der skal skrives et antal på hvor mange man vil hendte fra solcellen " +" / n " +" Antal der skal hentes fra databasen skal udfyldes "); }}}

Korak 7: Baza podataka

Baza podataka
Baza podataka

Da vi besluttede at vi ville lave en solcellestyring, ville 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 produceret i den sidste tid. For at kunne gemme det data har vi lavet en database and wampserver. Vi har lavet i program u Visual Studio pošiljatelju i nizu s volt målingom do baze podataka. Databasen gemmer værdien som en varchar, da vi havde store problemer med at databasen ville modtage komatal, hvis den gemte dem i double. Davalac baze podataka o vama može dodati sve osobe koje vas zanimaju i možete ih vidjeti ako ih ne možete pronaći. Aplikacija Vores može sadržavati skenirane podatke iz baze podataka, ali ih nema i ne može ih ukloniti iz izvornih podataka.

Korak 8: HTML Početna stranica

HTML Početna stranica
HTML Početna stranica
HTML Početna stranica
HTML Početna stranica
HTML Početna stranica
HTML Početna stranica
HTML Početna stranica
HTML Početna stranica

U ovom slučaju, morate pronaći sve podatke za neke baze podataka, ali sa strane preuzmite HTML i CSS. HTML je u najboljem redu sa svim elementima koji se pojavljuju na svim stranicama i linkovima do podataka sa podacima o čovjeku.

CSS je u najboljem redu do html elementerne farve i do trenutka kada se desi da se skenira više informacija o izmjenama na početnoj stranici.

Korak 9: PHP Hjemmeside

PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside

ved brugen af ph er der blevet lavet en hjemmeside sådan at en ikke tekniker er stojim do ovih podataka ud sol solllellen.

Ova stranica je dostupna na php konektoru za bazu podataka i unosite podatke na početnu stranicu lige sa snart man utovarivačem podataka. Veći broj CSS koda je uklonjen sa sjedišta na njemačkom i preopterećenom podatku, ali na osnovu podataka iz baze podataka.

Preporučuje se: