2019. május 1., szerda

Biztonsági mentés, szinkronizáció linuxról (NAS-ra) rsync használatával

Van egy Zyxel NSA325v2 NAS-om, aminek a szoftvere már elég elavult volt. Ha jól emlékszem, talán 2.4-es kernel volt alatta és már jóideje nem kapott frissítéseket sem. Ezért aztán úgy döntöttem, hogy feldobok egy debiant rá. Ez nem volt annyira egyszerű, de lehet csinálok majd egy leírást róla (már amennyire még emlékszem).

Lényeg az, hogy most egy OpenMediaVault fut rajta, néha frissítem is mikor eszembe jut, de úgy teszi a dolgát, bár lehetne még foglalkozni vele.

RAID0-ban vannak a lemezek benne és felmerült az ötlet, hogy mi lenne ha a saját gépem /home/adam könyvtárát tükrözném rá. Erre megfelelő program az rsync, ami szinte minden linux rendszeren megtalálható vagy elérhető.

Igazából egyetlen parancs az egész, ami ha jól van paraméterezve, akkor teszi a dolgát gond nélkül.

rsync -avz --delete --progress --exclude '.cache' --exclude '.local/share/baloo' /home/adam adam@192.168.0.195:/sharedfolders/raid1/Adam

Ezt kell futtatnom a gépemen és elkezdődik a folyamat. Elmagyarázom a fontosabb paramétereket:
rsync -> ez a szoftver neve
-avz -> ez most lényetelen, kell és legyen elég ennyi (a rsync manualban benne van, ha érdekel)
--delete -> lényegében ettől lesz a sima másolás helyett tükrözés, ami annyit takar, hogy ha valamit törlök a gépemen, akkor a távoli oldalon is törlődni fog.
--progress -> ez csak annyit tesz, hogy a folyamat közben kiírja az éppen másolt fájlokat. Akit nem érdekel ennyire részletesen a folyamat, nyugodtan kihagyhatja.
 --exclude 'valami'  -> a valami helyére beírod a kihagyni kívánt fájl vagy mappa nevét. Ha több mappát akarsz kihagyni, mint ahogy én is, akkor többször is használhatod a paramétert.
/home/adam -> nekem ez a forrás könyvtáram, ennek a tartalmát másolja
adam@192.168.0.195:/sharedfolders/raid1/Adam -> felhasználónév@szervercíme:/célmappa

Javasolt tesztelni, hogy valóban azt csinálja-e amit szeretnénk. Ha már van egy meglévő fájlunk és módosul a tartalma, azt is felülírja az újjal.

Miután megfelelően működik a dolog, érdemes lehet ütemezni a folyamatot, hogy automatikusan fusson le bizonyos időközönként. Mivel nálam jelszót kér a szerver a bejelentkezéskor, így nem fogom tudni automatizálni így (legalábbis még nem találtam megoldást erre) viszont van lehetőség ssh felett futtatni a rsync-et, így viszont automatizálható, mert generálok egy kulcsot magamnak, amivel a gép mindig be fog tudni lépni és lefut a script. De ezt majd egy következő blogban.

További linkek:
 https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/
 https://www.thegeekstuff.com/2011/01/rsync-exclude-files-and-folders/comment-page-1/

2019. április 30., kedd

Putty és COM port beállítása Linuxon

Üdvözlet!

Linuxon jóval szigorúbb a jogosultságkezelés, mint ahogy azt windows alatt megszokhattuk. A soros porthoz illetve más egyéb hardverekhez, perifériákhoz csak annak van hozzáférése, aki tagja a megfelelő csoport(ok)nak.

Egy ideje Manjaro-t használok (egyszer majd lehet írok róla, hogy miért), de kb. 10 évig használtam Linux Mintet, előtte és közben néha Ubuntu, Deepin és néhány más disztrót de a fő irányvonal a Mint volt. A legtöbb parancsot konzolban futtatjuk, akinek ez nem jön be, ne is álljon neki hasonló dolgoknak. Röviden a magyarázat annyi, hogy nagyon sok eszköznek nincs saját kijelzője vagy ha van is, akkor sem grafikus, ráadásul különböző feladatokra megannyi grafikus megoldás létezik Linux alatt, viszont sokszor macerásabb egy GUI programot telepíteni, mint beírni 2 parancsot.

Egy fontos dolgot megjegyeznék: a sudo parancs kiadása után rendszergazdai (root) jogosultságokkal dolgozunk, elvileg mindenhez hozzáférünk, minden egyes rendszerfájlt akár törölhetünk is, így nagyon figyeljetek, hogy mit csináltok és mindent olvassatok el inkább kétszer. Ha nem értesz valamit, ne kockáztass, ha számít a rendszered egészsége. Ha csak kísérletezel mondjuk virtuális gépben, akkor nincs nagy vesztenivalód.

No de térjünk is a lényegre.

cat /etc/group

A fenti parancs kilistázza a meglévő csoportokat, azok id számát és a tagjait (amennyiben van tagja az adott csoportnak).

Nálunk az a cél, hogy a tty és a dialout csoportban szerepeljen a felhasználónk. Mivel nekem a listában nem volt dialout, csak tty csoport, így először létre kell hozni a dialout csoportot a következő paranccsal: 

sudo groupadd dialout

Miután ez megvan, hozzá is adjuk a csoporhoz a felhasználónkat:

sudo usermod -a -G dialout ${USER}
 
Ne feletsük el a tty csoporthoz is hozzáadni magunkat: 

sudo usermod -a -G tty ${USER}

Amennyiben a usermod működése bővebben érdekel, nézd meg a manuálját: man usermod

Ahhoz, hogy a beállítások érvénybe lépjenek, újra be kell jelentkeznünk.

Debian alapú disztrókon elméletileg a portok innentől már elérhetők, viszont van ahol még a portok jogosultságát is meg kell adni.

A linuxos eszközökről dióhéjban: windowshoz képest, itt nincs eszközkezelő, viszont ha megnézzük, ott is létrejön egy-egy objektum amikor csatlakoztatunk egy hardvert és eltűnik ha lecsatlakozik. Természetesen léteznek programok Linuxon is, amik hasonlóképpen jelenítik meg az eszközöket, de számunkra most ez mellékes. Az eszközök a /dev/ mappában találhatók. Az eszközök neve árulkodik azok típusáról is. Pl. az sda, sdb, hda eszközök valamilyen merevlemez vagy ssd meghajtók lehetnek. Az sda1, sda2, stb... a partíciók sorban. a tty eszközök a soros portok. Ha van egy usb soros adapterünk, akkor annak feltételezhetően valami hasonló neve lesz: /dev/ttyUSB0. 
Amennyiben több ilyen is van, akkor /dev/ttyUSB1, stb...

Az USB eszközeinket az lsusb paranccsal tudjuk kilistázni:

[adam@adam-pc ~]$ lsusb
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 5986:02d5 Acer, Inc
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. BCM20702 Bluetooth 4.0 [ThinkPad]
Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

Ha több soros portunk van és esetleg nem tudjuk melyik melyik eszközhöz tartozik, akkor a következő parancs kiírja nekünk, méghozzá időrendben, így a legutolsó a legutoljára csatlakoztatott eszköz. Vannak ennél összetettebb és informatívabb megoldások, de kezdésnek ezt teszem közzé itt:

dmesg | grep tty

Ha megvan melyik eszköz kell nekünk, és még mindig nincs hozzáférésünk akkor beállítjuk a jogosultságait ideiglenesen (sajnos ez nem permanens, újraindítás vagy újracsatlakoztatás után újra be kell állítani):
 

sudo chmod a+rw /dev/ttyUSB0

Itt természetesen a ttyUSB0 eszközt helyettesítsük be a sajátunkkal.
Ezek után esz eszközhöz biztosan hozzáférünk.

Meg lehet próbálni még a saját felhasználónk hozzáadását az uucp csoporthoz, arch alapú disztrók esetén segíthet:

sudo gpasswd -a ${USER} uucp


----------------

Amennyiben részletes listát szeretnél az eszközeidről, itt egy script:

#!/bin/bash

for sysdevpath in $(find /sys/bus/usb/devices/usb*/ -name dev); do
    (
        syspath="${sysdevpath%/dev}"
        devname="$(udevadm info -q name -p $syspath)"
        [[ "$devname" == "bus/"* ]] && continue
        eval "$(udevadm info -q property --export -p $syspath)"
        [[ -z "$ID_SERIAL" ]] && continue
        echo "/dev/$devname - $ID_SERIAL"
    )
done


-----------------

Ezek után jöhet a putty telepítése. Bizonyos disztrók esetén letölrhető a tárolókból de a hivatalos weboldalukon is elérhető. Ha ezzel megvagyunk, nincs más hátra, mint előre! Megadjuk a port beállításait és mehet a csatlakozás (vagy elmentjük az adatokat, egy későbbi csatlakozáshoz).



2018. október 23., kedd

3D nyomtató upgrade - 0. rész

Hamarosan megjönnek a 3D nyomtatóhoz a cuccok. Régóta tervezem az upgradet. Ez egy Acrylic Geeetech Prusa I3 pro B nyomtató.

Amiket most rendeltem:

  • Geeetech Superplate 3D Printer Aluminum Heatbed Kit
    • Több ok miatt is döntöttem mellette. Egyrészt az üveg lap, amit eredetileg a nyomtatóhoz adnak, nem az igazi. Lehet, hogy most valakinek újdonságot árulok el, de az üveg nem teljesen szilárd. Nagyon lassan, de folyik. A régi ablaküvegeken látható is, ahogy hullámosodik. Ez a minimális alakváltozás érzékelhető. Ha ráteszem a boroszilikát üveglapra a vonalzót vagy bármilyen más tökéletesen egyenes tárgyat, alatta befér (főleg a közepe táján) egy 0.1-0.2mm vastag hézagoló. Persze ez nem biztos, hogy az üveg egyenetlensége miatt van, de abból kiindulva, hogy jellemzően a közepét érinti, így erre tudok gondolni. Esetleg a hajlakk miatt is lehet, ami a tapadáshoz kell. Ezzel itt el is jutottunk a másik fontos kérdéshez. A tökéletesen sík felület mellett a másik fontos dolog a tapadás. Hogy a tárgy meg tudjon tapadni, illetve ne váljon el a tárgyasztaltól nyomtatás közben. A tapadás növelésére vannak különböző technikák. Van aki a maszkoló szalagot részesíti előnyben, van aki mást. A szalag valóban jó, porózus és emiatt nagyon jól tapad az anyag rá. Viszont leszedéskor általában szakad, így újra kell ragasztani, ami elég macerás. Emellett látszik a tárgyon a két ragasztó közti nagyon vékony csík. Kapton szalaggal hasonló a helyzet. A hajlakk annyira szerintem nem tapad, de nem rossz viszont nagyon nehéz egyenletesen felvinni a felületre. Nyomtatás után teljesen le kell tisztítani a felületet és újra fújni. Ez is elég időigényes feladat. A terveim szerint ez a lap majd kiváltja a boroszilikát lapot. Elvileg tapad is, de könnyen tisztítható és az alumínium lapnak köszönhetően talán egyenletesebben eloszlik a hő is. Nemsokára kipróbálhatjuk :)
  • 3DTouch auto bed leveling sensor
    • A nevében is benne van, ez egy automatikusan szintező érzékelő. Egyrészt az időn és az idegszálakon lehet vele spórolni, másrészt sokkal pontosabb lesz a szintezés. Nagyon fontos a tárgyasztal megfelelő szintezése. Jobb híján ezt eddig hézagmérővel csináltam, 0.05mm hézaggal. A tárgyasztal mind a 4 sarkát és a közepét is meg szoktam mérni, majd a 4 sarkon lévő kis csavarokkal állítani. Viszonylag ritkán kell szintezni, ha ugyanazzal az anyaggal nyomtatok, de ha más a tárgyasztal hőmérséklete, akkor bizony a hézag elmászik, újra kell állítani. Ha túl kicsi vagy nincs is hézag, akkor a filament nem tud megfelelően távozni a fejből. Emiatt elkezdi "megrágni" a fogaskerék, ami aztán eltelik, a filament beég. Ezután jöhet a szétszedés, fúrás, fúvóka csere, stb... Ha nagyon nagy a hézag a tárgyasztal felett, akkor értelemszerűen a levegőbe nyomtatunk. Ha rá is folyik a filament, nem fog megtapadni az asztalon. Ez a szenzor elvileg körbejárja az asztalt, különböző pontokon megméri a magasságát a fejhez viszonyítva és az egész nyomtatást ehhez igazítja majd a nyomtató. Vannak ezzel kapcsolatban nekem is kérdéseim még.
    • Hogyan fogom tudni pontosan a fejhez igazítani a szenzort?
    • Ha kell valamit a firmware-ben átírni, akkor hol és mit?
    • Ha kell valamit a szoftverben állítani akkor hol és mit? (jelenleg Slic3rt használok)
  •  MK8 Dual Extruder
    • Azért volt szükség dual extruderre, mert ezzel 2 különböző anyagot is lehet nyomtatni. Például egy sárgát és egy pirosat. De nem csak színben, típusban is különbözhetnek. Egyikkel mondjuk PLA-t nyomtatok, a másikkal pedig vízzel mosható alátámasztást, PVA-t, így  alapvetően nem nyomtatható tárgyakat is lehet majd nyomtatni. De lehet akár gumírozott részeket is kombinálni a szilárdakkal. Szinte végtelen a lehetőség. Viszont itt is felmerülnek kérdések bennem, amikre remélhetőleg mielőbb válaszokat kaphatok:
    • A jelenleg használt gyári extruderrel lehet nyomtatni rugalmas anyagot is. Vajon majd ezzel is lehet? 
    • Valószínűleg a firmware-ben ezt is be kell majd állítani, de hol és hogyan?
    • Az extruder tömege így megkétszereződik, emiatt nagyobb az esély rá, hogy ugorjon az ékszíj. Valószínűleg lassabb nyomtatási sebesség lesz.
    • Az X tengelyt mozgató motor áramerősségét vajon szükséges lesz magasabbra állítani? Ha igen, hogyan?

  • Stepper driver A4988 with heatsink and sticker
    • Az előzőekben feltett kérdéshez kapcsolódik: a léptetőmotor meghajtója, ezen lehet egy potméterrel állítani az áramerősséget. Azért volt szükségem még egy ilyen meghajtóra, mert a dual extruder miatt egy motorral több lesz a nyomtatón. A vezérlő panelen van helye még egy meghajtónak, ez oda fog illeszkedni. Adnak hozzá hővezető lapkát és hűtőbordát is.
  • Fan extention wire M/M 1200mm
    • Egyszerű ventilátor kábel hosszabbító. Az alaplaptól az extruderig lesz rá szükség, mivel a 2 extruder miatt lesz +1 ventilátorom.
  • MK8 Dual extruder holder
    • Ez fogja tartani a dual extrudert. Elképzelésem szerint a jelenlegi szimpla tartó nem lesz megfelelő. Ha igaz amit gondolok, akkor nem volt pénzkidobás. Remélem beválik :)

  • 350W 12V 29A S-350-12 AC/DC Switching Power Supply
    • Azért volt szükség egy nagyobb tápegységre, mert a mostani 180W-os és már így is meggyűlik a bajom vele. Pl. ABS-t nem is lehet vele rendesen nyomtatni, mert nem képes a tárgyasztal melegen tartani magát és az extrudernek is eléggé ingadozik a hőmérséklete. Több áram kell. Lehet, hogy a kábeleket is majd vastagabbra cserélem amit lehet (vagy amit kell). Úgy láttam, hogy a tárgyasztal 12/24V-os. Gondolom nem véletlenül. 24V esetén jóval kisebb a veszteség a kábelen, de sajnos az én nyomtatóm 12V only. Majd meglátjuk hogy válik be.

Valamilyen doboz még kellene, hogy tartsa a hőt nyomtatáskor. Erre azért van szükség, mert amikor  a forró anyag, a modell elkezd lehűlni a környezeti hőmérsékletre, akkor bizonyos anyagok elkezdenek vetemedni, deformálódni a hőtágulás illetve összehúzódás miatt. Leginkább az ABS-re jellemző ez, de más egyéb anyagok is hajlamosak rá. Egy plexire gondoltam, aminek a tetejére fel is tudom tenni a filamentet esetleg. De ez sem lesz annyira egyszerű, mert ha lesz doboz, akkor az alaplapot és a tápegységet valahogy azon kívülre kell helyezni a hűtés miatt, valamint az extruder hűtése is kérdéses lesz így de ez még a jövő zenéje.

A dual extruderrel kapcsolatban is vannak kérdéseim. Legfőképp az, hogy hogyan oldja meg a nyomtató, hogy ne folyjon ki az anyag a fejből amíg nem nyomtatunk vele. Szerintem ezzel lesz majd még szívás.

Ezeken felül szeretném majd megoldani a kábelek bandázsolását és rögzítését szépen, esztétikusan. Szerintem egyébként az i3 Pro C firmware jó lesz majd a nyomtatóhoz, mert ahogy láttam más különbség nincs, csak a dual extruder.

Ebben a videóban látható a Z-tengely korrigálása, hogy kevésbé pontatlan legyen a nyomtatás. Én egy másik megoldást használok, de a felső menetes szár csapágyazására szükségem lenne, viszont házilag nem tudom megoldani, fizetni pedig nem szeretnék érte irreális összegeket, így szerintem megoldom majd egyszerűbben a helyettesítést. Az Y tengelyen lévő siklócsapágy rúdját simán én is odarögzítem egy csavarral szerintem. Keresek majd egy megfelelő méretű fúrót, menetvágót és csavart hozzá. A fenti videóban látszik, hogyha az X-tengelyen lévő bordás szíjat feszítjük, akkor az Y-tengely elhajlik. Az összeszerelési útmutatóban az van, hogy a 4 szorító gyűrűt az X-tengelyek végére, a nyomtató külső részére kell tenni. Emberünk a videóban gyártott magának ilyen gyűrűt még négyet és tett belülre is, hogy megakadályozza az elhajlást. Mivel én nem tudok magamnak gyártani, így csak belülre tettem őket de kívülre majd megpróbálok nyomtatni valami strapabíróbb anyagból. Vagy rendelek.


Gondolkodtam még a tengelyek végálláskapcsolóinak cseréjén is, optokapura a pontosság miatt, de igazából szerintem csak az Y tengely esetén lenne erre szükség viszont az automatikus szintezővel már lehet, hogy nem fog kelleni.


2018. október 21., vasárnap

A kezdet

Sziasztok!

Már régebb óta gondolkodtam azon, hogy indítok egy blogot vagy valami hasonlót. Egyrészt azért, hogy amit csinálok, később is vissza tudjam olvasni akár a reprodukálás miatt is; másrészt pedig azért, ha valakit esetleg érdekelnek az ilyen hobbi szintű elektronikai, informatikai témák, akkor itt találhat némi infót.

Sokat gondolkodtam, hogy mi legyen a blog neve. Sajnos csak i-vel engedte, mert a "hobby" már foglalt volt. Viszont az az oldal 2008 óta nem frissült.

Van néhány projektem, amiket idővel szeretnék majd az oldalon is megjelentetni. Van ami félkész, van ami prototípus és van ami már teljesen elkészült illetve vannak éppen aktuális dolgok is.

Egyik érdekesség lehet a 2.4GHz-es Wifi spektrumanalizátor, amit kevesebb, mint 5000Ft anyagköltségből kihoztam (inkább a programozás volt fájós). Erre azért került sor, mert ahol dolgoztam, ott szükség lett volna egy ilyen eszközre, de sok pénzbe kerültek annó. Most is több tízezer forint egy hasonló tudású eszköz. Ha lesz időm, leírom hogyan készült, hogy működik és teszek fel képeket. Nagyon hasznos kis kütyü ha gond van a wifivel. Tervezem ennek egy komolyabb 2.0 verzióját is és talán egyszer lesz belőle 5.8GHz-es is.

Ami még úgy érdekel a hétköznapokban az az operációs rendszerek. A munkahelyen Windows Active Directory környezetben dolgozom, otthon inkább linuxot használok, illetve megpróbálok mindent megoldani azzal, amire szükségem van. Sajnos néha vannak akadályok az undorító árukapcsolások miatt, de szerencsére nem túl jellemző.

Mostanában Arduinoban programozgatok.
Vettem egy csomó Xiaomi terméket, amikből (de nem csak kizárólag ebből) okosotthont szeretnék összeraktni. Vezeték nélküli szenzorokat építeni főként ESP8266 alapokon, de ez a későbbiek során változhat még.

Kezdésnek ennyi, hamarosan visszatérek.