nie jestem wybitnie
estetą, ale nie lubię jak mi ktoś sra na balkon. Generalnie tym
kimś są gołębie, zakała każdego miasta. Ludzie mają na ten
problem różne rozwiązania – niektórzy obwiązują balkon
reklamówkami (?), niektórzy stawiają na poręczy wypchane orły,
niektórzy zabudowują balkon. A ja chce wysłać tym skrytosrajcom wyraźny komunikat, że to miasto jest za małe dla nas dwóch.
Zamiast chować im pod kołdrę głowę konia, postanowiłem zbudować
działko, które będzie razić wrażych wrogów promieniami śmierci.
Jak wiadomo zmusić się
aby w wolnym czasie nad sobą pracować nie jest łatwo. Jeszcze
trudniej, kiedy w tym wszystkim nie widać jakiegoś konkretnego
celu. Poprzez zrobienie tego projektu chciałem sobie właśnie ten
cel postawić. Nie przewidując jaki będzie finalny wygląd
projektu, na pewno dostarczy sporo dobrej zabawy.
Jest to jeden z projektów
z szuflady, który chodził mi po głowie już od kilku lat. Głównym
jego celem projektu jest nauczenie się czegoś nowego. Mam na liście
kilka technologii/urządzeń z którymi chciałbym się zapoznać, a
z którymi w dotychczasowej pracy zawodowej jako
elektronika/programisty embedded nie miałem styczności albo miałem
ją w bardzo małym zakresie. W tym projekcie chciałbym skupić się
na dwóch rzeczach szczególnie, a mianowicie:
W pracy zawodowej przydaje
się czasem znajomość jakiegoś języka skryptowego, aby szybko
napisać jakiś programik do przetworzenia a to pliku tekstowego, a
to do wygenerowania jakiegoś zestawu danych. Ludzie, którzy mają
styczność z Pythonem wielce sobie go chwalą, że taki wspaniały
program napisali, a zajął 4 linijki. No to czemu nie spróbować. Z
tego co się orientuję jest w Pythonie wiele bibliotek ułatwiających
wiele rzeczy. Dlaczego więc nie spróbować zaprząc go do
przetwarzania obrazu z kamery? Gdzieś tam na studiach miałem
zajęcia z przetwarzania obrazu, nawet to lubiłem, ale pamiętam że
była masa obliczeń żeby tylko wykryć trójkąty i kwadraty na
zdjęciu. Zobaczymy jak od tego czasu technika posunęła się do
przodu.
Skoro już mamy program,
trzeba go na czymś odpalić. Podłączenie kamery do peceta byłoby
najprostszym wyjściem, ale daleko mu do przenośnego rozwiązania.
Stąd wykorzystanie Raspberry PI, o którym wiele dobrego słyszałem.
Może nie będzie to też idealnie zminiaturyzowane, ale użycie
maliny rozwiązuje wiele problemów i oszczędza czas. Przede
wszystkim nie trzeba będzie projektować dedykowanej płytki z
mikrokontrolerem, ponadto mamy już gotowy system operacyjny i
ogromne wsparcie internetów. Bez problemu można będzie programować
w Pythonie, a przynajmniej tak mi się wydaje. Ponadto, używanie
wszelkiego dodatkowego sprzętu będzie sporo ułatwione. Podłączenie
na start jakiejś kamerki internetowej nie będzie wymagało dużo
wysiłku, właściwie podejrzewam że sama się wykryje i
zainstaluje. Będzie trzeba napisać kawałek firmwaru do
niestandardowego sprzętu (na przykład armatki wodnej), ale
napisanie driverka do hardwaru to sam miód i możliwość pozyskania
dodatkowego doświadczenia.
Słabo
znam się na linuksie, a jeszcze słabiej na pythonie. Znaczy na
pythonie nie znam się w ogóle, trzeba więc będzie zacząć od
„hello world”. Jakieś tam podstawy w programerce mam, robię
głównie w C, ale Java czy C# nie jest mi obca. Więc może tak
tragicznie nie będzie. No to trzeba zakasać rękawy, zebrać sprzęt
i oprogramowanie i do roboty.