3D nyomtatás: meetupra fel!

Ha a technika is úgy akarja, akkor szeptember 3-án, szerdán, a soron következő meetup-on részt veszek én is virtuális előadóként. A téma a házi 3D nyomtatás szent Gráljának megtalálása lesz: megpróbáljuk körbejárni, hogy mi hiányzik még a tökéletes otthoni FFF 3D printerhez. Ha az egészet sikerül rögzíteni, akkor természetesen kiteszem majd ide, de ha van kedved és időd is, menj el a Corvin Áruházba és hallgasd meg ott - zúzós 2x5 perc lesz, azt garantálom!

R.I.P. Robin Williams

Sajnálom, hogy idáig jutottunk.
Ki gondolta volna, hogy amikor méltón a barátságos elefánt elkészült, hogy egykor harcra fogjuk felhúzni. 4 dekáddal és 52 grammoddal ezelôtt az apám épített egy gyárat, hogy jól szórakozhasson és azt sem bánta, hogy más is jól szórakozik.
Ma azonban lehet, hogy itt a vég kezdete. Vagy a kezdet vége, vagy a bekezdés közepe. Ma, amikor síkra szálltok, vagy hepehupára totyogtok és vártok állván, álltok a vártán, sebeket fogtok elszenvedni. Mert ebben a raktárban el fog dôlni néhány játék - és az is, lesz-e a játéknak jövôje.
Hogy a móka eszköze marad-e, az ártatlanságé, vagy a pusztító háború sajátítja ki. Pingvin úr, ma itt meg kell halnia - különben nemsokára ki fog halni.
Sokan itt csak egyedi példányok vagytok, sokan csak most kerültetek ki a dobozból, sokan most fogjátok elôször látni a rugótokat kitépve, de szebb lesz az, mint a meghunyászkodás látványa volna. Gázoljatok közibük bátran, merítsétek ki az elemeiket, törjétek le a peckes antennájukat, addig ugráljatok ott elôttük, amíg egyetlen ragaccsá nem olvadnak össze.
Nekem ez a Barbie álmom. Tudom, hogy gyôzni fogtok - forgassátok a labdátokat, pörgessétek a tányérotokat, ugráljatok! Zsonglôrbohóc, kápráztasd el ôket! A nagy Mahatma-PropaGhandi szavaival: "Egy játék végtelenül türelmes, de a fene hagyja magát a végtelenségig bosszantani". Egyszerû kedves kedvesek: tegyétek meg a kötelességeteket. Inkább Ti legyetek mellettem örökre, mint a sok távvezérelt, fényes ketyere.
Ti vagytok a mieink, családtagok vagytok... még Te is, Te is te ûrcsavargó... embereld meg magad, mert sosem voltál valami kelendô, mi mégis kitartottunk melletted! Ne azt kérdezzétek ma: mit tehet értem Zivo, hanem azt: mit tehetek én Zivoért. Hajtsuk meg a fejünket imához - már akinek hajlik a nyaka.

3D nyomtatás: főzzünk hőkamrát

Az FFF nyomtatás meglehetősen érzékeny a hőingásokra. Elég, ha kinyitsz/becsuksz egy ajtót vagy ablakot, vagy akár körbefordulsz az épp dolgozó printer mellett a székedben - a minimális légáram képes pár ℃ hőmérsékletváltoztatásra a nyomtatófej és a tárgyasztal közvetlen közelében. Ennek ABS esetében akár az is elhet az eredménye, hogy az a réteg kevésbé fog tapadni, ami akár azonnal látszik is a printen:

ABS-improper-layer-bonding

vagy még rosszabb esetben használat közben egyszercsak annál a rétegnél törik ketté a test:

ABS-layer-crack

Célszerűnek látszik ezért a nyomtatási területet egy zárt kamrába helyezni. Sajna a zárt kamra 2021-ig még szabadalmi oltalom alatt áll, ennek megfelelően csak kevés merész 3D printer gyártó van a jogtulajdonos Stratasys-en kívül, aki zárt hőkamrát ajánlgatna a saját printerei mellé.

Ha egyszer komolyan nekiállnánk hőkamrát építeni, akkor már nem csak a zártsággal kellene foglalkozni: érdemes lenne mindjárt olyat csinálni, ami temperálja a belső hőfokot (az ABS pl. 70-75 ℃ környezetben érzi a legjobban magát). Itt sem kell valami őrült bonyolult dolgora gondolni: elég egy fűtőelem (ami lehet a hajszárítótól az infralámpán át a kerámia fűtőelemig bármi), egy megfelelő méretű, levegőt keringtető ventillátor, meg egy kontroller, ami az egészet emberi beavatkozás nélkül szabályozza és már meg is vagyunk. Ígérem egyszer eljön ennek is az ideje, de mi most a "no time to loose" megoldásra koncentrálunk, azaz kamrát csinálunk, fűtés nélkül - majd fűt nekünk valamennyit a forró tárgyasztal tetejéről szökni próbáló hő!

Szóval a recept: veszünk két sültcsirkés zacskót, némi festők által használt élvédő ragasztószalagot, egy darab furnér lemezt és egy alul nyitott akril dobozt, aztán már kész is a csiribí:

heated-chamber-front-top

heated-chamber-side

Én még próbaképpen előhoztam a konyhából a pecsenyesütő maghőmérőt is és bedugtam az akril box sarkánál a légtérbe, hogy lássam, mennyit számít az egész MekkElek cucc. Amint az a felső kép jobb alsó sarkában látszik, elég sokat: 54 ℃ a hőmérséklet így, hogy csak a tárgyasztal és a hotend maradék hője van csapdába ejtve, gyakorlatilag minimális szigeteléssel. Már csak ha az akril dobozt kibélelném egy hővisszaverő fóliával, az sok elfogott plusz maradék hőt jelenthetne.

Na de mennyit számít ez az egész? Mutatom - a bal oldali fehér test kamra nélkül, a jobb oldali kamrával készült, teljesen ugyanazokkal a beállításokkal, ugyanabból a nyersanyagból (a test tetején álló tüske 14 mm hosszú és 5 mm átmérőjű):

prints-comparison-w-or-wo-heated-chamber

Summa summarum, párszáz forint befektetéssel elég nagyot dobhatunk a printek minőségén.

Android a házban, avagy egy geek ebédje

A probléma: ebédet is kéne főzni, de közben munka is van meg printelek is és a konyha 10 méterre van a munkagéptől.

A megoldás: monitorozzuk Androidos mobillal a sülő pecsenyét! Az egészhez csak az IP Webcam alkalmazás kell, meg persze némi mount a telefonnak a konyhában, valahogy így:

IP_webcam-in-da-kitchen

Kamera a helyére, app elindít, aztán már jön is a secondary monitorra a stream egy Chrome ablakban, mi meg nem aggódjuk halálra magunkat, hogy véletlenül odaég a drága pecsenye:

IP_camera-UI

Persze ugyanez megy iOS alatt is, ott IP Cam az áhított alkalmazás neve, csak én szívesebben állítottam a Moto G-t a sercegő hús mellé.

Kismalac, kismalac, let me in!

Pár napja barátainkkal küldtünk haza a fiúknak egy apróságot, ma rákérdeztem a gyerekekre, hogy megkapták-e. A válasz az volt, hogy nem, viszont ők felhívták a cimboráinkat, ők meg azt mondták, hogy már keresték a fiúkat, de a gyerekek nem voltak otthon.

Na de a telefon nem szólt, hogy csengettek... :)

írta ma Ákos nekem. Summa summarum, ma telefonos kapucsengőt szerelünk.

Sokszor előjött már a probléma, hogy a lakásban levő csengőt nem halljuk, amikor kint vagyunk a kertben, sőt ez még inkább gond, ha épp valahol a városban bócorgunk és egy futár épp megáll az ajtó előtt. Mivel a kapucsengő is csak egy mezei kontaktus, ami a homeaut serverben egy digitális input formájában jelenik meg, így nem nagy dolog az egészet bárhová elirányítani. A bejáratot látja egy IP kamera is, úgyhogy akár meg is nézhetjük, ki tenyerelt rá a csengőre. Mindezekből a következő recept állt össze:

  • a csengő megnyomása generáljon egy push notificationt a fiúk és eFi telefonjára
  • a push üzenetből azonnal el tudjak navigálni abba az iOS alkalmazásba, amin látom a bejárati IP kamera képét
  • egyúttal tegyük el a kameraképet egy network storage-ra, plusz küldjük el eFinek emailben
  • mindezt tegyük védetté a csengőt N alkalommal kényszeresen egymás után megnyomókkal szemben

Az iOS oldalhoz az alapot két alkalmazás szolgáltatta: az IP kamera képét mutató IP Cam Viewer Pro, valamint a user által gyártott push notifikációk küldözgetésére kitalált Pushover.

Az ismétlődő csengetés elleni védelmi logika simán maradhatott volna a dataflow homeaut serverben (mindössze egy Delay és egy Blocker komponens kell a megvalósításához), ám valami miatt ez később jutott eszembe és így beledolgoztam az egész folyamatot levezénylő shell scriptbe - íme:

#!/bin/bash
 
lastrun () {
	TESTFILE="./kapucsengo.timestamp"
 
	if [ -e $TESTFILE ] 
	then 
		LASTRUNDATE=`date +%s -r $TESTFILE`
	else
		LASTRUNDATE="0"
	fi
 
	NOW=`date +%s`
	DIFF=$((NOW-LASTRUNDATE))
 
	touch $TESTFILE
	return $DIFF
}
 
MIN_REPEAT=30 # 30 másodpercen belül nem reagálunk újra
lastrun
LR=$?
if [ $LR -gt $MIN_REPEAT ]
then 
	# ask pushover.net to send notification
	curl -s \
	  -F "token=MY_PUSHOVER_TOKEN" \
	  -F "user=MY_PUSHOVER_USERID" \
	  -F "message=CSENGETTEK" \
	  -F "title=ihome - r9" \
	  -F "url=ipcamviewer://launch?groupName=kapucsengo" \
	  -F "url_title=View cameras" \
	  https://api.pushover.net/1/messages.json 2>&1 /dev/null
 
	# save streetcam image on ring
	NOW=`date +%Y%m%d_%H%M%S`
	curl -u CAM_USER:CAM_PASS http://cam_url/cgi-bin/viewer/video.jpg >/media/cam_offline/$NOW.jpg
	cp /media/cam_offline/$NOW.jpg /media/camstorage/kapucsengo/
	/usr/bin/mpack -s "Csengettek - r9" /media/cam_offline/$NOW.jpg EFI_EMAIL_ADDRESS
	find /media/cam_offline/* -mtime +365 -exec rm{} \;
	exit 0
else
	# Repeated call within $MIN_REPEAT seconds - script cancelled
	exit 1
fi

A fenti scriptet egy Shell komponens indítja el, amint megjön a kapucsengő digitális bemenetén a kontaktus. A script megnézi, hogy utoljára 30 másodpercnél később indult-e és ha igen, teszi a dolgát:

  • szól a curl-nak, hogy küldjön a pushover.net felé egy notifikációs üzenetet JSON formátumban
  • szintén a curl-t kéri meg, hogy cibálja le az IP kamerából az épp látott képet
  • felmásolja az előbb letöltött képet a NAS-ra
  • megkéri az mpack binárist, hogy küldje el nekem a fotót attachmentben
  • végül a lokális storage-ből törli az esetlegesen meglevő, 365 napnál régebbi kameraképeket

Nálam a homeaut server csillió más dolgot is csinál, így kézenfekvő volt simán beleintegrálni az ő workflowjába a feladatot. Ha te csak egy "telefonálós" kapucsengőt szeretnél, az sem rocket science: elég egy Raspberry Pi, annak egy GPIO portja és egy Python script, hogy az egészet levezényeld, pont úgy, ahogy maandag megírta a blogján tegnapelőtt.

3D nyomtatás: hibák – az egyenetlen hűtés

Preface: kicsit a végéről az eleje fele halad a mai történetünk, de muszáj a végső tanulság megértéséhez az egész sztorit elmesélnem. Vágjunk bele!

A sztori vége egy mondatban az, hogy nézd csak meg, mennyit számít a megfelelő hűtés:

3d-print-improper-cooling

A fenti fotón látható printek a múltkoriban már emlegetett micro drip fúvókák - az egész modell belefér egy 25x12 mm-es befoglaló hengerbe, azaz ekkorát nyomtatni igencsak aprólékos meló. Na de mitől ilyen rettenetesen ragyás az első kettő?

A történet úgy kezdődött, hogy az Ultimaker XY tengelyeit mozgató, fából készült blokkok egyike annyira elvetemedett, hogy a benne rögzített tengelyvég lötyögni kezdett. Róla van szó:

kocsi
Forrás: Ultimaker Flickr album

Ebből aztán az lett, hogy leszedtem az alan89 által tervezett műanyag blokkokat, kinyomtattam őket és kicseréltem a fa kocsikat az új, műanyag változatra:

alan89-Ultimaker-XY-carriage

Ehhez a fél printert le kellett bontani, így elérkezettnek láttam az időt, hogy megbuheráljam a nyomtatófejet is.
Az Ultimaker egyik nagy problémája a macerásan karbantartható, könnyen elkoszolódó hotend. Sokat kutattam már alternatív megoldás után és pár hónapja meg is találtam a szimpatikus cseredarabot: a printrbot által gyártott UBIS hotend-et választottam. A linkelt verzió 1.75 mm-es műanyagszálhoz való, ám én még be tudtam vásárolni a 3 mm-es tesójából, ez került az Ultimakerbe.

Igen ám, csakhogy az Ultimaker a RepRap világhoz képest jópár dologban eltér, ezért a hotend cseréje szintén nem egy két perces művelet. Mindenekelőtt új "kocsi" kell neki, ami cipeli az XY tengelyek mentén. Ehhez szerencsére nem kellett nulláról indulni, mert Nick Foley már legyártotta magának az UBIS kompatibilis Ultimaker szánt, csak Nick éppenséggel nem nyomtat ABS-ből, ezért ő a foehnsturm nickű user által javasolt crossflow fant alkalmazza, aminél meg a lamináris áramlást generáló ventilátor nem a hotenden lakik, így a Nick által tervezett UBIS hotend kocsin nincs ventilátor felfogatására alkalmas furat. Szerencsére Nick publikálta a modellt .STEP forrásfile-ban, így én már le tudtam modellezni a saját verziómat, amire két ventilátor mount pontot is terveztem:

UBIS-Ultimaker-carriage

Persze ez még nem elég, a standard Ultimaker hotend hőmérsékletének mérését egy AD595-ös hőelemmel oldották meg a srácok, míg az UBIS hotend számos más reprap kompatibilis hotendhez hasonlóan EPCOS 100k-s termisztorral megy. Ahhoz, hogy az Ultimaker elektronikája az UBIS hotend hőmérsékletét mérni tudja, az Ultimaker alaplapjába be kell forrasztani egy 4.7kOhm-os ellenállást. eFi, az ő lapát keze, egy páka és egy bolhányi ellenállás nem a legideálisabb kombináció, de nagy nehezen összehoztam.

Az ellenállás a helyén van, jöhet a komplett hotend vezetékcsere, ugyanis az UBIS hotend teljesen más Molex csatlakozókat használ, mint amilyen a gyári Ultimakeré. Ha ez is kész, akkor már csak arra kell rádöbbenni, hogy az új XY blokkokhoz picit hosszúak a kocsit szállító XY tengelyek, amiket ezért kicsit meg kell kurtítani és már szerelhetjük is fel a ventilátorokat!

Azaz csak szerelnénk, mivel a bal oldali, átlagnál picit magasabb peremű ventilátor nem fér el az új, bal oldali Y tengelyen mászkáló XY blokk mellett - illetve elférne, ha elvennék 2-3 cm-t a hasznos nyomtató térfogatból, ez azonban az utolsó dolog, ami eszembe jutna, úgyhogy első körben elegánsan kihagyom a bal oldali ventilátort, "jó lesz így is" jeligére.

És már el is jutottunk a poszt elején szereplő kérdés megoldásához: a hiányzó ventilátor és a nagyon kis felületű nyomtatási réteg együtt azt eredményezte, hogy a friss forró ABS képtelen volt kihűlni mire a fej a következő régetet indult neki megépíteni és ezért az előző, már lerakott réteget kezdte el "maszatolni", ami az irdatlan bumburnyákokat eredményezte.

Ennek aztán az lett a vége, hogy köszörültem egy picit a bal oldali ventilátor keretéből, az visszakerült a helyére és a puklik is megszűntek:

UBIS-hotend-and-new-XY-mounts

Mac workflow: Alfred

Preface: száraz, geek bejegyzés jön, OS X addict kockáknak.

Jó ideje agyalok már, hogy egyszer megírom ezt a posztot. Nem biztos, hogy a legjobb időben, hiszen ősszel jön a Mac OS X Yosemite, amiben a Spotlight majd jól megokosodik. Én azonban nem játszottam még a bétával, a poszt tárgyául szolgáló Alfred viszont annál inkább a szívemhez nőtt.

Az Alfred a készítők definíciója szerint egy "productivity" alkalmazás, mely a korábbi Quicksilver, illetve a most is aktívan fejlesztett Launchbar launcherek konkurrense.

Most eltekintek attól, hogy a sok default Alfred jóságot részletesen ismertessem, azokról született már kismillió jó írás. Rettenet erő lakik a szoftverben, főleg, ha pénzt áldozol a 17 GBP-be kerülő PowerPack kiegészítésre. Amint van PowerPackod, már gyárthatod is a friss workflow-kat Alfredben. Én is csináltam sok ilyet és használok mások által fejlesztetteket - ebből szedtem most össze egy csokorra valót kedvcsinálónak. Lássuk a macit!

Uni-Call

FaceTime vagy Skype hívást tudok desktopról indítani anélkül, hogy az egeret használnám, így:

callf

calls

Currency converter

Árfolyamot vált, baromi gyorsan, bármiről bármire. Beállíthatod a kedvenc célárfolyamod default targetnek, de harmadik paraméterként bármikor konvertálhatsz tetszőleges másikra is:

curr1

curr2

curr3

Image dimensions

Kép méretét adja vissza azonnal:

dim1

dim2

Encode

URL/UTF8/Base64 formába konvertálja az inputot:

encode

Animgif search

giffy

Google translate

UI-ben tökölés nélkül fordítja az inputot azonnal. Csináltam belőle 3 targetet: magyarra, angolra és lengyelre:

gt-2hu

gt-2en

gt-2pl

Safari history search

h

IP és Mac addressek CLI nélkül, gyorsan

ip

mac

Disk space check azonnal

space

Compose mail

m

Keresés a menubarban egér nélkül

menu

Új file gyártása és azonnali megnyitása

nf

nfo

Cheatsheet azonnal

qr

Rate current iTunes track és add current iTunes track to singalong playlist

rate

singalong

Recent items

rec

rec-doc

rec-downloads

rec-folders

Save current URL with tags

save1

save2

Send current URL

send1

send2

Show all iCloud tabs

tabs

Timezones

tz

Ha kedvet csináltam, már megérte!

Minden nap szülinap

Vasárnap késő éjjel értünk vissza Krakkóba. Kinyitom a mailboxot és 100 felett van benne mail - WTF? Persze ezek elsöprő többsége a std user születésnapjakor arcba tolt egysoros jó kívánság áradata volt. Gondoltam egyet és átállítottam a Facebookon a születési dátumomat 5 nappal későbbre, csak hogy lássam, hányan fognak 5 nap elteltével is automatikusan boldog szülinapot kívánni. Tekinthetjük ezt akár egyfajta filternek is: akikkel valóban van kapcsolata az embernek, azok talán észreveszik a turpisságot.

Nos, nem is olyan rossz az arány: mindenféle forrásokból több, mint 50 szülinapi jókívánság érkezett július 25-én - ebből mindössze 6 volt, aki észrevette, hogy az eFi új szülinapot "generált" magának a Facebook segítségével :)

Ezekből Gábor aranyos commentjét emelném ki nektek:

Na várjál csak, nem gratulált neked mindenki július 20-an is? Pettson macskája, Findusz se csinálhatná jobban... A palacsinta torta is megvolt?

Szuper kísérlet volt, ám ezúton üzenném minden kételkedő barátomnak, hogy az eFinek amúgy valóban 2 szülinapja van ám: a másodikra augusztus 30-án emlékezünk. Aki megfejti az okát, annak jár a virtuális sör!

Polska 2014/06: szummárium

Júniusban mentünk egy bő 2000 km-es kört Erával és a fiúkkal Lengyelországban. Sajnos menet közben nem tudtam naplózni, így az idei körből csak egy összefoglaló lesz most, ahhoz viszont cserébe adok bőven képeket - íme:

Wrocław

Templom kívülről:
20140623-8928

Templom belülről:
20140623-8954

Nénistencil a falon:
20140623-8959

Régi torony a főtér sarkán:
20140623-8982

Jellegzetes wrocławi törpék a torony mellett:
20140623-8990

20140623-8991

300 lépcső megmászása után kilátás a toronyból:
20140623-8992

Szuperrohadék parkolóautomata, ami a jegyre rendszámot is kér, nehogy továbbadd:
20140623-9043

Szép, fényes, zárva:
20140623-9098

Toruń

Templom külseje:
20140624-9174

Templom pszichedelikus mennyezete:
20140624-9175

Gdańsk

Szines épületek:
20140626-9503

20140626-9530

Öreg IRL nénik körbeülnek egy még sokkal öregebb kőnénit:
20140626-9532

Strand, 15 fokos, alig sós vízzel (naná, hogy teszteltük):
20140629--5

Les

Ilyen a homokcsík vége:
20140709--7

Malbork

A vár a háború végén:
20140625-9274

A vár ma kívül:
20140709--9

20140709--13

és belül:
20140625-9337

20140709--6

20140709--2

Warszawa

Volt tégla bőven:
20140628-9691

A varsói barbakán, félbevágott emberrel:
20140629--9

Szines házak itt is:
20140629--10