- Termékoldal buktatta le a Huawei Watch Fit 3-at
- iPhone topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Mobil flották
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- iPaden is vége az App Store monopóliumának
- Poco X6 Pro - ötös alá
- Nothing Phone (1) - nem semmi (2)
- Yettel topik
Hirdetés
-
Megbírságolták a Razert a Zephyr maszkok miatt
ph A cég elég olcsón megússza az ügyfelei félrevezetését, de az üdvözlendő, hogy az Egyesült Államok hatóságai nem siklottak el az ügy felett.
-
Újabb részleteket kaptunk a Terminator: Survivors című játékról
gp A játékot egyedül, vagy társakkal együtt is játszhatjuk majd elsőként PC-n, később majd konzolokon.
-
Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
it Az AI-t kiszolgáló adatközpontok olyan nagy energiaigénnyel bírnak, hogy egyre több atomenergiára van szükség.
-
Mobilarena
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Zoja™
őstag
válasz MasterMark #5753 üzenetére
Akarom én, csak hiányos a tudásom hozzá.
-
Janos250
őstag
Hú, de elbonyolítottad!
Ezek a "mindenre jó" kész frameworkök
(
#include <ESP8266Ping.h>
#include "Timer.h"
#include <aREST.h>
#include <aREST_UI.h>
)
lehetnek persze kényelmesek, de részben az általánosság miatt hatalmasak, részben sokkal több időbe telik megtanulni, mintha alap programozással csinálnád.Én nem vagyok híve annak, hogy az Androidot is belekeverjük a vezérlésbe, helyette böngészőből megnyitva a WEB lapot, azt preferálom. Egyszerűbb, általánosabb.
Az ESP8266 elég jól használható WEB-en keresztüli vezérlésekre, én nagyon kedvelem.
Kényelmes akkor is, ha az adott WiFi hálón belülről akarom elérni, akkor is, ha kinnről, a routeren keresztül.
Ha meg állandóan változik az IP cím (pl. otthoni UPC), akkor dyndns, vagy valami saját megoldás, ha van hozzáférésed fix IP című helyhez.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
De van, persze, de most hirtelenjében nem tudok küldeni.
pl. nézd meg ezt:
http://randomnerdtutorials.com/esp8266-web-server-with-arduino-ide/
Valamikor régen - ha jól emlékszem - talán Daszkalosznak hoztunk össze itt a fórumon közös erővel valami vezérlést, de már nem pontosan emlékszem mi is volt. Úgy rémlik, az is valami relé kapcsolgatás volt, aminek az időzítését WEBről lehetett beállítani, de már nem nagyon emlékszem.
Egy ismerősöm éppen most csinálta egy Sonoffra (szintén ESP8266, de 230 V-os relével) a távoli vezérlést interneten keresztül. Majd ha találkozok vele, mondom neki, hogy tegye már fel valahova, szerintem pár embernek hasznos lenne.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Írtam privát üzenetben egy régi mintaprogramot, mert nem akartam a fórumot terhelni vele. Próbáld ki! Ott vannak benne a kommentek, mert ez régen valakinek okításul szolgált.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Tessék:
(A fene tudja, hogy hol mennyire harapósak a modik. A napokban a Google-n keresztül keveredtem véletlenül egy másik oldalon lévő szintén Arduino fórumra, ahol a firefox emlékezett, hogy oda én valamikor ősidőkben regisztráltam. Ha már ott voltam, hozzá akartam szólni. Kiderült, ki vagyok tiltva. Fogalmam sincs miért, de nagy zavart nem okozott)
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>const int ledPin = LED_BUILTIN;
ESP8266WebServer server(80); // szerver objektum letrehozasa
void handle_index() {
/* ezt hajtja végre, ha lekerjuk az oldalt
a http://192.164.4.1/?kapcsolo=be , vagy a
a http://192.164.4.1/?kapcsolo=ki
lekeressel.
Ami itt a fuggveny neve (jelenleg handle_index),
azt kell megadni a server.on -ban
jelenleg: server.on("/", handle_index);
a / jelenti, hogy a root.
Ha pl a http://192.168.4.1/kapcsoloproba modon is meg akarnank
hivni, akkor kellene egy
server.on("kapcsoloproba", valamikapcsoloprobanev);
es egy valamikapcsoloprobanev nevu fuggveny is, ami a hivaskor lefutna
*/String kapcsoloAllito = server.arg("kapcsolo");
if (kapcsoloAllito == "be"){
digitalWrite(ledPin, HIGH) ;
}
else if (kapcsoloAllito == "ki"){
digitalWrite(ledPin, LOW) ;
};String s = "<html>\r\n";
s += "<!DOCTYPE HTML>\r\n";s += "<head>\r\n";
s += "<meta charset=\"UTF-8\">\r\n";
s += "<title>Lampa kapcsolo FETtel</title>\r\n" ;
s += "</head>\r\n";s += "<body>\r\n";
s += " <font size =\"7\"> \r\n" ;s += " <a href=http://192.168.4.1/?kapcsolo=be> bekapcsolas" ;
s += " </a>\r\n" ;s += " <BR>\r\n"; // a <BR> a bongeszoben megjeleniteskor a
// kepernyon sort tor,
// a \r\n pedig a forrasszovegben tor sort,
// (ami a forrasnyelvi szoveg megjelenitesekor latszik)
// a kepernyon megjelenitesre nincs hatassal
s += " <BR>\r\n";s += " <a href=http://192.168.4.1/?kapcsolo=ki> kikapcsolas" ;
s += " </a>\r\n" ;s += " <BR>\r\n";
s += " <BR>\r\n";s += "</body>\r\n";
s += "</html>\n";server.send(200, "text/html", s); // Az s valtozo tartalmat kuldi el a kero
// szamitogepnek, amit a bongeszo megjelenit.
// A 200, "text/html" mindig ez, az s meg
// amit el akarunk kuldeni html szoveget.
// Ha nem html lapkent, hanem sima szovegkent
// akarjuk megjeleniteni, akkor "text/plain"
// kell a "text/html" helyere, a 200 marad es
// a harmadik parameter szinten marad szoveg
// tipusu valtozo, vagy szovegdelay(100);
}
void setup(void)
{
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW) ;delay(2000); // 2s késleltetés az ESP8266 feléledéshez
// a kovetkezo 4 sor mindig szukseges a setupban
WiFi.mode(WIFI_AP); // AccessPoint
WiFi.softAP("proba1","12345678"); // SSID, pw. SSID legyen mindenkinek kulonbozo!
server.begin(); // start the HTTP server
server.on("/", handle_index); // megadjuk, melyik fuggveny hajtodjon vegre,
// ha lekerjuk az oldalt
// a handle_index nev helyett barmi lehet
}void loop(void)
{
server.handleClient(); // ez mindig ez
}Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
vargalex
félisten
Igyekeztem teljesen dinamikusra írni. Azaz, a relék GPIO-it elegendő csak a pin_relays tömbbe felvenni, a többi (weboldalon a megfelelő gombok generálása, a kapcsolás) automatikusan történik a tömb alapján. A kód:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DEFAULT_STATE LOW
// Replace with your network credentials
const char* ssid = "TP-Link";
const char* password = "asdf1234";
// GPIOs for controlling the relays
uint8_t pin_relays[] = { D1, D2 };
ESP8266WebServer server(80);
// html page rendering
void renderPage() {
String webPage = "";
String relay_state="";
webPage = "<html><head><link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css\">";
webPage += "<script src=\"https://code.jquery.com/jquery-1.11.3.min.js\"></script>";
webPage += "<script src=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js\"></script></head>";
webPage += "<body><h1>ESP8266 Relay Web Server</h1>";
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
relay_state="";
if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}
webPage += "<p>Relay #" + String(relayIndex) + " ( GPIO" + String(pin_relays[relayIndex]) + " ) <input type=\"checkbox\" " + relay_state + " data-role=\"flipswitch\" onchange=\"window.location.href='/?relay=" + String(relayIndex) + "'\"></p>";
}
server.send(200, "text/html", webPage);
}
// handling requests
void handle_root() {
if (server.hasArg("relay")) {
int relayIndex = server.arg("relay").toInt();
digitalWrite(pin_relays[relayIndex], !digitalRead(pin_relays[relayIndex]));
Serial.print("Relay ");
Serial.print(relayIndex);
Serial.print(" state changed to ");
Serial.println(digitalRead(pin_relays[relayIndex]));
}
renderPage();
}
void setup(void){
// preparing GPIOs
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
pinMode(pin_relays[relayIndex], OUTPUT);
digitalWrite(pin_relays[relayIndex], DEFAULT_STATE);
}
//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// web server setup
server.on("/", handle_root);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}Látható, hogy a pin_relays tömb most 2 elemű, így a renderelt weboldal jelenleg így néz ki:
Ahogy a setup függvényben látható, alapban alacsony állapotra húzza az érintett GPIO-kat. Persze ez a kiindulási állapot a DEFAULT_STATE-ban módosítható.
[ Szerkesztve ]
Alex
-
Zoja™
őstag
Csak csatlakozni tudok az előttem szólóhoz, nagyon szépen köszönjük.
-
vargalex
félisten
válasz Tankblock #5770 üzenetére
Igen, éppen tegnap este vettem észre, hogy a <html> és a <body> TAG-ek lezárása hiányzik, de mobilról nem akartam javítást küldeni, mert elég nehézkes. Ma javítom, és berakom újra (azért nem most, mert most is csak mobilról vagyok). A server.send előtt kell hozzá fűzni a webPage-hoz.
Egyébként a böngészőket ilyen apróságok nem zavarják...[ Szerkesztve ]
Alex
-
Janos250
őstag
válasz vargalex #5767 üzenetére
Nekem is tetszik
Egy kérdés:
Mivel az ilyesmit többnyire telefonról irányítják, a drága mobilneten keresztül, érdemes azért a pici
részért jqueryt használni?Meg egy másik:
Te hogyan oldod meg a UPC router mögötti elérést, ahol változik az IP cím? Nekem a dyndns elvileg bevált, de az a baj, hogy hiába ad új IP-t a dyndns, az állomások még egy darabig a régit használják.
Kénytelen vagyok fix IP címen lévő masinára irányítani, ami átirányít az éppen aktuális IP címre, de biztos lehet ezt valahogy egyszerűbben.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
vargalex
félisten
válasz Janos250 #5772 üzenetére
Nyilván a jquery kicserélhető bármire (akár maradhat simán checkbox is, vagy saját CSS-t lehet gyártani pl. így), csak azért raktam bele, hogy kicsit pofásabb legyen a megjelenítés és maga a kód rövidebb. Nálam nem volt szempont az adatmennyiség.
UPC-nél a DHCP net miatt tipikusan nem változik az IP cím. Ettől függetlenül nálam is van dyndns természetesen (már egy jó ideje az ipdns.hu-t használom). De a kérdésedet nem igazán értem... Ugyanis az UPC által adott IP-t nyilván a router WAN oldala kapja. Az állomások pedig egy belső IP címet. Mi közük az eszközöknek a külső IP-hez? Nekik a routerben statikus lease van beállítva a DHCP szervernél...
És akkor a javított kód, mert a
<body>
és a<html>
tag lezárása lemaradt (igaz, a böngészőket nem zavarja, automatikusan lezárják):#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define DEFAULT_STATE LOW
// Replace with your network credentials
const char* ssid = "TP-Link";
const char* password = "asdf1234";
// GPIOs for controlling the relays
uint8_t pin_relays[] = { D1, D2 };
ESP8266WebServer server(80);
// html page rendering
void renderPage() {
String webPage = "";
String relay_state="";
webPage = "<html><head><link rel=\"stylesheet\" href=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css\">";
webPage += "<script src=\"https://code.jquery.com/jquery-1.11.3.min.js\"></script>";
webPage += "<script src=\"https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js\"></script></head>";
webPage += "<body><h1>ESP8266 Relay Web Server</h1>";
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
relay_state="";
if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}
webPage += "<p>Relay #" + String(relayIndex) + " ( GPIO" + String(pin_relays[relayIndex]) + " ) <input type=\"checkbox\" " + relay_state + " data-role=\"flipswitch\" onchange=\"window.location.href='/?relay=" + String(relayIndex) + "'\"></p>";
}
webPage += "</body></html>";
server.send(200, "text/html", webPage);
}
// handling requests
void handle_root() {
if (server.hasArg("relay")) {
int relayIndex = server.arg("relay").toInt();
digitalWrite(pin_relays[relayIndex], !digitalRead(pin_relays[relayIndex]));
Serial.print("Relay ");
Serial.print(relayIndex);
Serial.print(" state changed to ");
Serial.println(digitalRead(pin_relays[relayIndex]));
}
renderPage();
}
void setup(void){
// preparing GPIOs
for (int relayIndex = 0; relayIndex<sizeof(pin_relays)/sizeof(uint8_t); relayIndex++) {
pinMode(pin_relays[relayIndex], OUTPUT);
digitalWrite(pin_relays[relayIndex], DEFAULT_STATE);
}
//Turn on serial output
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// logging to serial output
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// web server setup
server.on("/", handle_root);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}Amit még megjegyeznék, hogy ez a kód Wemos D1 mini-re készült. Sima ESP8266-on a D1, D2, stb. PIN-ek nincsenek definiálva (csak d1, d1 mini, nodemcu és wifinfo esetén).
[ Szerkesztve ]
Alex
-
Janos250
őstag
válasz vargalex #5773 üzenetére
"Az állomások pedig egy belső IP címet. Mi közük az eszközöknek a külső IP-hez?"
Bocs, nem voltam egyértelmű. Hálózaton belül természetesen semmi köze a külső IP címhez,
de én arról az esetről beszéltem, ha mondjuk Szegeden van az arduinód, Te meg Pesten.
A linket meg kösz, átbogarászom, mert én nem ezt használom. Hátha ez jobb.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
vargalex
félisten
válasz Janos250 #5774 üzenetére
Azt gondoltam, hogy külső elérésről van szó, de továbbra sem értem a problémát. Az Arduino (esetemben ESP8266) nem foglalkozik a külső IP-vel. A routernek kell frissíteni a ddns szolgáltatónál az új IP-re, te továbbra is ugyan azon az URL-en fogod elérni.
[ Szerkesztve ]
Alex
-
Janos250
őstag
válasz vargalex #5773 üzenetére
"Sima ESP8266-on a D1, D2, stb. PIN-ek nincsenek definiálva"
Ezért szoktam én javasolni, hogy mindig nézzük meg az adott panelra vonatkozó pins_arduino.h fájlt.
Nálam pl. a d1-re itt van (én mindig portable módban használom):
C:\Arduino\arduino-1.6.10\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\variants\d1\pins_arduino.hAz amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
vargalex
félisten
válasz Janos250 #5776 üzenetére
Én tudom hol van, csak ugye ezek olyan header file-ok, amiket automatikusan include-ol az alaplap kiválasztásával. Ezért hívtam fel rá a figyelmet. Egyébként miért RC2 verziót használsz? 8 nappal az RC2 kiadása után kijött a végleges 2.3.0 (2016.06.23-án).
[ Szerkesztve ]
Alex
-
Janos250
őstag
válasz vargalex #5777 üzenetére
Mert én egy lusta ember vagyok
Tudod, fél egészség
(De van gépem, amin a legfrissebb verziók vannak, de lusta vagyok mindig mindent frissítgetni. Ezen a gépen is ott van mellette az arduino legfrissebbje, mégis ezt használom ).Nem is Neked írtam az elérést, hanem másoknak, akik olvassák. Lehet, hogy ez fölösleges volt, de már nem tudom törölni.
A másik kérdésben elbeszélünk egymás mellett:
Hiába tudja már a dyndns az új IP címet, ha útközben még megjegyezték a régit, és lassan térnek át az újra.
Pl. azt sem akarom, hogy windows alatt mindig hívogassam az ipconfig/flusdns-t.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
vargalex
félisten
válasz Janos250 #5778 üzenetére
Nyilván, ha van valamilyen DNS cache-ed, akkor az okozhat problémát. De mondom, az UPC nem cserél IP címet. Legalábbis, ha nem ADSL-ről beszélünk. Csak MAC cím változáskor fog változni valójában az IP címed.
Az IP váltás lekövetése viszont csak a cache élettartamán múlik. Ezt nem tudom, hogy lehet-e windows-ban állítani, linux-ot használok.
[ Szerkesztve ]
Alex
-
vargalex
félisten
válasz Janos250 #5780 üzenetére
Kábelneted van UPC-nél? A legtöbb embernek éppen az a problémája, hogy hogyan tudna IP-t cserélni. Ez HGW esetén router módban szinte lehetetlen, saját routerrel viszont csak MAC klónozással lehet. Ezért csodálkozom... Pedig több UPC-s emberkével is kapcsolatban állok, mindenkinél nagyjából fix az IP.
Alex
-
tvamos
nagyúr
Sziasztok! Tudnatok nekem ajanlani valami kis meretu LCD kijelzot? Olyan kenem, ami mondjuk ugy 15 x 50 mm, de minden keppen kisebb, mint 20 x 80 mm. Eleg 2x10 karakter. Arduinohoz kell...
Kosz a segitseget, elore is!"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
vargalex
félisten
Szia!
A
renderPage
függvényben ezt a részt:if (digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}cseréld erre:
if (!digitalRead(pin_relays[relayIndex])) {
relay_state="checked";
}Most olvasom, hogy neked low level trigger reléd van. Ha a relé állapotát akarod kijelezni, akkor ez lesz a helyes megoldás nálad. Ugyanis a kód eredeti állapotában a GPIO magas állapotánál jelez ON-t.
[ Szerkesztve ]
Alex
-
quint
aktív tag
Egy ilyesmi valószínűleg elférne.
-
DrojDtroll
addikt
Sziasztok!
Van itt valaki aki használ Ramps1.4-et nem 3d nyomtatásra vagy hasonlóra, csak stepper vezérlésre?
-
nagyúr
válasz DrojDtroll #5793 üzenetére
Nekem csak van egy itthon, de még nem vettem használatba. Erősen gondolkodom egy 3d nyomtató építésén, gondoltam ha van egy ramps itthon, az majd lendít egyet előre az ügyön, de nem.
Tudok segíteni esetleg? -
nagyúr
válasz DrojDtroll #5793 üzenetére
Bocs, eltévesztettem, ilyenem van, de kb ugyanaz, mint a ramps.
-
mArZsi
tag
Ez egy shield, egybedugod szendvicsbe , csatlakoztatod a steppereket, adsz valami erős tápot neki (5A), szoftvert feltöltöd és mehet is a móka.
GBRL kompatibilis, 3D nyomtatót, CNC-t vagy bármi mást is vezérelhetsz vele.
A saját PnP beültetőgépet én is A4988 vezérlővel oldottam meg.Szoftver vagy hardver oldali segítség kellene?
[ Szerkesztve ]
-
Zoja™
őstag
Ilyenem nekem is van, de egyelőre parkoló pályára van téve a projekt. Még nincsenek meg hozzá a stepperek, bár a cégnél vannak NEMA23-asok, de gyanítom, hogy kevés lenne a motorvezérlő hozzájuk.
NEMA17-esekkel biztos jó lenne, ami nem is egy ökör ára, csak ne lenne olyan mocskos drága a Bosch profil.[ Szerkesztve ]
-
nagyúr
Tudom, az enyém is az.
Zoja: van pár kiszolgált dvd meghajtó itthon, abból terveztem steppereket kinyerni. Sőt, van a neten pár diy dvd meghajtós házi plotter meg efféle projekt, kezdetnek arra biztos jó lesz.
Egy 3d nyomtatóhoz (egy menetes szárat megforgatni?) nem hiszem, hogy olyan túl nagy teljesítményű stepperek kellenének.[ Szerkesztve ]
Új hozzászólás Aktív témák
- RAM topik
- PlayStation 5
- Formula-1
- Honda topik
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- Vezeték nélküli fejhallgatók
- A fociról könnyedén, egy baráti társaságban
- Hisense LCD és LED TV-k
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Termékoldal buktatta le a Huawei Watch Fit 3-at
- További aktív témák...
- Samsung Odyssey Neo G9 Super Ultrawide Gamer Monitor!49"/Mini LED/5120x1440/240hz/1ms/+Ajándék
- Apple Macbook Pro 16" 2019 i7-9th 6Magos 32/512 -75% Touch Bar HUN Radeon Pro 5300M 4GB 3K Retina
- Apple Mac mini M2 2023 8GB 256GB + Xiaomi Mi Desktop 27"-os FullHD monitor egyben
- Apple iPhone 14 Pro 128GB kártyafüggetlen fekete HIBÁTLAN állapotban
- Összeszerelt asztali számítógép eladó egyben vagy alkatrészenként
- Windows 10, 11 Professional, Home, Enterprise licenckulcsok 64, 32 bit - MEGA Akció!
- Windows Server 2016, 2019, 2022 Standard, Datacenter, Essentials termékkulcsok - MEGA akció!
- Ryzen 7 5800x Félkonfig VGA nélkül!
- Vírusirtó, Antivirus, VPN licenckulcsok - kedvezményes ajánlatok (frissítve: 2024. 05. 01.)
- Office Professional Plus 2013, 2016, 2019, 2021 RETAIL licenckulcsok - MEGA Akció!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen