Posts filed under ‘hardware’

Alexa, turn off the TV

I’ve been playing with home automation for about a year or two and am pretty happy with my setup. I mostly use Z-Wave devices (a proprietary wireless mesh network) with Vera Lite hub that can be accessed via HTTP (web pages, smartphone apps, etc). I plan to write more about it another time, but since I haven’t updated my blog for 4 years I need to start with something smaller and simpler.

Amazon Echo

I discovered Amazon Echo (a.k.a. “Alexa”) when it was in beta and I immediately preordered one. It really is the missing link in the evolution of smart home, and vice versa – home automation is Echo’s “killer app”. It doesn’t seem as much, but it’s a very good quality bluetooth speaker, fused with the best voice recognition technology I’ve ever used. The voice recognition happens in the cloud (amazon’s servers) and it can be used to check weather, set alarms and timers, check spelling, wikipedia etc. Coming from Europe, I use it often to convert the local units to the standard ones (Alexa, what’s 100 degrees Fahrenheit in Celcius… Alexa, convert 130 pounds to kilos.. ). In any case, I love this device. Despite my Polish accent, it can understand me very well. And unlike most phones or even wearables, I don’t have to “trigger” it with any button – I can yell “alexa” from a ladder, with hands covered in paint, and ask her to turn on more lights – been there, done that – it beats operating a smart phone app for sure.

Again, I plan to write a detailed post of my configuration but today let’s just say that I can use Alexa to send a HTTP GET request to any HTTP endpoint and trigger some actions. While my Z-Wave switches can control many devices, they are not the best candidate for controlling my TV screen – if I use a switch to cut off the TV’s power, I won’t be able to turn it back on using the standard TV remote (and vice versa).

Arduino IR blaster to the rescue!

I needed a way to send a TV remote signal (on/off) using IR (infrared) LED. I played with Arduino before and I knew it was pretty easy, but also I remembered that using an IR library was taking most of the available storage space on Arduino (I use Diecimila with 14KB of available storage) and I could no longer use Ethernet library when I used IR. So this time I ended up controlling the Arduino via USB cable, using an always-on HTPC (home theather PC, or as I call it – “the laptop behind the TV”). Since my setup also involves a Raspberry Pi with Linux, I could probably control the IR LED with that, but in my case that was not convenient (my PC is next to the TV, whereas the RPI is far away and hidden).

First, you need an IR LED 940nm – $1.50, https://www.sparkfun.com/products/9349
and Arduino (I used Diecimila, I think the current UNO model is the most similar) – make sure you can connect it to PC without extra converters – $25, https://www.sparkfun.com/products/11021

Ideally, you should also add a 100 Ohm resistor – I had these 330 Ohm resistors laying around so I used 3 of them in parallel to get ~110 Ohm. I am not expert (far from it) but I was told the LED should use a 100 Ohm resistor, even though you don’t really need it for the short bursts used for IR remote.

arduino-led-3
Note: the LED orientation is important. Pay close attention to the metal elements visible inside the LED, or the length of the legs. Short bursts from arduino should not burn the LED and you should see the light using a digital camera (if you don’t, switch the LED orientation and re-test briefly). Your eyes can’t see IR, but most digital cameras capture it as purple light, just look at the camera’s preview. Check out my clip attached to this post, you should see the faint light.

The IR sample code I found used pin 3 so I also used that one, but any PWM pin will do, and you may find one closer to GND for easier assembly. Just make sure you update the Arduino sketch.

#include <IRremote.h>
IRsend irsend;

//samsung tv power on/off
unsigned int S_pwr[68]={4600,4350,700,1550,650,1550,650,1600,650,450,650,450,650,450,650,450,700,400,700,1550,650,1550,650,1600,650,450,650,450,650,450,700,450,650,450,650,450,650,1550,700,450,650,450,650,450,650,450,650,450,700,400,650,1600,650,450,650,1550,650,1600,650,1550,650,1550,700,1550,650,1550,650};

void setup()
{
    Serial.begin(9600);
}

void loop() {
    if (Serial.read() != -1) {
        irsend.sendRaw(S_pwr,68,38);
    }
}

(copy at https://gist.github.com/Ekus/92842e60e8a3f53f38d3 )

the Samsung On/Off code (for S_pwr variable) I googled on github. The arduino IRRemote library contains codes for some other brands built in. If you don’t find your code, you can always “record it” with an IR photoresistor attached to Arduino, but that’s another project.

After assembly, my Arduino looked like this:

WP_20160112_009

I wrapped the LED cable around the Arduino to avoid disconnecting the pins when moving the cable, and wrapped everything in some antistatic foil I had lying around. I also added some hook & loop (a.k.a. velcro) sticker to attach the LED to the furniture and keep it pointed in the general direction of my TV.

WP_20160112_002

Once I had my Arduino ready and working, I had to control it from my PC.

I’m using Windows 10 so I went to the control panel to “install Windows components” and installed IIS with ASP.NET. I then made this ASP.NET file and put it in the root folder, or in a new application folder:

<%@ Page Language="C#" AutoEventWireup="true" %>
<%@Import Namespace="System.IO.Ports" %>

<script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
          using (SerialPort sp = new System.IO.Ports.SerialPort()) 
          { 
            sp.PortName = "COM3";
            sp.BaudRate = 9600;
            sp.Open();
            sp.Write("1"); 
            System.Threading.Thread.Sleep(100);
            sp.Write("1"); // repeat, just in case. That's not the best way to do it but I didn't have time to investigate Samsung IR codes more. It's good enough.
            sp.Close();
          }
        }
</script>

<html>
  <body>
    <h1>HI</h1>
    <%=System.DateTime.Now %>
  </body>
</html>

(copy at https://gist.github.com/Ekus/4f86aba04487bdb452a4 )

Now, whenever I (or my Alexa->home automation bridge) open the page http://<ip of my htpc>/EkusTV.aspx, the page executes and causes the arduino to send the on/off signal. In my next blog post I plan to describe this missing link – how I got my Amazon Echo to send the http request to my devices. In the meantime, enjoy the clip below!

Advertisements

2016-01-13 at 3:09

Sieciowe porządki, część 2: energooszczędny serwer

Jako geek mam wiele zboczeń, ale szczególnie cenię sobie to dotyczące ekologii, od czasów kiedy pacholęciem będąc poznawałem Bieszczady. Co prawda nie byłem harcerzem ani innym zorganizowanym skautem, ale dzięki odpowiedniej opiece i zachęcie udało mi się w czynie społecznym posadzić kilkaset drzew i wynieść z lasu podobną ilość porzuconych butelek.

Dlatego z ciężkim sercem słuchałem nieraz nocnego warczenia mojego komputera, który zużywał wiadro prądu, mimo że był obciążony zaledwie w kilku procentach podczas ściągania różnych… triali, dem i freeware’ów.

Rozwiązanie problemu zbiegło się w czasie z moją zabawą Home Serverem, choć nie od razu było ono wygodne. Przez pewien czas mój Windows Home Server działał jako maszyna wirtualna pod MS Virtual Serverem (zwykły MS Virtual PC nie obsługiwał dużych dysków). Był to podpięty przez USB 1-terabajtowy dysk WD Green Power (z tego co pamiętam, ciągnie on ok. 8 watów zamiast tradycyjnych(?) 10). Dzięki temu mój WHS – nieświadomy niczego – działał czasem “wewnątrz” netbooka, a czasem w ramach (w RAMie?) mojego desktopa. Owe 8W to jak dotąd mój rekord, w praktyce jednak rozwiązanie to było niedoskonałe, głównie za sprawą niskiego transferu i zabawy z wirtualnymi kartami sieciowymi (może uda mi się kiedyś napisać o tym więcej).

Aktualnie mój Chomik (WHS) działa bezpośrednio zainstalowany na wspomnianym netbooku i póki co jestem z tego rozwiązania zajebardzo dumny.

P1210738P1210743 P1210750 P1210764

Składniki:

  • netbook asus eee 900A, cena ok. 150-180 USD za refurbished. Free shipping w USA, opłaca się zwłaszcza kiedy trafi się darmowy przemyt ;-)
  • dysk 1TB Western Digital Green Power, ok 70-100 USD (300 PLN)
  • adapter mini-pci to SATA, opcjonalny bo można lutować SATA bezpośrednio do płyty ale adapter to dobry kompromis dla takich jak ja lutników. Bodajże 8 USD z przesyłką listem z Hong Kongu do Polski.
  • kabel+śledź eSATA do rozbiórki i lutowania, ok. 8 USD (25 PLN)
  • obudowa na dysk 3,5” USB+eSATA, ok. 30 USD (100 PLN). Częściowo opcjonalna, ważniejszy jest sam zasilacz 5V+12V.

W sumie ok. 300 USD, ale można taniej, zwłaszcza gdy niektóre części zalegają nam w szafie. Niestety po dodaniu kosztu licencji WHS (ok 100 USD) sprawa jest mniej fajna ale za to mamy bardzo energooszczędny serwer z MONITOREM (9”) i kul touchpadem multi-touch ;-), a w niektórych przypadkach także z bateryjnym podtrzymywaniem zasilania.
Co więcej system WHS wcale nie jest niezbędny, 80% jego funkcjonalności (torrent i NAS) można zrobić za darmo na Win XP czy innym Linuksie. Pozostałe 20% również, o ile kilka nieprzespanych nocy mamy też “za darmo”. Co osobiście uważam za bardzo kuszące, po tym jak WHS zawiódł mnie kilkakrotnie. Serwer przy normalnym użyciu nie przekracza 20 watów. Sam dysk zabiera 8,3 wata a monitor sporo poniżej 1.

Uwagi i nabyte doświadczenia:

  • podobno można zainstalować działający system Windows 2003 Server (czyli pewnie i WHS) tak, aby bootować z niego przez USB. Jednak SATA działa sporo szybciej i nie wymaga software’owego hackowania. A hackowanie hardware’owe jest jak wiadomo bardziej macho.
  • podłączenie SATA do płyty głównej lub do adaptera można zrobić prawie na ślepo (tzn. kolejność trzeba zachować, ale trudno czasem zgadnąć z której strony jest pin nr 1: http://pinouts.ru/HD/serialATA_pinout.shtml). Jest to 7 kabelków które jeśli się je podepnie odwrotnie, nic nie zrobią złego tylko nam nie wykryje dysku. Sprawdziłem, po przelutowniu w drugą stronę zadziałało. Oczywiście zasilanie to inna bajka ale tego nie hackowałem.
  • w przypadku mojego asusa – aby wykrył dysk SATA konieczne było zaktualizowanie BIOSu, bardzo proste (plik ROM na pendrive, boot).
  • z oczywistych względów warto podpiąć kablowy Ethernet zamiast WiFi (z drugiej strony wbudowane WiFi pozwala nam na zamurowanie serwera w ścianie lub pod wanną. Ale o tym zboczeniu innym razem).
  • Windows Home Server z powodzeniam działa jako zwykły domowy PC, z monitorem, kamerką USB, Youtubem, Winampem i Skypem.
  • W moim przypadku jest to zawsze włączony kuchenny skajpofon…
  • …oraz aktywowana ruchem zdalna kamera stojąca na straży lodówki – http://highlightcam.com/ ).
  • VNC to bardzo dobry zdalny dostęp do MONITORA serwera (zamiast osobnej sesji terminalowej). Można żonie rozłączyć skajpa. Aktualnie używam RealVNC bo jest częścią świetnego multi-instalatora http://ninite.com/
  • RealVNC choć instaluje się jako serwis w Windowsie, to nie dodaje siebie do wyjątków firewalla, trzeba to zrobić ręcznie (port 5900).
  • Zamiast dysku 3,5” bardzo warto rozważyć dysk 2,5”. Z moich kilkumiesięcznych doświadczeń wynika, że 500GB na spory czas wystarczy, później można uzbierać na drugi taki sam. Do SATA podpięty oczywiście bedzie tylko jeden, ale oba mogą ciągnąć prąd z USB, eliminując dodatkowy zasilacz 5V+12V…
  • albowiem eliminacja zasilacza dysku sprawia, że bateria w netbooku zadziała jak UPS, więc mamy serwer z prawdziwego zdarzenia, który się prędzej zahibernuje niż da zabić. To jest aktualnie mój drugi priorytet na liście ToDo.
  • dodatkowe dyski na USB mogą być 3,5-calowe, energożerne i bez UPSa, zwłaszcza gdy
    • potrafią/pozwalają się wyłączać podczas bezczynności
    • ewentualny zanik zasilania nie jest dla nich dużym problemem (przeważnie i tak są w spoczynku lub co najwyżej są odczytywane a nie zapisywane)
  • mój task numero uno to zainstalowanie TrueCrypta i zaszyfrowanie całego WHSa tak, jak to miało miejsce gdy Chomik był wirtualną maszyną w pliku .VHD
  • …niestety będzie to wymagało ode mnie (a przynajmniej będzie zalecało) lockowania konsoli, co jest niefajne w przypadku kuchennego komputera z kiepską/chowaną klawiaturą. Może czytnik odcisku palca załatwi sprawę, albo logowanie rozpoznawaniem twarzy przez kamerkę lub na podstawie bliskości telefonu z Bluetoothem. Niestety^2 wszystkie te rozwiązania podnoszą trochę zużycie energii.

Na koniec uwaga na temat niezawodności takiego zastosowania. Nie jest ono najwyższe, zwłaszcza w zasięgu dzieci które lubią kabelki; warto od razu pomyśleć o zamkniętej i unieruchomionej obudowie lub o innym zabezpieczeniu naszego zestawu. Z chwilą podpięcia do ethernetu nasz netbook przestaje być mobilny i musimy się z tym pogodzić. Darujmy sobie próby przestawiania, ustawiania, ciągłego rekonfigurowania. Wiem, bo dostałem nauczkę która nieomal kosztowała mnie dysk twardy i trochę danych. Najlepiej zamurować całość w ścianie. To jest mój trzeci task na liście ToDo :-)

2009-11-14 at 1:17 1 comment

Sieciowe porządki, część 1.

Zbliżająca się premiera Windows 7 to dobra okazja do wysprzątania komputerów. Na dodatek kilka miesięcy temu zacząłem zmagania z Windows Home Serverem, który w takich porządkach bardzo pomógł, choć w nieco złośliwy sposób. WHS ma dwie ogromne wady:

  • brak obsługi partycji nie-NTFS (czyli w moim przypadku netbooków na powolnych dyskach flash, gdzie FAT działa szybciej)
  • brak lub zła obsługa partycji zaszyfrowanych TrueCryptem na kliencie (nie można ich zaznaczyć do backupowania)

Jak się wkrótce okazało, ta druga niedogodność miała mnie kosztować utratę sporej porcji danych, kiedy to podczas instalacji (lub zaraz po) Windows 7 uznał sobie, że ta dziwna partycja RAW zajmująca pół dysku na pewno nie jest zagospodarowana i ją dla mnie sformatuje bez pytania.

image

W ten sposób zyskałem 300 GB wolnego miejsca, na szczęście wtedy już \\CHOMIK (mój WHS) był moim głównym repozytorium “ciężkich” danych (filmy, zdjęcia, muzyka), a firmowy laptop \\T60 zawierał wszystkie aktualne “Moje Dokumenty”. Mimo dwudniowej walki nie udało mi się odzyskać partycji TrueCrypta, co przyznaję z rezygnacją, bo  “wiem” jak to zrobić – brakuje mi tylko samozaparcia do napisania programu który sektor po sektorze wyszuka zapasowy header TrueCrypta (pierwszy jest uszkodzony a zapasowego sam TrueCrypt nie może zlokalizować) i zdekoduje go, odzyskując większość danych. Dysk 500GB na jakiś czas powędrował do szuflady, jak sobie przypomnę o czymś co warto jednak odzyskać to wrócę do tematu.

Doświadczenie to przyspieszyło moje porządki, ale też uświadomiło mi miłą rzecz: posiadanie WHS sprawiło, że ilość zduplikowanych danych na moich różnych komputerach bardzo się zmniejszyła. Teraz już wiem gdzie co jest lub gdzie powinno się wkrótce znaleźć. Dodatkowo okazało się, że moje komputery nie wymagają już dużych dysków, bo tą działką zajmuje się Chomik.

Offline files

Ostatnio ponownie odkryłem “killer feature” Windowsa 7, który co ciekawe był w Windowsie już od wersji 2000 :-)

Polega on na tym, że zamiast bawić się w synchronizację osobnymi programami typu Mesh, Groove, FolderShare, podłączam po prostu zasób sieciowy z mojego Chomika i zaznaczam opcję “Offline Files”. Powoduje to, że wszystkie dane zostaną nie tylko skopiowane i regularnie aktualizowane, ale też że Windows powiadomi mnie o ewentualnych konfliktach. Gdy dodatkowo zmapujemy zasób jako lokalny dysk, dostęp do niego staje się bardzo wygodny. Oczywiście przed WHS trudno było zdecydować jakie dane na którym komputerze powinny mieć swoje domyślne miejsce.

image image

image

Oczywiście ten sam zasób można podłączyć do wielu komputerów. Ponieważ nie planuję edytować np. plików Worda jednocześnie z żoną na osobnych komputerach, synchronizacja Offline Files w zupełności mi wystarcza.

Przy okazji grupowania danych do zasobów wykorzystałem jeszcze jedną ciekawą sztuczkę Windowsa – symlinki, czyli “dowiązania symboliczne”. W Windows 7 robi się je komendą mklink, w WHS trzeba dociągnąć Win2003 Resource Kit z komendą dlink:

mklink <nazwa linka>  <ścieżka>

np.

mklink C:\P  “C:\Program Files”

Triku tego używam czasem do skrócenia ścieżki Program Files podczas dodawania do zmiennej systemowej %path% – ma ona ograniczoną długość i wpisywanie w niej 20 razy “C:\Program Files” może prowadzić do problemów.

W Chomiku używam jej w innym celu – do zgrupowania różnych zasobów w jednym katalogu, który potem mapuję na innym komputerze. Wiąże się to z moim wstrętem do mapowania miliona (ok, 26) liter dysków do wszystkich możliwych zasobów, co jest jedną z głównych rozrywek administratorów sieci w korporacjach. Czyli zamiast mapować np.

I: –> \\Chomik\Users\Ekus
J: –> \\Chomik\Software\Install
K: –> \\Chomik\Video\Coding
L: –> \\Chomik\Video\Podcasts (nie chcę mapować całego Video ;-) )

mapuję tylko dwie rzeczy:

A: –> \\Chomik\Users\Ekus
B: –> \\Chomik\Links\T60

Na komputerze kuchennym oczywiście mapuję inny zestaw linków niż na firmowym laptopie, a część zasobów jest tam reużyta.

image

Na dzisiaj to tyle, gigabajty się ładnie synchronizują, pora zaczerpnąć jesiennego powietrza! Następnym razem napiszę więcej o moim hybrydowym – szyfrowanym – energooszczędnym Chomiku.

2009-09-27 at 13:14

Klawiatura z wosku

Właśnie opublikowałem swój pierwszy open source’owy projekt – WPF On Screen Keyboard, czyli Wosk.

Wosk - Wpf On Screen Keyboard

Po zakupie zgrabnego tablecika z dotykowym ekranem (Samsung Q1U) brak prawdziwej klawiatury mocno dał mi się we znaki. Q1U to co prawda już druga, poprawiona wersja platformy UMPC (ultra mobile PC) i w przeciwieństwie do wersji pierwszej ma oprócz dotykowego ekranu prawdziwe klawisze, ale są one do niczego. Nie dość, że maleńkie (wyobraź sobie TicTaca. Przetnij go na pół. Brawo, masz dwa klawisze do Q1U.), to jeszcze brakuje rzędu z cyframi i trzeba się męczyć z NumLockiem.

Wosk running on Samsung Q1U UMPC

Po ściągnięciu kilku programów udających klawiatury ekranowe oczywiście okazało się, że żadna nie odpowiada moim wygórowanym potrzebom, więc napisałem swoją. Przy okazji nauczyłem się co nieco o starym, niskopoziomowym API Windowsa, oraz sporo o WPF – nowym, lśniącym, graficznym, wektorowym GUI Microsoftu.

Efekt kilkunastu późnych wieczorów (już zapomniałem ile czasu zabiera przesuwanie przycisków na formularzu płótnie i wymyślanie heksadecymalnych kolorków z kanałem alfa) oczywiście okazał się tak niesamowity, że postanowiłem podzielić się nim z całym światem. Wersja dość podstawowa, ale u mnie działa.

  1. WPF On Screen Keyboard, czyli Wosk: http://www.codeplex.com/wosk.

2008-12-14 at 4:31

Surface pod strzechy

Jakiś czas temu było głośno o rewolucyjnym projekcie Microsoftu – dotykowym stole z ekranem, który nie tylko rozpoznawał kilka palców na raz, ale także inne położone na nim obiekty – telefony komórkowe, pędzle itp. i reagował na nie odpowiednio – np. wyświetlając SMSy z komórki lub umożliwiając malowanie po ekranie różnymi narzędziami. Entuzjazm studziła tylko informacja o cenie – ponad 10 tys. dolarów za sztukę (oferta kierowana do salonów sprzedaży, hoteli itp.).

Właśnie pojawiły się pogłoski, że MS bada rynek pod kątem wprowadzenia uproszczonej, domowej wersji, w hipotetycznej cenie 1500$. Dla mnie bomba, wszak to cena porównywalna z telewizorem. A dodatkowo można grać na nim w pasjansa i warcaby oraz czytać gazety! Hmm chwileczkę… ok, to chyba nie są najlepsze przykłady zastosowania, dużo lepsze podaje sam Microsoft, zapraszam do źródła: istartedsomething.com

2008-10-15 at 10:26 1 comment

Pocket PC lepszy od telewizora

Nie oglądam telewizji. Głównie dla zasady, ale brak tunera TV w monitorze i w projektorze też mi tego nie ułatwia. Filmy oglądam zwykle na pececie, a w ciągu ostatniego roku zacząłem regularnie oglądać tzw. TV series – głównie amerykańskie seriale typu Southpark czy Friends, ale także np. świetny “teleturniej” komików – “Whose line is it, anyway?“. Przeważnie oglądamy je z Anią na projektorze w sypialni, ale czasem zasiedzę się przy komputerze i jestem parę odcinków w plecy. Możliwe że właśnie dlatego coraz częściej “nadrabiam”, oglądając odcinki na 3,5 calowym ekranie Pocket PC. W obecnym modelu mam ekran VGA, czyli 4 razy dokładniejszy niż standardowy 320×240 pikseli, i idealnie nadający się do większości DivIksów, bez konwertowania. Skopiowanie filmu z komputera zajmuje parę minut podczas śniadania, a karta SD 2GB (55 zł w apollo.pl) pomieści w razie potrzeby nawet kilka pełnometrażowych filmów (jej 4-gigowa poprzedniczka A-Data trochę się …połamała i po sklejeniu robi za pendrive’a). Te detale są według mnie bardzo istotne – gdybym miał oglądać filmy na iPodzie lub innym ćwierć-VGA wynalazku, z konwertowaniem na egzotyczne formaty, pewnie dałbym sobie spokój. W drodze do pracy tramwajem oglądam zwykle pół odcinka, następnie 8-godzinna przerwa na reklamy, a druga połowa w drodze powrotnej. Dzięki temu po pracy mogę spędzić więcej quality time z moją prawdziwą miłością. No i oczywiście z rodziną ;-).

2007-03-17 at 20:07

Holy crap! It must be my birthday!

Dwa tygodnie temu po długich rozterkach i oczekiwaniach kupiłem nowego Pocket PC – Fujitsu-Siemens Pocket Loox N560. Choć przesiadka z iPaqa 1930 nie obyła się bez kilku nieporozumień, ostatecznie jestem bardzo zadowolony. Naprawdę świetny sprzęt.

Ponieważ nowy Loox obsługuje hosta USB, nie byłbym sobą gdybym tego nie sprawdził na własne oczy. Klawiatura z myszką działają (choć Microsoft Wireless Optical Desktop – chyba nie), pendrive, czytnik kart i dysk 3,5″ z interfejsem IDE->USB (z dodatkowym zasilaniem) też. Gamepad jeszcze się opiera, w wolnej chwili pomęcze go jeszcze. Ogólnie bardzo miło, choć czasem jest problem i pomaga przeresetowanie pocketa.

Na zakończenie zakupów – na woocie upolowałem komplet mouse+keyboard Gyration, oczywiście wireless – klawiaturka całkiem całkiem, malutka i zgrabniutka, w sam raz na pilota do TV ;-) …za to myszka – miodzio! Z żyroskopem, posiada dwa tryby działania – normalny optyczny (po stole lub łóżku ;-) ) oraz “pistolet” do machania w powietrzu. Wszystko działa błyskawicznie, bez żadnych driverów i innych tutoriali, także z Looxem. Tylko odbiornik trochę toporny, wielkości połowy access pointa WiFi, a do tego garaż/charger dla myszy, wielkości… spłaszczonej myszy.
Na koniec – mały “pendrive’owy” czytnik kart SD na USB 2.0. Kupiony za bodaj 5$ razem z przesyłką, działa OK z kartą SD 4GB.

Michał – dzięki za transport, Dziku – dzięki za wyrozumiałość, musiałem przetestować sprzęt od razu w parku :-)

2006-05-24 at 0:28


RSS Unknown Feed

  • An error has occurred; the feed is probably down. Try again later.

RSS Unknown Feed

  • An error has occurred; the feed is probably down. Try again later.

Feeds

del.icio.us/Ekus