poniedziałek, 30 grudnia 2019

ATSAML10E16A - Mini Board , spontaniczny projekt płytki developerskiej.

Tak bardziej pod wpływem spontanicznego impulsu niż potrzeby , wykonałem projekt mini płytki developerskiej dla ATSAML10 firmy Microchip. MCU oparty jest na "bezpiecznym" rdzeniu Cortex M23. ATSAM-y serii L przyciągają mnie jak magnes. Jest w nich coś z kobiety - tajemniczej, inteligentnej, z pozoru trudno dostępnej. Po prostu seria ta ma swój niesamowity powab , który potrafi zauroczyć. Ale uwaga to nie jest prosta zabawa :). Normalnie mi odbiło :) . Programowanie tych MCU sprawiło mi niesamowitą satysfakcję i było dużym wyzwaniem dla moich szarych komórek. Kiedyś myślałem , że ATSAM-y są zbyt skomplikowane w ogarnięciu i taka obiegowa opinia w zasadzie krążyła po wsiach, trzymając mnie na dystans. Nie mniej spróbowałem i powiem tak, łatwo nie było ale jak się złapie wiatr w żagiel z ATSAM-em to poczujemy naprawdę głęboką i ogromną satysfakcję . Jeśli szukamy nie banalnych wyzwań to ATSAM-y spełnią nasze oczekiwania w tym zakresie :). Oczywiście swoje  doznania opieram na programowaniu bez użycia bibliotek typu HAL Ale tak to już rzadko kto programuje w świecie ARM-a:).

wtorek, 24 grudnia 2019

Zdrowych i spokojnych Świąt Bożego Narodzenia oraz Szczęśliwego Nowego Roku.

Boże Narodzenie jest symbolem narodzin dobra i miłość . W tym dniu trzeba być szczególnie otwartym na drugiego człowieka, tak jak żłób bożonarodzeniowy, który przyjął Dzieciątko.

Życzę otwartości w te Święta i możliwości Narodzenia Bożego w każdym z nas. 




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.