IoT kalandok

Gondolkoztam rajta, hogy hogyan lehetne belépni az IoT világába, de hát eredeti ötletem nem nagyon volt, főleg olyan nem ami valódi problémát old meg. Viszont a kábelszolgáltató volt olyan kedves lecserélni a TV set top boxát egy olyanra amiből az általam leggyakrabban használt funkció, a ledes óra kimaradt. Így lett egy probléma amit meg lehet oldani.

Az ötlet nagy vonalakban annyi volt, hogy kéne valami amin lehet látni az időt kb headless módban. Csak bedugod és működik. Hardware platformnak pedig a Wemos D1 Mini-t választottam. Ennek van több iterációja és vannak hozzá shieldek mint pl az Arduinohoz. És ami mégjobb, hogy Arduino IDEvel lehet rá sketcheket írni és feltölteni rá. Hardware szempontból elég erős, van benne wifi és 4mb flash amibe azért elég sok dolog belefér. A sok hely ott lehet érdekes, ha fontokat kell betölteni vagy grafikát megjeleníteni.

Első körben áttanulmányoztam az Arduino IDE egyik példáját ami az ntp protokolt használva tudja az időt lekérdezi, megjeleníteni a példa egyszerűsége okán nem tudja. Az időt először wemos shieldeken probáltam megjeleníteni. Első körben egy 0.96″-est próbáltam, olvashatatlan volt messziről, bármilyen font került rá. Aztán egy 1.44″-es jött, de hát ez sem volt a legjobb. El is engedtem a TFT shieldeket és a jó öreg szegmens kijelzőket kezdtem átnézni. Ezzel a megoldással elég sok helyen lehet találkozni, pl a sütőnkön is ilyen van, úgyhogy itt tudtam mire lehet számítani láthatóság szempontjából. Vettem egy ilyet. Azért mielőtt belementem volna ezekbe mindig gondosan megnéztem, hogy milyen vezérlők vannak rajtuk és hogy vajon van-e hozzájuk valami lib amit be lehet húzni Arduino IDE-be. Egyébként mindegyik működött, de a szegmens kijelző a legjobban olvasható.

Ezt a megoldást egy nagyon ízléses papírdobozba telepítettem bele, és nem is foglalkoztam vele egy ideig. A nappaliban nem került be a set top box mellé, mindenki a sütő óráját nézegeti vagy a telefonját. Az íróasztalomon pihent, és mielőtt valaki megjegyezné, hogy a számítógépen is ott az óra, annak elmondom, hogy játszás közben nincs.

Viszont egy idő után meguntam a papírdobozt és gondoltam nézek valami kisebbet, szebbet, meg valami olyat amibe az alkatrészeket rendesen lehet rögzíteni. Az usb tápot pl nem lehetett kihúzni az órából csak nagyon óvatosan a dobozt kinyitva. A szegmens kijelző nyákján van néhány furat amivel lehet rögzíteni a kijelzőt, viszont a Wemos D1 Mini 1-es verzióján nincs semmi ilyesmi. 3D nyomtatóm nincs szóval a piacról kellett megoldani ezeket a problémákat. A 4-es verzión már vannak furatok, úgyhogy rendeltem néhányat belőlük, annyira filléres alkatrész ez, hogy tényleg kb 2 buszjegy ára (DKV, helyi, 2023 elején). Hogy milyen legyen a doboz azt nem sikerült elsőre teljesen jól eltalálni. Annyit tudok mondani, hogy ennél nagyobb kell: https://www.hestore.hu/prod_10032323.html, főleg a magassága nem megfelelő. De azért még így is kisebb junk feeling mint a papírdoboz.

És akkor még néhány szó a sketchről amit csináltam. Az alap ugye a ntpclient. Ennek lehet adni ntpservert, időzónát és még azt is, hogy milye sűrűn kérdezzen rá, hogy hány óra. Van egy másik rész ami megpróbálja kitalálni az időzónát. Vannak a neten ilyen servicek, hogy megadod, hogy hol vagy ő pedig egy ad egy választ, hogy szerinte mennyi az offseted az UTC képest jelenleg. Nekem ez a link mondja meg. Játszani kell még a kijelzővel. Itt nem találtam túl szofisztikált megoldásokat. Lehet vele bohóckodni, de ha nem számokat akarsz kiírni akkor vannak kihívások.

A legtöbb időt felemésztő kihívás a wifi konfigurálása volt. Az egyik feladat bekonfigolni a wifi hálózatot, úgy hogy be kell lépnie minden segítség nélkül. Én a wps-re szavaztam és így ki is derült számomra, hogy miért veszélyes üzem. A lényeg, hogy a wps kliens valahogy tényleg megtudja a wifi jelszót anélkül, hogy bárhova beírnád. Gondolom ha neki sikerül akkor másnak is sikerülhet. Egyébként ha egyszer sikerül az AP-re csatlakoznia, akkor emlékszik reset után is a credentialokra. A másik megoldás amit kipróbáltam, bár nem akartam, az a wifimanageres megoldás. Ez úgy történik, hogy ha nem tud csatlakozni azzal a jelszóval és ssid-del amire emlékszik, akkor elindít egy AP-t, amire be tudsz jelentkezni bármilyen wifi eszközzel. Utána egy böngésző segítségével tudsz választani az eszközön SSID-et és be tudod írni a jelszót. Lenne egy harmadik megoldás a smartconfig. Itt arra számítottam volna, hogy valami hivatalosabb forrás osztja meg a mobilos appot amivel be lehet lőni a wifit a ESP-8266-okon, de nem találtam ilyen, úgyhogy nem kísérleteztem.

És hát hogy honnan tudom ezeket, mert miért kellet utánanéznem? Az történt, hogy a szokásos wps megoldás nem működött a v4 wemos-on. Beírtam kézzel a sketchbe az ssid jelszó párost, akkor sem akart kapcsolódni. Feltettem a wifimanagert, amíg AP módban volt a wemos addig jó volt, de utána nem ment fel az otthoni wifire. Elővettem a másik v4 wemos-t, az viszont működött alapban. Először örültem, hogy milyen okosan kettőt vettem, de csak zavart, hogy miért nem működik station módban a rossznak gondolt wemos. Eddigre ugye megvolt wifimanager, wps és a kézzel beírás és egyik sem működött. Meg kellett ismerkedni olyan dolgokkal is amivel annyira nem terveztem, hogy foglalkozni kell. A projekthez nem sokat tenne hozzá, de mégiscsak izgatott, hogy mi lehet gond. Nézegettem, hogy lehet-e valahogy debuggolni az wemost, az ESP8266-ot, a telepített libeket vagy bármit. Szerencsére a konkrét debuggolásig nem kellett elmenni. Az ESP8266-on van két beállítás amit simán be lehet pipálni Arduino IDE-ben. Az egyik az, hogy Debug Port. Itt a Serial-t kell választani. A másik a debug level, ott pedig azt, hogy WIFI. A serial monitor úgyis nyitva van általában, ott fognak megjelenni a debug üzenetek. És hát ott kiderült, hogy a wifi csatlakozás sikeres ellenben a dhcp kérésre nem érkezik válasz. Tehát nem lesz bekonfigolva az ip, a gateway, a dns és a subnet. Aztán jött az olvasgatás, hogy hogy van olyan, hogy egyeseknek nem válaszol a dhcp server, ami elvileg a router alapszolgáltatása szokott lenni. Mindenesetre beállítottam kézzel fix ip-et meg mindent ami kell és feléledt a hibásnak gondolt wemos. De a dhcp ügyre még mindig nem volt válasz. Fórumokban és hibajegyekben az emberek célozgattak arra, hogy egyes Asus routerekben van ilyen hiba, de csináltak valami és elmúlt. Sőt voltak olyanok is akiknek az volt a workaroundjuk, hogy restartolták a routert. Ez viszonylag olcsó megoldás én is kipróbáltam és működik, megjegyzem a routert a kábelszolgáltató adta és nem Asus. A kérdés persze még mindig ott van, hogy előtte miért nem volt soha semmivel ilyen gondom, de a lényeg hogy működik.

Kategória: Goddamn Electric | Megjegyzés hozzáfűzése

Megint új hobby: mechanikus billentyűzet

Elég sok billentyűzetem volt már. A 90es években pl nem is nagyon gondolkodott az ember ezen, volt a billentyűzet és kész. Illetve ha XT-vel kezdted akkor nem voltak rajta nyilak, csak a rendes gombok 10 funkcióbillentyű és a numpad. Később ha szerencséd volt akkor iso kiosztásút tudtál szerezni, ha nem akkor csak ansi-t. Már ebből az időből is volt egy érdekesebb darabom, egy BTC 9000 névre hallgató készülék. Ennek az extrája néhány multimédia gomb volt.

Volt vezeték nékülim is valamilyen logitech is, egér billentyűzet kombóban. Többfajta is. Két Cordless Desktop, az egyikkel még csak golyós egeret adtak. Ebben az időben tüntek fel a furcsa elrendezésű billentyűzetek. Numpad és a rendes gombok közé nem tették oda az összes pgup/pgdn stb gombokat. Nekem egy Logitech Easycallom volt ebből az időből. Illetve volt egy Trust vezeték nélküli billentyűzet egér párosom is, de hát egyszer csak elpusztult a vevőegysége, amit persze pótolni nem lehetett.

Kb ezeket nyúztam váltásban amíg elő nem jött a mechanikus billentyűzet örület. Látva az egyre jobb kínálatot én is elkezdtem nézelődni, hogy mik a lehetőségek, meg hogy egyáltalán mi az ergonómikus. Kiderült, hogy van olyan lehetőség hogy numpad nélkül, nyilak nélkül, funkciógombok nélkül. A numpad és a nyilak nélküli megoldások előnye, hogy kisebb helyet foglalnak mint egy teljes billentyűzet, és pont ott lesznek kisebbek ahol nagyon számít egy jobb kezes egeret használó embernek.

Szóval elkezdtem kipróbálni ezt azt. Először vettem egy numpad nélküli, TKL billentyűzetet. Kb a legolcsóbbat amit találtam iso kiosztással. A kék kapcsolókat, barnára cseréltem benne, mert az egyetlen valamire való extrája a kék háttérvilágításon kívül a cserélhető kapcsolók voltak.

Elég hamar megszoktam a mechanikus billentyűzetet és egyre jobban zavart, hogy munkehelyen nincs ilyenem. Szóval vettem egy másikat ami 60% készülék volt, dedikált nyilak nélkül. És ansi kiosztással. Hát az ansi hátránya hogy nincs oszott bal shift, így elég körülményes hosszú í betűt írni. És a dedikált nyilak hiánya is zavart egy kicst.

Viszont a mérete nagyon tetszett. Úgyhogy körvonalazódott bennem, hogy kb mi kéne, de közben volt egy kis kitérő. Vettem egy készletet amiből egy 40%os billentyűzetet lehetett építeni. Itt ugye már számsor sincs és hát hiányzik egy két oszlop is. Kb betűket lehet rajta gépelni, még írásjeleket is nehezen. Ettől még játékra és nem programozásra jó lehetett volna, de a sorok eltolása nem olyan volt, mint egy megszokott billentyűzeten. A w majdnem telejesen az a felé került. Ilyen formában a wasd sem volt megszokott helyen.

És akkor térjünk rá a jelenlegi endgamere. A felhalmozott tudást és billentyűzeteket elemezve arra jutottam, hogy egy Filco Minila lenne a legjobb választás iso kiosztással. Ez a termék letezik is. Viszont az egyik trükkje az, hogy a shift sora egy kicsit nem úgy van eltolva mint egy rendes billentyűzetnél. Szóval arra jutottam, hogy a minila kiosztás az majdnem jó, csak a második sorral kell valamit csinálni.

Az aliexpresst sokat böngészve találtam is egy pcb-t ami ugyan nem volt hot swappes, de annyi féle módon elő volt készítve mindenféle kiosztáshoz, hogy nem is hittem a szememnek. 60%-os, pont tudja az space sorában a minilat, a shiftesben meg van oszott bal shift, de lehet 1.25-1 arányban osztani. Már csak az volt a kérdés, hogy melyik gomb ne legyen ami a minila második sorában van. Én a deletetől váltam meg.

A többi alkatrész közül volt olyan amit könnyen be tudtam szerezni. Ilyen volt az usb-c kábel, a készülékáz és stabilizátorok a nagyobb gombokhoz. És hát persze voltak kicsit nehezebben megoldható dolgok. Már a készülékháznál is kellett egy kicsit reszelni, hogy elférjenek a stabilizátorok, mert ugye a minila space csak 3 széles és erre nem volt felkészítve a ház. Viszont vettem egy alu billentyűzet lemezt is, ami aztán eléggé meg kellett moddolni, hogy elférjen a space sor.

A billentyűzet kupakokról meg ne is beszéljünk. Egy ilyen különlegességnél a magyar cimkék esélye kb nulla. Viszont a Minila nem szabványos széles ctrl-t használ, de ha véletelnül lenne egy minila kupakkészlet, akkor abban meg nem lenne 1.25ös shift. Szóval voltam bajban. Mivel vettem egy ilyen tombolaszerű kupakkészletet még régebben, így minden gombra jutott valamilyen kupak. Viszont az összhatás csapnivaló volt. Végül a random kupakokból, egy iso kiegészítőből és egy Carbon Minila készletből sikerült valamit összelegózni, de hát azért látszik rajta, hogy nem minden kupak jött egy helyről és készült egy technológiával.

És akkor ugye ez egy olyan billentyűzet amin nincs meg minden gomb, nem százegykét gombos hanem inkább olyan 67. Valamiről persze le tud mondani az ember örökre, pl numpad hiján a numlockról. De azért egy pgdn/pgup/home/end jól esne. Ezt szoftveresen kell megoldani, layerek segítségével. Viszont nyilván kell szoftver. A pcb amit használok QMK alapú, szóval elég sok a lehetőség. De ami a legjobb hogy ha eszembe jut hogy mégis kéne valamelyik gomb, akkor csak kitalálom, hogy hogyan akarom előcsalogatni, beleírom a firmwarebe, feltöltöm és kész.

Emiatt elég speciális a billentyűzet kiosztásom. Egy csomó dolognak nem nagyon néztem utána, hogy hogy csinálják az emberek. Kell egy mute gomb, nézzük meg hol van hely az 1es layeren és akkor nekem ezentúl ott lesz. Pl printscreen gombom valamiért nincs is, meg scroll lock sem. De ha használnom kellene őket, akkor nyilván lenne.

Összeségében egybként nem volt olcsó a dolog még akkor sem ha csak azokat a dolgokat nézem amik az endgamebe kerültek. Ami időnként hiányzik az a funkció sor, de szerintem ha nem használnék far managert akkor az sem hiányozni annyira.

Carbon keycaps for minila 8370HUF
Carbon iso modifiers 4080HUF
USB C cable 650HUF
Grease 663HUF
Alu plate 6298HUF
Plastic case 4731HUF
PCB 8484HUF
Stabs 3.86USD

Van még pár dolog amit kipróbálnék ha nagyon nem lennék elégedett a jelenlegi megoldásommal.

Először is ott van a dactyl manufold. Eléggé formabontó egy kinesis billentyűzetet akar lemásolni ami egyébként a Man In Blackben is szerepelt. Nem gyártják, magadnak kell összerakni vagy ismerni valakit aki ki tudja neked nyomtatni és össze tudja szerelni. De lehet csak a szerelés miatt érdekel ez a téma.

Másodikként megemlíteném a Keychron K2 iso verzióját. Ez pont annyival nagyobb mint a 60%, hogy pont azok a gombok kerültek rá, ami esetleg hiányozhat nekem. Van plusz egy oszlop, úgyhogy nem kell minden pgdn/pgup/home/end gombot az 1es layerre rakni, van külön esc és funkció gombok. Ez ugye nem szerelős, sőt a firmware is zárt.

És ami még izgalmasabb az egy olyan készülék ahol bal kézre van téve a numpad. Ami hatalmas ötlet, hiszen ott van ha kell, de nincs útba az egér és a billentyűzet között járó jobb kéznek. Nyilván balkézzel egerezőknek ez alap, de érdekes lehet. Most csak amiatt, hogy van olyan játék ahol használni kell a numpadot van egy külön numpadom szigorúan a ball oldalon.

Kategória: Uncategorized | Megjegyzés hozzáfűzése

Megint új kéró a számítógépemnek

Utoljára 13 éve cseréltem számítógépházat, főleg azért, mert akkor terjedtek el a divatos és átgondolt házak. Előtte új géphez új házat is vettem, mert mindig volt valami technikai fejlesztés, ami miatt újat kellett venni: nem fértek el az alaplapok vagy a meghajtók, kevés volt bennük a hely.

Ezért is vetem egy Cooler Master Cavaliert. Aminek az előnyeit így foglaltam volna össze:

  • Nagy meghajtó helyből 5
  • Divatos ajtó
  • Nem sárgásfehér szín
  • USB front panelre vezetve
  • Soknak tűnő hely
  • Külön levehető jobb és bal oldali panelek!

Az elmúlt 13 évben viszont összejött egy pár újítás:

  • Üvegablak, hát az nem must have, de nagyon nehéz is ilyen nélkül házat venni.
  • Alsótáp, a tápon átmenő levegő teljesen független a házban lévőtől.
  • Cable management. Ez az egyik, ami nagyon hiányzott a régiből, nagyon nehéz volt bármit kicserélni megkeresni benne, az összes kábel be volt zsúfolva pci kártyák és a driveok közé, úgy hogy azért a processzorhűtő útjába ne kerüljenek. A most divatos tárca mögé a kábellel megoldások ezen sokat segítenek.
  • Zajtompító réteg felül, elől és az oldalpaneleken.
  • Vertikálisan szerelhető GPU tartó. Ez sem must have, de ha már van üvegablak, meg kicsit vékonyabb anyagból van a ház kerete, lehet jól fog jönni egy komolyabb kártyához.
  • Kicsit komolyabb ventilátorhelyek
  • Porszűrők a legtöbb légbeömlőn
  • És még mindig legyen 2 nagy meghajtó hely, ami manapság már nem annyira triviális.

Nézegettem egy pár házat, hogy mik felelnének meg ezeknek, plusz ugye a featureök amik megvannak a Cavalierben. A pcpartpicker elég jól lefedi, hogy melyik ház mit tud. A legjobb egy Phanteks Enthoo Primo lett volna, persze az ára bőven afelett volt amit szántam rá. Összehasonlításképpen a Cavalier 20k volt. Aztán ott a Fractal Design Define R5  ami még mindig elég drága, viszont már nehéz is hozzájutni. A későbbi verziókban meg nincs 2 nagy meghajtó hely. A Fractal Design Focus G kicsit olcsóbb, viszont nincs ajtaja. Még a Zalman Z9 Neo volt képben amire meg sok volt a panasz.

Végül egy Thermaltake Suppressor F31-et vettem. Sok feature és egy pár kompromisszum. Kb tudja azt amit szerettem volna csak nem volt fehér színben, ellentétben az összes többivel amit kinéztem. A másik hibája amire igazából nem számítottam, hogy kicsit vékony anyagból készült amire mindjárt visszatérek miért is lett gond. A legnagyobb hiba amit felhoztak ellene különböző fórumokon, hogy ez a Fractal Design R sorozat koppintása, legalábbis kívülről. Gondoltam ha ez a legnagyobb gond, akkor talán nem is akkora gond az, nekem.

Szóval a vékony anyag. Így nem tűnt gyanúsnak a dolog elsőre, mert 10kg körül van a ház üresen, igaz a Phanteks Enthoo Primo valami 18kg, de hát sokkal nagyobb is. A Fractal Design Define R5 meg majdnem pontosan ugyanilyen nehéz. A 10kg úgy jön ki, hogy a zajtompítás elég nehéz, meg az üveg is, viszont maga váz nagyon könnyű. Olyannyira vékony és könnyű, hogy egy a ház ventilátorai is berezgetik teljes fordulatszámon. Ezen mondjuk lehet segíteni azzal, hogy alacsonyabb fordulatszámon járatjuk őket. A másik gond, hogy a 7200rpm-es Toshiba P300-as sorozatú hdd rezgését is átveszi a ház, de úgy, hogy nem tudok mellette ülni, főleg úgy hogy ezt változó frekvencián teszi. Ez ellen sajnos nem tudok egyelőre védekezni. Amíg nincs jobb ötletem, az egyik opció, hogy nem használom, a másik, hogy kikapcsoltatom windows-zal amikor idle.

És akkor a végére még egy kis apró negatívum, amit mondjuk tudtam előre, úgyhogy nem számolom a rossz meglepetések közé. Csak 3 hdd hely és 2 nagy meghajtó hely van. Igaz lehetne bővíteni, de csak akkor, ha sikerül kiegészítő alkatrészeket szerezni hozzá, úgy még lenne plusz 8 hdd hely:

  • A tálca mögött van 3 hely, de ehhez kell 3 db tálca, amibe hdd-ket lehet szerelni. Alapban adnak hármat, de azt vagy itt használod vagy a ketrecben.
  • Lehet betenni még egy ketrecet 3 hellyel. Ekkor elveszíted a hosszú GPU opciót és előre sem teheted a vízhűtés radiátorát.
  • És lehet venni a tápra is takarólemezt amire 2 ssd-t lehet rögzíteni.
  • Ezen felül még csak lyukak sincsenek tálca nélküli rögzítéshez.

Összeségében remélem ez egy future proof megoldás, és elleszek vele 13 évig. Ki tudja milyen számítógépek lesznek akkor? Azért azt érdemes tudni, hogy az utóbbi 10 évben túl nagy dolgok nem történtek legfeljebb csak GPU fronton. De kb minden ugyanakkora mint 10 éve, és a GPU kivételével talán csak az ssd-k hoztak desktop fronton óriási áttörést a sebességben. Azok meg méretben kisebbek lettek és lassan helyet sem hdd helyet sem fognak foglalni. Talán nincs is olyan alkatrész az alaplapok mögé szerelt ssd-k kivételével amit ne tudtam volna gond nélkül berakni a Cavalierbe.

 

Kategória: Uncategorized | Megjegyzés hozzáfűzése

Egerészés

Kb 5 évente szoktam új egeret venni, de hát ahogy az ember öregszik egyre gyorsabban telik el az 5 év. Nem az új feature-ök miatt veszek új egeret hanem amiatt, hogy a balgomb már nem vonszol semmit stabilan. Középkategóriás egeret szoktam venni 10-15 kHUF-ért. Ennyiért lehet venni egy vezeték nélküli egeret amin legalább előre-hátra gomb van.

Másrészt viszont idegestítő, hogy csak a gomb miatt kell új egeret venni. Fogtam magam és szépen szédtem egy már nem műkdödő példányt és megnéztem mi a helyzet belül. Az MX 600-ashoz nem találtam szétszedős összerakós videót, úgyhogy az M510-est kellett szétszednem először. Mondjuk az összerakás résznél a bekapcsológomb visszatételét nem mutatta a video, úgyhogy kétszer szedtem szét az egeret.

Szépem megnéztem mi van a kapcsolóra írva: OMRON D2FC-F-7N. Ezzel indult a keresés. Kiderült, hogy ez egy elég szabványos méretű kapcsoló. Ami nekem van az egérbe az egy puhább 10 millió kattintásos típus. A gyári adatlapjából kiderült, hogy van ám 50 millió kattintásos változat is igaz kétszer annyiba kerül mint a 10 milliós. 50 cent helyett majdnem 1 egész dollár az ára!

A tudás birtokában rendeltem is néhány új kapcsolót egyik kedvenc kínai bazáromból. Az eddigiekhez csak agymunka kellett megy egy icipici kézügyesség a szétszereléshez. A nehéz rész ezután következik. Le kell forrasztani az eredeti nem SMD-s alkatrészt ami ugye 3 ponton van rögzítve a nyákra. Hát ez belekerült egy kis időbe, mert semmi gyakorlatom nincs benne. Annyi könnyítés volt, hogy a régi kapcsolót nem akartam megtartani – nem is nézett ki valami szépen mire végeztem.

Beforrasztani már nem annyira bonyolult ezeket az alkatrészeket. Ha már így egymás mellett volt a 3 működőképes egér – MX600, M510, M705 – megnéztem mi változott 10 év alatt. Legjobbnak a legrégebbi néz ki. Az M705-nek kb egyetlen előnye a magától továbbgördülő görgő. A két régebbibe tettem 50 millió kattintós balgombot, szerintem azokba már soha többé nem kell cserélni gombot. Kedves gesztus lett volna a Logitechtől, ha eleve olyat tesz bele, bevállalva a plusz 50 centes felárat. Bár ők lehet olcsóbban veszik a gombot mint én.

Kategória: Uncategorized | Megjegyzés hozzáfűzése

K45

Tíz évvel ezelőtt vettem egy K45 Shuttle barebone PC-t. Gondoltam jó lesz második gépnek bármire. Volt kimaradt alkatrészem memória, hdd azzal töltöttem meg. Media PC-ként nem nagyon állta meg a helyét, mert hangos volt és körülményes használni. A fogyasztása sem tette lehetővé az always on mode-t.

Bővebben…

Kategória: Uncategorized | 1 hozzászólás

Robot Car: Játékvezérlő

Az irányítás webes felüleleten eléggé körülményes. Nagyon nagy a latency, így nem tünik elég responsive-nak a rendszer. A webes vezérlést így el is vetettem.

A második ötletem egy játékvezérlő beszerzése volt. A pizerow-nek van bluetooth rádiója szóval valami olcsó bluetoothos gamepad-ban kezdtem el gondolkodni. Az ötlet, hogy bluetooth üzeneteket feldolgozva vezérlem a járműt egész jónak tünt. Ami viszont még jobb, hogy ezeknek az eszközöknek van valami szabványos üzenet formátuma. Ezt a formátumot pedig támogatja az általam használt framework is.

Amire szükség van:

  • Egy bluetooth VR vezérlő. Kicsit nagyképű az elnevezés, de 1500-ért lehetett kapni egy szupermarketben ezt
  • Pythonból az evdev csomagra, a vezérlő sima event eszközként látszik.
  • A gamepad-et be kell regisztrálni a raspberry pi-be. Én a bluetoothctl programot használtam erre.

Így áll most a kód: https://github.com/tothgya/robotcar/blob/master/gamepad-select.py

Ami a legjobb, hogy nagyon kicsi a latency. Bár nem túl pontosan kanyarodik a gép, meg csak hátrafele tud igazán egyenesen menni, azért élvezetes vele szórakozni.

SAM_6225.JPG

Amint a képen látszik, hogy kicseréltem az elemtartót egy 8 darabosra. Igazából nem kéne ennyi, de ennek volt olyan alakja, hogy fel tudjam csavarozni a robotra. Valamint vettem akril lapokat nagyon drágán, ezzel kicsit meg tudtam növelni a szerelhető felületet. Ami nem látszik, hogy vettem egy usb hubot is, mert kell majd jöbb usb port ilyen olyan okból.

Kategória: Goddamn Electric, robot | Megjegyzés hozzáfűzése

Robot Car: Energia Gondok

Az egyes verzió elég gyengén muzsikált és nem is volt nagyon sok játéklehetőség a motorokkal. A powerbank ugye 5 voltot ad le a motorok meg 4 voltnál indultak el. A másik gond meg az volt, hogy valahogy nem is volt elég erős a konstrukció, mert nehezen akartak indulni a motorok. Arra gondoltam, hogy az 1A elég lesz neki, de úgy érzem ez az egy amper nem jut el a motorokig.

Szóval más energiaforrás után kellett néznem. Az első ötletem az volt, hogy AA akkumulátorokkal oldom meg a problémát. Mondjuk 6 darabbal, amihez kell egy 6 darabos elemtartó is. Ez ugye 6*1.2V feszültséget ad NI-MH aksikkal, viszont nekem 5V kell a Raspberry PI Zerohoz és az Arduinohoz. Szerencsére ez a bármiből csináljuk 5 voltot olyan gyakori probléma, hogy vannak rá kész megoldások, úgyhogy szereztem egy UBEC-et is ami pont azt tudja. Ezután csak össze kellett drótozni mindent: aksik, elemtartó, UBEC, Raspberry PI, Arudino és végül a motorok. Találni mindenhez megfelelő csatlakozót persze kihívásos úgyhogy elég nagy a gubanc a rengeteg csatlakozó konvertálás miatt.

Az így elkészült mestermű megintcsak félsikert hozott. Az 5 volt max feszültség probléma megmaradt és előre csak az egyik motor akart beindulni hátrafele meg csak a másik. Egyre gyanusabbá vált, hogy valaki nem ad tovább elég áramot. Én a PI-re gyanakszom, mert lehet hogy betart néhány USB szabványt ami nem enged át bármennyi áramot.

Még egy áttervezésre volt szükség. Az Arduino-nak van táp bemenete az USB bemenet mellett, ha ott kap áramot akkor az USB 5 voltját nem használja, hanem csinál saját magának tápból. Ráadásul az Arduino shieldek úgy vannak kitalálva, hogy megkapják az 5 voltot az Arduinóról és megkapják a bemeneti feszültséget is egy másik lábon. A motor vezerlők pedig képesek ezt a bemeneti feszültséget szabályozni úgy mint az 5 voltot. A megoldás tehát az lett, hogy az UBEC előtt szépen kettéválasztottam a vezetékeket és egyik ment az UBEC-be a másik meg közvetlenül az Arduinoba. Ez bámulatos erőt és játéklehetőséget hozott. Azonnal indul mindkét motor 4 volton és 7.2 voltig még lehet mutatni egy kis fokozatosságot is.

És akkor álljon még itt az alkatrészlista:

  • A kiskocsi motorokkal. Szinte minden alkatrészét sikerült beépíteni a 4 darabos elemtartó kivételével – 13.33USD
  • Elemtartó – 2.59USD
  • UBEC – 4.32USD
  • Akkumulátorok 8db, csak 6ot használok belőle 2398Ft
  • Vettem egy kisebb Arduino-t is. Felesleges erre a projektre a Mega, de még lehet az UNO is. Viszont ennek van micro USB a bemenete amivel meg lehet egy kis komplexitás/helyet spórolni – 5.56USD
  • Raspberry PI Zero W £9.60 + posta
  • Motorvezérlő áramkör 10.13USD
  • 8Gb microsd kártya.
  • Egy hevenyészett tok a PI-nek. Ez mondjuk nem is passzol tökéletesen a PI Zero W-re – 2.21USD
  • Egy halom jumper cable, pár micro USB – USB átalakító meg csatlakozó. Ezek voltak itthon.
  • Munkatársam adott egy micro USB portot nyákra forrasztva. Ez azért jó mert utána a nyákra már könyebben lehet bármit forrasztani.
  • Vettem egyik micro USB kábelt is. Lehet kéne még egy hogy kisebb legyen a kábeldzsungel – 1.75USD

A software-en annyit változtattam, hogy most már paraméter a bemenő feszültség és a motorok minimum feszültsége is. Így könnyen személyre szabható a megoldás.

A szoftver probléma amit meg kéne oldani a kanyarodással kapcsolatos.

  • Milyen interakcióra kanyarodjon? Jelenleg ha megnyomom, hogy jobbra akkor addig fordul jobbra amíg más parancsot nem kap. Effektíve pörög egy helyben.
  • Legyen-e több kanyarodási sebesség? A két kerék sebességének most olyan 40-60 kombinációja lehet.

Kategória: Uncategorized | Megjegyzés hozzáfűzése

Robot car experiment

Vettem egy 3 kerekű kis kocsit, hogy legyen belőle távírányítós robot. Az nullás verzióhoz csak 4 AA elem, egy ilyen vagy egy hasonló készlet és egy kevés vezeték kell. Az elemtartóbe beteszed az elemeket. Az elemtartóból kilógó vezeték egyik végét a készletbe levő kapcsolóra kell kötni. A kapcsolót mind a két motorral összekötni és az elemtartó másik vezetékét is mindkét motorral összekötni.

Ez így távirányítós nem lesz, és lehet szaladni is kell utána. Nevezzük nullás verziónak.

A egyes verzióhoz kell még egy-két dolog.

  • Raspberry PI Zero W £9.60 + posta
  • Arduino Mega 10.64$ Ez még a modelvonatos projektből maradt meg.
  • Powerbank 1283Ft
  • Motorvezérlő áramkör 10.13$ Ez is a modelvonatos projekt része volt.
  • A nullás verzió majdnem minden része 13.33$
  • 8Gb microsd kártya. Ez volt itthon nem tudom mennyiért vettem, de régen volt, most biztos olcsóbb.

A szoftverek pedig:

  • A raspberry pi zero w-ra egy Raspbian került a 8 Gb-s microsd kártyát felhasználva. Nehány jelemző csomag amire szükség lehet:
    • Egy kicsi httpd server. Én az nginx-et választottam, mert még soha nem használtam
    • Python és hozzá egy pyfirmata
    • Egyéb technológiaként még megmelíteném a jquery-t.
  • Az arduino mega-ra pedig egy firmata az Arduino IDE segítségével
  • Amit magam írtam az is a pi-re kerül
    • A html mehet web serverbe
    • A másik filet meg el kell indítani

Kategória: Uncategorized | Megjegyzés hozzáfűzése

ESP8266 Shield & Arduino

A vezeték nélküli shieldek elég drágák voltak eddig Arduinohoz vagy nem is voltak shieldek és olcsók voltak. Nemrég találtam egy verziót ami shield is volt meg olcsó is volt itt: http://www.dx.com/p/uno-r3-esp8266-serial-wifi-shield-extend-board-module-blue-silver-431714 Ennyi pénzt már megkockáztattam.

Miután megérkezett volt egy kis küzdelem mire megértettem, hogy mi ez és hogyan lehetne használni. Google-lal olyan tutoriált találtam csak, ami nem shield alapú volt, de legalább rávilágítottak arra, hogy mit kéne vele kezdeni.

Nekem egy arduino mega-m van aminek több hardware serial portja van, így kevesebbet kellett trükközni. Kb ez alapján érdemes elindulni: https://github.com/esp8266/Arduino A kábelezős részekkel nem kell foglalkozi, mivel shieldünk van. Ha minden jól sikerült, akkor lett esp8266 támogatás az Arduino IDE-ben. Ott a példák között van olyan séma amitt nem az esp shield-be lehet betölteni hanem egy Arduino boardba. Ennek elkészítettem egy másik változatát a RESTduino projektet felhasználva itt: https://github.com/tothgya/RESTduino/blob/espduino/espshield_restduino/espshield_restduino.ino

Nagyon sok lehetőségét nem használtam ki ennek a boardnak. Egyszerűbb feladatokat önállóan is meg tud oldani, hiszen közvetlenül a shieldre is lehet sémát feltölteni. Így mondjuk már nem is lesz shield. Szerencsére a default séma pont azt csinálja amit nekünk kell, de egyébként AT parancsokkal is lehetne bűvészkedni. Én nem tettem és valószinüleg nem is fogok ilyet csinálni.

 

Kategória: Uncategorized | 1 hozzászólás

Raspberry PI & távirányító

Kis szemem fényei hazavágták a távirányítót amit eddig használtam a Raspberry PI-hez. (Igen vettem egyet végül) Vennem kellett egy újat. A választás nem volt tökéletes, mert alapban csak a kikapcsoló gomb működött rajta. Ezért gyorsan leírom a megoldást ha mégegyszer újratelepítenem kéne.

A távirányító: http://www.dx.com/p/wireless-multimedia-infrared-ir-remote-controller-with-usb-receiver-for-pc-2-aaa-34435

Egy hármas raspberryt használok Raspbiannal. A távirányító lsusb sora pedig így nézett ki:

Bus 001 Device 006: ID 0755:2626 Aureal Semiconductor

Erre lehet googleözni, de azért elég speciális a helyzet a választott disztribúció miatt. Van egy kernel patch ami 6 éves, és azt állítják, hogy benne is van már a főágban. 4-es kernelem van abba benne kéne lennie, de nem tudtam sehogy elővarázsolni. Az a modul (hid_aureal) amire szükség lett volna nem került be a raspbian kernel csomagjaiba.

Mi marad ilyenkor? Kernel fordítás, hiszen mindenki látja, hogy a forrásban ott van. Szerencsére egyrészt kiskoromban gyakran futottam bele egzotikus hardwarebe ami linux alatt nem működött alapban, másrészt meg itt ez a korrekt kis guide, szóval nem jöttem zavarba.

A fordítás előtt egy make menuconfig során oda kell eljutni hogy  Device Drivers → HID support → Special HID drivers . Itt lesz egy olyan Aureal, ezt kell <M>odulba tenni. A többi lépés meg benne van guideban. Én a nem cross-compile-os megoldást választottam ami fordítási időben több, viszont infrastruktrában meg egyszerűbb és amúgy sincs másik linuxom folyamatosan bebootolva csak egy a raspberry pi zeromon.

Kategória: Uncategorized | Megjegyzés hozzáfűzése