Სარჩევი:

EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა: 9 ნაბიჯი
EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა: 9 ნაბიჯი

ვიდეო: EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა: 9 ნაბიჯი

ვიდეო: EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა: 9 ნაბიჯი
ვიდეო: TUDev's Tech Talk with Professor Bora Ozkan - Fintech and the Future of Finance 2024, ივლისი
Anonim
Image
Image
EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა
EAL-Industry 4.0 მზის ავტომატური ტრეკერის სისტემა

მე გამოვიყენე პროექტი, რომ შევეცადე გაერკვია და შევიტანო ჭკვიანი IOT სერვისი, რომლითაც შეგიძლიათ შეაგროვოთ მონაცემები პროგრამის/პროგრამის/მონაცემთა ბაზის მონაცემთა ბაზის შესახებ. მონაცემთა ბაზის საშუალებით შეგიძლიათ დაათვალიეროთ მონაცემები და სხვა დეტალები. ეს შეიძლება ჩაითვალოს მხოლოდ იმ შემთხვევაში, თუ თქვენ იყენებთ მას, შეგიძლიათ დააინსტალიროთ იგი Windows– ის აპლიკაციის საშუალებით და გამოიყენოთ იგი თქვენი კომპიუტერის საშუალებით. შემდგომში იგი შეიძლება შეიცვალოს და შეიტანოს მონაცემები მონაცემთა ბაზაში.

ნაბიჯი 1: აფრანსინგი

დასაწყისისთვის, თქვენ უნდა გაიაროთ ოპერაცია და გამოაქვეყნოთ იგი მხოლოდ იმ შემთხვევაში, თუ თქვენ შეძლებთ გამოიყენოთ ეს ძაბვა და გამოიყენოთ იგი მონაცემთა ბაზაში. პირველად შევიტყვე ოპერაციული სისტემა lave en hjemmeside და forbinde, databasen, hjemmesiden და 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, da 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. მე შევამცირე წვეთოვანი კვანძი-RED, დავიწყე პროექტი გქონდათ მხოლოდ პროექტი. მე შევეცადე შევიმუშაო Windows პროგრამა, გამოვიყენო ყველა ფუნქცია, შევიტანო სხვა მონაცემები Arduinoen– ში, შევარჩიე მონაცემები მონაცემთა ბაზაში და შევიტანე მონაცემთა ბაზები.

ნაბიჯი 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 მფლობელი

დავიწყე და შევიმუშავე ის დამხმარე საშუალებებით, რომლითაც თქვენ შეძლებთ გადახედოთ თქვენს მოწყობილობას და გამოიყენოთ 3D ტექნოლოგია 3D პრინტერზე და შემდეგ გამოიყენოთ სოლანელი vi har indkøbt. derefter var det bare და montere panel step step motor på holderen vi har vedlagt filerne fra გამომგონებლის მიერ er lige til og bruge

ნაბიჯი 3: ავტომატური სოლპანელი

ავტომატური სოლპანელი
ავტომატური სოლპანელი
ავტომატური სოლპანელი
ავტომატური სოლპანელი

სოლპანელეტ ბრუგერი 2 სტკ. ნაბიჯი საავტომობილო და 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 de forskellige komponenter der er indkøbt

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…

ნაბიჯი 4: ვოლტმეტრი

ვოლტმეტრი
ვოლტმეტრი

ეს შეიძლება იყოს მონაცემთა ბაზის უფრო დეტალური მონაცემები, რომლებიც შეიძლება გამოყენებულ იქნას მონაცემთა ბაზაში, რათა გამოვიყენოთ ანალოგური ინდოგი და არუდინო, რომელიც არეგულირებს და ვიღებს ვოლტმეტრს.

ნაბიჯი 5: დაწვრილებით პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა

ეს არის იდეა, რომ გამოიყენოთ პროგრამა Windows– ის პროგრამის საშუალებით, როდესაც თქვენ შეძლებთ გადატვირთოთ ცოცხალი პროგრამის საშუალებით. Dette gør vi ved at første at oprette en forbindelse mellem den Arduino som læser voltagen fra solcellen og app’en. მონაცემები შეიძლება შეიცავდეს Arduinoen– ს, როდესაც ჩვენ ვნახავთ მონაცემებს Arduino– სგან, და შემდეგ მან დაარწმუნა, რომ ადამიანებმა შეაფასეს და დაათვალიერეს antal i”Antal man ønsker fra solcelle”, მონაცემების kommer med და sekunds mellemrum. ამის შემდეგ, თქვენ შეგიძლიათ გადმოწეროთ მონაცემები მონაცემთა ბაზაში, შეიტანოთ დრო და დრო და გამოიყენოთ ერთჯერადი ID. მე გამოვიყენე მონაცემთა ბაზის მონაცემთა ბაზის მონაცემები, შემიძლია შევარჩიო ჩემი მონაცემები და შევიტანო ინფორმაცია ტექსტში "Antal der hentes fra databasen". ადამიანმა შეიძლება შეაფასოს ის, რაც გნებავთ, რომ გაანალიზოთ და შეაგროვოთ მონაცემები, რომლითაც ადამიანი დაინტერესებულია.

ნაბიჯი 6: კოდი

სისტემის გამოყენება; System. Collections. Generic; System. ComponentModel- ის გამოყენებით; System. Data- ს გამოყენებით; System. Drawing– ის გამოყენებით; System. Linq- ის გამოყენებით; System. Text- ის გამოყენებით; System. Threading. Tasks- ის გამოყენებით; System. Windows. Forms- ის გამოყენებით; System. IO. Ports- ის გამოყენებით; MySql გამოყენებით; MySql. Data. MySqlClient– ის გამოყენებით; System. Globalization; namespace WindowsFormsApp1 {public partial class Form1: Form { /* Her har vi vore data to connectionstring. თქვენ შეგიძლიათ შეცვალოთ იგი მონაცემთა ბაზაში და გაგზავნოთ სერვერი.*/ პირადი SerialPort myport; string _server = "127.0.0.1"; string _database = "ტესტი"; string _uid = "ფესვი"; string _pwd = ""; საჯარო ფორმა 1 () {ინიციალიზაცია კომპონენტი (); } /* მე ვაცხადებ Void laver vi vores connectionstring til vores მონაცემთა ბაზის მონაცემების გადატვირთვას. Hvis der laves en connections vil der komme და შეტყობინებების ყუთი hvor der står "დაკავშირებულია" Hvis der ikke kan laves en connection to databasen vil der kommer and errormessage hvor i der står "Failed to connect გთხოვთ შეამოწმოთ თქვენი კავშირი" */ private void knap_Click (ობიექტი გამგზავნი, EventArgs ე) {try {// Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "სერვერი =" + _server + "; მონაცემთა ბაზა =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; MySqlConnection კავშირი = ახალი MySqlConnection (myConn); კავშირი. ღია (); MessageBox. Show ("დაკავშირებულია"); } catch (გამონაკლისი) {MessageBox. Show ("დაკავშირება ვერ მოხერხდა გთხოვთ შეამოწმოთ თქვენი კავშირი"); }} /* მე ვაცხადებ void გამგზავნს და ვნახავ მონაცემთა ბაზას. მონაცემთა მონაცემები გამოჩნდება მონაცემების ყუთში და მონაცემთა ყუთში, თუ არ შევეცდები შევიტანო ინფორმაცია მონაცემთა ბაზაში. ეს არის შეტყობინებები, რომლითაც ხდება "მონაცემების გაგზავნა DB- სთვის" და შემდგომში bliver Data Box cleart */ private void insetDB_Click (ობიექტების გამგზავნი, EventArgs e) {// Her laver vi en string hvor vi skriver hvordan vores connetions or til databasen. string myConn = "სერვერი =" + _server + "; მონაცემთა ბაზა =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; გამოყენებით (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open (); // მე ვარაუდობ, რომ წინასწარ განვიხილავ მონაცემთა ყუთს და ვნიშნავ, რომ ვიყენებ ძალაუფლებას და ვაყენებ ძაბვას და მონაცემთა ბაზას foreach (var lines in textBoxDB. Lines) {string myInsert = "INSERT INTO power (volt) VALUES ('" + lines. ToString () +"') "; MySqlCommand cmd = ახალი MySqlCommand (myInsert, conn); cmd. ExecuteNonQuery (); } conn. Close (); MessageBox. Show ("მონაცემთა გაგზავნა მონაცემთა ბაზამდე"); textBoxDB. Clear (); }} /* I denne Void henter vi det data vi har gemmt i vores მონაცემთა ბაზა. vi har en tekstbox hvor der er lavet 3 kolonner hvor der kommer forsekilg data ind. თქვენ შეგიძლიათ ნახოთ მონაცემები id der efter vises hvad volten var og til sidst kan du se tidspunket det er målt på. ეს ნიშნავს, რომ ის ანტალ კაცს დაეხმარება მილანგერი მამაკაცების დასატოვებლად, რადგან მას შეუძლია შეაფასოს იგი.*/ private void knapDBGet_Click (ობიექტის გამგზავნი, EventArgs e) {listViewDb. Clear (); // Her bliver de 3 kolonner lavet. listViewDb. Columns. Add ("id"); listViewDb. Columns. Add ("ვოლტი"); listViewDb. Columns. Add ("თარიღი"); listViewDb. MultiSelect = ჭეშმარიტი; listViewDb. View = View. Details; // Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "სერვერი =" + _server + "; მონაცემთა ბაზა =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; გამოყენებით (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ();

// მისი გზავნილი 20 გვერდის ამოღება და მონაცემთა ბაზის გამოყენება.

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 = ახალი MySqlCommand (myInsert, conn);

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

MySqlDataAdapter MyAdapter = ახალი MySqlDataAdapter (); MyAdapter. SelectCommand = cmd; DataTable dTable = ახალი DataTable (); MyAdapter. Fill (dTable); for (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. რიგები ; ListViewItem listitem = ახალი ListViewItem (dataRow ["id"]. ToString ()); listitem. SubItems. Add (dataRow ["ვოლტი"]. ToString ()); listitem. SubItems. Add (dataRow ["თარიღი"]. ToString ()); listViewDb. ნივთები. დამატება (listitem); } conn. Close (); }

}

/* I denne Void har vi lavet en funktion hvor vi kan regne gennemsnitet af det makere data vi har hentet fra databasen.

Du makere det du vil lægge sammen og i bunden af teksboxen står der hvad gennemsnitet. Hvis der sker en fejl vil den skrive და მასაჟი hvor der står "Error 40: User is dummy" */ private void listViewDb_SelectedIndexChanged (ობიექტის გამგზავნი, EventArgs e) {try {float output = 0; if (listViewDb. SelectedItems. Count> = 2) { /* მისი ლიგერი გამოჩნდება som er 0 sammen med den mærkeret data som bliver lavert om til data typen float და derefter divideres der med den antal der er mærkert så den regner gennemsnitet af ვოლტენი. Ved at vi brugte CultureInfo. InvariantCulture can vi få lov til at bruge. i vores komatal */ foreach (ListViewItem item in listViewDb. SelectedItems) {output += float. Parse (item. SubItems [1]. Text, CultureInfo. InvariantCulture)/ listViewDb. SelectedItems. Count; } Output. Text = output. ToString (); }} catch {MessageBox. Show ("შეცდომა 40: მომხმარებელი დუმანია"); }} /* I denne Void har vi lavet så den kan læse på serieport i vores tilfælde på en arduino. ეს არის პორტი და სერია პორტი 3 და ligger den მონაცემები vi modtager ind i vores მონაცემთა ყუთი der komme en errobox hvor der vil stå "God help you" */ private void startBn_Click (ობიექტის გამგზავნი, EventArgs e) {// Her 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.pen (); for (int i = 1; i <= int. Parse (textBoxAntalArduino. Text); i ++) {string inData = myport. ReadLine (); textBoxDB. AppendText (inData); } myport. Close (); } დაჭერა (გამონაკლისი) {

MessageBox. Show ("Der udfylt forkert");

}

} private void helpBt_Click (ობიექტის გამგზავნი, EventArgs e)

{MessageBox. Show ("1 დააწკაპუნეთ მონაცემების გადასაჭრელად პროგრამის სხვა თარიღისთვის." + "\ N" + "2 დააწკაპუნეთ მონაცემთა ბაზაში, gemme dataen." + "\ N" + "3 დააწკაპუნეთ p fra læs fra მონაცემთა ბაზა at læse den gemet data. " +" / n " +" 4 man kan klike på id for at renge gennemsnite af de valt dataer ud. " +" / n " +" 5 Test forbinles ser om databasen køre. " +" / n " +" port navn skal udfyldes med den port man har sat solcellen til " +" / n " +" der skal skrives et antal på hvor mange man vil hendte fra solcellen " +" / n " +" Antal der skal hentes fra databasen skal udfyldes "); }}}

ნაბიჯი 7: მონაცემთა ბაზა

Მონაცემთა ბაზა
Მონაცემთა ბაზა

ასე რომ, თქვენ უნდა დაივიწყოთ ის, რომლითაც თქვენ შეგიძლიათ მარტივად შეცვალოთ იგი, მაგრამ თქვენ შეძლებთ გახდეთ ჭკვიანი და გონივრულად გამოიყენოთ იგი. ვილი også gerne kunne se hvad den lave ved tidliger målinger, eller hvad den i gennemsnittet har productionret i den sidste tid. ამისთვის gemme det მონაცემები har vi lavet en მონაცემთა ბაზა და wampserver. ვიყენებ პროგრამას და ვიზუალურ სტუდიას და გამგზავნს მონაცემთა ბაზის ძაბვის გამოყენებით. Databasen gemmer værdien som en varchar, da vi havde store problemer med at databasen ville modtage komatal, hvis den gemte dem i double. Vores მონაცემთა ბაზის მიმცემი ყველა სახის და unikt id hvor man kan værdien hvad, და hvilke tidspunkter det er målt. ეს პროგრამა საშუალებას გაძლევთ გაეცნოთ მონაცემთა ბაზებს და გაანალიზოთ ის, თუ როგორ გამოიყენოთ ისინი და შეაგროვოთ მონაცემები.

ნაბიჯი 8: HTML Hjemmeside

HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside

გარდა ამისა, თქვენ უნდა შეაგროვოთ მონაცემები მონაცემთა ბაზაში, ასევე შეაგროვოთ HTML და CSS. HTML არის ნაზი, სანამ გადახვალთ ყველა ელემენტზე და გვერდით და ხაზზე, მონაცემების გასწვრივ და მის გვერდით.

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

ნაბიჯი 9: PHP Hjemmeside

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

Ved brugen af php er der blevet lavet და hjemmeside sådan at en ikke tekniker er მე დავდგები til at læse data ud fra solcellen.

denne side er lavet ved at php connector til databasen and henter dataen ind på hjemmeside lige så snart man loader den. Ved brugen af CSS კოდი და det blevet დაჯდა op på en nem და overskuelige måde, med alt den data der kommer fra databasen.

გირჩევთ: