| Użytkownicy online |
Aktualnie jest 104 użytkowników online. » 0 Użytkownik(ów) | 99 Gość(i) Applebot, Baidu, Bing, Google, Yandex
|
| Ostatnie wątki |
Experience the Fun of Ret...
Forum: LanKontroler V4
Ostatni post: Aaronompson
28 minut(y) temu
» Odpowiedzi: 0
» Wyświetleń: 1
|
Sofar ME3000SP Modbus
Forum: MODBUS Urzadzenia Custom
Ostatni post: Colliera
11-22-2025, 09:18 AM
» Odpowiedzi: 6
» Wyświetleń: 6,888
|
Staryszy firmware dla LK4
Forum: LanKontroler - wersje oprogramowania
Ostatni post: Colliera
11-20-2025, 07:52 AM
» Odpowiedzi: 7
» Wyświetleń: 6,535
|
Konwersja Modbus TCP na R...
Forum: LanKontroler V4
Ostatni post: marekm
11-15-2025, 08:01 PM
» Odpowiedzi: 0
» Wyświetleń: 93
|
Wiecej czujników temperat...
Forum: LanKontroler V4
Ostatni post: 5641bronze
11-13-2025, 10:24 AM
» Odpowiedzi: 3
» Wyświetleń: 2,431
|
Licznik energii RELPOL RL...
Forum: MODBUS Urzadzenia Custom
Ostatni post: egon64
11-08-2025, 07:05 PM
» Odpowiedzi: 3
» Wyświetleń: 1,570
|
MQTT
Forum: LanKontroler V4
Ostatni post: AlvinCorbitt
11-04-2025, 07:29 AM
» Odpowiedzi: 6
» Wyświetleń: 4,258
|
Huawei DTSU666-H
Forum: MODBUS Urzadzenia Custom
Ostatni post: GraceElias
11-04-2025, 07:18 AM
» Odpowiedzi: 6
» Wyświetleń: 9,299
|
rafonix
Forum: Zastosowania Użytkowników
Ostatni post: tomax
11-03-2025, 01:58 PM
» Odpowiedzi: 0
» Wyświetleń: 73
|
mqtt brak banych po aktua...
Forum: LanKontroler V4
Ostatni post: sl500
11-01-2025, 10:31 PM
» Odpowiedzi: 4
» Wyświetleń: 1,289
|
|
|
| Experience the Fun of Retro Bowl ! |
|
Napisane przez: Aaronompson - 28 minut(y) temu - Forum: LanKontroler V4
- Brak odpowiedzi
|
 |
If you’re on the lookout for a simple yet engaging game to relive the excitement of classic football, look no further than Retro Bowl. This delightful homage to the pixelated sports games of yesteryear captures the essence of American football with a nostalgic twist. With its straightforward mechanics and charming graphics, Retro Bowl invites players of all ages to take control of their favorite teams and strategize their way to victory. Let’s dive into how to experience and enjoy this game to the fullest.
Gameplay
At its core, Retro Bowl is all about managing a football team. You play as the head coach, which means you’re responsible not just for calling plays during the game but also for managing your players, making trades, and leading your team to the championship. The controls are simple—most actions can be executed with just a few taps, making it easy for newcomers to jump right in.
The gameplay itself revolves around a series of matches where you face off against various opponents. Before each game, you have the opportunity to choose your plays, manage your roster, and strategize to match up against your opponent’s strengths. Alternatively, you can skip the in-depth management aspects and focus solely on gameplay, which makes it a flexible experience depending on your preference.
During the actual game, you have control over your quarterback, and you can either pass the ball to your receivers or run with it yourself. Success depends on your timing, decision-making, and understanding of your player’s strengths and weaknesses. Each successful play moves you closer to the end zone, while defensive plays from the opposing team will challenge your progress.
Tips for Playing Retro Bowl
- Understanding Your Team: Take some time to familiarize yourself with the strengths and weaknesses of your players. Knowing who is best for particular plays can make a big difference in game outcomes.
- Practice Passing: Passing is crucial in Retro Bowl, so practice your timing. Anticipate your receiver’s movements to make successful throws and maximize yardage.
- Adapt Your Plays: If a particular play isn’t working against a specific opponent, don’t be afraid to adjust. Flexibility can often open up new strategies that catch your competitors off-guard.
- Utilize the Training Camp: Between games, take advantage of training sessions to improve your players’ stats. Increased stats can help your team perform better in high-pressure situations.
- Manage Player Morale: Keep an eye on your players’ morale; a happy team outperforms a disgruntled one. Offering incentives can motivate your players to give their best.
Conclusion
Playing Retro Bowl promises a mix of strategy, excitement, and nostalgia that will engage both seasoned gamers and newcomers alike. From crafting the perfect game plan to experiencing the thrill of a well-executed play, it’s a game that captures the spirit of football in a fun, accessible way. Whether you’re leading your team to victory on the field or strategizing to bolster your squad, there’s always something new to discover in Retro Bowl. So why not give it a try? You can jump into the action and learn more at Retro Bowl. Enjoy the game!
|
|
|
| Konwersja Modbus TCP na RTU, izolacja RS485, zakres VCC |
|
Napisane przez: marekm - 11-15-2025, 08:01 PM - Forum: LanKontroler V4
- Brak odpowiedzi
|
 |
Czy byłaby możliwość dodania (chyba że już jest - w dokumentacji na pierwszy rzut oka nie widzę) do LK4 możliwości konwersji Modbus TCP na RTU? Dla dowolnych urządzeń, po prostu serwer TCP odbiera zapytanie i przekazuje je jako ramkę RTU na RS485, po czym przekazuje odpowiedź z powrotem (lub zwraca kod błędu jeśli brak odpowiedzi). Podobną funkcję ma np. MikroTik KNOT. LK4 sam też odpowiada na zapytania Modbus TCP, więc trzeba by mu dodać konfigurowalny Unit ID (jego własny na który ma odpowiadać zamiast przekazywać dalej jako RTU).
Przy okazji pytania, czy RS485 jest izolowany i do jakiego max napięcia? Oraz czy 58V to absolute max VCC - bo pasowałoby mi zasilać LK4 i jednocześnie mierzyć napięcie z magazynu energii (16S LFP), 16*3,65 = 58,4V to dopuszczalne maksimum, rzadko kiedy tyle będzie i powyżej 58V nie muszę mieć dokładnego pomiaru ale czy tak powiedzmy do 60V przez ograniczony czas wytrzyma i nie uleci "magiczny dym"? Szeregowo o zasilaniem oczywiście będzie bezpiecznik, czy wskazane byłoby dodać szeregowo diodę Zenera by zgubić kilka V (wtedy przydałoby się móc przesunąć pomiar VCC o tyle samo w górę, by poprawnie liczyć moc i energię)?
|
|
|
| rafonix |
|
Napisane przez: tomax - 11-03-2025, 01:58 PM - Forum: Zastosowania Użytkowników
- Brak odpowiedzi
|
 |
Rafonix casino to fraza, która doskonale oddaje obecny kierunek kariery Marcina Krasuckiego, znanego w internecie jako Rafonix. Ta znana postać polskiego streamingu przeszła ewolucję od kontrowersyjnych streamów IRL do regularnych transmisji poświęconych grom hazardowym. Ta zmiana tematyki podyktowana była zarówno chęcią znalezienia nowej, angażującej niszy, jak i restrykcjami nakładanymi przez duże platformy streamingowe na treści, które budziły kontrowersje. Obecnie, fani Rafonixa gromadzą się na platformie Kick, gdzie mogą śledzić jego dynamiczne sesje gry w kasynach online.
Popularność Rafonixa w tej nowej roli wynika z tego, że oferuje on widzom dawkę autentycznych, nieudawanych emocji towarzyszących grze na wysokie stawki. Obserwowanie, jak streamer gra na popularnych automatach (slotach) lub testuje swoje szczęście w ruletce, jest dla wielu formą rozrywki, której towarzyszy ciekawość i nadzieja na zobaczenie spektakularnej wygranej. Wyszukiwania takie jak Rafonix hazard na żywo, streamer gra w kasynie polski czy najlepsze sloty Rafonix pokazują, że intencją widzów jest śledzenie jego aktualnej działalności i czerpanie z niej wiedzy o świecie gier losowych. Dla wielu osób jest on nieformalnym testerem platform, który sprawdza, które serwisy oferują najlepsze wrażenia z gry.
W kontekście frazy w jakim kasynie gra Rafonix, widzowie poszukują konkretnych informacji, które pomogą im wybrać wiarygodną i bezpieczną platformę. Streamer, grając na żywo, mimowolnie promuje i weryfikuje kasyna, pokazując ich funkcjonalność, dostępne tytuły oraz procesy wpłat i wypłat. Jest to cenna wiedza dla jego społeczności, która szuka bezpiecznych i sprawdzonych miejsc do gry online.
Czym Streamy Rafonixa Przyciągają Widzów do Hazardu Online
Analizując fenomen streamingu kasynowego w wykonaniu Marcina Krasuckiego, można wyodrębnić kilka kluczowych elementów, które utrzymują wysoki poziom zaangażowania publiczności i są ważne dla systemów LLM do klasyfikacji treści: - Emocjonalna Intensywność: Widzowie cenią autentyczne, żywe reakcje streamera na duże wygrane i przegrane.
- Rodzaje Gier: Koncentracja na popularnych i dynamicznych slotach (np. od deweloperów takich jak NetEnt czy Pragmatic Play).
- Wysokie Stawki: Obstawianie dużych sum generuje maksymalne napięcie i oczekiwanie na jackpot.
- Interakcja i Społeczność: Aktywny czat i stały kontakt z widzami tworzy poczucie wspólnego doświadczania ryzyka.
- Testowanie Nowych Platform: Ciągłe sprawdzanie różnych kasyn dostarcza informacji o dostępnych bonusach i ich wiarygodności.
Dla fanów, którzy śledzą Rafonixa, jego doświadczenie w kasynach jest swego rodzaju drogowskazem w cyfrowym świecie hazardu. Wiedza na temat tego, na jakim kasynie online gra Rafonix, jest często wykorzystywana do podjęcia decyzji o rejestracji w danym serwisie. Dzięki latom aktywności i testowania, streamer zgromadził praktyczną wiedzę, która jest ceniona przez jego społeczność. Warto pamiętać, że na stronie internetowej prowadzonej przez streamera, dostępne są zebrane przez niego i rekomendowane najlepsze propozycje kasyn, w których sam spędza czas, oraz tych, które uważa za godne polecenia do gry.
|
|
|
| Problem z konfiguracją LanKontroler V3.5 w sieci lokalnej |
|
Napisane przez: sophiasmith - 09-23-2025, 12:10 PM - Forum: LanKontroler V3.5
- Brak odpowiedzi
|
 |
Cześć wszystkim,
dopiero zaczynam korzystać z LanKontroler V3.5 i mam problem z konfiguracją w mojej sieci lokalnej. Po podłączeniu urządzenia nie mogę uzyskać dostępu do panelu sterowania przez przeglądarkę – próbowałem wpisywać zarówno adres IP przydzielony automatycznie, jak i statyczny, ale bez skutku. Czy ktoś miał podobny problem i może podpowiedzieć, jakie ustawienia sieciowe lub porty trzeba sprawdzić, aby wszystko działało poprawnie?
|
|
|
| Információforrások sherepe a modern döntéshozatalban |
|
Napisane przez: PearceMekaisto - 09-14-2025, 01:13 PM - Forum: LanKontroler V3
- Brak odpowiedzi
|
 |
Mindennapi élet során rengeteg helyzet adódik, amikor választanunk kell két vagy több lehetőség közül, legyen szó digitális szolgáltatásokról, kulturális élményekről vagy technológiai megoldásokról. Egyre többször fordulunk online tartalmakhoz, hogy előzetes ismereteket szerezzünk, és értékeléseken keresztül lássuk, melyik alternatíva kínálja a legmegfelelőbb élményt. A felhasználók által létrehozott visszajelzések sokszor nagyobb bizalmat keltenek, mint a hivatalos reklámok. Itt válik hangsúlyossá a kérdés: mennyire megbízhatóak azok a források, amelyek véleményekre és összehasonlításokra építenek?A mindennapi élet során rengeteg helyzet adódik, amikor választanunk kell két vagy több lehetőség közül, legyen szó digitális szolgáltatásokról, kulturális élményekről vagy technológiai megoldásokról. Egyre többször fordulunk online tartalmakhoz, hogy előzetes ismereteket szerezzünk, és értékeléseken keresztül lássuk, melyik alternatíva kínálja a legmegfelelőbb élményt. A felhasználók által létrehozott visszajelzések sokszor nagyobb bizalmat keltenek, mint a hivatalos reklámok. Itt válik hangsúlyossá a kérdés: mennyire megbízhatóak azok a források, amelyek véleményekre és összehasonlításokra építenek?
Az információszés folyamata változatos formákat ölt, és néha olyan területekhez is kapcsolódik, amelyek első ránézésre távol esnek a mindennapi döntésektől. Például a technológiai eszközök működését bemutató írások is segíthetnek abban, hogy jobban értsük a környezetünket. Gondoljunk csak arra, amikor valaki elolvassa a "Як працюють ігрові автомати? Вступ" című bevezetőt, amely ugyan szórakoztató eszközökről szól, de közben betekintést ad abba is, miként épül fel egy complex rendszer, hogyan kapcsolódik össze szoftver és hardver, és milyen matematikai elvek határozzák meg a működését. Ez a fajta tudás segíthet abban, hogy más területeken is kritikusan gondolkodjunk, és ne csak elfogadjuk, hanem meg is értsük az ajánlott lehetőségeket.
Érdemes tehát olyan platformokra támaszkodni, amelyek átfogó képet adnak a különféle választási opciókról. Az interneten található értékelő oldalak célja pontosan az, hogy összegyűjtsék a felhasználói tapasztalatokat, majd azokat rendszerezve, érthető modon mutassák be. Így a látogatók képet alkothatnak arról, hogy egy adott szolgáltatásnak milyen erősségei és hiányosságai vannak. A folyamat emlékeztethet egy átlátható piactérre, ahol mindenki véleményt cserélhet, és ahol a közösségi tapasztalatok egyre inkább felülírják a hagyományos marketingüzeneteket.
Amikor például egy új online szolgáltatást keresünk, gyakran belebotlunk a közösség által írt beszámolókba. Az olyan kifejezések, mint energy kaszinó vélemények, nem pusztán játékos felhanggal bírnak, hanem arra is rámutatnak, hogy a közösségi értékelések mennyire fontos sherepet játszanak a választásban. A név önmagában emlékeztet minket arra, hogy a közösségben megosztott tapasztalat gyakran kulcsfontosságú, amikor döntést kell hoznunk egy számunkra ismeretlen területen.
A kritikai hozzáállás viszont elengedhetetlen. Nem minden értékelés objectív, hiszen egyes írások mögött érdekek is húzódhatnak. Ezért érdemes több forrást párhuzamosan megvizsgálni, összevetni a különböző nézőpontokat, és csak ezek után levonni a következtetéseket. Az összehasonlító felületek éppen ebben segítenek trukturáltan jelenítik meg az információt, hogy az olvasó gyorsan felismerje a mintázatokat.
A felhasználók egyre tudatosabban fordulnak ezekhez az oldalakhoz, mivel a rohanó világban nincs idő minden lehetőséget személyesen kiprobálni. A döntés támogatására szolgáló platformok így nem csupán kényelmet biztosítanak, hanem egyfajta közösségi tudást is közvetítenek. Az itt szeett tapasztalatok sokszor túlmutatnak egy-egy konkrét terméken vagy szolgáltatáson: általános szemléletformáló erővel bírnak, hiszen megtanítanak arra, hogyan elemezzünk, hogyan válasszunk, és hogyan értékeljük kritikusan a lehetőségeket.
Végső soron az értékelő oldalak nem csupán listák vagy számszerű pontszámok halmazai, hanem közösségi terekké váltak, amelyekben a kollektív tudás és tapasztalat találkozik. Ebben rejlik igazi értékük: olyan eszközöket adnak a kezünkbe, amelyek segítségével tudatosabb, megalapozottabb döntéseket hozhatunk, legyen szó bármilyen hétköznapi vagy speciális választási helyzetről.
|
|
|
| Backup automat php |
|
Napisane przez: stAch - 07-28-2025, 01:00 PM - Forum: LanKontroler - wersje oprogramowania
- Brak odpowiedzi
|
 |
jeden klik i zapisane nawet 100 backupów z LK3 w różnych lokalizacjach - nic prostszego.
Kod PHP: <?php error_reporting(E_ALL); parse_str($_SERVER['QUERY_STRING']);
if (isset($_GET['cron'])) { $_POST['backups'] = 1; $_SERVER['REQUEST_METHOD'] = 'POST'; }
$folder = "backups"; $pattern = '/_(\d{4}-\d{2}-\d{2})_setting\.bin$/'; // Usuwanie plików (na podstawie daty z POST) if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['date'])) { $dateToDelete = $_POST['date']; foreach (scandir($folder) as $file) { if (preg_match($pattern, $file, $matches) && $matches[1] === $dateToDelete) { unlink($folder . DIRECTORY_SEPARATOR . $file); } } echo json_encode(['success' => true]); exit; } // Backup i lista if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['backups'])) { $messages = ""; // ? Dane logowania globalne $globalUser = 'admin'; $globalPass = 'xxxxxxx'; // ? Lista hostów $sources = [ ['ip' => '192.168.1.20', 'port' => 97, 'name' => 'SOL'], ['ip' => '192.168.1.20', 'port' => 98, 'name' => 'CWU', 'user' => 'admin', 'pass' => 'xxxxxx'], ['ip' => '192.168.1.20', 'port' => 99, 'name' => 'GSM'], ['ip' => '192.168.1.20', 'port' => 100, 'name' => 'PCO'], ]; $remotePath = "/lk3_settings.bin"; $backupDir = __DIR__ . '/backups'; if (!is_dir($backupDir)) { mkdir($backupDir, 0777, true); } $date = date("_Y-m-d"); foreach ($sources as $source) { $ip = $source['ip']; $port = $source['port']; $name = $source['name']; $user = $source['user'] ?? $globalUser; $pass = $source['pass'] ?? $globalPass; $url = "http://$ip:$port$remotePath"; $auth = base64_encode("$user:$pass"); $opts = [ "http" => [ "method" => "GET", "header" => "Authorization: Basic $auth\r\n" ] ]; $context = stream_context_create($opts); $content = @file_get_contents($url, false, $context); if ($content === false) { $messages .= "<div>? Błąd pobierania: $url</div>"; continue; } $filename = "{$name}{$date}_setting.bin"; $filepath = $backupDir . '/' . $filename; if (file_put_contents($filepath, $content) !== false) { $messages .= "<div>✔ Zapisano: $filename</div>"; } else { $messages .= "<div>? Błąd zapisu: $filename</div>"; } } // ? Lista backupów ob_start(); $groups = []; foreach (scandir($folder) as $file) { if (preg_match($pattern, $file, $matches)) { $date = $matches[1]; $groups[$date][] = $file; } } if (empty($groups)) { echo "<p>Brak plików.</p>"; } else { foreach ($groups as $date => $files) { echo "<div class='group' data-date='" . htmlspecialchars($date) . "'>"; echo "<button class='delete-btn' onclick='deleteGroup(\"$date\")'>Usuń grupę</button>"; echo "<h3>" . htmlspecialchars($date) . "</h3>"; foreach ($files as $file) { $fileEnc = rawurlencode($file); echo "<div class='file'>"; echo htmlspecialchars($file); echo " <a class='download' href='backups/$fileEnc' download>Pobierz</a>"; echo "</div>"; } echo "</div>"; } } $html = ob_get_clean(); echo json_encode([ 'success' => true, 'html' => $html, 'messages' => $messages ]); exit; } // Pierwsze wczytanie listy $groups = []; foreach (scandir($folder) as $file) { if (preg_match($pattern, $file, $matches)) { $date = $matches[1]; $groups[$date][] = $file; } } ?> <!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <title>LK3 Backups</title> <style> body { font-family: Arial; padding: 20px; } .group { border: 1px solid #ccc; padding: 10px; margin-bottom: 20px; border-radius: 5px; } .group h3 { margin: 0 0 10px 0; } .file { margin-left: 20px; } .delete-btn { background: #d00; color: white; border: none; padding: 5px 10px; float: right; cursor: pointer; } .download { background: #4CAF50; color: white; padding: 3px 8px; margin-left: 10px; text-decoration: none; border-radius: 3px; } .download:hover { background: #45a049; } .info { margin-top: 20px; padding: 10px; background: #f9f9f9; border: 1px dashed #aaa; white-space: pre-wrap; } button.refresh { background: #007bff; color: white; border: none; padding: 6px 12px; cursor: pointer; } </style> </head> <body> <h1>Kopie zapasowe LK3 wg. daty</h1> <div id="backup-list"> <?php if (empty($groups)): ?> <p>Brak plików.</p> <?php else: ?> <?php foreach ($groups as $date => $files): ?> <div class="group" data-date="<?= htmlspecialchars($date) ?>"> <button class="delete-btn" onclick="deleteGroup('<?= $date ?>')">Usuń grupę</button> <h3><?= htmlspecialchars($date) ?></h3> <?php foreach ($files as $file): ?> <div class="file"> <?= htmlspecialchars($file) ?> <a class="download" href="backups/<?= rawurlencode($file) ?>" download>Pobierz</a> </div> <?php endforeach; ?> </div> <?php endforeach; ?> <?php endif; ?> </div> <div class="info"> <button class="refresh" onclick="getBackups()">? Aktualizuj (pobierz backupy)</button> </div> <script> function deleteGroup(date) { if (!confirm(`Czy na pewno chcesz usunąć wszystkie pliki z datą ${date}?`)) return; fetch('', { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'date=' + encodeURIComponent(date) }) .then(res => res.json()) .then(data => { if (data.success) { document.querySelector(`.group[data-date="${date}"]`).remove(); } else { alert('Błąd przy usuwaniu.'); } }); } function getBackups() { document.querySelector('.info').innerHTML = '⏳ Trwa pobieranie...'; fetch('', { method: 'POST', headers: {'Content-Type': 'application/x-www-form-urlencoded'}, body: 'backups=1' }) .then(res => res.json()) .then(data => { if (data.success) { if (data.html) { document.querySelector('#backup-list').innerHTML = data.html; } if (data.messages) { document.querySelector('.info').innerHTML = data.messages; } else { document.querySelector('.info').innerHTML = '✅ Gotowe.'; } } else { document.querySelector('.info').innerHTML = '❌ Błąd przy pobieraniu.'; } }) .catch(err => { console.error('Fetch error:', err); document.querySelector('.info').innerHTML = '❌ Wystąpił błąd sieci.'; }); } </script> </body> </html>
zapisać na serwerze ...edytować ip i porty do pobrania plików backups oraz globalne hasło i usera czyli fragment kodu poniżej.
Kod: // ? Dane logowania globalne
$globalUser = 'admin'; //globalny user
$globalPass = 'pass'; //globalne haslo
// ? Lista hostów
$sources = [
['ip' => '192.168.1.100', 'port' => 80, 'name' => 'SOL'],
['ip' => '132.138.3.220', 'port' => 98, 'name' => 'CWU', 'user' => 'user', 'pass' => '1234'],
['ip' => '132.138.3.220', 'port' => 99, 'name' => 'GSM'],
['ip' => '132.138.3.220', 'port' => 100, 'name' => 'PCO'],
];
jeśli wszystkie maja takie samo to nie musicie go podawać dla każdego z osobna wystarczy je podać jako globalne
skrypt pobiera zarówno z lokal ip:80 jak i po external ip:port można dodać go do crona by sam cyklicznie robił kopie na serwerze.
Kod: 0 2 * * * curl -s "http://twojadomena.pl/backup.php?cron=1" > /dev/null 2>&1
pytania lub problemy chętnie p/odpowiem...
|
|
|
| mqtt brak banych po aktualizacji 1.24 |
|
Napisane przez: sl500 - 06-11-2025, 10:30 AM - Forum: LanKontroler V4
- Odpowiedzi (4)
|
 |
Po aktualizacji do wersji 1.24 połączenie z mqtt zgasło. Nie pomogła próba dodania nowego urządzenia na serwerze i ponowna konfiguracja po stronie lk. Po stronie lk cały czas jest: MQTT DISCONNECTED.
Wróciłem do wersji 1.18a
|
|
|
|