Garage dörren server med slumpmässiga upcycled elektronik
Disclaimer: Jag vet att en del av detta kan tyckas lite Rube Goldberg-ish men jag försökte verkligen att använda vad jag hade liggande första istället för att gå och få en dedikerad mikrokontroller (som skulle förmodligen ha gjort allt mycket enklare).
Detta projekt alla började från det att någon hade stulit min frus älskade mountainbike direkt ur vårt garage. Vi lever och gör ministeriet i en skissartad del av staden, men vi hade alltid glömt att stänga garageporten (ibland även hela natten). Efter tjuven, skulle jag ständigt undrar om garagedörren var öppen. Jag skulle driva bort från vårt hus, tänkande stängs garagedörren vi inte. Eller innan vi drog sig tillbaka till vårt sovrum, undrar om garagedörren var stängd, jag skulle behöva gå tillbaka ner att dubbelkolla.
Så jag bestämde mig för jag behövde lösa följande problem: 1) ett sätt att övervaka om garagedörren var öppen eller inte, 2) om öppet, jag skulle behöva för att kunna öppna eller stänga garageporten via internet, 3) om open, en led skulle tändas inne i huset, 4) om öppna för mer än en timme, skulle det kunna automatiskt text mig eller min fru om att garageporten är öppen och 5) göra det riktigt billigt.
Material:
Gamla skolan nätverksswitch
Gamla laptop med en trasig växel
Trasig router
Trådlös 2,4 GHz presentatör mus
Extra Christmas light lysdioder
Tacky USB-hubb
Strömförsörjning från en oanvänd bil GPS-enhet
Gamla oanvända tangentbordet
Gamla Radio Shack wall nätadapter
$1 bluetooth adapter från Meritline
Köpt:
Samsung HM-1100 Bluetooth headset
Motstånd
Reedbrytare
VGA, nätverkskablar
IP-kamera
Referenslänkar
Använda ett Bluetooth-headset för att öppna garageporten - http://btmate.com/
Tangentbordet ledde controller -
Använda en mus för att förmedla en signal -
Garage dörren indikatorlampa -
Linux knapptryckning på trigger kommandon - http://crunchbanglinux.org/forums/topic/5952/how-to-bind-volume-keys-with-xbindkeys/
Med hjälp av sendemail till text - http://ubuntuforums.org/showthread.php?p=7084234
Jag tog en av de gamla rackmountable nätverksväxlar istället för att köpa ett nytt 1U fall och rensad det. Jag tog då min gamla laptop som hade en trasig skärm och monterade den i växeln och hakas upp några kablar så att jag kunde ha pluggar e.g. vga, ljud, nätverk på utsidan. Innan detta hade jag aldrig använt linux, så jag installerade Ubuntu och Apache som människor ofta referera som lättast för nya användare. Jag hade min vän skriva upp ett python-skript på en webbsida med en knapp som skulle helt enkelt ansluta (och snabbt avbryta) med bluetooth-headsetet att öppna och stänga garageporten med idén från www.btmate.com. På denna hemsida, författaren tar ett bluetooth-headset och "PIP" som uppstår när headsetet är anslutet och använder det för att generera en signal att utlösa garage dörröppnare. Webbsidan läses också en bild från IP-kamera så jag kan visuellt berätta om garageporten är öppen eller inte.
Efter detta insåg jag att även om garageporten är öppen vi aldrig skulle inse det om vi var inne i vårt hus. Det enda sättet att kolla vore att ta upp det på våra telefoner eller på våra datorer. Det var då jag bestämde mig för att jag behövde en indikatorlampa. Jag kollade på Instructables att se om någon gjorde det och visst fanns det många hacka men alla av dem berodde på att använda en lång tråd för att kontrollera en reed switch var ansluten eller inte. Jag behövde något trådlöst. Så mötte jag upp två reedbrytare till en trådlös 2,4 Ghz presentatör mus som jag hade liggande att utlösa en PgUp (garagedörren öppen) och en knapptryckning PgDn (garage dörren stängd) på servern. Det var batteridrivna så jag kopplat det till med hjälp av en 3V vägg vårta. Jag limmade det inne i en gammal trasig router så att det ser mer presentabel och används strömkontakten router av sprätta ut leder till routern och lödning det direkt till den trådlösa musen. Så när garageporten öppnas reed switch magneten passerar genom första växeln PgDn och sedan PgUp över senast (som anger garageporten är öppen) och när garageporten stängs, reed switch magneten passerar växeln PgUp först och sedan PgDn växlar sista (som anger garageporten är stängd). Jag gjorde detta så att den trådlösa musen inte är ständigt skicka knapptryckning till servern.
Efter räkna ut hur man skriver ett bash-script (jag har aldrig riktigt planerat innan. Det sista jag programmerat något var Apple II grundläggande) och använda linux "program" xbindkeys och blinkd, jag hade servern fånga den PgUp eller PgDn tangenttryckningen och skriva det som en variabel i en data textfil. En annan skriften skulle kolla den datafilen (med awk), och om det var PgUp skulle därefter blinka tangentbord lysdioder och börja räkna hur länge garageporten har varit öppen, och om det var PgDn sedan återställa data fil och stänga av tangentbord lysdioder och vänta på nästa PgUp tangenttryckning.
När garageporten har varit öppen för 1 timme, skulle skriptet skicka ett mail till telefonen med sendemail via kommandoraden som kommer att dyka upp som en text på min telefon.
Jag var lite tveksam att löda ljusare lysdioder direkt på laptop moderkort, så jag använde en gammal USB tangentbord (från en idé på Instructables om någon använder tangentbordet led lamporna för att aktivera eller inaktivera en Lavalampa) bort tangentbordet styrenheten och bort den lilla lysdioder för scroll lock. Jag fick reda på att tangentbordet styrenheten tillhandahåller 5V in till varje led och fast de upp till någon ledig jul ledde lökar (med motstånd av kurs) som monteras på framsidan av garage dörren servern.