Mała kraksa quadcopterem

Od kilku miesięcy mam quadcoptera popularnie zwanego dronem, lub Bied-Dronem 1. UDI U829A. Tanie chińskie coś, co gdyby nie kiepskiej jakości kamera i problemy z niezawodnością silników byłoby całkiem ciekawą pozycją na rynku. Głównie z powodu niesamowitej odporności na nagły kontakt z podłożem zwany popularnie kraksą.

Dron UDI U829A quadcopter

W wielkim skrócie: dron spada na ziemię i nic mu nie jest. Zwykle. Czasami trzeba zasilanie silnika poprawić, nowe podwozie skonstruować, ale kto by się tam takimi szczegółami przejmował. Poniżej dwie co ciekawsze kraksy jakie Bied-Dron zaliczył w ostatnich tygodniach.

Error: Could not open file `/dev/i2c-1′ or `/dev/i2c/1′: No such file or directory

Ostatnia aktualizacja oprogramowania Raspberry Pi i systemu Raspbian wprowadzona przy użyciu polecania rpi-update uniemożliwia dostęp do urządzeń na magistrali I2C, SPI i 1-Wire podłączonych do Maliny w sposób taki jak poprzednio. W wielkim skrócie, najnowsza aktualizacji wprowadza obsługę DeviceTree, które przewraca do góry nogami sposób w jaki programy mogą korzystać z urządzeń podpiętych do wyżej wymienionych magistral. Po szczegóły odsyłam tutaj. Jakie są objawy? Trudne do zdiagnozowania. Przykładowo, próba wyświetlenia listy urządzeń podłączonych do I2C przy użyciu sudo i2cdetect -y 1 skutkuje następującym błędem:

Error: Could not open file `/dev/i2c-1′ or `/dev/i2c/1′: No such file or directory

I szukaj wiatru w polu. Rozwiązania są trzy:

  1. Nie aktualizować
  2. Aktaulizować i ręcznie zmienić ustawienia w pliku config.txt
  3. Aktualizować i użyć polecenia sudo raspi-config aby w sekcji „Advanced Options” wyłączyć obsługę Device Tree.

raspi-config i Device Tree

wyłączenie device tree Raspberry Pi

DIY: ATtiny85 timer dźwiękowy – Pomocnik Scrum Mastera

Najlepsze pomysły na projekty DIY pochodzą z życia. Mieliśmy w firmie drobny problem: nasze SCRUMowe daily meetings potrafiły trochę się przeciągać. Zamiast kilku minut trwały i kwadrans. Stoper? Jakoś tak nie pasuje do idei. Zamiast tego „na szybko” zbudowałem prosty timer pozwalający każdemu członkowi zespołu na powiedzenie co ma do powiedzenia w 40 sekund. Po tym czasie rozlega się sygnał dźwiękowy. Kolejny uczestnik wciska przycisk i jego czas jest liczony od początku.

Timer na mikrokontrolerze ATtiny85

W pierwszej chwili chciałem użyć Arduino, ale to jak strzelanie z armaty do wróbla. Po co komu „potęga” ATmega 328 kiedy będę potrzebował góra dwóch wyjść cyfrowych. Z tego powodu wybór padł na rodzinę AVR ATtiny dużo lepiej dostosowaną do tak prostych zastosowań. Mój układ działa na ATtiny85, ale równie dobrze można użyć ATtiny45 lub ATtiny25. Różnią się tylko ilością pamięci EEPROM, a cały kod zajmuje około 1kB.

Czytaj dalej

Raspberry Pi 2 kontra reszta świata

Mały komputer Raspberry Pi jest z nami od prawie 3 lat. Premiera modelu B miała miejsce 29 lutego 2012 roku. Łatwo dostępny stał się dopiero pod koniec 2012 roku, a przez pierwsze pół roku fabryki(a) nie nadążała z produkcją tak bardzo, że wszystkie oferowane w partiach egzemplarze rozchodziły się w przedsprzedaży w ciągu kilku godzin. Trzy lata później stwierdzam bez ogródek: Raspberry Pi podbiło świat i stało się jedną z głównych platform dla majsterkowiczów, modderów, hackerów i tak dalej. W ślady Raspberry Pi Foundation poszły inne firmy i na rynku pojawili się konkurenci tacy jak Banana Pi, Hardkernel Odroid i inni. Prawie zawsze oferujący coś, czego Raspberry Pi nie mogło dostarczyć: wydajność na zadowalającym poziomie.

raspberry_pi_2

Główną wadą Malinki jest niska wydajność. Bądźmy szczerzy, jeden rdzeń ARM11 700MHz i 512MB pamięci RAM to według dzisiejszych standardów bardzo mało. Jest to wystarczająca wydajność aby dać radę problemom sterowania, relatywnie prostych obliczeń i wierszowi poleceń, to każdy kto uruchomił na Malinie środowisko graficzne wie, jaki to koszmar. W zasadzie nie da się już z tego korzystać. Chlubnym wyjątkiem jest obsługa multimediów dzięki wbudowanemu dekoderowi, ale nie samymi filmami człowiek żyje.

Tak czy inaczej, wczoraj Raspberry Pi Foundation ogłosiło koniec problemu braku mocy obliczeniowej: Raspberry Pi 2. Co się zmieniło? Zamiast jednego rdzenia ARM11 mamy teraz 4 rdzenie Cortex A7 900MHz (ARMv7) i 1GB pamięci RAM. Co zyskamy dzięki zmianom? Dużo. Wydajność na jednym rdzeniu ma podnieść się 3 razy, a w przypadku aplikacji potrafiących wykorzystać wszystkie rdzenie, czyli de facto wszystkie wielowątkowe, nawet 6 razy. A do tego pełna kompatybilność z poprzednim modelem (B+). A teraz najlepsze: nowa Malina dalej kosztuje 35$!

Ale to nie koniec dobrych wieści. Otóż Microsoft dołożył coś od siebie i ogłosił, że Windows 10 doczeka się wersji dedykowanej na Raspberry Pi 2. Co więcej, wersja ta ma być darmowa (!!!) i dytrybuowana w programie Windows Developer Program for IoT (Internet of Things).

Grafika [1]

Wiara w technologię

Przyszło mi ostatnimi czasy pracować z ludźmi młodszymi ode mnie. Młodszymi średnio o 10 lat frontend developerami. Tym co najbardziej rzuca mi się u nich w oczy to wiara w technologię i w to, że wprowadzając nową bibliotekę, framework lub metodologię „zbawią świat”. OK, może z tym światem to przesada, ale na pewno wierzą w to, że technologia rozwiąże problemy ich i użytkowników strony którą wspólnie tworzymy. I może ja faktycznie jestem już stary, ale ja w to po prostu nie wierzę. Technologia może pomóc, ale traktowanie jej jak panaceum na każdy problem to jak proszenie się o kłopoty. Bo problem pozostaje, jest tylko tymczasowo przykryty nową technologia i tylko czeka na to, aby uderzyć ponownie.