תוכן עניינים:

מערכת גשש השמש האוטומטית EAL-Industry 4.0: 9 שלבים
מערכת גשש השמש האוטומטית EAL-Industry 4.0: 9 שלבים

וִידֵאוֹ: מערכת גשש השמש האוטומטית EAL-Industry 4.0: 9 שלבים

וִידֵאוֹ: מערכת גשש השמש האוטומטית EAL-Industry 4.0: 9 שלבים
וִידֵאוֹ: Технологии будущего: Электромобиль Avatr 12 от Changan, CATL и Huawei 2024, יולי
Anonim
Image
Image
מערכת גשש השמש האוטומטית EAL-Industry 4.0
מערכת גשש השמש האוטומטית EAL-Industry 4.0

אני יכול לפרסם את הפרוייקט הזה ולתת ליבו של IOT פתרונות חכמים. Fra databasen צריך את זה להיות אפשרי at hente dataen and vise den. אנו בחרו לעשות זאת באמצעות סוללה, שבה אנו יכולים למנות מתח באמצעות מכשיר ארדואינו ומראה זאת באפליקציית Windows. היכן ניתן להזין נתונים אלה ממאגר נתונים.

שלב 1: Afgrænsning

Fra start היה vi tænkt os at lave en Solcelle, fra how vi could read voltagen and gemme den on en database. לפני כן, אנו יכולים לחשוב על אתר אינטרנט ואסור לאתר, databasen, אתרי אינטרנט ו- Arduinoen יחד עם Node-RED. עם זאת, יש לנו גם מחשבות ואפשרויות מעקב עם סוללה עם מהפך. Vi måtte dog gentænke פרויקט, da vi ikke kunne få inverteren til at virke med solcellepanelet, לכן endte vi med at gå med en solcelle lille, som יכול moniteres ישירות מארדואינו. אנו גם יכולים להשתמש ב- Node-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

אנו התחילו ולתכנן מחזיק עד סולפנל, כך שאנו יכולים להעביר את זה מסביב לאחר שסיינו לבחור ולתכנן את זה בתלת מימד, כך שאנו יכולים לפרוץ את חלקינו במדפסת תלת מימד אם ברצוננו להגיע לפסח לאחר שהסולפאן יש לנו רכישות. לאחר מכן, זה יכול להיות פנל ומוניטרי פאנל ומנוע צעדים בהולדר, אם יש לנו תוכנה שממציאה מממציא, כך שהם יכולים לשמש ולהשתמש.

שלב 3: סולפנל אוטומטי

סולפנל אוטומטי
סולפנל אוטומטי
סולפנל אוטומטי
סולפנל אוטומטי

solpanelet משתמש 2 stk. Step motor og 4 stk. lys sensor hvor vi so can måle lys værdigerne som we can use and select which direction panelet shall stand i for and få bedst utnyttelse of panelet vi have vedlagt koden to panelet

הקישור שלה למרכיבים שונים של רכישות

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: מד מתח

מד מתח
מד מתח

אנו אמורים להשתמש בכמה נתונים שאנו יכולים לשלוח למסד הנתונים בהם אנו משתמשים ב- solpanelets וולט ואפשר לקרוא אותם באנלוגיות באנרגיה בארגנו.

שלב 5: תיאור התוכנית

תיאור תכנית
תיאור תכנית

התוכנית שלנו יכולה להציע אפליקציות של Windows, שיכולות להפעיל מתחנים חיים. Dette עושה vi ved at first at oprette en connection between den Arduino som læser voltagen fra solcellen og app’en. Dataen can nu blive læst from Arduinoen ved at trykke på”Read data fra Arduino”, man vælger how many datasæt man Wish ved at skrive this number i”Antal man Want fra solcelle”, datasættene kommer med et sekunds betweenrum. כאשר כל הנתונים יתאפשרו, ניתן להעלות נתונים למסד נתונים, בהם ניתן יהיה לחלק חותם וזמן ייחודי. אני יכול גם לקבל מידע נוסף על מסד הנתונים, אדם יכול להחליט כמה מידע צריך לרכוש, ולכתוב מספר מספרים בטקסטים "מספר נתונים מהנתונים". Man can nu select at for vist אינטרספט fra disse ved at makkere de datasæt man Wish gjennnittet af.

שלב 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; מרחב שמות WindowsFormsApp1 {סוג חלקי ציבורי טופס 1: טופס { /* יש לנו את הנתונים שלנו למחרוזת חיבור. בדרך זו אפשר יהיה למצוא הרבה פרטים אם אפשר לשנות את מסד הנתונים או השרת.*/ Private SerialPort myport; string _server = "127.0.0.1"; string _database = "test"; string _uid = "root"; string _pwd = ""; טופס ציבורי 1 () {InitializeComponent (); } /* אני יכול להציג את מחרוזת החיבור שלנו למסד הנתונים שלנו. אם der laves וחיבורים יגיעו למסגרת תיבת המסרים שבהם הוא "מחובר" אם אין אפשרות להעברת חיבורים למאגר מידע שבו יגיעו לאתר הודעות שגיאה "אין אפשרות להתחבר אנא בדוק את החיבור שלך" */ private void knap_Click (object sender, EventArgs e) {try {// Her laver vi en string how vi skriver how our connetions are to databasen. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; חיבור MySqlConnection = MySqlConnection חדש (myConn); connection. Open (); MessageBox. Show ("מחובר"); } catch (חריגה) {MessageBox. Show ("החיבור נכשל אנא בדוק את החיבור שלך"); }} /* אני לא שולח את השולח בטל למסד הנתונים שלנו. נתוני המידע שאנו יכולים לקבל מהארדואינו ויעמדו בפנינו בתיבת הנתונים, כאשר נוכל לשלוח מידע למסירת הנתונים. אם אתה רוצה לקבל הודעות אם הנתונים "נשלחים אל DB" ואחר כך הופכים את Data Box cleart/ private void insetDB_Click (שולח האובייקט, EventArgs e) {// Her laver vi en string how vi skriver how our connetions is to databasen. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; באמצעות (MySqlConnection conn = MySqlConnection חדש (myConn)) {conn. Open (); // אני מחפש את כל הנתונים שלנו בכל תיבת הנתונים שלנו והמחוונים יכולים להיות עצמאיים וטבליים במחשבי הנתונים (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 (); }} /* אני לא נותן מידע על הנתונים שלנו ויש להם מידע על בסיס הנתונים שלנו. vi har en textbox hvor der is made 3 colonner hvor der kommer forsekilg data ind. הנתונים הראשונים מראים את זה לאחר ההופעות, מה שהולך וניתן להזדהות את הזמן. lige nu hentes det antal man has valed to målinger men det can laves om if man Want at se felre or mindre.*/ private void knapDBGet_Click (sender sender, EventArgs e) {listViewDb. Clear (); // Her bliver de 3 kolonner made. listViewDb. Columns. Add ("מזהה"); listViewDb. Columns. Add ("וולט"); listViewDb. Columns. Add ("תאריך"); listViewDb. MultiSelect = true; listViewDb. View = View. Details; // המאמר שלנו מכיל מחרוזת כיצד אנו כותבים כיצד הקשרים שלנו ניתנים לבסיס הנתונים. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; באמצעות (MySqlConnection conn = MySqlConnection חדש (myConn)) {conn. Open ();

// Her henter vi de last til 20 id der is indsat in tablen Power i databasen.

int antal = int. Parse (textBoxAntal. Text); string myInsert = "SELECT * FROM (SELECT * FROM ORDER BY id DESC LIMIT"+antal+") תת ORDER BY id ASC"; MySqlCommand cmd = MySqlCommand חדש (myInsert, conn);

// לוח הכביסה שלנו ונתוני טבלאות (dTable) hvor den data vi henter i databasen הופך להיות מוסף.

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 earlyer in 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 (); }

}

/* אני יכול לבטל את המבנה והפונקציה שבה אנו יכולים לשלוח מידע על מידע מאתר זה.

Du makere det du vil lægge sammen og i bunden af textboxen står der what gennemsnitet. אם יש לך טעות ואפשר לכתוב את העיסוי שבו "טעות 40: המשתמש הוא דמה" */ private void listViewDb_SelectedIndexChanged (שולח האובייקט, EventArgs e) {try {float output = 0; if (listViewDb. SelectedItems. Count> = 2) { /* Her ligger vi הפלט שלנו כשהוא 0 יחד עם נתוני mærkeret, כך שהמחשב לא יכול להיעלם עד שתסוגים אחרים צפים ואחר כך מחלקים את מספר הפירושים כפי שהם רבים יותר. וולטן. Ved at vi brugte CultureInfo. InvariantCulture kan vi få lov til at use. i our 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: המשתמש הוא דמה"); }} /* אני לא מאמין שיש לנו כך שאפשר לקרוא את הסדרה שלנו על המקרה שלנו על ארדואינו. Den læser what der står in seriesport on com port3 and lies the data vi modtager in our Data Box When vi trykker on Read data læser den the next 50 lines der will be sent to seriesporten if there is an error so the not can read daten vil der komme en errobox hvor der vil stå "god help you" */ private void startBn_Click (שולח האובייקט, EventArgs e) {// Her skriver du de data du צריך להשתמש ב- at connect you to read you fra. textBoxDB. Clear (); myport = SerialPort חדש (); myport. BaudRate = 9600; myport. PortName = textBoxPort. Text; myport. DataBits = 8; myport. StopBits = StopBits. One; try {// Her says vi how many den will in read of gangen and hvor it will ligges henne. myport. Open (); for (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 לחץ על קריאת נתוני אבטחה לתאריך כלשהו בתוכנת." + "\ N" + "2 הקלק על הוספה של מסד נתונים עבור gemme dataen." + "\ N" + "3 קליקים på + læs fra database for at read den gemet data.. "" " Antal der skal hentes fra databasen skal udfyldes "); }}}

שלב 7: מסד נתונים

מאגר מידע
מאגר מידע

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. היינו רוצים גם אם אפשר לראות מה צריך להכין מוקדם יותר, או מה צריך להביא לידי ביטוי בפירוט האחרון. For at kunne gemme det data har vi made en database in wampserver. אנו יוצרים תוכנה ואולפן ויזואלי שמשולח מחרוזת ומתח לגרור נתונים. Databasen gemmer værdien som en varchar, da vi had store problems med at databasen ville modtage komatal, אם den gemte dem i double. מסד הנתונים שלנו נותן את כל המקלרים והיחידות לזהות כמה אנשים יכולים להעריך מה, ואיזה Tidspunkter זה אוכל. האפליקציה שלנו יכולה להכיל נתונים שונים ממאגרי מידע, כך שניתן לזהות אותם בקלות ולהכיר את נתוני המידע המשתנים.

שלב 8: HTML Hjemmeside

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

המידע שהופך להיות מבוסס על מידע על נתוני vi עבור מספר נתונים, אתר זה נבנה על ידי שימוש ב- HTML וב- CSS. HTML נוצר כדי לבנות את כל היסודות באתר ולאתר מידע כזה מאז שאדם יכול להגיע בין הצדדים.

CSS נרכש על מנת לתת צבעי HTML בסיסיים ולתת מרחוק בין הביקורים לאתר.

שלב 9: PHP Hjemmeside

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

על ידי brugen af php הוא נוצר באתר אינטרנט כזה ולא ניתן לטכנאי אם אני יכול לקרוא נתונים מ- solcellen.

האתר הזה נוצר על ידי חיבור php למאגרי מידע ומאגר נתונים על אתר האינטרנט, כך שאפשר יהיה לאפשר זמן קצר יותר. באמצעות קוד CSS קוד זה הופעל על כל אחד ואחת מהשיטות המובילות בנתונים.

מוּמלָץ: