Compare commits

...

1 Commits
main ... broxon

Author SHA1 Message Date
0d158423fc Feat: Změny 2023-05-17 10:44:09 +02:00
11 changed files with 100 additions and 32 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

20
AP.yaml Normal file
View File

@ -0,0 +1,20 @@
{\rtf1\ansi\ansicpg1252\cocoartf2709
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
\f0\fs24 \cf0 # Random YAML File\
name: John Doe\
age: 25\
email: johndoe@example.com\
address:\
street: 123 Random Street\
city: Randomville\
country: Randomland\
interests:\
- Sports\
- Music\
- Travel\
}

View File

@ -28,7 +28,14 @@
<div class="text-white pr-8">Location:</div> <div class="text-white pr-8">Location:</div>
<input type="text" class="border border-white rounded-lg h-6 p-2 mt-2" /> <input type="text" class="border border-white rounded-lg h-6 p-2 mt-2" />
</div> </div>
<button class="px-6 py-2 text-white bg-[#1D3920] mt-12 rounded-xl">Save access point</button> <div class="flex flex-row items-center mt-8">
<div class="text-white pr-8">Yaml:</div>
<input type="file" class="text-white justify-center items-center border-white h-6" />
</div>
<button
on:click={() => dispatch('create')}
class="px-6 py-2 text-white bg-[#1D3920] mt-12 rounded-xl">Save access point</button
>
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,16 +1,16 @@
<script lang="ts"> <script lang="ts">
let numberOfAccessPoints = 1; let numberOfAccessPoints = 4;
let numberOfAccessPointsUp = 10; let numberOfAccessPointsUp = 4;
</script> </script>
<div class="height"> <div class="height">
<div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20"> <div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20">
<div class="text-white text-center text-3xl">Dashboard</div> <div class="text-white text-center text-5xl">Dashboard</div>
<div class="flex flex-row text-white mt-20 text-xl"> <div class="flex flex-row text-white mt-20 text-3xl">
<div class="pr-2">Access point amount :</div> <div class="pr-2">Access point amount :</div>
<div>{numberOfAccessPoints}</div> <div>{numberOfAccessPoints}</div>
</div> </div>
<div class="flex flex-row text-white mt-20 text-xl"> <div class="flex flex-row text-white mt-20 text-3xl">
<div class="pr-2">Access points up :</div> <div class="pr-2">Access points up :</div>
<div>{numberOfAccessPointsUp}</div> <div>{numberOfAccessPointsUp}</div>
</div> </div>

View File

@ -1,10 +1,10 @@
<div class="height"> <div class="height">
<div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20"> <div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20">
<div class="text-white text-center text-3xl">About</div> <div class="text-white text-center text-5xl">About</div>
<div class="flex flex-row text-white mt-20 text-xl"> <div class="flex flex-row text-white mt-20 text-3xl">
This project was made by the Pátek team during the 2023 Junior AT&T Hackathon. This project was made by the Pátek team during the 2023 Junior AT&T Hackathon.
</div> </div>
<div class="flex flex-row text-white mt-20 text-xl"> <div class="flex flex-row text-white mt-20 text-3xl">
Its an open-source management tool for access points with Its an open-source management tool for access points with
</div> </div>
</div> </div>

View File

@ -1,7 +1,11 @@
<div class="height"> <div class="height">
<div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20"> <div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20">
<div class="text-white text-center text-3xl">Contact</div> <div class="text-white text-center text-5xl">Contact</div>
<div class="flex flex-row text-white mt-20 text-xl">patek@gbl.cz</div> <div class="flex flex-row text-white mt-20 text-3xl">Email: patek@gbl.cz</div>
<div class="flex flex-row text-white mt-20 text-3xl">Phone: +420 774 824 424</div>
<div class="flex flex-row text-white mt-20 text-3xl">
Address: Královická 668/23, 250 01 Brandýs nad Labem-Stará Boleslav
</div>
</div> </div>
</div> </div>

View File

@ -1,13 +1,19 @@
<div class="height"> <div class="height">
<div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20"> <div class="bg-[#05171E] rounded-lg w-3/4 h-full mx-auto mt-20 py-4 px-20">
<div class="text-white text-center text-3xl">Docs</div> <div class="text-white text-center text-3xl">Docs</div>
<div class="flex flex-row text-white mt-20 text-xl"> <div class="flex flex-row text-white mt-20 text-2xl">
dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy Project PWC2 is a comprehensive solution designed for the multivendor management of Access
text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text Point (AP) devices. It aims to provide a centralized platform for efficiently managing APs
dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy from various vendors, streamlining operations, and enhancing network performance. This
text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text documentation serves as a guide for understanding and implementing the features and
dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy text dummy functionalities of the PWC2 project.
text dummy text </div>
<div class="flex flex-row text-white mt-20 text-2xl">
System Overview The PWC2 system consists of the following key components: Management Console:
The central user interface where administrators can configure, monitor, and manage AP devices.
AP Vendor Adapters: These are vendor-specific modules responsible for communicating with AP
devices, gathering information, and executing configuration commands. Database: Stores device
information, configurations, and operational data for efficient retrieval and analysis.
</div> </div>
</div> </div>
</div> </div>

View File

@ -2,27 +2,59 @@
import AddAp from '$lib/components/AddAp.svelte'; import AddAp from '$lib/components/AddAp.svelte';
import { onMount } from 'svelte'; import { onMount } from 'svelte';
onMount(async () => { function createAP() {
const res = await fetch('http://10.10.1.4:8080/api/v1/aps'); showAddApp = false;
table = await res.json(); //add to table new AP
console.log(table); table = [
}); ...table,
{ Name: 'Cisák', Type: 'Cisco', Location: 'Serverovna', ID: 0, IP: '172.27.69.70' }
];
}
var table = []; var table = [
{
Name: 'Mikrouš',
Type: 'Mikrotik',
Location: 'Recepce',
ID: 0,
IP: '172.27.69.66'
},
{
Name: 'Turrísek',
Type: 'Turris',
Location: 'Kancelář',
ID: 0,
IP: '172.27.69.67'
},
{
Name: 'T-Pod',
Type: 'TP-Link',
Location: 'Jídelna',
ID: 0,
IP: '172.27.69.68'
},
{
Name: 'Asusáč',
Type: 'Asus',
Location: 'Zasedačka',
ID: 0,
IP: '172.27.69.69'
}
];
let showAddApp = false; let showAddApp = false;
</script> </script>
{#if showAddApp} {#if showAddApp}
<AddAp on:close={() => (showAddApp = false)} /> <AddAp on:close={() => (showAddApp = false)} on:create={() => createAP()} />
{/if} {/if}
<div class="height"> <div class="height">
<div <div
class="bg-[#05171E] rounded-lg w-3/4 h-full overflow-y-auto mx-auto mt-20 py-4 px-20 relative" class="bg-[#05171E] rounded-lg w-3/4 h-full overflow-y-auto mx-auto mt-20 py-4 px-20 relative"
> >
<div class="text-white text-center text-3xl">Settings</div> <div class="text-white text-center text-5xl">Settings</div>
<table class="text-white border mx-auto mt-10"> <table class="text-white border mx-auto mt-10 text-xl">
<tr> <tr>
<th class="title">ID</th> <th class="title">ID</th>
<th class="title">Name</th> <th class="title">Name</th>
@ -49,7 +81,7 @@
<div class="flex justify-center my-10"> <div class="flex justify-center my-10">
<button <button
on:click={() => (showAddApp = !showAddApp)} on:click={() => (showAddApp = !showAddApp)}
class="text-white py-2 px-10 bg-[#1D3920] rounded-xl">Add access point</button class="text-white py-2 px-10 bg-[#1D3920] rounded-xl text-xl">Add access point</button
> >
</div> </div>
</div> </div>

BIN
Wifi Analyzer/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -16,4 +16,3 @@ monitor_speed = 115200
lib_deps = lib_deps =
WiFi WiFi
ArduinoJson ArduinoJson
WebSocketsClient

View File

@ -3,7 +3,7 @@
#include <ArduinoJson.h> #include <ArduinoJson.h>
const int scanIterations = 5; const int scanIterations = 5;
const int maxChannel = 14; // Maximum number of Wi-Fi channels in the 2.4 GHz band const int maxChannel = 14;
int channelUsage[maxChannel] = {0}; int channelUsage[maxChannel] = {0};
void setup() { void setup() {
@ -31,14 +31,14 @@ void loop() {
delay(1000); delay(1000);
} }
// Create a JSON object to store channel usage data
StaticJsonDocument<256> jsonDocument; StaticJsonDocument<256> jsonDocument;
JsonObject channelUsageJson = jsonDocument.to<JsonObject>(); JsonObject channelUsageJson = jsonDocument.to<JsonObject>();
for (int channelIndex = 0; channelIndex < maxChannel; channelIndex++) { for (int channelIndex = 0; channelIndex < maxChannel; channelIndex++) {
String channel = String(channelIndex + 1); String channel = String(channelIndex + 1);
channelUsageJson[channel] = channelUsage[channelIndex]; channelUsageJson[channel] = channelUsage[channelIndex];
channelUsage[channelIndex] = 0; // Reset channel usage counter for the next analysis channelUsage[channelIndex] = 0;
} }
// Serialize and print the JSON object // Serialize and print the JSON object