hakkerointi. Mikä tämä kaikki sitten on? No, minulla on paljon kodin automaatiota, ja rakastan sitä! Aina kun näytän sen ystäville ja perheelle, minulla on taipumus saada yksi kahdesta vastauksesta. Ensimmäinen on, että se on vain temppu ja he eivät koskaan halua mitään sellaista. Toinen on se, että se on hienoa, mutta liian monimutkainen, jotta he voivat asettaa jotain vastaavaa.

Joten tämä on minun yritys yksinkertaisesta, itse asiassa erittäin helppo kodin automaatiolaitteesta, jota kuka tahansa voi käyttää, ja käytännössä kuka tahansa voi tehdä. Harkitsen tosiasiallisesti vakavasti niiden valmistusta irtotavarana (hyvin jotain vastaavaa) ja myydään koko erä hallinnoiduna palveluna noin tennerille vuodessa. (Kerro minulle, voisiko tämä kiinnostaa ketään). Joka tapauksessa, joten tämä on yritys halpasta kodin automaatiosta massoille, toivottavasti pidät siitä …

Suunnittelu – oikea, joten tarvitsen jotain, joka on halpaa, luotettavaa, helppo saada kiinni. Myös jotain, joka voi laukaista helppo kytkin, ja että kytkin voi olla mikä tahansa seuraavista:

Kytke se pistorasiaan, valoon tai mihin tahansa muuhun laitteeseen ja käytä sitä monitorin se.

Kiinnitä aurinkopaneeliin tai LDR: hen valon tasojen seuraamiseksi.

Yhdistä pari koettimia ja havaitse vesi (kasvit, sade, vuodot jne.…)

Yhdistä PIR- tai Reed -kytkimeen turvallisuutta varten,

Yhdistä savuhälytin palonsuojausta varten,

Yhdistä painomatolle jne.….

Useimmat ihmiset eivät halua tietokonetta tai palvelinta käynnissä koko päivän melun, lämmön ja energiankulutuksen takia. Helppo pieniä yhden taulun tietokoneita voi nyt ostaa 50 dollarista (xport, arduino, picotux jne.), Mutta jopa tämä näyttää ylenmääräiseltä mitä haluan…

Hallittu kytkin, reititin, palomuuri, mikä tahansa Ethernet -portti ja jonkinlainen verkkoliitäntä oli mitä olin sen jälkeen, mutta sen piti olla halpaa… ja pieni…. Sitten keksin idean tulostuspalvelimesta … tulostuspalvelimet ovat ihanteellisia, ne käyttävät hyvin vähän sähköä, kehitetään kytkemiseksi koko ajan, voivat vastata pingiin ja paremmin myös sisäänrakennettu verkkopalvelin. Tein vähän Googlen ympäri ja näin heidät niin vähän kuin tenner eBayssa. Voi ja he ovat myös pieniä! Minulla oli kolme ideaa tähän projektiin:

Ensimmäinen oli se, että voin rikkoa tai lyhentää lähettävän Ethernet -kaapelitelevision lähetysparia tulostuspalvelimelle. Varmasti näiden oikosulkujen tai rikkoutuneiden avulla laite ei pystyisi vastaamaan joko pingiin tai HTTP -pyyntöön.

Mielestäni se toimisi, mutta se näytti hiukan barbaariselta, ja olen varma, että voisin tehdä paremmin.

Toinen oli vain rikkoa laitteen virta

Tällä oli potentiaalia energiansäästöjen näkökulmasta, koska sinä vain virtaa laitetta jonkin aikaa, tietysti, kun se oli virran päässä, et näe sen verkkosivustoa tai vastausta ping -pyyntöön. Pidin aivan tästä ajatuksesta, ainoa asia, joka minua lykkäsi, oli se, että virrankäyttöön olisi mahdotonta sanoa, oliko laite pois päältä vai irrotettiin verkosta toisesta syystä – ehkä vika muualla. Olin myös epävarma siitä, kuinka kauan laite säilyttäisi asetukset (verkko jne.), Kun se oli pois päältä.

Mitä todella halusin, oli tapa saada reaktio yksiköltä vahvistaakseen, että se oli joko yhdessä tai toisessa tilassa, niin voit olla varma siitä, mitä todella tapahtui. Siellä kolmas ideani tulee.

Kolmas idea oli huijata tulostuspalvelinta, että tulostin oli todella liitetty siihen,

Ja sitten on se niin, että näytti siltä, ​​että tulostin oli linjalla tai pois.

Tein vähän tutkimusta, ja näyttää siltä, ​​että liittimen nasta 13 käytetään tähän tarkoitukseen. Ota nasta korkea (ts. Käytä siihen 5volttia) ja palvelin ajattelee, että tulostin on on_line, ota nasta alhainen (ts. Poista jännite) ja palvelin uskoo, että tulostin on off_line.

Kuten minun täytyy tehdä, on levittää ja poistaa 5volttia, löydän vain 5 voltin jostain ja reitittää sen kytkimen läpi. Sulje kytkin ja näyttää siltä, ​​että tulostin on on_line, avaa kytkin ja tulostin näkyy off_line. Kuten sanon, tämä tila heijastuu verkkoliitäntään, joten helppo komentosarjan pitäisi pystyä kyselemään tämä sivu ja jäsentämään tulostimen tila ja käyttämään näitä tietoja sitten jotain hyödyllistä.

Rakentaminen-Kuten edellä on keskusteltu, käytin Edimax PS-1206P Parallel Print Server -palvelinta, jonka ostin noin 25 puntaa verkossa. Se oli oikeastaan ​​paljon enemmän kuin 22 quid, mutta postimaksu ja pakkaus kohovat sitä hieman. Päädyin ostamaan kourallisen näistä, koska ne olivat niin halpoja. En ole koskaan aiemmin kuullut Edimaxista, joten tuote voi olla hyvä tai huono, mutta en välitä, kunhan se vastaa HTTP -pyyntöön, olen onnellinen! Olin miellyttävästi hämmästynyt, kun ne ilmestyivät, ne olivat hienosti laatikkoja ja sisältö näytti myös hyvältä:

Yksi asia on varma, että tätä laitetta ei koskaan kytke tulostimen takaosaan. Olen pian hienostanut sen jotain paljon mielenkiintoisempaa. Yksityiskohdat täältä: Edimax PS-1206P

OK, joten hankaamme kansi pois yksi näistä … rakastan vain tavaroiden poistamista, mutta ottaen aivan uusia juttujaErityisen hauskaa on minulle, se näyttää vain niin väärin !! Pohjassa on pari Phillips -päänruuvia ja kun nämä on poistettu, kotelo vain vetää toisistaan, vaikka sinun on puristettava sivut hiukan, kun kaksi puolikkaat kiinnittyvät toisiinsa.

Olin miellyttävästi hämmästynyt tämän yksikön sisäpuolelta, se oli hyvin koottu. Herra tietää vain, mitä kaikki bitit ovat, luulen, että siellä on prosessori, jonkin verran muistia, vähän I/O: ta ja muita asioita, joita en ymmärrä.

Nyt voit pitää suuren 36 -pin Centronics -pistorasian tulostuspalvelimella ja hankkia vain vastaavan pistoke yhteydenpitoon siihen, mutta nämä ovat melko tilaa vieviä ja se näyttää hiukan ylhäältä, etenkin kun meidän on oltava vain 2: sta Nämä 36 nasta. Päätin leikata pistorasian pois … ei, en tehnyt sitä kirveellä, se näyttää tällä hetkellä hieman karkealta:

Sitten hylkäsin yksittäiset nastat levystä ja tein pienen metallilevyn estääkseen puuttuvasta pistorasiasta vasemmalle reiän. Porasin siihen pari reikää ja kytkin pari ruuviterminaaleja. Hieman 2 osaa epoksia ja joitain lämmönshrink ja sinulla on tämä…

Melko siisti?! Joten se on toimiva prototyyppi, jolla on vähän onnea, näiden kahden ruuvipäätteen yhdistäminen palauttaa On_line -tilan ja jättää ne auki antaa OFF_LINE. Joten on aika testata. Huomaa: Yllä olevat kuvat osoittavat yhteydet nastaihin 35 ja 36, ​​tämä on väärä, myöhempi testaus osoitti, että tarvitsin todella nastat 13 ja 19.

Päätin mitata virrankulutuksen, ja olin miellyttävästi hämmästynyt löytämästäni, se käyttää vain 6wattia, mikä ei ole kovinkaan mitä tahansa? (10p / kWh, se maksaa noin 5 quidia vuodessa)

Kuten edellä totesin, aion kyselyä palvelimeltani HTTP -pyynnöllä ja kerätä tulostimen tila, mutta jos haluat vain nähdä, onko se siellä pingistämällä sitä, voit käyttää pingiä sen monimpiin, käyttämällä jotain:

Päivämäärä
n = 1

kun taas [$ n -lt 1000]
tehdä
ping -n 1 server_ip
ECHO $ ​​n
Olkoon n = n+1
tehty
Päivämäärä

Osoittaa, että tämä laite voi helposti lähettää (ja vastaanottaa) 1000 pingiä 52 sekunnissa, mikä on 20 pingiä sekunnissa. Joten sen pingointi on toteuttamiskelpoinen vaihtoehto, ja sen pitäisi antaa sinulle melko nopea vastaus. Tietenkin, jos haluat vain käyttää pingiä, sinun on joko käynnistättävä yksikkö rikkomalla virta- tai verkkoyhteys (tulostimen tila ei vaikuta siihen). Pings ei todellakaan toimi hyvin Internetissä, monet ihmiset ja reitittimet poistavat ICMP -pyynnöt käytöstä rajoissaan, mutta tämän laitteen etuna on, että sillä on myös verkkoliitäntä, joka voidaan kyselyä sen saatavuuden tarkistamiseksi. Tämä voidaan tehdä Internetissä helposti, ja taas lyhyt komentosarja osoittaa, että voit tehdä noin yhden pyynnön sekunnissa käyttämällä…

#!/usr/bin/bash

käyttäjä = käyttäjänimi
salasana = salasana
url = server_url

wget quiet –http-user = $ käyttäjä –http-password = $ salasana \
–Proxy = $ välityspalvelin $ URL

grep off_line tulostin.htm> /dev /nolla

Jos [“$?” == “0”]
sitten kaiku “offline”
muuten kaiku “verkossa”
fi

RM Printer.htm

Palauttaa arvon tulostimen tilan perusteella. Huomaa, että verkkopalvelin on melko hidas, kuten odotettiin todella, mutta saat reaktion alle sekunnissa, joten mielestäni on mahdollista kyselyä joka 5-10 sekunnin välein. Echo -komentojen korvaaminen postilla tai muilla wget -komentoilla voi lähettää sinulle sähköpostia tai saada URL -osoite (ehkä käytä twitteriä tekstiviestit jne.)

OK, esimerkki Twitter -tilan päivittämisestä on annettu alla:

WGet –Peed-Session-Cookit –Http-User = käyttäjänimi \
–Http-password = salasana –post-data = viesti \

(Korvaa käyttäjänimi, salasana ja viesti, hyvin tiedät ..)

Tai vielä parempaa, tässä on kuinka lähettää itsellesi twiitti, kun jotain tapahtuu:

WGet –Peed-Session-Cookit –Http-User = User \
–Http-password = salasana –post-data = viesti \

Huomaa, että sinun on osoitettava URL -osoite, joka on aika siisti, eikö niin? Katso paljon lisää Twitter -sovellusliittymästä täältä. – Twitter API

Jotta näet tämän verkosta, sinun on nat painetulle palvelimellesi, käytän Cisco -reititintä, joten seuraava toimi minulle:

ip nat sisälähteen staattinen TCP laajennettavissa

(Pidä porttinumero ylöspäin 50 000: lla ja saat vähemmän ihmisiä skannaamaan ja koettelemaan sinua). Jos sinulla on Linksys -reititin, ohje on erilainen, mutta jotain tällaista pitäisi tehdä se:

Jos sinulla ei ole kumpaakaan yllä olevista, olet yksin … onnea!

Ohjelmisto – OK, annoin joitain esimerkkejä yllä, alla on toimiva bash -sheg -komentosarja, joka seuraa yhtä näistä sinulle, ja Twitter -tekstiviestit, kun valtio muuttuu. Se on erittäin helppo esimerkki, mutta sen pitäisi päästä alkuun.

#!/Bin/Bash

## Web Get -parametrit
User = ”Admin”
salasana = ”1234 ″
url = ”http: //ip_address/printer.htm”

## Twitter -parametrit
t_user = käyttäjä
t_passwd = salasana

## Muut parametrit
status = ”suljettu”

kun taas totta
tehdä
Old_status = $ tila
wget quiet –http-user = $ käyttäjä –http-passwd = $ salasana $ URL

grep off_line tulostin.htm> /dev /nolla

Jos [“$?” == “0”]
sitten status = ”avoin”
else status = ”suljettu”
fi

RM Printer.htm

Jos [$ Status! = $ Old_Status]
Sitten wget quiet –http-user = $ t_user \
–Httpasswd = $ T_PASSWD –PEEKSESS-SUNSION-COOKIES \
–Post-data = ”user = twitter_username & text = viesti” \

fi
nukkua 1
tehty

Vaihtoehtoisesti voit käyttää joitain valvontaohjelmistoja, kuten erinomaisia freenaatteja, varoittaaksesi sinua, kun jotain tapahtuu.

Johtopäätös – No, toivon, että olet iloinen siitä, mitä olen tehnyt, sinun on myönnettävä, että se on kodin automaatio
halvalla ja erittäin helppo tehdä. Kippis – Dan

Hyödyllisiä linkkejä

CPAN – Kaikki asiat perl
Perl – paljon enemmän asioita perl
Wget – wget -sovellus
Edimax – tulostuspalvelimen palveluntarjoajat Muu / Misc
Twitter – Sosiaalisen verkostoitumisen sivusto tekstiviestillä

Tämä lyhyt artikkeli toistetaan alkuperäisestä Dan McGrathin ystävällisellä suostumuksella,

Haluta lisää? – Seuraa meitä Twitterissä, kuten me Facebookissa, tai tilaa RSS -syötteemme. Voit jopa saada nämä uutiset toimitetaan sähköpostitse, suoraan postilaatikkoosi joka päivä

Jaa tämä:
Facebook
Viserrys
Reddit
LinkedIn
Pinterest
Sähköposti
Lisää

Whatsapp
Tulosta

Skype
Tumblr

Sähke
Tasku