sobota, 22 listopada 2025

Tworzenie aplikacji - AI uczy Visual Studio dla systemu z VIRTUINO

 

Uparłem się by stworzyć aplikację na Windows odczytującą wartość temperatury zewnętrznej mierzonej przez jedne z moich modułów. 

To znaczy ja się uparłem a stworzyć ją ma mój niezastąpiony asystent AI.

Założenie jest takie,  że mam nie mieć (taka konstrukcja modalna z przeczeniem) bladego pojęcia i o zawartości kodu i o sposobie przekształcenia go w działający plik typu exe. Po prostu AI ma zrobić wszystko sam a jeśli już ja mam coś zrobić to muszę dostać instrukcję krok po kroku.

No to do dzieła.


W normalnych warunkach wartość temperatury z ESP umieszczonego na zewnątrz trafia do VIRTUINO  a za jego pośrednictwem dalej na jeden z ESP  który obudowałem ładnym wyświetlaczem TFT. No ale on jest w pokoju a tu gdzie siedzę jest za daleko i do modułu i do tabletu z VIRTUINO. Mogę to oczywiście odczytać sposobem z poprzedniego postu tj. zatrudnić AI do stworzenia jakiegoś HTMLa co by to zrobił. Ale pomyślałem o "profesjonalnej" aplikacji typu .exe uruchamianej na moim Windowsie.

Asystent (GROK) kilkukrotnie próbował stworzyć i wysłać mi taki gotowy plik ale bez sukcesu. Wszystkie podane linki okazywały się puste a AI kajaj się za każdym razem że teraz to już napewno ... itd. Kłamał w żywe oczy. Ostatecznie pozostało mi skompilować kod we własnyn zakresie ale do tego potrzeba VISUAL Studio.

A że kod wyglądał zachęcająco prosto grzeczne poprosiłem o instrukcję jak to zrobić krok po kroku

Oto pełna instrukcja od zera – krok po kroku z obrazkami w głowie – zrobisz to nawet jeśli nigdy nie miałeś Visual Studio. Całość zajmie Ci max 12–15 minut.

1. Pobieramy i instalujemy Visual Studio Community 2022 (darmowe)

  1. Wejdź na stronę: https://visualstudio.microsoft.com/pl/downloads/

  2. Kliknij wielki zielony przycisk „Pobierz bezpłatnie Visual Studio Community 2022”

  3. Zapisz plik (ok. 2 MB) i uruchom go (VisualStudioSetup.exe)

  4. Zobaczyć okno instalatora – kliknij „Kontynuuj”

  5. Pojawi się lista „Obciążenia” (Workloads). Zaznacz TYLKO JEDNO (reszta niepotrzebna): „Programowanie aplikacji klasycznych dla platformy .NET” (po angielsku: .NET desktop development)

    Wygląda tak:

    text
    [x] Programowanie aplikacji klasycznych dla platformy .NET

    Wszystko inne odznacz – dzięki temu instalacja będzie szybka i mała (ok. 2,5 GB)

  6. Kliknij prawy dolny róg „Zainstaluj” (możesz iść zrobić kawę – potrwa 5–10 minut)

  7. Po zakończeniu kliknij „Uruchom”

2. Tworzymy projekt (30 sekund)

  1. Otworzy się Visual Studio – kliknij „Utwórz nowy projekt” (Create a new project)
  2. W oknie wyszukiwania wpisz: console Wybierz pierwsze z góry: „Aplikacja konsoli” (Console App) – C# – .NET 8.0 (lub .NET 6.0 – obie działają) → przycisk „Dalej”
  3. Nazwa projektu: wpisz ESP32_Temperatura Lokalizacja: zostaw domyślną albo wybierz pulpit → „Dalej”„Utwórz”

3. Wklejamy kod (10 sekund)

  1. Po lewej zobaczysz drzewko – rozwiń i kliknij dwukrotnie plik Program.cs
  2. Zaznacz cały obecny kod (Ctrl+A) i usuń
  3. Wklej dokładnie ten kod (całość):
C#
#r "nuget: WebSocketSharp-netstandard, 1.0.1"

using System;
using System.Text.Json;
using System.Threading.Tasks;
using WebSocketSharp;

Console.Title = "ESP32 – Monitor Temperatury V11";
Console.ForegroundColor = ConsoleColor.Green;
Console.BackgroundColor = ConsoleColor.Black;
Console.Clear();

string temp = "---";
RysujEkran();

var ws = new WebSocket("ws://192.168.2.184:8000");

ws.OnOpen += (s, e) => Status("Połączony z ESP32!");
ws.OnMessage += (s, e) =>
{
    try
    {
        var json = JsonDocument.Parse(e.Data).RootElement;
        if (json.TryGetProperty("V11", out var v) && v.ValueKind == JsonValueKind.String)
        {
            temp = v.GetString()!;
            PokazTemp();
        }
    }
    catch { }
};

ws.OnError += (s, e) => Status("Błąd – próbuję ponownie...");
ws.OnClose += (s, e) =>
{
    Status("Rozłączono – reconnect za 3 s...");
    Task.Delay(3000).ContinueWith(_ => ws.Connect());
};

ws.Connect();
Status("Łączenie z 192.168.2.184:8000...");

Console.ReadKey(true); // żeby okno się nie zamknęło

void RysujEkran()
{
    Console.Clear();
    Console.WriteLine("╔══════════════════════════════════════════╗");
    Console.WriteLine("║       ESP32-C3 – MONITOR TEMPERATURY     ║");
    Console.WriteLine("║                                          ║");
    Console.WriteLine("║            Temperatura: --- °C           ║");
    Console.WriteLine("║                                          ║");
    Console.WriteLine("║   192.168.2.184:8000                     ║");
    Console.WriteLine("╚══════════════════════════════════════════╝");
}

void PokazTemp()
{
    Console.SetCursorPosition(24, 3);
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.Write(temp.PadRight(8));
    Console.ForegroundColor = ConsoleColor.Green;
}

void Status(string txt)
{
    Console.SetCursorPosition(2, 5);
    Console.Write(txt.PadRight(42));
}
  1. Zapisz (Ctrl+S)

4. Uruchamiamy i dostajemy .exe

  1. Naciskasz zielony trójkąt „Start” (lub Ctrl+F5) → program się skompiluje i od razu uruchomi – zobaczysz zielone okno i zmieniającą się temperaturę!

  2. Gotowy plik .exe (jeden plik, wszystko w środku) znajdziesz tutaj: C:\Users\TwojaNazwa\ESP32_Temperatura\bin\Debug\net8.0\ESP32_Temperatura.exe (lub net6.0 – zależnie od wybranej wersji)

    Skopiuj ten plik na pulpit albo gdzie chcesz – działa na każdym Windowsie 10/11 bez instalacji.

Gotowe! Masz teraz swój własny, profesjonalny monitor temperatury z ESP32, zrobiony przez Ciebie.

I prawda - zrobiłem jak kazał a VS zadziałał od razu 


komunikując że nie znaleziono żadnych problemów. Następnie wypluł z siebie 5 plików które po uruchomieniu temp.exe dały taki wynik


Można się czepiać że i minus nie w tym miejscu i brak oC mimo że widać to w kodzie ale jak na pół godziny roboty efekt jest piorunujący.

Można by rzec, że dzięki AI prawdziwy elektronik dostał w podarunku skrzydła i to całkiem za free.

A co z tego wyniknie opowie nam niebawem nasz ulubiony ciąg dalszy...

Brak komentarzy:

Prześlij komentarz