FastAPI – czyli jak napisać proste REST API w Pythonie? – część 3
REST API z użyciem frameworka FastAPI. Ostatniej części artykułów o API w Pythonie. Zacznij z nami już dziś swoją przygodę z FastAPI!
Dzisiaj chcemy dla Was kontynuować tematy związane z IOT, czyli Internetem rzeczy. Porozmawiamy sobie między innymi o innych protokołach, które występują w warstwie aplikacji i są związane z systemami IOT. Jeśli jesteście zainteresowani to zapraszamy do lektury!
Na rok 2023 najbardziej popularnym protokołem do urządzeń IOT jest MQTT, o którym pisaliśmy w ostatnim wpisie na blogu. Istnieją jednak alternatywy, które wykorzystywane są w specyficznych scenariuszach, gdzie MQTT nie może być zastosowane.
Constrained Application Protocol to protokół stworzony do działania na hardware, które z definicji jest ograniczone np. ze względu na małe zasoby pamięciowe czy obliczeniowe. Zaleca się go do urządzeń, które działają na bateriach ze względu właśnie na duże możliwości działania także na ograniczonych zasobach energii. Sam standard (RFC 7252) powstał w 2014 roku, więc jest stosunkowo nowym rozwiązaniem w porównaniu choćby do MQTT (1999). CoAP nadaje się do projektów IoT o większej skali oraz urządzeń bardziej ograniczonych pod względem zasilania. Posiada wiele cech charakterystycznych jeśli chodzi o techniczne aspekty, między innymi:
Rysunek 1: datagram CoAP w programie Wireshark, widoczna flaga Observe, źródło: journals.sagepub.com
Rysunek 2: przykład potwierdzenia komunikacji od klienta do serwera w COAP, źródło: RFC7252
Rysunek 3 – przejście pomiędzy HTTP i COAP za pomocą proxy, źródło: e2e.ti.com
Rysunek 4 – możliwy stos sieciowy urządzenia IOT korzystającego z CoAP, źródło: ARM Youtube
6LoWPAN to protokół będący poniżej warstwy transportowej i pozwalający na używanie IPv6 w niskonapięciowych sieciach bezprzewodowych. W połączeniu z CoAP (warstwa aplikacji) umożliwia on efektywną komunikację urządzeń IoT. Działa to poprzez dostosowanie pakietów IPv6 do ograniczeń takich sieci, używając adresów IPv6, kompresji nagłówków, fragmentacji, i umożliwiając tworzenie sieci mesh. CoAP, jako lekki protokół, idealnie wpasowuje się w 6LoWPAN, umożliwiając dostęp i zarządzanie zasobami urządzeń w środowiskach o ograniczonych zasobach.
Rysunek 5 – schemat komunikacji pomiędzy urządzeniami z użyciem COAP oraz 6LoWPAN, źródło: lobaro.com
CoAP posiada wiele więcej funkcjonalności, których nie zdołamy tutaj omówić. Mamy nadzieję jednak, że ten krótki artykuł pozwoli Wam na lepsze zrozumienie całości tematu jakim jest IOT.
Dzisiaj przedstawiliśmy wam alternatywę dla MQTT – protokół CoAP podobny do HTTP, efektywny na ograniczonych zasobach, bezpieczny z DTLS. Zachęcamy także do zapoznania się ze źródłami. Do usłyszenia za tydzień już w nowym temacie!
FastAPI – czyli jak napisać proste REST API w Pythonie? – część 3
REST API z użyciem frameworka FastAPI. Ostatniej części artykułów o API w Pythonie. Zacznij z nami już dziś swoją przygodę z FastAPI!
Programowanie
2024-08-14
FastAPI – czyli jak napisać proste REST API w Pythonie? – część 2
REST API z użyciem frameworka FastAPI. Część druga tutoriala. Zacznij z nami już dziś swoją przygodę z FastAPI!
Programowanie
2024-08-01
FastAPI – czyli jak napisać proste REST API w Pythonie? – część 1
REST API w Pythonie? Nic prostszego. Zacznij z nami już dziś swoją przygodę z FastAPI!
Programowanie
2024-07-18