diff --git a/CyberSystem/ApiServer/ApiServer.csproj b/CyberSystem/ApiServer/ApiServer.csproj
index 8768216..c50afcc 100644
--- a/CyberSystem/ApiServer/ApiServer.csproj
+++ b/CyberSystem/ApiServer/ApiServer.csproj
@@ -9,6 +9,8 @@
+
+
diff --git a/CyberSystem/ApiServer/Controllers/PostContoller.cs b/CyberSystem/ApiServer/Controllers/PostContoller.cs
index 25b31a3..d7a0ed5 100644
--- a/CyberSystem/ApiServer/Controllers/PostContoller.cs
+++ b/CyberSystem/ApiServer/Controllers/PostContoller.cs
@@ -17,7 +17,7 @@ namespace ApiServer.Controllers
}
[HttpGet]
- [Route("adminpost")]
+ [Route("admin")]
public string GetAdmin()
{
return "Hello, Admin! It's your POST!!!";
diff --git a/CyberSystem/ApiServer/Controllers/StateController.cs b/CyberSystem/ApiServer/Controllers/StateController.cs
new file mode 100644
index 0000000..8af7548
--- /dev/null
+++ b/CyberSystem/ApiServer/Controllers/StateController.cs
@@ -0,0 +1,15 @@
+using Microsoft.AspNetCore.Mvc;
+
+namespace ApiServer.Controllers
+{
+ [ApiController]
+ [Route("api/state")]
+ public class StateContoller
+ {
+ [HttpGet]
+ public byte GetActualState()
+ {
+ return GetActualStateFromCom.CurrentState;
+ }
+ }
+}
diff --git a/CyberSystem/ApiServer/GetActualStateFromCom.cs b/CyberSystem/ApiServer/GetActualStateFromCom.cs
new file mode 100644
index 0000000..de2274b
--- /dev/null
+++ b/CyberSystem/ApiServer/GetActualStateFromCom.cs
@@ -0,0 +1,48 @@
+using System;
+using System.IO.Ports;
+using System.Threading;
+using System.Threading.Tasks;
+
+
+namespace ApiServer
+{
+ public class GetActualStateFromCom : IHostedService, IDisposable
+ {
+ public static byte CurrentState { get; set; }
+
+ static SerialPort _serialPort;
+
+ static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
+ {
+ SerialPort serialPort = (SerialPort)sender;
+ string receivedData = serialPort.ReadExisting();
+
+ Console.WriteLine("Полученные данные: " + receivedData);
+ CurrentState = Convert.ToByte(receivedData);
+ }
+
+ public Task StartAsync(CancellationToken cancellationToken)
+ {
+ string portName = "COM3";
+ int baudRate = 9600;
+
+ _serialPort = new SerialPort(portName, baudRate);
+ _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
+ _serialPort.Open();
+
+ Console.WriteLine("Чтение данных с порта: " + portName);
+
+ return Task.CompletedTask;
+ }
+
+ public Task StopAsync(CancellationToken cancellationToken)
+ {
+ return Task.CompletedTask;
+ }
+
+ public void Dispose()
+ {
+ _serialPort.Dispose();
+ }
+ }
+}
diff --git a/CyberSystem/ApiServer/Program.cs b/CyberSystem/ApiServer/Program.cs
index 0b40fc1..8d6f988 100644
--- a/CyberSystem/ApiServer/Program.cs
+++ b/CyberSystem/ApiServer/Program.cs
@@ -1,3 +1,5 @@
+using ApiServer;
+
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
@@ -5,15 +7,16 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
-//builder.Services.AddSwaggerGen();
+builder.Services.AddSwaggerGen();
+builder.Services.AddHostedService();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
- //app.UseSwagger();
- //app.UseSwaggerUI();
+ app.UseSwagger();
+ app.UseSwaggerUI();
}
app.UseAuthorization();
@@ -21,3 +24,4 @@ app.UseAuthorization();
app.MapControllers();
app.Run();
+
diff --git a/CyberSystem/ApiServer/Properties/launchSettings.json b/CyberSystem/ApiServer/Properties/launchSettings.json
index e1ba3c5..99277b1 100644
--- a/CyberSystem/ApiServer/Properties/launchSettings.json
+++ b/CyberSystem/ApiServer/Properties/launchSettings.json
@@ -14,7 +14,7 @@
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
- "applicationUrl": "http://localhost:12345",
+ "applicationUrl": "http://localhost:12344",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
diff --git a/project1/project1.ino b/project1/project1.ino
new file mode 100644
index 0000000..afb393a
--- /dev/null
+++ b/project1/project1.ino
@@ -0,0 +1,20 @@
+const int digitalPin = 13;
+
+void setup() {
+ Serial.begin(9600);
+}
+
+void loop() {
+ const int value = digitalRead(digitalPin);
+
+ if (value == HIGH)
+ {
+ Serial.print(1);
+ }
+ else
+ {
+ Serial.print(0);
+ }
+
+ delay(500);
+}