Eihän se sitten kestänytkään kuin melkein puolitoista vuotta, mutta nyt on katossa lamppu! Ei vielä kaikkia niitä ominaisuuksia, mitä aioin ja aion tuohon laittaa, mutta se perus lampun virka on nyt täytetty. Edellisen kerran kirjoittelin tästä asiasta syyskuussa 2015.
Kattoon siis päätyi kolme metriä valkoista ledinauhaa, metrin verran WS2812B ledinauhaa, tyhjä taulu, pari virtalähdettä ja muuta pikku sälää mm. arduino. Lamppu vielä vaatii ”siivousta” esimerkiksi osa johdoista näkyy rumasti sivusta.
Pitkän aikaa olin sitä mieltä, että mitään roikkuvaa lamppua en halua ja kuinkas sitten taas kävikään. Ketjujen varassa roikkuvaan lamppuun päädyin. Lamppu on kuitenkin niin korkealla, että se ei minua haittaa. Eikä oletettavasti myöskään ketään muitakaan.
Valaisimesta tuleva valo on varsin pehmeää, koska se heijastuu katon kautta. Valoteho on valkoisella valolla varsin riittävä, mutta värillinen valo on hiukan heikko. Olisin voinut helpostikin laittaa WS2812B nauhaa pitemmästikin lamppuun, mutta iski vähän piheys ja laitoin vain metrin. Onneksi tuo on aika helppo lisättävä, jos jossain vaiheessa oikeasti haluaa lisää värivaloon tehoa.
Miten valaisin on sitten tehty? Lyhyesti sanottuna clas ohlsonilta tyhjä 50cmx50cm taulu ketjuilla kattoon kiinni. Ebaysta tilattua ledinauhaa sopivan pituiseksi pätkityn kynnyslistan päälle, joka sekin on ostettu clasulta. Virtalähteenä on samoin ebaysta ostettuna 12v ja 5v virtalähteet. (Ja juu en ole jättämässä tuota valoa päälle yksinään tai anna kenenkään muun mennä koskemaan tuota jännitteellisenä.)
Ohjaus on tällä hetkellä osittain valokatkaisijalla, osittain arduinolla. Valkea valo on katkaisijalla ja värillinen valo arduinolla, mutta katkaisijan takana. Ihan suoraan katkaisijasta siis voi valita kumman valotyypin haluaa päälle.
Jatkossa on tarkoitus tehdä tuosta lampusta himmennettävä. Vielä en kylläkään tiedä ihan tarkkaan miten sen teen.
Hintaa hökötykselle kertyi about 100e ja (aktiivisia) työtunteja ehkä 2-3. Kaiken kaikkiaan aikaa meni huomattavasti enemmän, kun piti kameran kanssa leikkiä ja saattoipa siinä sivussa muutama youtube pätkäkin ja useampi kupillinen teetäkin mennä. Kolmena iltana rakentelin lamppua.
Vuosien varrella on kertynyt muutamiakin lähiverkkokaapeleita lojumaan kaapin pohjalle. Välillä ne ovat useampia kuukausia laatikon pohjalla ja sitten niitä johonkin silloin tällöin tarvitsee. Melkein jokaisessa kaapelissa on kuitenkin sama vika toisessa tai molemmissa päissä kaapelia, liittimen klipsi on katkennut. Se ei estä kaapelin käyttöä, mutta se tekee siitä epävarmaa, koska kaapeli ei välttämättä pysy kiinni. Onpa ollut jotain tapauksia, että laitteessa olevan liittimen pinnit ovat painaneet klipsittömän kaapelin välittömästi pois paikoiltaan.
Joitain kaapeleita olen heitellyt roskiinkin, mutta 3-4 kaapelia on vielä jäljellä. Pitkän aikaa olen luullut, että liittimien tekoon tarvittavat pihdit maksavat niin paljon, etten viitsi edes kokeilu mielessä ostaa niitä, mutta eihän se enää niinkään mene. Suomesta tilattuna tosin näyttää hintaa edelleen kertyvän. Tilasin siis Englannista ebayn kautta paketin, josta löytyi 50m verkkokaapelia, puristuspihdit, kaapelitesteri, liittimiä ja liittimien suojakuoria, 50kpl molempia. Hintaa näille tuli lähipostiin toimitettuna pyöreästi 20e! Halpaa kuin saippua! Paitti, että saippua on kalliimpaa 😉 Kaapelitesteri ei ole mitenkään ominaisuuksilla pilattu, käytännössä voi tarkistaa vain parijärjestyksen, mutta eipä tällä käytöllä kannata yhtään enempää sijoittaa moiseen.
Testailin kaapelia, johon olen itse laittanut liittimet ja toimihan se! Jopa ihan gigabps nopeudella, vaikkakin hetken näytti, että data liikkuu kaapelissa toiseen suuntaan nopeammin kuin toiseen, mutta se johtuikin vain siitä, että tuo minun vanhempi läppäri ei pysty lähettämään gigabitti nopeuksilla dataa vaikka kyseessä olisi vain testi ohjelma.
Useasti lähiverkkokaapeleiden liittimistä puhutaan RJ45 liittiminä, mutta tarkkaan ottaen se ei pidä paikkaansa, vaikkakaan virhe ei mitenkään iso ole. (Esimerkiksi wikipediasta löytyy tarkemmin tietoa TIA/EIA-568 standardista)
Lähiverkkokaapeli on siis kierrettyä parikaapelia, kaapelin ominaisuudet riippuvat halutusta/tarvitusta kaapeliluokasta (CAT5/6/7/suojattu/suojaamaton). Kaapelista kuitenkin löytyy vähintään ulkokuori ja neljä paria johtoja eli kaikkiaan se on kahdeksan napaista johtoa. Johtimet on värjätty pareittain: sininen/sinivalkoinen, oranssi/oranssivalkoinen, vihreä/vihreävalkoinen ja ruskea/ruskeavalkoinen . TIA-568 määrittelee kaksi ”värimaailmaa” johtojärjestykselle liittimille, A ja B. Sinällään ei ole merkitystä kumpaa käyttää omissa asennuksissa, kunhan käyttää samaa järjestystä kaikissa liittimissä. USA:n virastot vaativat käytettäväksi TIA-568A versiota, mutta muuten kuulema aika yleisesti käytetään TIA-568B versiota (ja ensimmäiset mitä minä tein olivat B versioita). Ero näissä kahdessa on itseasiassa vain se, että oranssi ja vihreä ovat vaihtaneet paikkaa.
Johdin järjestys ja pinni numerointi, TIA568B (Suluissa TIA 568A). (Liittimen kontaktit oikealla, kaapeli tulee vasemmalta ja klipsi on takana)
Oranssivalkoinen (VIhreävalkoinen)
Oranssi (Vihreä)
Vihreävalkoinen (Oranssivalkoinen)
Sininen
Sinivalkoinen
Vihreä (Oranssi)
Ruskevalkea
Ruskea
Suoraan kytketyn kaapelin lisäksi on olemassa muitakin tapoja kytkeä kaapeli, mutta niistä ei tässä sen enempää.
Videolla on selitetty liittimen kiinnittäminen, mutta laitetaan se nyt lyhyesti tähänkin.
Syötä liittimen suoja kaapeliin
Kuori noin 3 cm kaapelia (varo vahingoittamasta johtimien kuorta)
Joissain kaapeleissa on naru, jonka avulla saat ulkokuoren rikki ilman teräasetta.
Jos kaapelin keskellä on ohjain, joka pitää johdin parit erillään, katkaise sekin lyhyeksi.
Oio johdin parit suoraksi
Järjestä johdot oikeaan järjestykseen
Katkaise johdot sopivan pituiseksi ja tasaiseksi
Syötä kaapeli liittimeen siten, että johtimet painuvat liittimen uriin ja ovat pohjassa asti
Joissain liittimissä on erikseen ohjain jonka läpi johtimet syötetään ensiksi.
Liittimiä on montaa sorttia! Kannattaa ehdottomasti harjoitella, ennen kuin tekee mitään tärkeää kaapelia.
varmista, että johtimet pysyvät oikeassa järjestyksessä!
Purista liitin paikoilleen
Varmista, että johdon kuori jää kiinni liittimeen! Kaapelista tulee kestävämpi niin. Liittimessä on vedonpoisto, joka ei toimi jos kaapeli on huonosti liittimessä.
Lopuksi kannattaa vielä tarkistaa, että kaikki on kunnossa. Helpoiten se tapahtuu erikseen tarkoitukseen suunnitellulla laitteella, mutta toki tarkistuksen voi tehdä laittamalla kaapeli käyttöönkin.
Pitäisi varmaan kertoa vielä, että mistä laitteesta on kysymys. Kyseessä on siis Shaisse sauruksen pumppuun tarkoitettu kauko-ohjain. Mikä se Shaisse saurus sitten on? No se on serkkupojan lietteen levitykseen tarkoitettu laite: kaksin kappalein traktoreita, pumppuvaunu, pitkästi letkua ja levitinyksikkö sekä muuta tilpehööriä. Liete siis levitetään suoraan montusta. Pumppu tulee lietemontun viereen ja liete pumpataan pellolle, jossa se sitten levitetään multaimella suoraan maahan.
Tilanne siis alunperin oli sellainen, että lietteen levityksen yhteydessä levitystraktorissa oli yksi kuski ja toinen kuski oli pumpputraktorin päässä. Levitin päässä nyt loogisesti oli koko ajan tarpeellista olla kuski, mutta pumppu päässä tarve kuskille oli vain hetkittäinen. Koti navetan vieressä ongelma ei mahdottoman iso ole, koska lähistöltä löytyy aina jotain tehtävää, mutta urakointi hommissa pumpputraktorin kuskilla ei kovin pajoa tekemistä ollut. Isolla pellolla pumppua ei tarvitse sammuttaa tai käynnistää kovin useasti.
Itse kauko-ohajain koostuu harmaasta laatikosta, jonka sisällä on kaksi piiri levyä toinen itse tehty ja toinen tilattu netista. Netistä tilasin GSM-modulin, josta olen jo aiemmin tässä kirjoitellu ja itse tein siihen relekortin, josta siitäkin olen pikkuisen jo kirjoitellut.
Asennukseen oli periaatteessa varattu perjantai päivä ja lauantaille sekä sunnuntaille olisi ollut muuta, mutta harmillisesti (mutta ei ehkä niinkään yllätättävästi) asennukseen meni oletettua enemmän aikaa ja lopulta asennukseen tuli käytetteä aika iso osa sekä lauantaista, että sunnuntaista. Asennus kuitenkin traktorin osalta saatiin loppuun asti ja pumpun puolen serkkupoika asentelee itsekseen kunhan ehtii. Kaikki ominaisuudet eivät siis vielä ole käytössä, mutta jo näillä mitkä saatiin käyttöön vähenee pumpputraktorin kuskin tarve varsin merkittävästi.
Helpointa traktorin puolen asennus olisi ollut toteuttaa esimerkiksi ISOBUS-väylän kautta, mutta suunnittelu vaiheessa pumpun eteen ei ollut tarkoitus saada ko. väylällä varustettua traktoria, mutta monen mutkan kautta nyt kun prototyyppi ohjaimesta on valmis ja hiljalleen testauksessa ihan tosi toimissa, yllättäen pumpun eteen on ilmestynyt Fend, jossa on ISOBUS. Sellaista se elämä joskus on. Laite asennettiin siis kuitenkin Valtraan. Nyt siis ohjaus on toteutettu ihan releillä. Käsikaasun potentiometrejä on asennettu toinen kappale ja releellä valitaan kumpi asettaa kierrokset koneeseen. Ulosoton käynnistykseen on tuhrattu kaksi relettä toisella ulosotto saadaan päälle ja toisella vastaavasti pois päältä. Asennus on lisäksi tehty niin, että kauko-ohjaimen ollessa sammuksissa asennus ei vaikuta traktorin normaaliin käyttöön mitenkään, käsikaasu sekä ulosoton kytkin toimii ihan samoin kuin jos mitään ylimääräistä ei traktorissa olisikaan. Lisäksi ulosotto on kytketty niin, että kytkimen ollessa OFF-asennossa kauko-ohjaimella ei ole mahdollista vahingossakaan kytkeä ulosottoa päälle.
Jo nyt tässä vaiheessa on tiedossa useampikin asia joita joutuu seuraavaan versioon korjaamaan tai lisäämään. Esimerkiksi piirilevy itsessään on suunniteltu kestämään useita amppeereita virtaa, mutta noilla liittimillä levylle ei saa syötettyä sellaisia virtoja. Kaiken kaikkiaan olen varsin tyytyväinen projektiin. Erittäin fiksu idea olisi ollut istua pari kolme päivää itse pumpputraktorissa ja sisäistää pumpun toiminta ja ohjaus sitä kautta, mutta meni se näinkin ja ehkäpä jo seuraavaan projektiin tajuaa sellaisen tutustumisen tehdä.
Tositoimissa laitetta ei ole viellä testattu, mutta sen verran testattiin, että saatiin videolle pätkä kännykällä kuvattua. Tarttee jossain vaiheessa tehdä parempi video aiheesta, koska tämä versio ei loppujen lopuksi kovin kuvauksellinen ole. Harmillisesti kunnollinen kamera jäi matkasta pois juuri ratkaisevalla hetkellä, mutta onneksi kännykällä voi edes vähän paikata, vaikka kiirus meinasi tullakin videon kanssa.
Jos joku haluaa tarkempia tietoja itse kauko-ohjaimesta, minulle voi laittaa viestiä tuosta alhaalta ja jos on tarvetta lietteen levitykselle tai muuten haluaa tarkempia tietoja itse levitys laitteesta, Aapelille voi soittaa numeroon 044 328 0187.
Tästä aiheesta tulee varmaan viellä lisää tarinaa jossain vaiheessa, mutta tässä vaiheessa mennään nyt tällä.
Nyt se olisi sitten menoa! Tämän kertainen projekti olisi sitten siinä vaiheessa, että se pitäisi laittaa ihan oikeasti testiin voiko sitä käyttää ja toimiiko se traktorin kopissa.
Istuskelen tällä hetkellä Helsinki-Vantaalla ja odottelen lennon lähtöä Ouluun. Harvinaista herkkua päästä katselemaan auringon nousua näin rauhassa.
Projekti on siis kauko-ohjain serkun lietteen levitys laitteeseen. Tämän hetken ohjaus on tekstiviestillä, mutta jatkossa olisi tarkoitus saada laite toimimaan niin, että kummassakin päässä on vain harmaa boksi ja muutama nappi.
Kirjoittelen asiasta tarkemmin kunhan ehdin ja saadaan viikonlopun aikana masiinaa testailtua.
Tekstiviestin lähetys teknisellä tasolla ei ole ihan niin yksinkertainen homma kuin voisi kuvitella. Johtuu ehkä siitä, että alunperin sitä ei oltu suunniteltu ollenkaan kuluttaja käyttöön, vaan lähinnä operaattorilta asiakkaalle meneville viesteille (lue mainoksille?), mutta ihmiset ottivat 160 merkin viestit paljon paremmin vastaan kuin oletettiin. Osittain suosio ehkä johtui niinkin yksinkertaisesta asiasta, että alunperin tekstiviesti meni perille huomattavasti paremmin kuin puhelut huonossa kentässä ja eihän aluksi kenttää koko maassa kovin paljoa ollut.
SIM908 modulissa (ja yleisestikin) käytössä on kaksi moodia tekstiviesteille, PDU ja TEXT. Lähetettäessä PDU-muodossa viestit tulee normaalisti kännykkään, mutta TEXT-moodissa viesti tulee suoraan kännykän näytölle ja se pitää siitä erikseen tallettaa, ainakin niillä muutamalla samsugin puhelin mallilla, joilla olen asiaa testannut. Samoin PDU-moodissa SIM908-moduliin lähetetyt viestit käsitellään ”normaalisti” eli siis ne tallennetaan yms. TEXT-moodin viestit käsitellään eri tavalla. Niitä ei tallenneta vaan ne vain lähetetään serial lineen suoraan ja siis jos ne halutaan lukea ne täytyy huomata silloin, kun ne tulevat.
TEXT-moodissa viestin lähetys on yksinkertaisempaa kuin PDU-moodissa. TEXT-moodissa viestinä lähetystä olen käsitellyt jo aikaisemmin. PDU vaatii enemmän koodia viestin lähetystä varten kuin TEXT-moodi.
Sony-ericson on julkaissut paperin PDU:sta. Puran paperista pääasiat tähän Suomeksi, mutta suosittelen lukemaan alkuperäisen artikkelin tarkempia tietoja varten. Luultavasti myös GSM-standardi on hyvää luettavaa tähän.
Ja tältä se PDU-moodin viesti näyttää lähetys vaiheessa: 07916407058099F911000A8170607896200000A71554747A0E4ACF416110945805B5CBF379F85C06
Selvää pässin lihaa eikö? 😀
Käydääs vähän tarkemmin tuota sitten lävitse. PDU on lyhenne sanoista Protocol Data Unit (tai myös Packet Data Unit) ja se koostuu kahdesta osasta, jotka ovat SCA (Service Central Adress) ja TPDU (Transport Protocol Data Unit). Boldattu osa on SCA ja loppu on TDPU:ta.
Se siis koostuu heksadesimaali numero pareista, jotka esittävät aina tavun verran dataa. Näitä pareja kutsutaan okteteiksi (octet). Oktetti ja tavu tarkoittavat samaa (8 bittiä dataa). Mahdollisesti historiallisista syistä niitä kuitenkin nimitetään erilailla. Ainoa ero on, että oktetti lähetetään ja tavu tallennetaan.
SCA on vain tekstiviestikeskuksen numero. SCA:n sijaan voidaan käyttää SIM-kortille tallennettua viestikeskusta, jos SCA korvataan ”00” .
Oktettien lähetysjärjestys löytyy esimerkistä. Esimerkiksi, jos halutaan lähettää seuraavat heksat 03FFFFE0. Muutetaan oktetit ensiksi binaarimuotoon ja aloitetaan lähetys alusta.
03 0000 0011
FF 1111 1111
FF 1111 1111
E0 1110 0000
ja lähetetään, oikean puoleisin bitti on ensimmäinen lähetetty.
1110 0000 1111 1111 1111 1111 0000 0011
Puretaan seuraavaksi toi SCA okteteiksi ja niiden merkityksiin.
07 osoitekentän pituus oktetteina (tätä oktettia ei lasketa mukaan)
91 numeron tyyppi, tässä tapauksessa kansainvälinen ISDN/puhelin numero
64 numerot 46
07 numerot 70
05 numerot 50
08 numerot 80
99 numerot 99
F9 numero 9 ja täytemerkki ”F”, jotta saadaan parillinen määrä numeroita.
Rakennellaanpa tässä samalla omaa esimerkkiä eikä vaan oteta samaa esimerkki kuin lähteessä. Elisan(Saunalahden) prepaidin viestikeskuksen numero on +358508771010 ja vastaava SCA 07 91 53 58 80 77 01 01. Tämä numero on parillinen, joten täytemerkkiä ”F” ei tarvita. SCA on siis muodostettu laittamalla numerot pareiksi ja vaihtamalla parien numerot päittäin.
Viestikeskuksen osoitteen jälkeiset 3 oktettia kertovat esimerkiksi mihin suuntaan viesti on menossa ja kuinka kauan sitä yritetään lähettää vastaanottajalle.
seuraava oktetti, arvoltaan 11, tarkoittaa lyhyesti sanottuna, että olemme lähettämässä tekstiviestiä ja kertoo viestikeskukselle miten käsitellä myöhemmin lähetettävää viestin voimassa olo oktettia. (oktetin binääri kentät: TP-MTI viestin tyyppi, TP-RD duplikaattien esto, TP-VPF viestin voimassa olo viestin muoto, TP-SSR status reportti, TP-UHD user dataheader ja TP-RP vastaus reitti.)
Seuraava oktetti TP-MR, arvoltaan 00, voidaan periaatteessa laittaa miksi tahansa välillä 0-255(muutettuna heksadesimaaliksi), mutta molemmissa esimerkeissä jätetään tämä arvoon 00.
Seuraavaksi päästään käsittelemään vastaanottajan numeroa
0A 81 70 60 78 96 20 Tämä kenttä on muuten samanlainen kuin SCA, mutta sen sijaan, että numeron pituus laskettaisiin oktetteina, se lasketaan ihan suoraan numeroina.
0A tarkoittaa siis, että numerossa on 10 numeroa.
81 tarkoittaa numeron muotoa (tässä kansallinen muoto)
loput ovat puhelin numero, tässä 07 06 87 69 02 (070-6876902)
Koska numeroita on parillinen määrä niin täytemerkkiä ei tarvita.
ja tehdään taas omaa
numero mihin halutaan lähettää on +35840 537 3212, pareina 35 84 05 37 32 12 ja käännettynä 53 48 50 73 23 21 ja koko vastaaanottajan kenttä 0C91534850732321. Tähän menessä siis ollaan rakennettu seuraava pätkä.
079153588077010111000C91534850732321
Seuraava oktetti (TP-PID, protocol identifier) mahdollistaisi esimerkiksi tekstiviestin toimittamisen sähköpostiin, mutta tässä pitäydytään arvossa 00 ja mobiililaitteiden välisessä viestinnässä. (Tarkempaa tietotoa GSM 03.40 spesifikaatiosta.)
Seuraava oktetti (TP-DCS) kertoo monen näköistä. Sillä voidaan esimerkiksi kertoa, että lähetetään 8-bittistä dataa GSM-standardin normaalin 7-bittisen sijaan. Tarkempia tietoja kannattaa etsiä GSM spesifikaatiosta 03.38 ja alkuperäisestä artikkelista. Molemmissa esimerkeissä päädytään arvoon 00.
Seuraava oktetti (TP-VP) kertoo kuinka kauan viestiä yritetään lähettää. Tähän vaikuttaa myöskin aikaisempi TP-VPF. Molemmissa esimerkeissä käytettään arvoa A7 (eli viestiä yritetään lähettää 12h+12h=24h)
Seuraava oktetti TP-UDL kertoo kuin pitkästi viestiä on tulossa. Jos käytössä on normaali GSM-merkistö tämä kertoo merkkien määrän, jos käytössä on 8-bittinen tai muuten oktetteina esitetty data tämä kertoo oktettien määrän. Aikaisemmin määriteltiin jo TP-DCS kohdassa, että käytetään SMS luokkaa. jossa on normaali GSM aakkosto. Ja tosiaan 15hex= 21dec ja meillä on 21 merkkiä viestissä.
Ja omassa esimerkissä on taasen vastaavasti 0Bhex =11dec
Katsotaan sitten oman esimerkin avulla miten viesti koodataan lähetystä varten. Otetaan esimerkiksi vaikka huudahdus ”Hoo ka hei!”
Ensimmäiseksi kaivetaan esille mitä mikäkin kirjain on GSM spesifikaation mukaan. Perus gsm merkistö on 7-bittinen, mutta ne kuitenkin lähetetään 8-bitin muodossa.
H 1001000
o 1101111
o 1101111
0100000
k 1101011
a 1100001
0100000
h 1101000
e 1100101
! 0100001
Tämän jälkeen vain kasataan bitit yhteen pötköön ja muutetaan ne 8-bit pätkissä heksadesimaali muotoon. Taulukko ehkä selventää. Taulukkoon on vasemmalle alas lisätty nollia täyttömerkeiksi. Käytännössä siis lähetetään tässä tapauksessa ensimmäiseksi merkki ”H” ja sen jälkeen ”o” jne.
7
6
5
4
3
2
1
0
heksa
1
1
0
0
1
0
0
0
C8
H
o
o
k
a
h
e
i
!
1
1
1
1
0
1
1
1
F7
0
0
0
1
1
0
1
1
1B
1
0
1
1
0
1
0
0
B4
0
0
0
0
1
1
1
0
0E
1
0
0
0
0
0
1
1
83
1
1
0
1
0
0
0
0
D0
1
1
1
0
0
1
0
1
E5
0
1
1
1
0
1
0
0
74
0
0
0
0
1
0
0
0
08
Ja lopullinen oma esimerkki PDU:sta on seuraava 079153588077010111000C915348507323210000A70BC8F71BB40E83D0E57408
Joka siis lähettää viestin ”Hoo ka hei!” käyttäen PDU-moodia ja Saunalahden prepaid viestikeskusta minulle. Vastaava lähetys käyttäen SIM-kortin viestikeskusta olisi.
Vaikka omaan projektiin löytyisikin kirjastoja, joilla viestin saisi koodattua PDU muotoon lennossakin taidan tyytyä koodaamaan viestit valmiiksi ja lähettää pelkkiä vakio viestejä. Katsotaan miten tämä tästä sitten eteen päin kehittyy.
Lupailin otsikossa, että tässä kirjoituksessa käsitellään viestin vastaanottamistakin. No periaatteessa sekin on käsitelty jo aikaisemmassa sepustuksessa. Laitetaan kuitenkin esille video aiheesta, ettei ihan valehdella otsikossa.
Sony Ericksonin paperi on vuodelta 2003, mutta mitä ilmeisemminkin se on edelleen ihan kuranttia kamaa, uusimpia muutoksia siinä ei tietenkään ole, mutta näkyyhän toi toimivan edelleen.
Eteen tupsahti projekti, jossa joutuu ottamaan traktorin ajonopeus ja ulosoton nopeussignaalin ISO 11786 standardin mukaisesta liittimestä. En kuitenkaan viitti maksaa standardista (ainakaan vielä) ja muualtakaan sitä en ole vielä löytänyt. Joudun siis etsimään netistä keskustelu palstoilta tms. tietoa missä mennään.
DIN 9684.1 on ainakin hyvin lähellä ISO 11786 standardia ja siitä löytyy huomattavasti enemmän tietoa.
Useammasta lähteestä löytyy pinni järjestys liittimeen.
Nopeus 130 pulssia/metri (tutka)
Nopeus 130 pulssia/metri (teoreettinen/renkaasta mitattu)
Ulosoton nopeus 6 tai 40 pulssia/kierros
Rear 3-pt position in-work/out-of-work (<=1,5v =on, 6,3v>=off)
Ilmeisesti pulssit ovat LOW <1,5v ja HIGH ≈ 6v. (lähde) Kuva on itse asiassa DIN- standardista ja Mynchenin teknisestä yliopistosta. Jostain muistelen lukeneeni, että maksimi virta on luokkaa 30mA, mutten nyt enää löytänyt mistä tiedon luin.
DIN on siis Saksan stadardi ja ISO on kansainvälinen. Tartteis joko oikeasti hommata toi standardi tai käydä mittilöimässä oskilloskoopin kanssa mitä liittimestä tulee ulos. Ulosoton pulssimäärästä löytyy kahta tietoa 6 tai 40 pulssia kierros. Sinällään 6 pulssia/kierros kuulostaisi fiksummalta, koska silloin rpm on suoraan pulssien taajuus kerrottuna kymmenellä (tai nolla lisää perään).
Ostin kilkkeen, jossa on samassa GSM ja GPS palikat. Moduli perustuu simcomin sim908 palikkaan. LIevähkö yllätys tuli siinä vaiheessa, kun minulle selvisi, että modulia ohjataan AT käskyillä. Olen tässä vuosien varrella muutamia kertoja törmännyt sivulauseessa kyseisiin komentoihin, mutta edellisen kerran minä niitä varsinaisesti olen käyttänyt viimeksi suunnilleen 90-luvulla, kun leikin modeemilla. Ensimmäiset muistikuvat AT-käskyistä on jo 80-luvulta. Äidillä oli työ käytössä silloin ”tyhmä pääte” ja sen yhteys maatalouden laskentakeskuksen koneeseen avattiin ja lopetettiin AT-käskyillä. Yritin netistä löytää kuvaa kapistuksesta, mutten kunnollista löytänyt. Ainut kuva missä pääte edes oli, oli historiikki kuva ja siitä ei juuri päätteestä selvää saa.
Tarkoituksena siis tieto kulkemaan molempiin suuntaan moduulista sekä tekstiviestillä, että netin yli. Alunperin suunnittelin, että moduli itsessään toimisi webbi serverinä, mutta erinäisistä syistä johtuen päädyin käyttämään apuna erillistä webbiserveriä. Suurin syy on se, että pääsen ehkä helpommalla koodauksen kanssa näin. Muita syitä on mm. se että mobiilissa palikan IP numero vaihtelee. Tämä ainakin on siis tällä hetkellä suunnitelma.
Simcom kertoo kyllä kiltisti kaikki AT-käskyt ja vastaukset niihin, mutta kaikistellen ei mitenkään selitä mitä tarvitaan mihinkin. Yllättäviä vaikeuksi aihuetti myöskin se etten heti tajunnut, että AT käskyissä on useampaa versiota ja modulissa on varsinaisia AT-käskyjä että simcomin omia AT-käskyjä. Varsinkin nettipuolen yhteys oli aluksi sen takia täysin mahdoton idea. Varsinkin nettipuolen toiminnnan kannalta Ravi Pujarin nettisivut olivat todella hyvää luettavaa. Kuten myöskin cooking hackingin sivut auttoivat valtavasti, mutta myös aiheuttivat harmaita hiuksia virheellisen GPS-koordinaattien muunnoksen takia. Heidän koodin mukaisella sijannilla asun Suomenlinnassa.
Katsotaan sitten miten moduli tottelee AT käskyjä. Aloitetaan ihan yleisillä jutuilla ja mennään sitten aluksi tarkemmin tekstiviesteihin ja sen jälkeen netti datasiirtoon.
AT käskyjen yleinen muoto on AT+KÄSKY. Moduli yleisin vastaus OK tai error, lisäksi tulee riipuen käskystä muutakin. Moduli on kytkettävissä suoraan arduinon TX ja RX pinneihin. Kokeilu vaiheessa käytin myöskin USB to TTL muunninta, joka toimi itse asiassa paremmin kuin arduino. Arduinon software serial kirjasto ei minun kokeiluissa toiminut luotettavasti ja muutenkin lienee parempi tehdä homma suoraan hardware TX/RX linjoihin, koska lopullisessa käyttökohteessa moduli tulee nimenomaan hardware serial linjaan kiinni.
Modulin kytkennän ja toiminnan voi varmistaa käskyllä AT, vastauksen pitäis olla OK.
AT+CPIN? Kertoo SIM-kortin PIN koodin tilanteen. ”+CPIN: READY” kertoo, että PIN koodi on ok ja ”+CPIN: SIM PIN” taasen, että PIN koodia ei ole annettu. AT+CPIN=1234 lähettään PIN-koodin.
AT+CREG? kertoo, kun moduli on kiinni verkossa. ”+CREG: 0,1” kertoo, että ollaan kiinni kotiverkossa. Jälkimmäinen numero kertoo verkossa kiinni olemisen tilanteen.
0 Not registered, MT is not currently searching a new operator to register to
1 Registered, home network
2 Not registered, but MT is currently searching a new
operator to register to
3 Registration denied
4 Unknown
5 Registered, roaming
AT+CMGF=1 Asettaa modulin teksti moodiin, AT+CMGF=0 asettaa PDU moodin (binääri). Minä olen käyttänyt teksti moodia.
AT+CMGS=”0401234567″ Lähettää puhelinnumeron modulille ja moduli vastaa ”>” merkillä. Sen jälkeen lähetetään itse tekstiviesti ja perään CTRL-Z (eli lopetus koodi) 0x1A heksakoodina.
Ja siinä se! tekstiviesti lähti maailmalle. Modulista löytyy monta käskyä joilla voidaan tekstiviestejä käsitellä mm. tallentaa odottamaan lähetystä. Ilmeisesti viesti ei ihan normaali muodossa lähde oletus arvoilla, koska se tulee vähän hassusti puhelimeen. Viesti pitää erikseen tallentaa puhelimessa.
Viestin lukemiseen modulista tarvitaan muutama komento lisää. Moduli laitetaan tekstimoodiin, jos se ei jo siinä ole (AT+CMGF=1)
AT+CPMS=”SM,”SM”,”SM” käskyllä asetetaan muisti. Tarkkaan en ole tutustunut käskyyn, mutta SM tarkoittaa SIM korttia ja käskyssä ensimmäinen SM on muisti joka käsittelee viestien lukemista ja poistamista, toinen SM on kirjoitus ja lähetys ja viimeinen on viestien vastaanotto. Tämä tarvitsee kyllä viellä tutkimista, että mikä on mikäkin.
AT+CMGR=1 Lukee ensimmäisessä muisti paikassa olevan viestin. Toisessa muisti paikassa olevan viestin voin lukea vaihtamalla numeron 1 numeroksi 2
AT+CMGL=”ALL” Käskyllä saadaan listattua kaikki viestit muistista kerralla.
”REC UNREAD” Received unread messages
”REC READ” Received read messages
”STO UNSENT” Stored unsent messages
”STO SENT” Stored sent messages
”ALL” All message
Niin kuin jo aikaisemmin sanoin tekstiviestien käsittelyyn löytyy paljon enemmänkin käskyjä, mutta tässä on nyt aikalailla minini mitä tarvitaan.
Netin kautta yhdistämiseen löytyy useampikin vaihtoehtoinen tapa. Valitettavasti mistään ei selvästi tätä suoraan kerrottu, joten jouduin aika hyvän hetken taistelemaan, että sain yhteyden toimimaan.
Kokeillaans sitten miten saadaan netistä tietoa moduliin päin. Kun AT+CREG? kertoo, että ollaan kiinni verkossa yhteys voidaan aloittaa.
AT+SAPBR=3,1,”Contype”,”GPRS” Asettaa yhteystyypin GPRS moodiin.
AT+SAPBR=3,1,”APN”,”internet” Asettaa APN, tässä tapauksessa saunalahden käyttämä ”internet”. LIsäksi tarvittaessa voidaan asettaa käyttäjätunnus ja salasana. Saunalahden yhteydessä niitä ei tarvita (eikä ilmeisesti muissakaan suurilla Suomalaisilla operaattoreilla)
AT+SAPBR =1,1 Käynnistää yhteyden.
AT+SAPBR=2,1 Kertoo yhteyden tilan mm. modulin IP numeron. Jos yhteydellä on IP numero voimme jatkaa, muuten kokeillaan uudestaan.
AT+HTTPINIT Aloittaa HTTP yhteyden muodostamisen.
AT+HTTPPARA=”CID”,1 Asettaa yhteyden profiilin numeron (bearer profile identifier). CID on yksi niitä juttuja joista ei älyttömästi kerrota mikä se on.
AT+HTTPPARA=”URL”,”https://rahikkala.net/robots.txt” Asettaa kohde URL:n.
AT+HTTPACTION=0 Aloittaa HTTP GET yhteyden. vastaus ”+HTTPACTION:0,200,87 ” kertoo onnistuneen yhteyden. 0 kertoo että käytetään GET metodia, 200 kertoo onnistuneesta yhteydestä, ja 87 kertoo kuinka monta tavua on noudettu.
AT+HTTPREAD hakee serverin vastauksen.
Modulista maailmalle päin voidaan dataa saada useammallakin tavalla liikenteeseen. Itse taidan käyttää GET metodia, joka on helpompi. Periaatteessa eroa netistä tiedon hakuun on vain se, että serverillä on sopiva vaikkapa PHP-koodi joka otta vastaan tiedon. GET metodissa tieto on URL:ssä. URL-osoitteessa on ”?” merkki jonka jälkeen data tulee. Cooking hacksin sivuilla on hyvä esimerkki tästä ja sieltä myös löytyy esimerkki sopivasta PHP-koodista.
Tämä on vain pinta raapaisu miten SIM908 voidaan liittää muuhun maailmaan, jätän ihan tarkoituksella monia asioita selittämättä, suurimmaksi osaksi ihan siksi, etten itsekään vielä tiedä. Valmiista laitteesta tulee vielä tarkemmin juttua, mutta se voi hyvinkin mennä tulevalle vuodelle. SIM908 dokumentaation periaatteessa hyvä, mutta käytännössä se vaatii melkeinpä kokeilemalla kokeilemaan miten mikäkin toimii. Onneksi internetistä löytyy tietoa aika paljonkin. Erillaisia kirjastoja olisi ollut vaikka kuinka paljon valmiiksikin kirjoitettuna, mutta en halunnut käyttää niitä tässä.
Ps. Vaikka useimpien lauseiden aikamuodosta voisi päätellä muuta, en ole vielä oikeastaan edes aloittanut koodin kirjoittamista, mutta kaikki mainitut käskyt on kuitenkin testattu ja toimivaksi todettu.
Ihan vähässä kummassa en olisi uskonut, että minulle tulee sisustus ongelma, mutta niin vain tuli. Kuvassa on villakoiran ydin. Kattolamppu tai paremminkin tyhjä paikka kattolampulle! En tiedä minkälaisen haluan. Luultavasti päädyn tekemään itse jonkinlaisen ledi virityksen, mutten vielä ole päättänyt minkälaisen.
Draconian sivuilla oli hillittömän hieno lohikäärme lamppu, mutta se oli suhteellisen kallis ja sitten ehkä pitäisi hommata muutakin vastaavaa. Enkä oikeastaan halua olohuoneeseen lamppua, joka roikkuu.
Yksinkertainen keino ja yllättävän siistin näköinen olisi tehdä samalla tavalla kuin kaveri. Hänellä on neliön mallista alumiiniputkea roikkumassa katosta ja sen yläpinnalla ledinauhaa. Valo tulee siis epäsuorasti katon kautta, samoin kuin minun sarastevalossa. Yksinkertaista, mutta edelleen roikkuva, ei nappaa.
Valoputki tyylinenkin ratkaisu on ollut mielessä. Huurrettua putkea kattoon ja putken sisälle ledinauha. Putkella saisi hauskoja efektejä kyllä aikaiseksi. Voisi vaikka laittaa putket, että ne näyttävät tulevan seinästä tai katosta. Vihreä hehku putkiin ja säteilyvaara kyltti viereen 😉
Jos päädyn tuohon putki ideaan, ledit ovat ehdottomasti yksittäin ohjattavia, esim. WS2812B tai vastaava. Sopivalla ohjauksella saa aikaseksi liike efektin ikään kuin putkessa liikkuisi jotain. Muissa ratkaisuissa perusvalkea nauha tai ehkä jopa yksittäinen 10/20…/100w ledi.
Seuraava pohdinta on sitten ohjaus. Jos päädyn valkeaan nauhaan, laitan korkeintaan himmentimen, mutta WS2812B vaatii jo enemmän ja mieluiten langattoman säätimen. Toteutuksessa voisi esimerkiksi käyttää ESP8266 tai nRF24L01 moduuleja, jotka molemmat minulta löytyy, mutta kumpaakaan en ole kokeilua enempää käyttänyt.
Toisaalta haluan valojen myös olevan yksinkertaiset ja toiminta varmat, en todellakaan viimeiseksi illalla halua alkaa tappelemaan kaukosäätimen tai nettisivun kanssa, että saan valot pois päältä! Ja toisaalta sama aamulla, haluan painaa katkaisimesta naks ja valot on päällä.
Harkinnan arvoinen idea olisi ehkä myös ostaa joku törky halpa pädi ja kiinnittää se seinään sopivalle kohti ja käyttää sitä valo-ohjaimena. Pelkän akun varassa sitä ei kyllä voisi pitää eikä koko aikaa näytön valoakaan päällä. No laturi kiinni koko ajan ja anturilla valot päälle näyttöön, kun käsi lähenee. Ihan tarkkaa tietoa ei ole, mutta taitaapa aika monessa (ainakin puhelimessa) olla toi läheisyys anturi valmiina.
Näin vuokralla asuessa en lähde uusimaan valokatkaisijoita, vaikka sillä olisikin helppo ratkaista ongelma. Onneksi olohuoneen lamppuun menee kaksi johdinta jolloin voin toista käyttää signaalina ja toista käyttöjännitteenä. Hetken pohtimisen jälkeen tuli toinenkin idea. Yksinkertaisesti laittaa ”power on” oletukseksi jonkun sopivan valo asetuksen (tai edellisen asetuksen) ja vasta erikseen säätämällä ohjausta valo muuttuu tms. Silloin kyllä menettää mahdollisuuden sytyttää valot kaukosäädöllä aamulla.
Riippumatta miten ohjauksen teen, siitä tulee sellainen, että sitä voi käyttää myös ”stand alone” versiona eli luultavasti ”power on” oletuksena on joku järkevä valaistus, jottei vahingossa käy vaikka niin, että pari päivää olen punaisessa valossa.
Rakentelin tuossa sarastevaloa hiukan erillaseen kuosiin. Entinen oli kylmän valkoista ledinauhaa ja seinässä katonrajassa kiinni. Nykyinen on lämpimämmän valkoinen ja kiinnitetty lack hyllyn yläpintaan jolloin valo tulee epäsuorasti katon kautta. Lisäksi virtalähde on vaihtunut, mutta muuten systeemi on sama kuin ennenkin.
Siinä kolvaillessa johtoja huomasin mielenkiintoisen yksityiskohdan, osa ledeistä syttyi, jos koskin johtimiin samaan aikaan, kun kosketin kolvilla jotain muuta kohtaa johtimessa. Sama tapahtui valmiissa kytkennässä vaikka ledit olivat off-tilassa, mutta virtalähde oli verkossa kiinni.
Ensimmäinen ajatus oli että kyseessä on 50Hz häiriö ja oskilloskoopilla mittaillessa asia vahvistui. Kuvassa ei itse asiassa edes ole ledinauhaa vaan pelkästää sormella kosken oskilloskoopin proben kärkeen ja tulos on 100V, 50Hz siniaalto! Mittailin nauhasta useammastakin kohti, mutta en muita kuvia laittanut, koska ne käytännössä ovat samanlaisia, jännite vain muuttuu. Tässä kirjoitellessa tajusin yhden jutun, minulla on oskilloskooppi kiinni maadoittamattomassa pistorasiassa ja se vaikuttaa mittauksiin. Kävin mittaamassa saman keittiössä missä on maadoitus ja voltti määrä tipahti vajaaseen pariin volttiin, mutta edelleen selkeä 50Hz siniaalto.
”Hauskaa” asiassa on se, että ensimmäinen ajatus tuossa vaiheessa oli että kyllä nyt säteily hörhöt innostuu ja Vesa Linja-aho joutuu (taas) rauhoittelemaan villeimpiä hörhöjä.
50Hz häiriötä on nykymaailmassa käytännössä kaikkialla missä verkkovirtaa vain on. 50Hz aallonpituus (tyhjiössä/ilmassa) on . Niili ja Amazon joet ovat vain hiukan pitempiä! (Jossain maissa on 60Hz käytössä) eli aikasta pitkäaaltoista kamaa!
Virtaa ei tullut mitattua, vaikkakin ehkä sen jossain vaiheessa kokeilen mitata.
Mistä sitten videolla näkyvä ilmiö johtuu? Lyhyesti sanottuna ledinauha ja ihmiskeho toimii antennina ja kolvista/oskilloskoopista/jännitelähteestä on reitti maahan ja toisena ”johtimena” toimii 50Hz sähkömagneettinen aalto, joka saa elektronit liikenteeseen ”antennissa”.
Onko tästä sitten haittaa? Tässä tapauksessa ei, häiriö signaali on kyllä kytkennässä, mutta muutama nano/mikroamppeeri ei haittaa mitään, kun ledinauha itsessään imaisee päälle 5A virtaa. Teoriassa häiriö jännite voisi helpostikin saada jänniteohjatut mosfetit väärään tilaan, mutta käytännössä alasvetovastukset pitävät mosfetit oikeassa tilassa. Monessa muussa sovelluksessa 50Hz haittaa paljon enemmän vrt esimerkiksi kitaravahvistin, joista joskus kuuluu 50Hz hurina.
Asiassa olisi kirjoitettavaa vaikka useamman kirjan verran (EMI/RFI/common mode interference), mutta antaapa toistaiseksi olla näin yleisellä tasolla.
Keltainen on gate signaali ja sininen ledi-nauhan gndKeltainen on mosfetin gate ja sininen on virtalähteen plus napa.
Mittilöin aikani kuluksi samalla PWM-signaalin ledeistä ja mosfeteistä. Signaali näyttää häiriöiseltä, mutta pannaa suurin osa halvan virtalähteen syyksi, jota ei voi ”hiljaiseksi” sanoa.
Hyvän kuvan virtalähteestä saa kuvasta. Reilun 5A kuorma, kun PWM-signaali on +5V. Melkoista pörinää, mutta niin kuin sanoin kyllä se ledeille kelpaa ja ohjainkin näköjään kestää moisen.
Tämän ledinauhan värilämpö on paljon miellyttävämpi kuin edellinen, joka oli todella kylmä! Vertailun vuoksi molemmista nauhoista kuva. Kamera valehtelee molemmissa kuvissa, kylmä näyttää kylmemmältä kuin onkaan ja ei toi lämminkään oikea ole, vaikkakin lähempänä onkin.
Entäs sitten ne säteilyhörhöt ja sähköallergikot? Noh… Toivottavasti he löytävät hyvä psykologin. En siis tarkoita, että he olisivat hulluja tai mielisairaita, jotka huijaavat oireensa. Oireet sähköallergiassa ovat erittäinkin todelliset, mutta todennäköisyys, että ne johtuisivat sähköstä on aika pieni.
Versio 1.0 toimii ja sitten voikin alkaakin suunnitella versiota 2.0.
Suunnitelmissahan oli alunperin tehdä 100w Led-virtalähteen testaukseen soveltuva laite, mutta matkan aikana suunnitelmat muuttuivat. Hetkellisesti toki kestää toikin 100w, mutta jo ekan testauksen 36w lämmitti jäähdytysrivat liian kuumiksi koskea. Laskennallisesti maksimi jatkuva teho on noin 40w. 5v käyttö jännitteellä maksimi virta on noin 3,2A, mikä on ihan suunniteltu arvo. Periaatteessa kuorma kestää virtaa huomattavasti enemmänkin, mutta jännitettä pitää pudottaa siinä tapauksessa. Enemmän säätövaraa kuorman virtaan saa vaihtamalla vastukset R4 ja R5 sopiviin.
Suunnittelu mokia kuormassa on useampia. Piirilevy on suunniteltu niin pieneksi, että kokoamisessa oli muutamia haasteita mm. kuorma/sensorivastukset olisi pitänyt asentaa eri vaiheessa. Käyttöjännitteen vaihtelut näkyvät suoraan kuorman ottamassa tehossa. Tarkoitus oli myös saada banaani liittimet kuormaan kiinni mutta reijstä tuli väärän kokoiset.
Mittailin oskilloskoopilla soiko kuorma ja kyllähän se soi ja kovasti! Hetken aikaa meni päätä raapiessa, että ei voi olla totta! Ja eikä se sitten lopulta totta ollutkaan. Kuorma itsessään on ihan suhteellisen nätisti käyttäytyvä, mutta jännitelähde jolla testasin kuormaa ei käyttäydy ollenkaan hyvin. Halpa kiinalainen ebaysta, mitä muuta oli odotettavissakaan toisaalta. Kuvassa on minkä näköistä jännitettä jännitelähde antaa resistiiviseen kuormaan 6A virralla. No ledinauhoille minä itseasiassa tuon jännitelähteen ostin, joten siinä mielessä ripple ei niin haittaa, kun eipä tuota silmällä ledeistä huomaa. Ostoslistalle siis päätyi sopiva säädettävä virtalähde. Minulla on itse tehty LM317 regulaattoriin perustuva säädettävä jännitelähde, mutta 1A maksimivirralla se näkyy olevan liian pieni, eikä siinä muutenkaan ole juuri ominaisuuksilla pilattu.
Maksimi virta on suunniteltu ja periaatteessa minimi virtakin on suunniteltu, mutta minimin suunnittelu oli lähinnä tasolla ” no ei se ihan nollaan mene, mutta katsotaan mihin se jää”. Vastaus on luokkaa 90mA, korkeampi kuin olisin halunnut, mutta vähemmän kuin pelkäsin. 90mA virralla yksittäisen kuormavastuksen läpi kulkee n. 30mA virta, jolloin jännitehäviö on . Menee liian pieneksi ollakseen millään tavalla järkevä näissä olosuhteissa. LM324 input offset jännite on jo tuota luokkaa. Maksimi kuormalla , joka on jo järkevämpi arvo. Seuraavaan versioon siis pitää laittaa enemmän ohmeja, jotta homma toimii pienemmilläkin virroilla.
Arduino tms. ohjaus on myös mahdollista kuormassa. Laitoin erikseen pinnit, johon kaikki oleellinen tulee. Erillisellä ohjauksella saa vakiovirtakuorman lisäksi vaikkapa vakio teho kuorman aikaiseksi.
Jos joku haluaa ykkösversion kytkentää ja piirilevyä tutkia ne löytyvät git-hubista.
Rakenteluja ja omia juttuja elektroniikasta ja vähän muustakin