Budżet: 20000 UAH Termin: 30 dni
Dzień dobry, jeśli masz całą dokumentację z zestawem poleceń, to jestem gotowy wykonać Twoje zadanie
Breadboard
ESP32-S3-ETH
RS-485 TTL-moduły HW-519 — 4 szt.
Multipleksory: HW-178 lub CJMCU-4051
M-Bus master do konwertera TTL
Przetwornik DC-DC 24V → 5V
Zasilacz 24V 3A
Czujnik temperatury XY-MD02
2 liczniki wody z nakładkami M-Bus
Licznik ciepła Sharky 775 z modułem M-Bus
Liczniki NIK:
NIK 2100 AP6T.2200.MC.11
NIK 2307 0.5s ART T.1620.MC.22
Dokumentacja producenta dotycząca protokołu RS-485 (dotycząca pracy z licznikiem)
Kontroler: ESP32-S3-ETH
Dostępne UART: 3 sprzętowe UART
Konwertery:
5 x RS485-TTL (HW-519 lub kompatybilne)
1 x M-Bus-TTL Master
Multipleksor: HW-178 lub CJMCU-4051
Dodatkowe moduły: DC-DC, czujniki temperatury/środowiskowe
Jeden UART (UART1 lub inny dostępny) ESP32 służy do odczytu z 6 kanałów przez multipleksor.
Multipleksor przełącza dostęp do jednego z 6 konwerterów w dowolnym momencie.
Logika przełączania multipleksora realizowana jest przez 3 GPIO (S0, S1, S2).
Skanowanie urządzeń na M-Bus: wykrywanie aktywnych adresów
Pobieranie danych od każdego urządzenia M-Bus po unikalnym adresie (identyfikatorze)
Zbieranie i parsowanie wartości zużycia lub innych wskaźników
Skanowanie każdego z 5 kanałów RS-485 pod kątem obecności urządzeń (może być realizowane przez cykl zapytań znanych adresów lub protokołów NIK)
Pobieranie danych od każdego urządzenia na kanale (adres, model)
Wsparcie zapytań dla NIK 2100 i NIK 2307 (szczegóły w notatkach)
Wszystkie wyniki mają być uporządkowane w formacie JSON, na przykład :
{
"data": [
{
"device": "NIK 2100 AP6T.2200.MC.11",
"id": "1234567890",
"type": "rs485-1",
"value": "128.45",
"timestamp": "2025-05-05T12:34:56"
}
// ...inne urządzenia
]
}
Ostateczny format zostanie ustalony podczas współpracy
Plik wyjściowy w formacie .ino dla frameworka Arduino (dla PlatformIO lub Arduino IDE)
Implementacja cyklu zapytań:
Czas między cyklami — konfigurowalny (np. raz na 5 minut)
Przechowywanie wyników JSON w RAM (wyświetlanie przez Serial, UART lub Ethernet)
Znaczniki czasu — za RTC lub NTP (w razie potrzeby)
Gotowy i przetestowany plik firmware .ino, który:
odpowiada za odczyt wszystkich 6 kanałów (M-Bus i RS485-1…5)
tworzy poprawny JSON z danymi z urządzeń
wyświetla JSON przez Serial
2. Dokumentacja do firmware
Uwagi:
Dodatki dotyczące pracy z RS-485 dla liczników NIK:
Liczniki NIK 2100 AP6T.2200.MC.11 oraz NIK 2307 0.5s ART T.1620.MC.22 korzystają z protokołu opartego na standardach IEC 62056-46, -53, -61, -62, który przewiduje użycie HDLC kodowania i struktury danych COSEM/DLMS.
Komunikacja z licznikiem obejmuje etapy:
Inicjalizacja połączenia (wysłanie ramki SNRM i otrzymanie odpowiedzi UA).
Autoryzacja przez pakiet AARQ z podaniem hasła (użytkownik, operator lub administrator).
Przetwarzanie odpowiedzi AARE w celu weryfikacji autoryzacji.
Po autoryzacji — wymiana zapytań GET z użyciem kodów OBIS do odczytu wskaźników.
Zakończenie sesji pakietem DISC.
Do autoryzacji używany jest 16-bajtowy hasło przesyłany w polu AARQ. Typ dostępu (user/operator/admin) jest ustawiany w ID użytkownika.
W przypadku 5 nieudanych prób autoryzacji z tym samym ID — dostęp jest blokowany na 30 minut.
Wszystkie pakiety są opakowane w strukturę HDLC z sumami kontrolnymi (FCS), obliczanymi na podstawie 16-bitowego CRC (algorytm w dołączonej dokumentacji).
Adresowanie licznika odbywa się w formacie HDLC i opiera na numerze seryjnym (konwersja również dostępna w dokumentacji).
Należy pamiętać, że nie wszystkie liczniki mogą odpowiadać na skanowanie adresów — w takim przypadku można próbować odpytywać po znanym spisie numerów seryjnych.
Budżet: 20000 UAH Termin: 30 dni
Dzień dobry, jeśli masz całą dokumentację z zestawem poleceń, to jestem gotowy wykonać Twoje zadanie
это на ПК даже будет довольно сложно реализовать, а вы хотите на ЕСП32 что бы фрилансер сделал
нанимайте команду какуюто или фирму
Добрый день!
Для этого проекта ESP 32 будет явно слабовата для стандарта DLMS/COSEM запроса. Если взять RPI можно продолжить разговор...
Wymagana jest разработка łatki do sterownika karty graficznej, rozszerzającej możliwości zarządzania adapterem graficznym poprzez dodanie dodatkowych ustawień użytkownika. Łatka powinna integrować się z istniejącą architekturą sterownika bez naruszania jego podstawowej funkcjonalności i zapewniać zgodność z obsługiwanymi wersjami systemu operacyjnego. Głównym celem jest zapewnienie bardziej elastycznego dostępu do parametrów, które są niedostępne w standardowej panelu sterowania, z możliwością ich zmiany przez interfejs użytkownika lub programowe API. Łatka powinna przewidywać modułową strukturę, umożliwiającą w przyszłości dodawanie nowych parametrów bez istotnej przeróbki kodu. Należy zapewnić poprawne przetwarzanie błędów, rejestrowanie zmian, możliwość przywrócenia ustawień do wartości domyślnych, a także zachowanie zgodności z przyszłymi aktualizacjami sterownika, o ile to możliwe. Rozwiązanie powinno być dostarczone z dokumentacją techniczną opisującą architekturę, zrealizowane możliwości, ograniczenia oraz zalecenia dotyczące testowania.
Jesteśmy dużą firmą logistyczną, która ma własny eksport. Dysponujemy dużym parkiem samochodowym i nieustannie wysyłamy nasze pojazdy na eksport do krajów Europy.Opis Strona: https://echerha.gov.ua/ Na tej stronie umieszczamy nasze samochody w elektronicznej kolejce do przekroczenia granicy państwowej. Podczas rejestracji należy wprowadzić następujące dane: imię i nazwisko kierowcy; numer paszportu zagranicznego; adres e-mail; numer telefonu logisty do otrzymywania powiadomień; typ pojazdu (ciężarowy); nazwa producenta samochodu; numer rejestracyjny ciągnika; numer rejestracyjny przyczepy; numer deklaracji celnej. Dla każdego samochodu z góry określono konkretny dzień i godzinę przekroczenia granicy. Na przykład, samochód musi przejść przez punkt kontrolny „Rawa-Ruska” w poniedziałek o 10:00.Nasz problem - Kolejka na stronie https://echerha.gov.ua/ porusza się nieprzewidywalnie. - Na przykład, dzisiaj jest piątek, a samochód musi przekroczyć granicę w poniedziałek o 10:00. - Nie wiemy, kiedy dokładnie kolejka zacznie się posuwać. Może to nastąpić w piątek wieczorem, w dowolnym momencie w sobotę lub niedzielę, wcześnie rano, w ciągu dnia lub późno wieczorem. - Kiedy kolejka zaczyna się poruszać, jest to od razu widoczne na stronie. Czasami w ciągu zaledwie kilku minut może przesunąć się z piątku na poniedziałek lub nawet na wtorek. - Z tego powodu logistycy muszą nieustannie kontrolować aplikację mobilną lub stronę internetową, aby nie przegapić momentu, gdy kolejka dojdzie do potrzebnej daty i godziny. Jeśli ten moment zostanie utracony, fizycznie nie zdążamy umieścić samochodu w kolejce na odpowiedni slot czasowy.Zadanie - Po wprowadzeniu danych o samochodzie (na przykład do tabeli lub innego interfejsu, w zależności od realizacji programisty) system powinien automatycznie śledzić ruch kolejki. - Kiedy kolejka dojdzie do wcześniej określonej daty i godziny, system powinien automatycznie wypełnić wymagane dane i umieścić samochód w kolejce bez udziału logisty.
Szukam doświadczonego programisty TrinityCore 3.3.5a, który dobrze zna się na strukturze jądra, systemie Battleground, C++, SQL i kliencie WoW 3.3.5. W projekcie zintegrowano już niestandardowy Battleground „Dolina Niewolnictwa” (Slavery Valley), przeniesiony z AzerothCore na TrinityCore. Główna część pracy została już wykonana, jednak wymaga doprowadzenia do poziomu Blizzard.Co już zrobiono TrinityCore 3.3.5a + Eluna. Serwer w pełni skonfigurowany. Battleground zintegrowany z jądrem. Działa wejście do BG. Działa interfejs klienta (częściowo). Przeniesiono większość SQL i DBC. Buduje się bez błędów.Co należy zrobić Naprawić pozostałe błędy Battleground. Doprowadzić mechanikę do poziomu oficjalnych Battleground Blizzard. Naprawić fazę startową meczu. Wdrożyć poprawne bramy startowe/ściany ognia. Naprawić mechanikę przejmowania punktów. Naprawić zakończenie meczu. Sprawdzić przyznawanie punktów i działanie WorldState. Naprawić pozostałe problemy C++ i SQL. Przeprowadzić pełne testy gry.Wymagania Obowiązkowe doświadczenie: TrinityCore 3.3.5a; C++; SQL (MariaDB/MySQL); DBC; MPQ; Visual Studio; CMake; Git. Dużym plusem będzie: AzerothCore; Eluna; doświadczenie w tworzeniu Battleground; znajomość części klienckiej WoW 3.3.5a.Format pracy Praca etapowa. Po każdym etapie obowiązkowe testowanie. Każdy etap akceptowany tylko po weryfikacji w grze. Potrzebne są zrozumiałe raporty dotyczące zmian.W przyszłości To długoterminowy projekt. Po zakończeniu Battleground planowane jest: przeniesienie nowych Battleground; przeniesienie nowych aren; nowe rasy; nowe klasy; nowe systemy gry; dalszy rozwój własnego serwera World of Warcraft 3.3.5a. Szukam programisty, który już pracował z TrinityCore i będzie w stanie nie tylko pisać kod, ale doprowadzić system do w pełni działającego stanu.nie serwer z 0 jak chcę Jeśli szukasz programisty nie tylko na jeden Battleground, ale na stworzenie serwera od podstaw, to ogłoszenie powinno wyglądać mniej więcej tak.Nazwa projektu Rozwój serwera World of Warcraft 3.3.5a od podstaw (TrinityCore / C++ / SQL / Eluna)Opis projektu Szukam doświadczonego programisty TrinityCore 3.3.5a do długoterminowej współpracy. Potrzebuję osoby, która będzie w stanie od podstaw stworzyć w pełni gotowy serwer gry World of Warcraft 3.3.5a na bazie TrinityCore z dalszym rozwojem projektu. Projekt jest duży i przewidziany na kilka miesięcy rozwoju.Podstawa projektu TrinityCore 3.3.5a. Jak najbardziej stabilna i zbliżona do Blizzard baza. Eluna Lua Engine. MariaDB. Visual Studio + CMake. Git.Co planuje się zrealizować W pełni działający serwer 3.3.5a. Naprawa błędów jądra. Rozwój nowych systemów gry. Integracja niestandardowych Battleground. Integracja nowych aren. Przeniesienie użytecznych modułów z AzerothCore na TrinityCore. Rozwój własnych modułów. Nowe systemy PvP i PvE. Nowe wydarzenia w grze. Balansowanie klas. Dodatkowe systemy progresji. Poprawa wydajności serwera.W przyszłości Po zakończeniu podstawowej części planowane jest: nowe rasy; nowe klasy; nowe strefy; nowe lochy; nowe rajdy; nowe Battleground; nowe profesje; nowe mechaniki gry; integracja nowoczesnych systemów w kliencie 3.3.5a.Wymagania dla programisty Obowiązkowe: Doskonała znajomość TrinityCore 3.3.5a. Pewna znajomość C++. SQL (MariaDB/MySQL). Git. Visual Studio. CMake. Znajomość architektury TrinityCore. Doświadczenie w pracy z Battleground, PvP i mechanikami gry. Dużym plusem będzie: Doświadczenie w pracy z AzerothCore. Eluna Lua Engine. Praca z DBC i MPQ. Doświadczenie w tworzeniu własnych systemów gry.Format pracy Praca etapowa. Każde zadanie jest dokumentowane jako osobne zadanie techniczne. Po każdym etapie przeprowadzane są obowiązkowe testy. Praca akceptowana tylko po weryfikacji bezpośrednio w grze. Potrzebny jest programista, który potrafi doprowadzić funkcjonalność do w pełni działającego stanu, a nie tylko pisać kod.