Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Я детально проработал проект, чтобы открыть его в интеллектуальном IOT-хранилище, чтобы получить доступ к данным, хранящимся в приложении / на базе данных или в базе данных. Fra databasen skal det da være muligt and hente dataen og vise den. Чтобы получить доступ к более детальной информации и подключению, используйте приложение для Windows, подключенное к Arduino. Здесь и далее подробно рассказывается о большой базе данных фрейма данных.
Шаг 1: Afgrænsning
Fra startten havde vi tænkt os at lave en Solcelle, fra hvor vi skulle kunne læse voltagen og gemme den på en database. Прежде всего, мы видим, как это сделать, и найти его, а также использовать базы данных, элементы Arduino и другие элементы с Node-RED. Самая детальная информация о мониторе и панели с инвертором. Vi måtte dog gentenke projektet, da vi ikke kunne få incteren til at virke med solcellepanelet, derfor endte vi med at gå med en lille solcelle, som kunne moniteres direkte fra Arduinoen. Теперь вы можете найти его в droppe Node-RED, и вы увидите, что это просто enkelt. Я использую приложение для Windows в приложении Windows, в котором используются все функции, другие данные, доступные для Arduino,, только для данных в базе данных, для самостоятельного создания базы данных.
Шаг 2: Держатель Byg Et Solpanels
Вы можете создать и сохранить дизайн в держателе для Solpanel så vi kan bevæge det rundt efter solen vi valgte og tegne det i 3D så vi kunne printe delene ud в 3D-принтере, который может быть использован без покрытия, снятого с панели. Установить панель и шаговый двигатель на панели управления, установленной в соответствии с требованиями изобретателя
Шаг 3: Автоматиск Solpanel
солпанелет брюгер 2 стк. Шаговый двигатель и 4 ст. 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
her er link 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: вольтметр
Вы можете найти данные из одного окна, чтобы отправить его в базу данных, где вы можете использовать его в качестве аналогового индикатора на Arduino.
Шаг 5: Beskrivelse Af Programmet
Просмотрите программу с детальным программным обеспечением в приложении для Windows, которое будет работать в режиме реального времени. Получите больше, чем нужно, чтобы сделать это лучше всего для Arduino с меньшим напряжением, чем Solcellen и App’en. Dataen kan nu blive læst fra Arduinoen ved at trykke på”Læs data fra Arduino”, man vælger hvor mange datast man nsker, at skrive dette antal i «Antal man ønsker fra solcelle», datasættene kommer med et sekunds mellemrum. Нет всех данных, которые можно загружать в базу данных, все данные, метку времени и уникальный идентификатор. Я приложил много усилий, чтобы найти данные в базе данных, человек может использовать данные о человеке, опубликованный на странице "Анталь дер хентес из базы данных". Man kan nu vælge at for vist gennemsnittet fra анализируется и makkere de datasæt man ønsker gennemsnittet af.
Шаг 6: Кодэ
using System; using System. Collections. Generic; using System. ComponentModel; using System. Data; с помощью System. Drawing; using System. Linq; using System. Text; using System. Threading. Tasks; using System. Windows. Forms; используя System. IO. Ports; using MySql; using MySql. Data. MySqlClient; using System. Globalization; пространство имен WindowsFormsApp1 {общедоступный частичный класс Form1: Form {/ * Ее хранит данные до строки подключения. Если вы создаете объект на этом сервере, вы можете использовать базу данных на сервере. * / Private SerialPort myport; строка _server = "127.0.0.1"; строка _database = "тест"; строка _uid = "корень"; строка _pwd = ""; общедоступная Form1 () {InitializeComponent (); } / * Я знаю, что Void laver vi vores connectionstring to vores database vi bruger de data overfor. Hvis der laves en connections vil der komme en messagebox hvor der står "connected" Hvis der ikke kan laves en connection til databasen vil der kommer en errormessage hvor i der står "Не удалось подключиться, проверьте ваше соединение" * / private void knap_Click (object sender, EventArgs e) {try {// Ее laver vi en string hvor vi skriver hvordan vores connections er til databasen. строка myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; MySqlConnection connection = новый MySqlConnection (myConn); connection. Open (); MessageBox. Show («Подключено»); } catch (Exception) {MessageBox. Show («Не удалось подключиться, проверьте подключение»); }} / * Я отказался от отправителя void vi til vores database. Эти данные могут быть загружены из Arduino или står i Data Box, если вы пытаетесь использовать их на вставке с информацией, отправляемой в базу данных. Der vil komme en messages hvor der står "data send to DB" og derefter bliver Data Box cleart * / private void insetDB_Click (object sender, EventArgs e) {// Ее laver vi en string hvor vi skriver hvordan vores connections er til databasen. строка myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; используя (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open (); // Я проверяю каждый статус для каждого сообщения, содержащего все строки данных, и показываю окно данных и указатели мощности для сигнатурного напряжения и базы данных для каждого (строки переменных в textBoxDB. Lines) {string myInsert = "INSERT INTO power (volt) VALUES ('"+ lines. ToString () +"') "; MySqlCommand cmd = новый MySqlCommand (myInsert, conn); cmd. ExecuteNonQuery (); } conn. Close (); MessageBox. Show ("Данные отправлены в базу данных"); textBoxDB. Clear (); }} / * Я хочу, чтобы Void содержал данные в базе данных. vi har en tekstbox hvor der er lavet 3 kolonner hvor der kommer forsekilg data ind. Den første viser data 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 (); // Ее bliver de 3 kolonner lavet. listViewDb. Columns. Add ("идентификатор"); listViewDb. Columns. Add («вольт»); listViewDb. Columns. Add ("дата"); listViewDb. MultiSelect = true; listViewDb. View = View. Details; // Ее умывальник vi en string hvor vi skriver hvordan vores connections er til databasen. строка myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; используя (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ();
// Ее помощник сидел до 20 идентификаторов таблицы 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 = новый MySqlCommand (myInsert, conn);
// Ее вкладка vi en data tabel (dTable) hvor den data vi henter i 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 ++) {// Ее составитель 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 ["идентификатор"]. ToString ()); listitem. SubItems. Add (dataRow ["вольт"]. ToString ()); listitem. SubItems. Add (dataRow ["дата"]. ToString ()); listViewDb. Items. Add (listitem); } conn. Close (); }
}
/ * Я хочу, чтобы Void мог работать с функциями, которые были созданы, если вы хотите, чтобы данные были созданы в базе данных.
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 en массаж hvor der står «Ошибка 40: Пользователь - пустышка» * / private void listViewDb_SelectedIndexChanged (объект-отправитель, EventArgs e) {try {float output = 0; if (listViewDb. SelectedItems. Count> = 2) {/ * Ее ligger vi vores output som er 0 sammen med den mærkeret data som bliver lavert om til data typen float or derefter divres der med den antal der er mærkert så den regner gennemsnitet af Volten. Ведите на vi brugte CultureInfo. InvariantCulture kan vi få lov til at bruge. i vores komatal * / foreach (элемент ListViewItem в listViewDb. SelectedItems) {output + = float. Parse (item. SubItems [1]. Text, CultureInfo. InvariantCulture) / listViewDb. SelectedItems. Count; } Output. Text = output. ToString (); }} catch {MessageBox. Show («Ошибка 40: пользователь - пустышка»); }} / * Я хочу Void har vi lavet så den kan lse 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 indi vores Data Box Når vi trykker på Read data læser den de næste 50 linjer der bliver sendt til serieporten Hvis der er en fejl så den ikke vil læse date der komme en errobox hvor der vil stå "God help you" * / private void startBn_Click (object sender, 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; попробуйте {// Ее siger vi hvor mange den skal ind læse af gangen og hvor det skal ligges henne. myport. Open (); для (int я = 1; я <= int. Parse (textBoxAntalArduino. Text); я ++) {строка inData = myport. ReadLine (); textBoxDB. AppendText (inData); } myport. Close (); } catch (Exception) {
MessageBox. Show ("Der udfylt forkert");
}
} private void helpBt_Click (отправитель объекта, EventArgs e)
{MessageBox. Show ("1 клик на любую дату в программе." + "\ N" + "2 клика на индексную базу данных для gemme dataen." + "\ N" + "3 клика på læs fra database for 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 skrives et antal på hvor mange man vil hendte fra solcellen "+" / n "+" 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. Vi ville også gerne kunne se hvad den lave ved tidliger målinger, eller hvad den i gennemsnittet har productions i den sidste tid. Для того, чтобы получить доступ к данным, хранящимся в базе данных на сервере wampserver. Vi har lavet et 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 проблема med at databasen ville modtage komatal, hvis den gemte dem i double. База данных Vores предоставляет все målinger et unikt id hvor man kan se værdien hvad, og hvilke tidspunkter det er målt. Приложение Vores позволяет получить данные из базы данных, а также узнать больше о том, как это сделать.
Шаг 8: HTML Hjemmeside
Der er blevet lavet en forside til den al den data vi for ind fra databasen, denne side er bygget op ved hjælp HTML og CSS. HTML позволяет просматривать все элементы на стороне и связывать данные с другими пользователями.
CSS позволяет создавать элементы HTML и давать ссылки на файлы.
Шаг 9: PHP 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.
Денн Сайд сообщил, что подключился к php к базе данных, а также к данным в базе данных, чтобы получить доступ к загрузчику. Введен код CSS, содержащий подробные данные, находящиеся на нем и в сверхскоростных моделях, с альтернативными данными из коммерческой базы данных.