Miło mi jest kiedy czytelnik mojego bloga "zarażony" pasją , dzieli się ze mną swoimi pomysłami i projektami. Taka jest wartość dodana prowadzenia bloga, że można poznać fajnych i twórczych ludzi, którzy sami są później w stanie zaoferować coś światu . Czytelnik o nicku Chris King jest jednym z takich ludzi. Z Chrisem poznałem się osobiście na jednej z prezentacji Microchipa w Warszawie. Człowiek ten drałował 500 km od miejsca stałej dyslokacji aby spotkać się ze mną i po raz pierwszy dotknąć produktów Microchipa. Chris jest na najlepszej drodze do osiągnięcia poziomu Jedi w zakresie MCU Microchipa , w szczególności upodobał sobie konstrukcje 16-bitowe i na nich obecnie postanowił tworzyć swoje projekty. Jego projekty i pomysły są niebanalne i co ciekawe jest w stanie wykorzystać je zawodowo w procesach technologicznych związanych z automatyką przemysłową. Zazdroszczę ludziom , którzy swoją pasję/hobby mogą łączyć z wykonywanym zawodem.
Blog jest formą pamiętnika technicznego, upamiętniający moją przygodę z mikrokontrolerami PIC firmy Microchip. "Per aspera ad astra..."
środa, 8 stycznia 2020
poniedziałek, 30 grudnia 2019
ATSAML10E16A - Mini Board , spontaniczny projekt płytki developerskiej.
wtorek, 24 grudnia 2019
czwartek, 19 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą MQTT ,zajęcia praktyczne cz.5
W części nr 4 wątku o komunikacji z chmurą pokazywałem prostą metodę rozmowy z chmurą opartą na samym protokole TCP i strumieniu znakowym.
Od strony chmury komunikacja taka obsługiwana była w warstwie aplikacji przez protokół Telnet. Metoda ta znalazła uznanie wśród czytelników bloga, nie bez przyczyny, jest tak prosta , że już prościej się nie da. Ale to nie koniec niespodzianek dotyczących metod komunikacji z chmurą. Na deser zostawiłem najbardziej spektakularną metodę opartą o protokół MQTT. Jest to metoda obsługiwana praktycznie przez wszystkie chmury, jeśli przez jakąś nie jest obsługiwana to znaczy, że ta chmura nie warta jest uwagi z punktu widzenia ekosystemu IoT. Zapraszam do podróży po MQTT w aspekcie praktycznym.
poniedziałek, 16 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą TCP ,zajęcia praktyczne cz.4
Kontynuujemy przygodę z modułem ethernetowym W5500 i PIC32MM oraz chmurą Ubidots. W części nr 3 artykułu pokazałem metodę komunikacji z chmurą opartą o protokół HTTP i metodę POST. Wysyłaliśmy z powodzeniem daną do chmury. Wspomniałem, że pokażę jak się tą metodą odbiera dane. Kiedy podczas testów odbierania danej z chmury zobaczyłem ile nadmiarowych informacji musimy odebrać aby dobrać się do naszej danej , doszedłem do wniosku , że nie będzie to preferowana metoda komunikacji z chmurą dla zestawu MCU + W5500. Dlatego nie będę tego wątku kontynuował. Chmura Ubidots ma tę ogromną zaletę, że dostarcza różnych metod przesyłania danych do wyboru, jedną z nich jest bardzo prosta metoda oparta na samym protokole TCP lub UDP i zapytaniach znakowych . Od strony chmury w warstwie aplikacji, tego typu prosta komunikacja obsługiwana jest przez protokół Telnet , stworzony dla terminali znakowych. Telnet jest najstarszą i najbardziej elementarną usługą internetową , która dzisiaj została wyparta przez protokół SSH. Ekosystem internetu i usług sieciowych opiera się na ogromnej liczbie protokołów. W artykule pokażę jak posłużyć się bardzo prostą metodą komunikacji z chmurą. Nie będzie żadnych nadmiarowych komunikatów tak jak w przypadku protokołu HTTP.
środa, 4 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - komunikacja z chmurą za pomocą HTTP i API REST ,zajęcia praktyczne cz.3
Czas na jedno z ciekawszych przedsięwzięć związanych z wykorzystaniem modułu ethernetowego W5500 firmy Wiznet. Tematyka chmur zaprząta moje myśli od jakiegoś czasu. Z zazdrością patrzyłem na moduły IoT np. takie jak PIC IoT firmy Microchip, które potrafiły wymienić dane z chmurą w obie strony. Mankamentem jak dla mnie w przypadku tego typu modułów jest ograniczenie współpracy do jednej firmy "Chmurowej" tutaj akurat Google. Jest to podyktowane wykorzystaniem urządzenia kryptograficznego ATECC608A zwiększającego poziom bezpieczeństwa przesyłu danych. Gdzie zatem wolność wyboru ? jedna chmura i koniec ?. Jeśli nie prezentujemy danych wrażliwych i sprawy bezpieczeństwa nie są kluczowe w naszym projekcie sieciowym to nie ograniczajmy się w wolności wyboru :). Duet PIC32MM + W5500 skomunikuje się z każdą chmurą, zatem niech żyje wolność :). W artykule pokażę na przykładzie wybranej chmury jedną z metod wysyłania i pobierania danych z chmury. Radość z pierwszego uaktualnienia danej w chmurze była ogromna :). Takiej satysfakcji nie zastąpi żaden gotowy moduł przysposobiony przez producenta do komunikacji z chmurą :)
poniedziałek, 2 grudnia 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - serwer TCP/IP, zajęcia praktyczne cz.2
W części pierwszej zajęć praktycznych pokazałem działanie mini-serwera UDP. W tym wpisie zajmiemy się kolejną dostępną opcją w module W5500 firmy Wiznet .Rozbudujemy nasz program z części 1 o funkcjonalność mini-serwera TCP. Nasz mini-serwer będzie na każde wysłane do niego zapytanie klienta z sieci lokalnej reagował wysłaniem kodu HTML. Do czego to może się przydać ? Mnie do głowy przychodzi pomysł np. realizacja ustawienia/konfiguracji jakiegoś urządzenia za pomocą przeglądarki www. Nie musimy wtedy angażować do tego celu wyświetlacza i interakcji z użytkownikiem do niego. W artykule pokażę jak zrealizować funkcję mini-serwera TCP przy pomocy modułu W5500 firmy Wiznet.środa, 27 listopada 2019
Microchip rozbudowuje swoje portfolio w zakresie pamięci EERAM.
Zarąbisty produkt Microchipa - pamięć EERAM, który skradł moje serce od pierwszej sekundy użycia tego rodzaju pamięci. Z radością donoszę, że oferta tych pamięci została powiększona o nowe modele z interfejsem SPI i rozmiarze aż 1 Mbit . Każdy z nas zna wady klasycznej pamięci EEPROM, wolne toto , trzeba się pieprzyć ze stronicowaniem takich pamięci i w ogóle blee.. I tu wkracza Super Hero - Microchip ze swoją pamięcią EERAM w której brak stronicowania, szybkość zapisu na poziomie pamięci SRAM, po zaniku zasilania dane przepisane do pamięci statycznej a po powrocie zasilania przepisane z powrotem do pamięci SRAM. Jeśli ktoś nie czuje mocy tego wynalazku to ja cie przepraszam :)
niedziela, 24 listopada 2019
PIC32MM i moduł Ethernetowy Wiznet W5500 - serwer UDP, zajęcia praktyczne cz.1
Moduł W5500 sprawił mi dużo satysfakcji podczas jego poznawania. Zagadnienia z jakimi przyszło mi się zmierzyć po drodze były mi obce, dlatego podwójna satysfakcja, że udało się zgłębić "tajemną" sieciową wiedzę. Dziękuję ci zatem module W5500 za poszerzenie moich horyzontów wiedzy :).Przetarłem szlak ,zatem zapraszam do wspaniałej przygody z modułem Ethernetowym W5500 firmy Wiznet. W artykule pokażę jak prosto ogarnąć moduł W5500 za pomocą PIC32MM . W zajęciach praktycznych nawiążemy komunikację za pomocą protokołu UDP pomiędzy naszym modułem W5500 a lokalnym PC . Po drodze skorzystamy z narzędzi sieciowych takich jak WIRESHARK aby podsłuchać sieć. Ponadto pokażę w jak prosty sposób możemy wysyłać pakiety UDP z poziomu systemu LINUX. Artykuł będzie wstępem przed kontynuacją tematu , którego zwieńczeniem będzie pełna realizacja komunikacji z wybraną Chmurą. Mam nadzieję , że mi się uda to zrealizować. Taki wytyczam sobie cel mojego spotkania z modułem W5500 . Howgh.
sobota, 16 listopada 2019
PIC32MM i printf() - prosty wyrzut strumienia danych po UART.
Często zdarza się , że potrzebujemy monitorować pracę programu i wyświetlać komunikaty lub mieć podgląd na jakieś dane , szczególnie na etapie testowania funkcjonalności programu. Jednym z mediów do wyświetlania danych/komunikatów jest wyświetlacz , ale co w przypadku kiedy chcemy na przykład wyświetlić więcej komunikatów niż pomieści nam wyświetlacz ?. Wtedy przychodzi nam z pomocą UART i funkcja printf() ze standardowej biblioteki języka C. Ta para powoduje , że możemy w bardzo prosty sposób zobrazować komunikaty/dane w oknie monitora PC, nie pisząc nawet ani kawałka kodu konfiguracyjnego. W artykule pokażę jak skorzystać z funkcji printf() w programie , przekierować do niej strumień danych z UART i wyświetlić to na monitorze.środa, 13 listopada 2019
WIZnet W5500, moduł ethernetowy ze sprzętowym stosem TCP/IP.
poniedziałek, 11 listopada 2019
PIC18FxxQ84 - 8 bitowiec firmy Microchip z CAN FD na pokładzie.
Firma Microchip prowadzi szeroko zakrojoną ekspansję mikrokontrolerów 8-bitowych m.in w swojej flagowej serii PIC. Zjawisko jest o tyle ciekawe, że po wykupieniu firmy ATMEL wydawać by się mogło , że Microchip oprze swoje nowe konstrukcje PIC o rdzeń firmy Atmel. Nic z tych rzeczy. Pomimo , że core Microchipa jest mniej wydajne od Atmel to jednak jest dziedzina w której core Microchipa bije na głowę wyroby Atmel-a w ekosystemie 8-bitowym a jest to odporność na zakłócenia. Seria PIC jest dzięki tej właściwości bardzo chętnie stosowana w przemyśle ,gdzie odporność na zakłócenia jest kluczowym aspektem dla MCU. Kolejnym ciekawym modelem , który wejdzie niedługo do sprzedaży jest PIC18FxxQ84. Microchip jest znany z ciekawych peryferiów , którymi obudowuje swoje wyroby. Tym razem mamy do czynienia, zdaje się z pierwszym na świecie MCU 8-bitowym wyposażonym w CAN FD przy czym kompatybilność wsteczna z CAN 2.0 jest zachowana.wtorek, 29 października 2019
ZERYNTH - sterowanie stanem pinu za pomocą chmury WolkAbout.
Temat związany z chmurami cokolwiek mnie zafascynował. Dotychczas patrzyłem na ten temat od strony sprzętu przez pryzmat wyłącznie Rasbety PI . Okazuje się jednak , że łączność z chmurą możemy z powodzeniem zrealizować na dowolnym MCU . Co jest do tego potrzebne oprócz MCU ? Moduł WiFi lub ciekawiej np Wiznet W5500 ze sprzętowym stosem TCP/IP . Z chmurą możemy rozmawiać na dwa sposoby , za pomocą API REST i MQTT. W przypadku MQTT chmura robi za Brokera. Oprogramowanie MCU do komunikacji z chmurą wydaje się być zadaniem cokolwiek ambitnym w szczególności kiedy spotykamy się z nowymi dla nas zagadnieniami . Dlatego dobrym sposobem dla obycia się z klimatem chmur jest zastosowanie technologii np. ZERYTH, który został stworzony do prostej implementacji komunikacji z chmurą. Bazując na przykładach z dokumentacji ZERYTH możemy w ciągu kilku minut załapać jak posługiwać się językiem Python i jak zrealizować łączność z chmurą. W tym artykule pokażę w jaki sposób możemy sterować stanem pinu na płytce wspieranej przez ZERYNTH z wykorzystaniem chmury WolkAbout .piątek, 18 października 2019
ZERYNTH + WolkAbout = prosty przepis na rozmowę z Chmurą.
Jestem pod dużym wrażeniem prostoty z jaką udało mi się "zagadać" z webową Chmurą. Dotychczas był to dla mnie temat trochę z pogranicza czarnej magii. Ale dzięki ZERYNTH-owi i wspieranej przez ten projekt czeskiej chmurze WolkAbout ,udało mi się zaprzyjaźnić z tym tematem całkowicie bezboleśnie. Jest wiele obecnie na rynku rozwiązań w postaci płytek różnych producentów , które mają zaimplementowany wsad do realizacji połączenia z chmurą. Wadą tych rozwiązań jest w/g mnie ograniczenie do jednej wybranej chmury. W przypadku projektu ZERYNTH mamy do wyboru wiele chmur . Mnie w oko wpadła czeska chmurka WolkAbout i z tą chmurką udało mi się w prosty sposób porozmawiać. A co mnie kręci w projekcie ZERYNTH ? przede wszystkim możliwość prostej implementacji Gateway'a przy pomocy języka Python. Dopóki nie poznałem projektu ZERYNTH ,przymierzałem się do RasberyPI w roli bramy ale teraz widzę, że nie ma takiej potrzeby. Za ułamek kwoty RasberyPI mogę osiągnąć tą samą funkcjonalność w prostszy sposób na płytce z MCU 32 bit wspieranej przez ZERYNTH. A baza płytek ciągle się powiększa. W 2020 r zobaczymy wsparcie m.in dla PIC32.
wtorek, 8 października 2019
PIC32MM - biblioteka do obsługi kart SD od Microchipa. Wyświetlanie bitmapy na LCD.
Wszystkim dobrze znana biblioteka FatFs została bardzo ładnie i zgrabnie zaimplementowana dla serii PIC32MM . Kawał dobrej roboty zrobił Microchip ,dzięki czemu nie trzeba się trudzić aby bibliotekę FatFs przysposobić do współpracy z naszym miłym MCU. Co więcej biblioteka jest fajnie konfigurowalna i automatycznie dołączana z poziomu MCC w MPLAB-X IDE. Użytkownik praktycznie zwolniony jest z wszelkiej ingerencji w soft i może skupić się wyłącznie na używaniu biblioteki. W artykule pokażę jak dodać bibliotekę do projektu i jak tego użyć . Naszym celem będzie wyświetlenie obrazka z nagłówka artykułu na LCD i pobranie jego danych z karty SD . Mały Fiat na "małym" wyświetlaczu LCD powinień współgrać idelanie :)
Subskrybuj:
Posty (Atom)







