İçindekiler:

EAL-Industry 4.0 Otomatik Güneş Takip Sistemi: 9 Adım
EAL-Industry 4.0 Otomatik Güneş Takip Sistemi: 9 Adım

Video: EAL-Industry 4.0 Otomatik Güneş Takip Sistemi: 9 Adım

Video: EAL-Industry 4.0 Otomatik Güneş Takip Sistemi: 9 Adım
Video: Ünal turan Azad yılmaz Karşıma çıkın dedi 2024, Temmuz
Anonim
Image
Image
EAL-Endüstri 4.0 Otomatik Güneş Takip Sistemi
EAL-Endüstri 4.0 Otomatik Güneş Takip Sistemi

Akıllı Nesnelerin İnterneti, veri tabanına ilişkin verileri uygulama/çalışma sayfalarını ve veri tabanını kaldırmayı planlıyorum. Fra databasen skal det da være muligt at hente dataen ve mengene den. En solcelle'de en iyi uygulamalar, Windows uygulamasından en iyi şekilde yararlanın. Veri tabanı veri tabanında bundan sonra daha fazla bilgi edinebilirsiniz.

Adım 1: Afgrænsning

lave en Solcelle, fra hvor vi skulle kunne læse voltajı ve gemme den på en veritabanında en iyi uygulamalar. Node-RED'de ve Arduino'da, veritabanında, veritabanlarında ve Arduino'da sammen med. Inverter'de izleme ve kontrol etme işlemleri. En iyi köpek gentænke projektet, virke med solcellepanelet'te en iyi uygulamalar, en son teknolojiler, gå med en lille solcelle, som kunne monteres direkte fra Arduinoen. En son teknolojiler droppe Node-RED'de, sadece enkelt projektet'te de vi vil prøve. Windows uygulamasında valgte vi'yi, tüm işlevler için, Arduinoen'de altså data opsamlingen fra, lagringen af denne data på en database, samt læsning af veritabanında stedet valgte vi.

Adım 2: Byg Et Solpanels Tutucu

Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu
Byg Et Solpaneller Tutucu

3D yazıcılar için tasarım ve tasarımlar, solpanel için dizayn edilmiş ve kan bevæge det rundt efter solen vi valgte ve tegne det i 3D yazıcılar için tasarlanmış ve 3D yazıcılar için basit bir şekilde tasarlanmış. derefter var det bare og montere panel ve step motor påholderen vi har vedlagt filerne fra Inventor'ın en büyük ve en iyi bruge'ye kadar

3. Adım: Solpanel'i Otomatikleştirin

Otomat Solpanel
Otomat Solpanel
Otomat Solpanel
Otomat Solpanel

solpanelet bruger 2 stk. Adım motor ve 4 stk. lys sensörü 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 undnyttelse af panelet ve dlagt koddan til panelet

er bağlantısı 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…

Adım 4: Voltmetre

Voltmetre
Voltmetre

Veri tabanı veri tabanına göre veri tabanına göre veri tabanına göre veri tabanına göre veri tabanına dayalı elektronik modüller voltmetre ile ilgili tüm analogları kontrol edin.

Adım 5: Beskrivelse Af Programı

Beskrivelse Af Programı
Beskrivelse Af Programı

Windows uygulamasında med dette program er, der kan vise voltajın live fra en solcelle. Dette gør vi ve første'de, oprette en forbindelse mellem den Arduino som læser fra solcellen ve app'en'de. Dataen kan nu blive en son arduinoen ve trykke på”Læs data fra Arduino”, man vælger hvor mange datasæt man ønsker ve skrive dette antal i”Antal man ønsker fra solcelle”, datasættene kommer med et sekrum. En son veriler, en son veriler, veri tabanına yüklenen veriler, tek kimlikli zaman damgası ve zaman damgası. Hente dataen fra database, man kan selv en iyi emme hvor mange datasæt man ønsker, ved skrive nummeret i tekstboksen”Antal der hentes fra databasen” için başvuruyorum. Man kan nu vælge for vist gennemsnittet fra disse ved at makkere de datasæt man ønsker gennemsnittet af.

Adım 6: Kodlama

System'i kullanma;System. Collections. Generic'i kullanma; System. ComponentModel kullanarak; System. Data kullanarak; System. Drawing'i kullanarak; System. Linq kullanarak; System. Text'i kullanarak; System. Threading. Tasks kullanarak; System. Windows. Forms'u kullanarak; System. IO. Port'ları kullanarak; MySql kullanarak; MySql. Data. MySqlClient'i kullanarak; kullanarak System. Globalization;ad alanı WindowsFormsApp1 { genel kısmi sınıf Form1: Form { /* Verileri bağlantı dizesine kadar kullanır. Veri tabanı sunucu sunucusunda, özel SerialPort myport; string _server = "127.0.0.1"; string _database = "deneme"; string _uid = "kök"; string _pwd = ""; public Form1() { InitializeComponent(); } /* Void laver'ı, veri tabanındaki veri tabanına kadar olan bağlantı dizgisini kullanırım. Bağlantılar vil der komme tr mesaj kutusu hvor der står " bağlı " Hvis der ikke kan til databasen vil der kommer en errormessage hvor i der står "Bağlanamadı lütfen bağlantınızı kontrol edin" */ private void knap_Click(object) sender, EventArgs e) { try { // Veri tabanına kadar her laver vi en string hvor vi skriver hvordan vores bağlantıları. string myConn = "server=" + _server + ";database=" + _database + ";uid=" + _uid + ";pwd=" + _pwd + ";"; MySqlConnection bağlantısı = yeni MySqlConnection(myConn); bağlantı. Open(); MessageBox. Show("Bağlandı"); } catch (İstisna) { MessageBox. Show("Bağlanamadı, lütfen bağlantınızı kontrol edin"); } } /* vores veritabanına void göndericiyi tanımlıyorum. Veri kutusunun veri tabanına eklenmesi ve veri tabanına gönderilmesi için veri tabanı. Der vil komme en iletileri hvor der står " DB'ye veri gönderme " ve derefter bliver Data Box cleart */ private void insetDB_Click(object sender, EventArgs e) { // Veri tabanına kadar her bağlantının veri tabanına bağlanması. string myConn = "server=" + _server + ";database=" + _database + ";uid=" + _uid + ";pwd=" + _pwd + ";"; kullanarak (MySqlConnection bağlantı = new MySqlConnection(myConn)) { bağlantı. Open(); // Her bir ifade için tüm verileri kullanırım Veri Kutusu ve göstergeler için veri kutusu ve tablolar için güç ve veri tabanı için veri tabanı (textBoxDB. Lines içindeki satırlar) { string myInsert = "GÜÇ (volt) DEĞERİNİ GİRİN '" + satırlar. ToString() + "')"; MySqlCommand cmd = new MySqlCommand(myInsert, bağlantı); cmd. ExecuteNonQuery(); } bağlantı. Kapat(); MessageBox. Show(" Veri tabanına gönderilen veriler "); textBoxDB. Clear(); } } /* Void veri tabanını v det veri tabanını kullanırım. vi har en tekstbox hvor der er lavet 3 kolonner hvor der commer forsekilg veri ind. Den første viser data id der efter vises hvad volten var og ti sidst kan du se tidspunket det er målt på. En iyi ve en güvenilir kişiler, en uygun kişilerle ilgilenir.*/ private void knapDBGet_Click(object sender, EventArgs e) { listViewDb. Clear(); // Onun 3 kolonlu lavet'i. listViewDb. Columns. Add("id"); listViewDb. Columns. Add("volt"); listViewDb. Columns. Add("tarih"); listViewDb. MultiSelect = doğru; listViewDb. View = View. Details; // Veri tabanına kadar olan bağlantıların laver vi en string hvor vi skriver hvordan vores. string myConn = "server=" + _server + ";database=" + _database + ";uid=" + _uid + ";pwd=" + _pwd + ";"; kullanarak (MySqlConnection bağlantı = new MySqlConnection(myConn)) { bağlantı. Open();

// Veri tabanına göre 20 id der er indsat i tablosuna kadar her bir veri tabanı.

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

// Her veri tabel (dTable) hvor den data vi henter i databasen bliver lagt ind.

MySqlDataAdapter MyAdapter = new MySqlDataAdapter(); MyAdapter. SelectCommand = cmd; DataTable dTable = yeni DataTable(); MyAdapter. Fill(dTable); for (int i = 0; i < dTable. Rows. Count; i++) { // Onun fordeler vi det verileri vi lagt ind dtable ud i de 3 kolonner vi oprettede tidliger i koden. DataRow dataRow = dTable. Rows; ListViewItem listeitem = new ListViewItem(dataRow["id"]. ToString()); listitem. SubItems. Add(dataRow["volt"]. ToString()); listitem. SubItems. Add(dataRow["tarih"]. ToString()); listViewDb. Items. Add(listitem); } bağlantı. Kapat(); }

}

/* Veri tabanına ilişkin verileri geçersiz kılar

Du makere det du vil lægge sammen ve ben bunden af teksboxen står der hvad gennemsnitet. "Hata 40: Kullanıcı bir kukla" */ private void listViewDb_SelectedIndexChanged(nesne gönderici, EventArgs e) { try { float output = 0; if (listViewDb. SelectedItems. Count >= 2) { /* Her birleştirici canlı çıktılar bazı 0 sammen med den mærkeret veri som bliver lavert om til veri tipi şamandıra ve derefter bölücüler der med den antal der er er mærkert så den den regner volten. Ved at vi brugte CultureInfo. InvariantCulture bruge'de kan vi få lov til. ben komatal */ foreach (listViewDb. SelectedItems içindeki ListViewItem öğesi) { output += float. Parse(item. SubItems[1]. Text, CultureInfo. InvariantCulture)/ listViewDb. SelectedItems. Count; } Output. Text = output. ToString(); } } catch { MessageBox. Show("Hata 40: Kullanıcı bir kukladır"); } } /* I denne Void har vi lavet så den kan læse på serieport i vores tilfælde på en arduino. Verileri oku Verileri oku Verileri oku "tanrı sana yardım etsin" */ private void startBn_Click(object sender, EventArgs e) { // Her skriver du de data du skal bruge til at kunne connct til det du skal læse fra. textBoxDB. Clear(); myport = new 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(); } yakalama (İstisna) {

MessageBox. Show("Der udfylt forkert");

}

} private void helpBt_Click(nesne gönderici, EventArgs e)

{ MessageBox. Show("programet içinde læse ny tarihi için 1 Klik på læse data fra solcelle." + " \n " + "2 klik på indsæt i veritabanı için gemme dataen." + " \n " + "3 klik læse den gemet verileri için en iyi veri tabanı." + " \n " + "4 adam kan klike på id at renge gennemsnite af de valt dataer ud." + " \n " + "5 Test forbinles ser om veritabanın 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"); } } }

Adım 7: Veritabanı

Veri tabanı
Veri tabanı

vi ville lave en solcellestyring'de da vi besluttede, vi kunne se hvor mange volt den laver lige nu'da ville det være smart. Daha fazla bilgi için tıklayınız. kunne gemme det data har vi lavet en veritabanı için wampserver. Vi har lavet ve program i Visual studio som sender en string med volt måling til databasen. 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 veri tabanı sağlayıcısı, tüm malları ve tekil kimlik bilgilerini içerir. Veri tabanı veri tabanı için en iyi uygulamalar, en son ve en güncel veriler için geçerlidir.

Adım 8: HTML Hjemmeside

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

Ind fra databasen için veri tabanı için der er blevet lavet ve denne side er bygget op ved hjælp HTML ve CSS. HTML er blevet brugt til at bygge alle elementerne op på siden ve linke til data siden sådan at man kan komme mellem de to side.

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

Adım 9: PHP Hjemmeside

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

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

Veri tabanına ve veri tabanına kadar php connecter'da daha fazla bilgi edinin. Ved brugen af CSS kode er det blevet sat op på en ne ve overskuelige måde, med alt den veriler derlenmiş veri tabanı.

Önerilen: