Użycie semaforów w systemie freeRTOS

W ostatnim artykule przedstawiłem pokrótce czym są systemy operacyjne czasu rzeczywistego na przykładzie freeRTOSa dla Arduino, przedstawiłem z grubsza ich wady i zalety oraz przeanalizowałem przykładowy program z dwoma wątkami działającymi współbieżnie. Jedną z wad, które wymieniłem jest to, że niektóre wątki mogą w jednej chwili chcieć korzystać z tego samego zasobu (np. portu szeregowego). W dzisiejszym artykule pokażę Wam jeden ze sposobów kontroli zasobów we freeRTOS.

Czytaj dalej

System operacyjny czasu rzeczywistego dla Arduino

Dzisiejszy temat będzie z gatunku tych nieco bardziej zaawansowanych technicznie, jednak niczego się nie bójcie ;) Postaram się przedstawić zagadnienie najprościej jak się to da. Chciałbym zaprezentować Wam krótkie wprowadzenie do systemów operacyjnych czasu rzeczywistego na przykładzie systemu freeRTOS dla Arduino.

Czytaj dalej

tinyBrd 2.0: Wstęp do pracy z płytką

Cześć, w dzisiejszym artykule zajmiemy się płytką tinyBrd 2.0. Jest to niewielka płytka deweloperska oparta o procesor ATtiny84 wyposażona w specjalne złącze służące do zamontowania modułu komunikacji radiowej NRF24L01+. Jeżeli kliknęliście w linki to pewnie zauważyliście już, że połączenie tych dwóch urządzeń to nic innego jak super tanie arduino z możliwością komunikacji bezprzewodowej :) Pokażę Wam w jaki sposób dobrze polutować płytki oraz jak wgrać na tinyBrd pierwszy program.

Czytaj dalej

Raspberry Pi jako serwer wydruku

Wiemy już że Raspberry Pi posiada cały wachlarz zastosowań. Jak się okazuje jednym z nich jest możliwość zamienienia go w domowy serwer wydruku. Nawet nowe drukarki w dzisiejszych czasach nie zawsze wyposażone są w łączność z siecią  LAN (WiFi / port Ethernet) – tutaj z pomocą może przyjść malinka, do której możemy podłączyć drukarkę USB tak, żebyśmy mogli drukować na niej z każdego komputera w naszej sieci lokalnej. Dziś pokażę Wam jak skonfigurować Raspberry Pi jako printserver.

Czytaj dalej

Obsługa formatu JSON w Arduino

W dzisiejszym artykule dowiemy się w jaki sposób parsować oraz tworzyć własne obiekty JSON w programach Arduino. Pomocna okaże się nam w tym biblioteka o nazwie ArduinoJson, której nazwa może być nieco myląca, gdyż sprawdzi się ona nie tylko w połączeniu z płytkami Arduino, ale także ESP8266, Teensy, a nawet w programie kompilowanym na komputer klasy PC.

Czytaj dalej

NodeMCU – aktualizacje OTA

Wyobraźcie sobie sytuację, w której kończycie projekt na NodeMCU, pakujecie go w ładną obudowę i montujecie tam, gdzie ma być używany. Po jakimś czasie okazuje się, że coś działa nie tak jak powinno lub chcielibyście dodać nową funkcjonalność do oprogramowania. Trzeba wtedy zdemontować urządzenie, wyjąć z obudowy, podłączyć do komputera i wgrać nowy flash. Takim sytuacjom zapobiec może tryb aktualizacji OTA (ang. over the air), o którym będzie dzisiejszy artykuł. Czytaj dalej

Kreślarka Arduino jako prosty oscyloskop

Cześć, w dzisiejszym artykule chciałbym zaprezentować Wam ciekawe narzędzie dostarczone wraz z Arduino IDE o nazwie kreślarka. Znajdziemy ją w menu Narzędzia, a służy ona do rysowania wykresów. Z pewnością większość z Was już jej używała, ale pewnie nie wszyscy wiedzą, że może ona wyrysować wiele linii. W dalszej części artykułu napiszemy prosty oscyloskop, który swoje wyniki będzie prezentował właśnie za pomocą tejże kreślarki.

Czytaj dalej

Nietypowa karta sieciowa dla Raspberry Pi

Niedawno w moje ręce wpadło Raspberry Pi Zero W. Niestety łączność z nim jest jedynie przez WiFi (w przypadku Zero W) lub wcale. Dlatego trzeba było kombinować ;) I oto wykombinowałem 2 sposoby: prosty i ciekawy. Poniższy tutorial zadziała bez problemu także ze zwykłymi wersjami maliny, jeżeli potrzebowalibyście dodatkowych portów ethernetowych.

Czytaj dalej

micro:bit – bezprzewodowe wgrywanie programów przez Bluetooth

Na Facebookowej grupie PGUM (Polska Grupa Użytkowników micro:bit) padło pytanie o możliwość programowania BBC micro:bit z użyciem tabletu. Był to pretekst do poważniejszych testów i poszukiwań sposobów programowania tej płytki. Zasadniczo pomysły były dwa: podłączyć micro:bita z tabletem za pomocą kabla USB OTG (niestety okazało się, że nie każdy tablet i telefon, wspiera tę metodę) lub wykorzystać metodę programowania OTA („Over The Air”) przy użyciu Bluetooth. Ta druga, mi osobiście wydała się bardziej kusząca.

Jeżeli zastanawiasz się, czy płytkę BBC micro:bit można zaprogramować bezprzewodowo, bez użycia kabla USB, bez laptopa czy komputera stacjonarnego, dysponując jedynie smartfonem lub tabletem – odpowiedź brzmi: TAK, da się! Czy jest to skomplikowane? Nieszczególnie.

Niemniej przygotuj się na to, że napotkasz wiele małych irytujących drobiazgów, na których można się potknąć. Moim zdaniem implementacja Bluetooth w BBC micro:bit pozostawia wiele do życzenia. W tym artykule opiszę jak zrobić to od początku do końca, na co zwrócić uwagę i dlaczego tak prosta w teorii czynność, w praktyce okazuje się tak trudna do wykonania.

Czytaj dalej