Acum vreo două luni, Mihaela m-a rugat să mă gândesc la un logo pentru proiectul 100 de idei de educație nonformală, pe care ONCR l-a câștigat la Fondul ONG prin noiembrie. Am tot încercat tot felu de trăznăi, dar nu m-am descurcat de nici un fel, am încercat tot soiul de idei care au eșuat lamentabil.
Anyway, aseara, printre picățele mi-a venit o idee și am mers mai departe pe ea, și până la urmă am ajuns la un soi de rezultat, l-am mai discutat un pic cu Mihaela, am mai rectificat, și până la urmă am ajuns la o formă finală care mie îmi place. Cred că aș mai putea să mai lucrez un pic la detalii, după un weekend de citit cartea de Inkscape, dar am un feeling că mai este până atunci …
Logo 100 de idei de educație nonformală
Azi dimineață am primit răspunsuri de la ceilalți oameni implicați în proiect, și se pare că le-a plăcut :)
Pentru utilizatorii de Linux, există o distribuție opensource de unelte pentru ceea ce se numește Electronic Design Automation, ce se numește gEDA (de la gplEDA). În nici un caz la fel de atrăgătoare ca și GUI și la fel de puternică ca feature-uri ca și CAD-urile profesionale, comerciale, uneltele gEDA au în schimb niște avantaje interesante pentru studenți, inventatori, și alte categorii de persoane care nu folosesc calculatorul DOAR pentru dezvoltare de circuite :). În primul rând, sunt gratis ;). În al doilea rând se bazează pe formate deschise, și aici nu mă refer doar la codul efectiv al aplicațiilor, ci și la cum sunt definite componentele.
Pentru orice componentă pentru care nu există încă modelul lui în biblioteca standard, poți căuta pe gedasymbols.org (sau pe alte siteuri) după dispozitivul tău, sau, dacă nu există, poți să-l scrii (sau să-l desenezi) de mână, după specificațiile producătorului. Formatul, atât pentru modele simbolurile pentru scheme, cât și pentru footprints (care nu știu cum se traduce în română în contextul ăsta), este text și este destul de intuitiv :D
Anyway, unul din proiectele „de weekend”la care lucrez era pe standby din cauză că nu aveam un footprint pentru o mufă RJ-45 mamă cu transformator și cu leduri integrate (asta a mea e făcută de CviLux, există mai șmechere, făcute de MagJack, eu am luat-o de la Comet). Simbolul pentru editorul de scheme electrice l-am făcut repede (acolo nu trebuie să știi decât ce pini are), iar footprint-ul mi-a luat vreo oră și un pic, pentru că e migălos și trebuie să măsori, să calculezi, să mai corectezi dacă ești bleg și greșești sau uiți … .
So, am luat așa ceva (asta e MagJack, a mea e copia mai ieftină :P)
Asta e un RJ45 mamă cu ceva protecții și leduri, exact cum se găsește în placa de bază la mai toate calculatoarele
Și am facut un simbol pentru gSchem. Simbolul se poate desena foarte ușor, tot în gSchem, în funcție de necesități, poate fi editat și într-un editor de texte pentru a aranja diferite aspecte. Există și mai multe soluții semi-automate pentru generarea de simboluri, care sunt de folos când ai componente cu mulți pini (>20), spre exemplu. În cazul meu, a fost simplu, am luat un simbol de mufă RJ45 mamă simplu și am adăugat pinii pentru leduri.
Simbolul prezintă doar reprezentarea logică, abstractizată a elementului de circuit
Și apoi am făcut un footprint, care este reprezentarea fizică a mufei, și care respectă dimensiunile propuse de producător (distanța dintre pini, grosimea găurilor pentru pini). Am avut grijă ca numerotarea pinilor de pe simbol să se potrivească cu pinii de pe footprint. Pentru realizarea circuitelor (plasarea componentelor, trasarea rutelor) există, în același pachet, programul (denumit sugestiv) PCB. La fel, footprintul se poate desena în PCB, se poate scrie de mână, sau se poate desena în PCB și apoi aranja de mână. Există chiar dezvoltatori care au făcut scripturi pentru generarea automată de footprinturi.
Și așa arată footprint-ul meu :)
Aici sunt și fișierele pentru simbol și pentru footprint, ca în cazul în care mai are cineva nevoie, să nu mai piardă timpul să le facă :D
Allright, în seara asta în sfârșit am reușit să închei un task care mi l-am propus acum mai mult timp, și de care am reușit să mă ocup doar printre picături. O să scriu repede ce am făcut, și mai jos o să dau și detaliile plicticoase.
Nu știu dacă am mai scris despre Gnome Do pe aici. Gnome Do este un progrămel (el își spune launcher) prin care poți realiza o serie de acțiuni din doar câteva taste. Este destul de general, așa că să vă dau un exemplu: scrii Run, apoi apești <Tab>, apoi scrii numele unui program, și apeși <Enter> și programul este rulat. Asta e cea mai basic și intuitivă chestie. Poți să scrii însă și Reboot, Power Off, cu rezultatul pe care îl presupuneți.
Și de aici, lucrurile devin interesante: poți să scrii numele unei formații (evident, ale cărei cântece le ai pe calculator :P), și îți arată albumele, și de acolo poți ajunge la cântecele efective, și le poți da play. Poți să scrii un ID de messenger, și îți deschide o fereastră de messenger cu persoana respectivă. Poți scrie o adresă de stradă și îți deschide Google Maps. Mai mult decât atât, învață care opțiuni le selectezi mai frecvent pentru care obiecte, în așa fel încât opțiunile relevante să iasă întotdeauna în față :).
Toate acțiunile astea pot fi definite de oricine, atâta vreme cât înțelege un pic de programare. Gnome Do e scris în Mono, și, evident, există doar pentru Linux (și presupun că doar pentru … Gnome ;). Acum ceva vreme, am reușit să scriu un mic plugin care se folosea (țărănește) de un script python pentru a trimtie un SMS la un număr dat. Următorul obiectiv a fost să nu mai dau numărul de mână (că unde mai era utilitatea dacă trebuia să introduc numărul), ci să-l iau din baza de date cu contacte a Evolution (aka Outlook pentru Linux). Well, aici am întâmpinat o problemă, pentru că evolution-sharp, pachetul care permite accesul din mono la datele din Evolution era stricat, și nici acum, dupa 4 luni, nu s-a ocupat nimeni de el.
Așa că am scris un mic server în Python, care se conectează la evolution cu python-evolution și citește contactele. Apoi, am modificat pluginul oficial de Evolution și i-am schimbat doar modalitatea prin care își ia datele de la sursa de date (metoda UpdateItems), pentru a le lua, pe DBus, de la serverul Python. A mai trebuit să forțez o interfață pe obiectul de tip telefon, pentru a potrivi tipurile de date, și în final am reușit :D
Acum pot scrie numele unui contact, apoi să aleg telefonul lui mobil din listă, și apoi să aleg SMS din lista de acțiuni și să introduc SMS-ul. Un Enter și whooosh, Gnome-Do apelează scriptul, scriptul deschide conexiunea Bluetooth la telefon (prin gammu), și trimite SMS-ul. Complicat? Nu prea, check this out:
Așa arată la mine Gnome-Do în starea inițială :)Ca să pornești o acțiune, apeși Windows (Super) + SpațiuIntroduci numele (care există în Evolution)Alegi detaliul la care te referi (mobilul)Alegi acțiunea (SMS)Încă un TAB și scrii mesajul, și e gata! :D
Pentru un update, mă gândesc să nu trebuiască să mai trebuiască să alegi mobilul, ci acțiunea cu SMS să fie valabilă doar pentru contactele cu telefonul mobil completat. But this also works ;)
Dacă este cineva interesat de povestea asta, mă găsiți pe email sau pe messenger. Sau pe SMS :P
Semetrul ăsta, înafară de documentarea și punerea în temă pentru doctorat, am dat o mână de ajutor la o materie numită Rețele Industriale Eterogene și Tolerante la Defecte. Am pus acum ceva vreme niște prezentări aici pe blog, care au fost prezentări pe care le-am făcut la cursurile de RIETD cand au venit mai mulți studenți decât profesori (s-a întâmplat de vreo trei ori).
Înafară de cursuri, a fost o serie de teme de laborator, în care s-au implicat 8 studenți din cei aproximativ 20 de la modulul lor de master, și 6 au predat temele la sfârșitul semestrului. Când le-am propus, lui Alex și mie ni s-au părut temele mișto, dar se pare că lor nu :). Temele se ocupau cu roboței Mindstorms NXT, cu comunicație Bluetooth, cu comunicație ZigBee și cu alte trăznăi în aceeași gamă (lista completă cu temele și cu descrierea lor este aici).
Până la urmă, am avut niște rezultate interesante, spre exemplu toate cele 3 echipe au implementat comunicația Bluetooth între doi roboți, într-o formă sau alta. Una din echipe s-a evidențiat în mod deosebit, prin implementarea unui task condus prin Bluetooth între mai mulți roboți, dar și un sistem de pasare a mesajelor printr-un nod central și o interfața de conducere a robotului prin intermediul unui GUI cu un volan, de pe PC.
Băieților din echipa asta din urmă le-am propus să își mai rafineze proiectul și să încerce să scrie un articol pentru conferința Eurobot.
Înafară de studenții de mai sus, au mai fost trei studenți la doctorat care au ales materia asta ca una din cele 4 materii care trebuie făcute în pregătirea doctorală, care în principiu toți trei s-au ocupat de ZigBee.
Cu acordul lor, voi pune codul în SVN-ul de la robot, așa că dacă sunt pasionați Mindstorms NXT out there, să poată să refolosească ce au făcut ei :)
Testul final pentru materie a fost grilă și l-am pregătit eu. Am încercat să pun întrebări de bun simț, cu răspunsuri nu neapărat evidente dar deductibile și ușor de identificat chiar dacă dădeai numai un ochi pe prezentări, nu și pe documentația relativ serioasă pe care am pus-o pe site. Totuși, din 19 întrebări, doar 2 din cei 8 studenți a făcut mai mult de jumătate, ceea ce m-a cam întristat. Adică măcar pe prezentările care erau pe site puteau să dea un ochi…
Am tot zis că o să scriu despre ce fac pentru doctorat, dar tot n-am apucat. Dar o să scriu. Ideea e că astăzi a venit în sfărșit noul webcam (că webcamul vechi eram cam pușcat), un Canyon CNR-WCAM813 cu 50 de lei de la eMag, Acuma, ideea a fost să construim un dispozitiv experimental (adică cu care să putem face experimente) în care webcam-ul să vadă ce văd eu, inclusiv când îmi mișc capul. Ne-am gândit la un sistem stil frontală (pentru ne-munțomani, frontala îi lanterna aia ce ți-o pui pe cap :P), care probabil va fi și soluția finală, dar pentru prima tură de experimente am folosit o șapcă, primită sponsorizare de la cei cinci care au rămas patru (mulțumeeesc).
Un pic de bormașina, niște prinzătoare de plastic, și, taaa-daaaa:
Camera e prinsă cu șurubul original pe sub cozoroc
La primele teste, inclusiv unghiul camerei este bun, as in centrul imaginii este drept în fața mea :) One more picture: