
- •Изучение протоколов передачи данных и реализация этих протоколов на плате Arduino mega2560 в программных проектах среды ide Arduino отчет
- •Индивидуальное задание
- •Совместный рабочий график (план) проведения практики
- •1 Общая характеристика рфяц–внииэф ифв 8
- •2 Обзор программного обеспечения в реализации протокола передачи данных на плате Arduino mega2560 10
- •3 Требования к реализации протокола передачи данных на плате Arduino mega2560 12
- •Введение
- •Общая характеристика рфяц–внииэф ифв
- •Обзор программного обеспечения в реализации протокола передачи данных на плате Arduino mega2560
- •Требования к реализации протокола передачи данных на плате Arduino mega2560
- •Список использованных источников
Обзор программного обеспечения в реализации протокола передачи данных на плате Arduino mega2560
Для реализации данного предприятием индивидуального задания были выбраны языки программирование C, C++ и Arduino, т.к. программное и аппаратное обеспечение, предоставленные предприятием, предполагали использование именно этих языков.
В силу ограничений с целью безопасности, возможности реализовать проект на настоящих датчиках и микроконтроллерах, используемых компанией, не было. Поэтому компьютер играл роль датчиков, отправляющих измерения, плата Arduino MEGA2560 [6] являлась альтернативой настоящим платам, а дисплей Nextion [7] играл роль модуля, через который пользователь управляет системой, и на который выводятся полученные с компьютера данные. Кроме того, количества предоставленных ресурсов не хватало для создания хотя бы двух звеньев промышленной сети. При таких условиях было принято решения создать некую модель «мастера» [8] промышленной сети, которая в будущем может быть использована для создания уже опытных образцов.
Для создания приложения «CVI_function» с удобным графическим дизайном была использована среда разработки LabWindows/CVI10 [9]. Она была использована для создания приложения с пользовательским интерфейсом, имитирующего отправку данных с датчиков на локальный сервер TCP, развёрнутый на плате Arduino MEGA2560. Все функции реакции кнопок приложения были написаны на языке С.
Данное приложение взаимодействовало с программой «client», написанной на языке C++ в среде программирования VisualStuido2015 [10] для взаимодействия с платой по протоколу TCP. Это программа является «клиентом» в описанном соединении и нужна для отправки и получения пакетов данных с сервера.
На языке Arduino в программной среде Arduino IDE [11] была написана программа «calculation_server», принимающая данные с компьютера (TCP сервер), обрабатывающая эти данные и отправляющая результат на дисплей Nextion.
Графический интерфейс «Nextion_graph» дисплея Nextion был создан в программной среде Nextion Editor [12]. На этом дисплее отображаются графики, построенные на основе принятых с платы данных.
Конкретная задача стояла в следующем: в приложении «CVI_function» есть список функций типа y=f(x) и напротив каждой функций должна быть кнопка, отправляющая эту функцию программе «client». Та в свою очередь по протоколу TCP/IP отправляет номер выбранной функции на плату. Программой «calculation_server» высчитывается значение выбранной функции относительно конкретного значения x, которое увеличивается на единицу каждые пятьдесят миллисекунд, и отправляется на дисплей Nextion. И последним шагом является нарисованный на дисплее график на основе полученных вычислений.
Требования к реализации протокола передачи данных на плате Arduino mega2560
Система для реализации протокола передачи данных на плате Arduino MEGA2560 должна включать в себя следующие функциональные требования:
выбор функции типа y=f(x) на компьютере;
передача данных на плату по протоколу TCP/IP;
вывод графика выбранной на компьютере функции.
Нефункциональным требованием является:
удобство использования.
Список использованных источников
Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Сетевая_модель_OSI (дата обращения: 02.03.22).
Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Протокол_передачи_данных (дата обращения: 02.03.22).
А. А. Захарова Структура отчёта и краткие методические указания – Томск: томский государственный университет систем управления и радиоэлектроники, 2022. – 1-2с.
Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Всероссийский_научно-исследовательский_институт_экспериментальной_физики (дата обращения: 02.03.2022).
Сайт РФЯЦ–ВНИИЭФ ИФВ [Электронный ресурс]. – Режим доступа: http://www.vniief.ru/researchdirections/Research/bangphysics/ (дата обращения: 02.03.2022).
Сайт с описанием и техническими характеристиками платы Arduino MEGA2560 [Электронный ресурс]. – Режим доступа: http://arduino.ru/Hardware/ArduinoBoardMega2560 (дата обращения: 03.03.22).
Сайт с описанием и техническими характеристиками TouchScreen дисплея Nextion [Электронный ресурс]. – Режим доступа: https://3d-diy.ru/wiki/arduino-displei/nextion-displey/ (дата обращения: 03.03.22).
Сайт «Энциклопедия АСУ ТП» с описанием промышленных сетей и интерфейсов [Электронный ресурс]. – Режим доступа: https://bookasutp.ru/Chapter2_1.aspx (дата обращения 03.03.22).
Сайт National Instruments с описание среды разработки LabWindows/CVI [Электронный ресурс]. – Режим доступа: https://www.ni.com/ru-ru/shop/software/products/labwindows-cvi.html (дата обращения: 03.03.22).
Сайт Visual Studio [Электронный ресурс]. – Режим доступа: https://visualstudio.microsoft.com/ru/ (дата обращения: 03.03.22).
Сайт Arduino IDE [Электронный ресурс]. – Режим доступа: https://www.arduino.cc/en/software (дата обращения: 03.03.22).
Сайт Nextion [Электронный ресурс]. – Режим доступа: (дата обращения: 03.03.22).