Uudistuksia labilla, osa 2

8.6.2016 / Yleinen / Max Sandholm

Uudistusten aalto on jatkunut alkuvuodesta lähes pysähtymättä. Päivät ovat pidentyneet ja tiistai-illat muuttuneet valoisiksi, ja sitä myöten innostus parantaa labia on kasvanut.

Elektroniikkahuone 2016-06-08

Tilat näyttää jo siistimmältä, kun komponentit on järjestetty, ovet on kyltitetty ja elektroniikkatilaa on jopa vähän koristeltu! Elektroniikkatilaan on tuotu kunnon kuvaputki-TV, ja sen kanssa SNES, jos tekee mieli pelata. Labille asennettiin myös puhelin, joten tänne voi nyt myös soittaa.

Jääkaappi

Labille hankittiin muutama viikko sitten jääkaappi, joka täytettiin eri juomilla. Täältä voi nyt ostaa vaikka mitä juotavaa!

Ledinauha

Seisontapöydän yläpuolelle asennettiin “älykäs” RGB LED-nauha. Viikonlopun aikana tämä projekti saatiin koodattua valmiiksi, ja nyt sitä ohjaa labin Raspberry Pi. Koko tämä projekti on saatavilla Turku Hacklabin GitHubissa: https://github.com/hacklab-turku/ledinauha

Uusi Raspberry Pi

Eilen tiistaina alettiin siirtämään tehtävät ja palvelut labin vanhalta Raspberry Pi 1:ltä uudelle Raspberry Pi 3:lle. Tämä projekti on tosin vielä kesken, mutta uuden Raspin nopeus tuntuu jo!

Näin siis tällä kertaa. Seuraavaksi lähdetään Turusta viikonlopuksi Helsinki Hacklabiin, kun siellä järjestetään HSF16½-tapahtuma!

Turku Hacklabilla on puhelin!

24.5.2016 / Yleinen / Max Sandholm

Hacklabin puhelin

Turku Hacklabiin voi nyt soittaa! Elektroniikkahuoneen seinällä on puhelin, mihin voi soittaa numerolla +358 40 460 3217.

Terminaali 80-luvulta

10.2.2016 / Projektit / Max Sandholm
Falco 5220e-terminaali

Falco 5220e-terminaali

Hacklabille saapui vanha sarjaterminaali 80-luvulta (Falco 5220e). Se näyttää niin hyvältä, että se oli pakko saada toimimaan tietokoneen terminaalina, ja tiistaina teimme juuri tämän.

Falco 5220e on ns. “älykäs” terminaali, joka emuloi RS232-sarjaportin yli mm. VT100- ja VT300-terminaaleja. Se tukee myös tulostimia ja modeemeja, ja tukee monta samanaikaista sessiota ja ikkunaa. Terminaalissa on kaksi RS232-sarjaporttia DB25-liittimellä.

Labin pöytäkoneessa on tavallinen RS232-sarjaportti DB9-liittimellä, eli aloitettiin etsimällä varastosta DB25- ja DB9-liittimet. Valmista kaapelia ei ollut, mutta löytyi eri kaapelinpätkiä, joissa oli tarvittavat liittimet. Seuraavaksi suunniteltiin miten DB25 ja DB9 kytketään oikealla tavalla yhteen. Jos etsii netistä niin löytää helposti nollamodeemikaapelin kaavan, mutta se ei ole tähän tarkoitukseen sopiva. Tässä tapauksessa luettiin terminaalin manuaalista RS232-pinout, ja kytkettiin sen mukaan DB25-pinnit DB9:ään seuraavalla tavalla:

DB9   - DB25
2:RXD - 2:TXD
3:TXD - 3:RXD
5:GND - 7:GND
7:RTS - 5:CTS
8:CTS - 4:RTS

Itse kolvattu kaapeli toimi ensimmäisellä yrityksellä, ja voitiin heti alkaa säätää softassa asetuksia. Terminaalin puolella aloitettiin turvallisesti laittamalla 9600 baud, 8-bit no parity, 1 stop bit, poistettiin käytöstä kaikki receive/transmit control-funktiot, ja valittiin VT100-emulaatio. Labin pöytäkoneessa on käyttöjärjestelmänä Ubuntu, ja sen puolella ajettiin komento:

# getty -L 9600 ttyS0 vt100

Tämä aloittaa tavallisen login-promptin sarjaportilla ttyS0 nopeudella 9600, ja asettaa terminaalin tyypiksi vt100 (näin ohjelmat käyttävät vain VT100-terminaalin tukemia toimintoja). Tämä toimi suurin piirtein ensimmäisellä yrityksellä, ja nostettiin nopeus 19200 baudiin. getty-ohjelma ei silti aivan sovellu ajettavaksi normaalista shellistä, niin siksi kannattaa lisätä getty sarjaportille init-järjestelmän konfiguraatiossa. Tässä seuraa ohjeet Fedoralle (systemd) ja vanhemmalle Debianille (SysVinit), mutta muille järjestelmille on myös helppo löytää ohjeita netistä.

Jos käytät vanhempaa Debiania jossa on SysVinit, niin sarjaterminaali lisätään init:iin muokkaamalla tiedostoa /etc/inittab. Tässä tiedostossa on yhdessä kohdassa rivit, jotka määrittelee virtuaaliterminaalit, jotka näyttävät suurin piirtein tältä:

1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

Näiden rivien (tai vastaavien) jälkeen lisätään seuraava rivi:

s0:2345:respawn:/sbin/getty -L 19200 ttyS0 vt100

Seuraavalla käynnistyksellä terminaalin pitäisi toimia normaalisti ja näyttää login-prompti.
Jos käytät Fedoraa jossa on systemd (tai muuta käyttöjärjestelmää joka käyttää systemd:tä), niin tämä tehdään toisella tavalla. Aja ensin komento:

# systemctl enable serial-getty@ttyS0

Sen jälkeen muokataan tiedostoa /etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service . Tässä tiedostossa on rivi joka näyttää tältä:

ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM

Tässä voi muokata agetty:n parametreja kuten esim. baudit halutuiksi. Säästä muutokset ja käynnistä uudelleen, ja sarjaterminaaliin avautuu login-prompt.

Ja näin labilla on nyt aito toimiva 80-luvun terminaali kytkettynä pöytäkoneeseen!

ESP8266-lampunkatkaisija

10.12.2015 / Yleinen / Max Sandholm

Viimeisen vuoden aikana ESP8266-mikrokontrolleri on noussut suosioon hakkeripiireissä, ja minäkin kiinnostuin siitä heti kun kuulin siitä. Koska siinä on sisäänrakennettu WiFi ja on itsessään kykenevä mikrokontrolleri, niin sain idean opetella sillä miten Internet of Things toimii ja miten sitä voi kehittää itse omaan kotiin. Projektini olisi oppia IoT:n perusteet, ja rakentaa lähiverkkoon yhdistetty lampunkatkaisija omille työpöytävaloilleni.

Hacklabilla löytyi jo suuri osa tarvittavista materiaaleista. Labila oli pari ESP-01:tä ja niille oli myös rakennettu valmiiksi palikka jolla sitä voi ohjelmoida. Niin, testaamisen jälkeen, aloin kehitää projektiani.

Softapuolen voi tehdä monella eri tavalla, minä valitsin käyttää MQTT-protokollaa. MQTT on kevyt ja pieni protokolla joka perustuu viestien tilaamiseen ja lähetämiseen, ja joka on suunniteltu IoT-laitteille. Kirjoitin ESP-ohjelman Arduino IDE:ssä, käyttäen kirjastona PubSubClientiä (https://github.com/knolleary/pubsubclient).

Viime tiistaina hacklabilla laite valmistui, ja asensin sen samana iltana kotiin testaakseni. Toimii!