Transkrypcja
Powitanie i dubel nagrania
Cześć.
Cześć.
Witamy w kolejnym odcinku podcastu, a właściwie w kolejnym, kolejnym odcinku, bo kręcimy lekkiego dubla.
Trochę się nie włączyło…
Bo ktoś nie włączył całegu tutaj oprzyrządowania
Nie ktoś, tylko samo się nie włączyło. Nie?
Samo, tak…
My tam już opisaliśmy, że tak powiem, 1/3 „Diuny”, właściwie wrażeń z tego.
No właśnie zabrakło automatyzacji, więc podsumujmy: „Diuna” – fajna?
Fajna…
Dziękuję, Michał. Fajna. Ja też mówię, że fajna, dziękujem.
Nie powtarzamy całego tego, cośmy…?
Nie no, możemy powiedzieć.
No, tam Stilgar był wymieniony jako rola taka zacna, humorystyczna. Chani dała radę, no i Paul przede wszystkim, nie? Robale i w ogóle ten mem z oczkami, to robi robotę.
Obsada – to polecam całą, była świetna, nawet takie drobne drugoplanowe role. Gdzieś tam babeczka w trakcie walki, która tam próbowała… no to omotała, omotała nawet. A tu mamy przykład, jak to się stało z Lady. Znaczy właściwie jak to Lady… No dobra, to trochę inny był przypadek tam ze złem, nie? Ale wytyczne były podobne, nie?
Tak,. Fajne, fajne. Ja już wspominałem w pierwszej części podcastu, który się nagrał – właściwie nagrał się, ale nie było dźwięku – jestem wielkim fanem części pierwszej, ale dwójka kurczę tak odmieniła moje życie, że zacząłem czytać książkę.
Tak, to tu doceniam. A ja… też dopowiem, że ja akurat jestem fanem pierwszej i drugiej, a w ogóle w pierwszej mnie urzekły niesamowicie te ornitoptery, czy ogólnie one inaczej się nazywają? Bo one się w książce chyba ornitoptery nazywają, a w filmie jakaś była inna nazwa, nawet nie pamiętam, jak to było nazwane, całkiem wyleciało. No ale po prostu polecam też making-offy z tego, bo tam w ogóle są te zabiegi, jakie oni porobili, te modyfikacje helikopterów, na przykład, żeby faktycznie latali takimi maszynami nad piaskiem, tylko że bez skrzydełek, a z tym normalne takie nasze śmigłowce, nie? I później to w postprodukcji poprzerabiali. W ogóle dużo się na tych makietach działo.
No, to nie oglądałem tych making-offów, ale oglądałem właśnie making-offy od trzech sezonów „Mandaloriana” i tam też można zmienić trochę postrzeganie na ten serial, bo to ile pracy zostało włożone, to widać też w tych making-offach, więc dlatego to tak dobrze wygląda, jedno i drugie, nie?
Pewnie tak. Sercem pewnie tak. Dobra, no ale tak, teraz nagrywa, to już można przejść do dzisiejszego tematu.
Temat odcinka: Systemy monitorowania
Dzisiaj spotykamy się, żeby sobie rozważyć taki przypadek użycia, albo w ogóle całą klasę systemów, tak, klasę systemów do monitorowania czegoś lub kogoś. I na pytanie: kogo lub co możemy monitorować (modyfikować to niekoniecznie), to pewnie wiele rzeczy.
Monitorowanie w rolnictwie
No, istot żywych. Bo można sobie wyobrazić system, który będzie stosowany w rolnictwie i na przykład będzie służył monitorowaniu jakiegoś tam żywego inwentarza, który sobie biega po pastwiskach, albo coś tam gdzieś tam innego robi. I na przykład taki rolnik nowoczesny chciałby znać parametry swojego stada, dajmy na to. Po pierwsze, wiedzieć, gdzie to stado jest, a po drugie, znać parametry poszczególnych zwierząt w tym stadzie. To już abstrahuję, niech to żyjątko będzie jakąś abstrakcją, bo możemy mierzyć mu jakieś tam parametry życiowe i parametry ruchowe i tego typu rzeczy. No wszystko, co jesteśmy w stanie, powiedzmy, co mamy potrzebę zmierzyć i jesteśmy w stanie upchnąć w jakieś realia techniczne, podpiąć jakieś takie cacko. Tutaj mamy kilka przykładów urządzeń. Później pokażemy może bliżej i coś tam dwa słowa powiemy do czego to służy.
Zastosowania w monitorowaniu środowiska
Oprócz takiego monitorowania tegoż inwentarza, innym na przykład zastosowaniem mogłoby być zbieranie wszelkiej maści danych z jakichś tam urządzeń. I wyobraźmy sobie na przykład system do mierzenia parametrów środowiska, jakiś tam danych pogodowych, czy czegoś w ten deseń. Na przykład, nie wiem, mamy czujniki zbierające informacje o zanieczyszczeniu powietrza, nie? Te takie mierniki cząstek stałych. No to możemy mieć siatkę ich rozłożonych gdzieś tam. Możemy mieć do tego jakieś inne czujniki, nie wiem, mierzące siłę wiatru. Czyli generalnie skomponowane ileś takich tam w całym systemie różnych potencjalnie urządzeń, spiętych ładnie w całą taką sieć. Możemy sobie zbudować system, który nam zbiera to, akurat co potrzebujemy, po to, żeby to później łatwo przetworzyć.
Bezpieczeństwo pracowników w fabrykach
No i nasz właściwy przypadek, na którym dzisiaj chcielibyśmy się skupić, to byłaby taka hipotetyczna fabryka albo jakiś taki zakład pracy, miejsce pracy, jakiś tam zakład produkcyjny czegoś, gdzie zależy nam na tym, żeby nasi pracownicy jak najbardziej bezpiecznie mogli się po tym poruszać. Takie fabryki często mają wyznaczone jakieś tory. Zresztą wspominaliśmy o tym w odcinku, gdzie Jacka gościliśmy, że takie skomplikowane zakłady produkcyjne, które mają jakieś taśmy produkcyjne czy jakieś tory produkcyjne, mają też specjalnie przeznaczone obszary dla pracowników, po których jest wskazane się poruszać. A poza nimi nie jest wskazane, bo można zebrać w dyńkę albo gorzej czymś ciężkim.
Monitorowanie dla bezpieczeństwa, nie wydajności
Generalnie zależałoby nam na tym, żeby na przykład nie po to monitorować tego pracownika, żeby mu obciąć 5 minut z dniówki, bo akurat przesiedział te 5 minut, a my wiemy, że przesiedział, bo nasze czujniki, wiadomo, są sprytne. Chodzi o to, żeby on jak najbezpieczniej mógł się tam poruszać. Jeśli na przykład coś mu się stało, że się nie rusza przez 5 minut, czy nawet krócej, to jesteśmy w stanie z jego charakterystyki ruchu wywnioskować (gdzieś tam jakimś algorytmem, pewnie AI-owym), że coś może być nie tak. Wtedy od razu podnosimy alarm i lecimy ratować człowieka. Więc tutaj najbardziej widzę zastosowanie w takich względach ludzkich, po prostu w kwestii bezpieczeństwa.
Wydajność a bezpieczeństwo w fabrykach
No tak, to wiadomo. Można to rozszerzyć pewnie na kwestie wydajnościowe i pewnie część zastosowań też się znajdzie. Ale te rzeczy zwykle rozwiązuje się w takich fabrykach sposobami istniejącymi, badając gdzieś tam wydajność pracownika poprzez ilość wykonanych elementów, ilość zeskanowanych towarów i tego typu rzeczy. Więc jakby tutaj bikony i tego typu systemy to może nie do końca aż tak się sprawdzą, bo rozwiązania odnośnie wydajności pracownika są już dostępne od dawna i raczej wiele na to stworzono. I to się da robić. Te fabryki jednak działają, nie jest tak, że tam ludzie nie pracują, idą udawać, że pracują, więc nie ma z tym problemu, nie?
Redukcja wypadków i rankingi BHP
I tutaj chodzi o to, żeby jakoś poprawić bezpieczeństwo, żeby ograniczyć ilość wypadków. I tak są na przykład – o tym sam słyszałem, czy nawet nie wiem, na szkoleniu w jednej takiej firmie, która miała taki dział obok, niedaleko naszego otoczenia, chyba nam też wspominano, że tam też jest prowadzony taki ranking wypadków, że dąży się do tego, żeby ich nie było. Więc jakieś tam odlicza się takie metryki. Więc to o to tutaj chodzi, a nie o to, żeby zniechęcić pracownika. No bo jak będziemy proponować ludziom noszenie takiego czy innego cacka po to, żeby im tam dokuczać, no to nie będą chcieli pracować w takiej fabryce.
Jak zacząć z systemem monitorowania?
Prosta sprawa: jak do takiego systemu się zabrać? Czyli co, teraz każdemu pracownikowi nosić ze sobą? Nie mówię laptopy, bo mogą też nosić telefony, ale może zależy, zależy od przypadku, czyli nasza ulubiona odpowiedź: to zależy.
Wykorzystanie istniejących urządzeń
To zależy od czego. Jeśli już mają jakieś urządzenia, z których my możemy te dane zbierać, no to nie ma problemu. Jak to się na przykład dzieje często, że gdzieś po jakiś takich powierzchniach magazynowych pomykają z jakimiś tabletami czy tam jakimiś tam, no jakąś formą urządzenia mobilnego, które ma jakieś tam funkcje, to jeżeli możemy podpiąć się pod to, wykorzystać te dane z tego, nie ma problemu. Na przykład do mierzenia właśnie tego przemieszczania się, czy coś w ten deseń, czy ogólnie aktywności jako takie, nie?
Wprowadzenie do bikonów
A jeżeli nie mamy, no to tu na stole mamy takie białe cacko, jakbyś był uprzejmy, coś takiego. Coś tak bardzo zgrabne. Co to jest? Takie małe białe coś. Fajne takie. To mądrzy ludzie nazywają to bikonem i to jest takie urządzenie, które potrafi wysyłać różnej maści sygnały, zależnie od tego, w co jest wyposażone.
Sensory w bikonach
Czyli na przykład jeżeli nas interesuje mierzenie na przykład parametrów ruchu, no to to urządzenie będzie miało w sobie jakiś czujnik, czy tam akcelerometr bardziej, czujnik położenia, czujnik przyspieszenia, być może jakiś tam czujnik grawitacji, jakiś czujnik ciśnienia, jakieś coś. Generalnie to, na czym nam zależy, żeby zmierzyć w kwestii bezpieczeństwa naszego pracownika. Czyli nie wiem, jeżeli by pracował w jakimś środowisku niebezpiecznym, to może jakieś czujniki mierzące poziom tego niebezpieczeństwa, nie? Jakiś, nie wiem, promieniowania. Promieniowania czegoś gorszego, nie wiem co tam. Promieniowanie temporalne jest najgorsze, to w „Lokim” się z tym mierzyli strasznie. No to chyba tego chyba tym nie zmierzy jeszcze. Ale czekamy na update w przyszłości i pewnie jakoś to będzie.
Wykrywanie ruchu i położenia
Czyli generalnie mamy jakiś po prostu zestaw danych, który ten czujnik nam zwraca i w naszym przypadku niech to będą dane związane z tym przykładzie z poruszaniem się po tym całym naszym grajdołku. Przy czym jeszcze nawet te czujniki są na tyle sprytne, że nie tylko potrafią powiedzieć, że na przykład są lub nie są w ruchu, czyli tam mierzą przyspieszenie, czy no, zmiany tego przyspieszenia, czyli potrafią też taki bezruch wykryć. Ale jeszcze potrafią na przykład na podstawie siły sygnału, która dociera z kolei do ich kolegów…
Huby i mikrokontrolery
A tutaj mamy przykłady takich kolegów. To jest właśnie coś takiego, takiego, tak w miarę proste urządzenie. Bardzo proste. Każdy może sobie to zrobić w garażu. Jakoś tak. To jest troszkę trudniejsze, ale to w takich skomplikowanych. Kolega tego urządzenia. W większych garażach można zrobić. Ten pierwszy to jest mikrokontroler ESP32 na takiej już dedykowanej płytce. Całe to cacko można oprogramować dość w sprytny sposób i ono jest dość już mocnym narzędziem do tego, żeby można było te sygnały z niego zebrać i przetworzyć.
Malinki i ich „produkcja”
Właściwie tego typu klocuszki, bo to czerwone to jest taka mniejsza wersja malinki, popularnie zwanej. A tu mamy większą wersję malinki, Raspberry Pi to się nazywa. To już jest tak komputerek ciutkę mocniejszy. Obydwa są ciutkę mocniejsze od tego ESP. No ale to już trudniej zrobić w garażu. Już trudniej, kombinerki nie wystarczą, jeszcze trzeba przecinak i paczkę gwoździ. No i przydałby się taki fajny ten, takie urządzenie do zrealizowania procesu Czochralskiego, czyli ciągnięcia monokryształu krzemu. Też dobrze. Można pewnie pożyczyć w Castoramie. Nie wiem, czy poży tego typu narzędzia. Ewentualnie u nich wyciągnąć monokryształ, ale koniecznie procesem Czochralskiego. Ale na pewno można kupić takie urządzenia, to są dość tanie. Zdecydowanie lepiej je kupić niż samemu z monokryształu je tam assemblować.
Niskie zużycie energii jako kluczowa zaleta
I co chyba ważniejszą zaletą, zwłaszcza takich bonów, o których tu mówimy, do mierzenia różnych rzeczy, jest ich bardzo niskie zapotrzebowanie na energię. Tak, tak, tak. O właśnie jest też kluczowe. Aż tam światło spadło z wrażenia, dzieją się tu dziwne rzeczy. Ale okej.
Bikony i ich zasilanie
Tego typu bikony generalnie spokojnie mogą wytrzymać nawet do roku bez ładowania, a nowe bikony (na jednej baterii) potrafią nawet czerpać energię z otaczających fal elektromagnetycznych, czyli z różnych innych urządzeń. No i teoretycznie nie wymagają w ogóle ładowania. Pozwolę, że tego nie skomentuję tym razem. Pozwolę.
Sieć czujników a problem zasilania
W każdym bądź razie wtedy możemy mieć naprawdę fajne możliwości. Tak, możemy mieć taką sieć czujników, które praktycznie nie wymagają zasilania. Tak, bo to jednak jest główny problem zasilania właśnie komponentów systemu, elementów. Jeśli mamy ich bardzo dużo, to ciężko wyobrazić sobie, żebyśmy teraz latali setki na przykład (mogą iść w setki), więc nie będziemy ładować co dzień tego. Nagle kiedy trzeba wymienić 100 baterii, byśmy potrzebowali takiej siatki juterów, jak ładują rowery miejskie w nocy. Zgarniają na przyczepkę, ładują i podstawić taki kolega z koszykiem tych tutaj. Musimy, bo wytrzymują bardzo długo, więc to jest fajna raz do roku, nie? Po prostu po świętach się wymienia baterie i jest okej, na przykład, na przykład. Albo przed świętami w ogóle, albo wręcz w ogóle.
Przepływ danych w systemie
No i teraz takie, takie jedno do drugiego lubi sobie powysyłać różne sygnały. Wiemy, że tam jakieś czujniki mogą być zaszyte tutaj na tych większych urządzeniach, które pełnią już rolę takich zbieraczy danych, zwanych hubami. My możemy sobie te surowe dane, które z tych cacek są wysłane, zaraz jeszcze powiem o trybach przesyłania tych danych, w sensie chyba też potrzebujemy, możemy też powiedzieć, jak najbardziej.
Umiejscowienie bikonów i danych
Ale tak, żeby naszkicować od razu obraz z lotu ptaka, no to mamy to małe urządzenie, które gdzieś tam jest w terenie i pewnie się porusza, bo może być na przykład na opasce noszonej na nadgarstku, może być przypięte. Integrujemy je w zwykłej takiej opasce na ręcznej na przykład i tak nie robi to problemu. Nie musimy chodzić z tym w kieszeni, chociaż oczywiście też. Oczywiście jak to, to już zależy. Łatwo zgubić, no ale jeżeli możemy to gdzieś, nie wiem, w jakimś tam stroju roboczym schować, no to powiedzmy w takiej kamizelce też nie ma problemu, żeby to sobie siedziało. Wtedy pracownik musi mieć kamizelkę na przykład, będąc na terenie takiego zakładu, więc i tak ma to urządzenie wtedy na sobie.
Przetwarzanie i wysyłanie danych
Więc te urządzenia wysyłają swoje dane do tych naszych hubów, które są tymi większymi urządzeniami. One mają troszkę mocy obliczeniowej, mogą nam te surowe dane z tych urządzeń po prostu przetworzyć i mogą jeszcze to zebrane w paczki wysłać do jeszcze bardziej głównego jakiegoś takiego zbieracza danych, takiego huba, powiedzmy, który jest już tuż na skraju tego naszego świata wewnętrznego i świata zewnętrznego. No i później te dane lecą sobie gdzieś tam na jakiś serwer, na jakiś backend, coś tam się z nimi dzieje – szuruburu, rachu ciachu i trafiają do wynikowych dashboardów, jakichś analiz, raportów, czy czegokolwiek, czy triggerują, znaczy aktywują jakieś tam alarmy, nie? Tak, generalnie tak by to wyglądało i w większości pewnie przypadków tak by to chciało działać i w naszej fabryce też tak by to chciało działać, nie? No i teraz możemy o tej komunikacji tutaj.
Wyzwania komunikacji bezprzewodowej
Proszę, komunikacja. No komunikacja jest kluczowa oczywiście w tym rozwiązaniu, bo jednak musimy zapewnić stabilne… Właśnie, stabilne może nie, bo to jeden z trybów tej komunikacji nie zakłada, że to będzie w ogóle. Właśnie, to się może zapędziłem. Ta komunikacja tak naprawdę nigdy nie będzie stabilna. No bo tu bazujemy jednak na połączeniu Bluetooth i też raczej możemy operować w środowiskach, które już mają dużo zakłóceń. Fabryki, maszyny, które tam pracują, generują jakieś tam zakłócenia, więc generalnie ta komunikacja raczej nie będzie super stabilna i są elementy po prostu tłumiące. Tak, są elementy tłumiące, jakieś elementy konstrukcyjne, więc jakby tutaj też musimy w tego typu systemach zakładać, że część danych może nam ulec gdzieś tam zagubieniu, że to nie będą pełne dane, więc możemy, musimy jakby ten system uodpornić troszkę. To nie są dane co do sekundy, czy co do jednego. Tu bardziej może nam się przydać w ogóle podejście statystyczne jakieś troszkę.
Tryby komunikacji Bluetooth
Tak, standard Bluetooth umożliwia komunikację point-to-point, multipoint i jeszcze broadcast, nie? I ten point-to-point mamy wtedy, kiedy dwa urządzenia są sparowane, rozmawiają ze sobą, tylko multipoint to jest takie połączenie jeden do wielu, czyli że ktoś tam na przykład jeden nasłuchuje na wielu jakiś tam źródłach, jak na przykład mam słuchawki podłączone do telefonu i do komputera. Tak jest. A broadcast to jest właśnie to, co nas tu najbardziej będzie interesować.
Bikony w trybie broadcast
Prawda, które zbieramy na bieżąco, najszybciej wypychać właśnie w przestrzeń. I taki mały bonik on nie będzie zainteresowany jakimś tam przetwarzaniem tego, tylko po prostu co weźmie z tego czujnika, ewentualnie jakoś to zbuforuje się z żadnym urządzeniem. Tak, on tylko mówi: „Ja tu jestem i mam takie te swoje sygnały, które zbieram”, więc nie musimy oczywiście tego bikona gdzieś tam na jakimś telefonie czy jakimś urządzeniu parować czy coś takiego, bo to też byłoby niewydajne, bo byśmy musieli 100 takich zabawek połączyć z czymś tam. Więc to oczywiście odpada. W takim momencie ten, ten tutaj taki niepozorny jegomość wysyła po prostu w sieć ramki informacji, które są przechwytywane przez nasze pośrednie elementy, czyli na przykład przez takiego fajnego tutaj pana z nóżkami. Tak, dużo ma tych nóżek. To to może dużo tego. Moje słownictwo jest bardzo profesjonalne, oczywiście, daję radę.
Inne protokoły komunikacji bezprzewodowej
No więc właśnie takie surowe dane, które… Aha, ale jeszcze a propos komunikacji, to nie tylko Bluetooth oczywiście, bo jeszcze może być komunikacja bezprzewodowa inna i na przykład standard WiFi też bywa używany, tylko raczej do czegoś innego, nie? Nie do rozgłaszania w ten sposób, no bo tutaj chodzi też o względ zasilania, nie? To to głównie właśnie o to, żeby właśnie te urządzenia korzystają z technologii Bluetooth, bo ona nie wymaga aż takich mocy, jakie są wymagane na przykład przy zwykłym WiFi. Nie.
Rozmieszczenie stacji pośrednich
No i przy tam jak omawialiśmy Industry, to też wzmiankowaliśmy, że niektóre rzeczy są wpięte w jakieś okablowanie strukturalne, które tam jest i nawet dobrze, jakby tak było, bo wtedy mamy większą gwarancję, że jednak nie zgubimy tych danych, bo nam się to WiFi nie gdzieś nie zatka. No i to jest też powód, dlaczego potrzebujemy tych stacji pośrednich, prawda? Tak, tak, tak, tak, bo ciężko oczekiwać, żeby teraz taki mały bikon wysyłał nam ten sygnał na drugi koniec hali. Tak, więc my musimy mieć te stacje rozmieszczone co jakiś czas.
Rola hubów w systemie
I jakie mamy pokrycie tym sygnałem, czy mniejsze, czy większe, to tyle tych będziemy stacji potrzebować. I one też mogą pełnić rolę jakąś tam buforującą, agregującą, może nawet obrabiać już częściowo te dane, zanim trafią już gdzieś dalej. Też spowoduje fajne rozłożenie obciążenia w naszych systemach. Mieliśmy taki przypadek, gdzie rzeczywiście rozłożenie pewnych obliczeń na te elementy pośrednie spowodowało wzrost wydajności całego systemu, no bo to już nie było wtedy kierowane i wszystko nie było obliczane na jednym głównym centralnym serwerze, tylko dane już przychodziły wstępnie obrobione, przynajmniej w tym zakresie, z jakim potrafią sobie takie mniejsze urządzenia poradzić.
Moc obliczeniowa i optymalizacja danych
Tak, oczywiście tam są procesory co najmniej 32-bitowe, akurat ten ESP jest 32-bitowy, Malina zdaje się też. Także no, jest już tam jakaś moc obliczeniowa dostępna. I tak wspomniałeś tutaj, oszczędność… Może nie tyle oszczędność, co podbicie tej wydajności, zarówno na obcięciu ilości danych, jakie trzeba przepchnąć do tego głównego serwera, jak i na zapchaniu tego głównego serwera występuje, bo wtedy on nie musi już tych surowych danych przetwarzać, bo surowe dane przetwarzamy właśnie na tych tutaj kluskach mniejszych. Przetworzone dane dopiero pchamy gdzieś tam dalej, więc te stacje pośrednie, te nasze huby dobrze, jak są rozmieszczone tak, żeby właśnie być w zasięgu tych urządzeń, z których zbieramy dane. Tak, to właściwie powinno być zrobione.
Deduplikacja i protokół MQTT
Jeszcze tutaj może się zdarzyć taka sytuacja, że na przykład więcej niż jeden Hub złapie z jednego urządzenia tą samą paczkę danych, więc tutaj trzeba dobrze zaprojektować protokół tego rozgłaszania. Jakaś deduplikacja, tak, musimy tą deduplikacji. Hub jeden zbiorczy na samym końcu, który te surowe paczki, już wstępnie przetworzone, jeszcze sobie podda deduplikacji, zanim wyśle to w ogóle w świat do tego naszego AWS-a, czy gdzie tam będziemy.
Kafka i przetwarzanie danych
Zanim dojdziemy do AWS-a, to jeszcze będziemy mieli takie ustrojstwa, jak MQTT, bardziej jako taki protokół, taki lżej właśnie do komunikacji pomiędzy takimi troszkę słabszymi zabawkami, ale końcowo później oczywiście możemy bardzo prosto podpiąć sobie Kafkę. Są odpowiednie konektory, więc z tego MQTT możemy prosto sobie rzucić rzeczy na topik Kafkowo obrobić normalnymi narzędziami. Możemy więc naszym wspaniałym tutaj jakimś takim ciężkim monolitem, bo to już będzie, można powiedzieć, poza fabryki, to już będzie nasz główny serwer można powiedzieć, więc tam już mamy wyświe… To już to już wiadomo możemy stosować nasze zabawki z naszego software’owego uniwersum, tylko żeby tam dojść, no to musimy kilka tych trików zastosować i może się okazać, że tam właśnie to przetwarzanie jest wręcz kluczowe, żeby obciąć ilość danych, jakie musimy przewalić.
Zalety prostych hubów i problemy z wydajnością
No i i zaletą tego, żeby te, znaczy, dodatkową zaletą, którą tutaj warto wzmiankować, jest żeby stosować jak najprostsze te huby, bo się okazuje, że nawet taka Malina ona się potrafi zatkać, bo to jest pełnoprawny komputer de facto, ma system operacyjny i tam zachodzą przeróżne cuda. Ty może być też taki przypadek, że będziemy mieli raz na jakiś czas po prostu do z awarią typu karta pamięci nam się rozłączyła i koniec, nie? I wtedy nie wiadomo, co się dzieje, dopiero trzeba taką malinę wziąć, zdiagnozować, żeby się dowiedzieć, że „o sorry, karta nam się po prostu skończyła”. Nie, bo takie karty mają ograniczoną ilość cykli zapisu/odczytu.
Stabilność systemu i zarządzanie
Czyli tak naprawdę im prostsze urządzenie, to będzie lepiej dla naszego systemu. Przede tym lepiej. Tak. Czyli po prostu najprostsze, jakie spełnia nasze założenia. Oczywiście jak mu tu wsadzimy jakiś srogi algorytm, nie wiem, jakiegoś data mining co, no to on będzie tutaj się do czerwoności rozgrzewał, ale trzeba mu dopasowane do jego możliwości tutaj zadania wrzucić i on jest po prostu trzeba będzie Windowsa restartować. Nie trzeba nawet nie ma tego chyba tego Control-Alt-Delete. No właśnie, miejsca na te trzy klawisze. No właśnie, to są to są takie rzeczy, nad którymi może nie zastanawiamy się robiąc normalne oprogramowanie, bo zawsze możemy na serwer zrobić mu włącz, wyłącz, czy postawić nasz kontener ponownie. Natomiast tutaj jeśli albo czasami z automatu się dzieje, bo oczywiście tutaj nie mamy takiego luksusu Kubernetes wszystko dla nas robią, czy czy inne Dockery, ale tutaj no nie mamy tego luksusu, a co gorsze, no najczęściej musimy się wręcz pofatygować do fizycznie do tego miejsca, gdzie jest ten Hub czy czy inne urządzenie i musimy go odpiąć czy czy zrestartować go w inny sposób. Jeśli mamy tych urządzeń dziesiątki, setki, no to widać, że staje się to mega niewydajne. No i taki system będzie polegał tylko na tym, że będziemy chodzić w kółko i restartować komponenty, bo nam coś nie działa.
Agregacja i przetwarzanie danych
Najlepiej jak najstabilniejsze takie klocuszki mieć i wtedy mamy z głowy. Więc ich zadaniem jest agregowanie i takie wstępne przetwarzanie tych surowych danych, bo te dane z ramek takich rozgłaszanie niespecjalnie nadają, ale jak już je przetworzy, to magicznie okazuje się, że nam powstają jakieś eventy, no i wtedy siup, ślemy je przez nasze MQTT i już. Nie, i wtedy miewamy na Kafce, a jak już mamy na Kafce, to już jesteśmy w domu. To jesteśmy w domu.
Optymalizacja paczek danych dla Kafki
Tylko jest jeden taki mały trik i to ten też nam wyszło kiedyś z rozważań, że Kafka to nie lubi takich dużych paczek danych. No nie lubi. I tu przyłapaliśmy malinę trochę na takim oszukiwaniu, że Malina się potrafiła zaciąć i na przykład czekała, czekała, czekała tam na Kafce, nic się nie działo, więc wygląda, że nic się nie dzieje w systemie, aż tu nagle szła taka wielka paczka danych, a Kafka powiedziała: „O sorry, ja takiej dużej nie lubię”. I to trzeba mieć na uwadze właśnie i stąd ta sugestia, żeby tych prostszych urządzeń się trzymać, żeby one jednak w ciągłym trybie słały mniejsze paczki. One nawet nie potrafią buforować jakoś bardzo dużo, też nie zbuforują rzeczywiście, ale tak też nie mają takiej, takich możliwości pod względem pamięci po prostu. Chociaż taka Malina to jeszcze parę mega by zbuforowała. No ale te parę mega to już może być za dużo.
Ryzyko utraty danych
Parę mega to już jest za dużo, bo tak naprawdę do Kafki, znaczy, można by tą malinę też zmusić, żeby, no to kwestia po prostu softu, jaki na nią zrobimy. No to już jest kwestia ryzyka utraty danej paczki danych, bo jeśli zakładamy, że paczka może nie dotrzeć, no to jeśli będzie większy rozmiar tej paczki, no to ryzykujemy utratę bardziej. Może nie dotrzeć. Bardziej może nie dotrzeć. Po prostu bardziej Kubuś zaglądał do domku, tym bardziej Królika, tam Prosiaczka nie było, nie? Tym bardziej ta paczka do nas nie dochodzi. No dokładnie. Lepiej zrobić to mniejsze.
Analiza położenia i bezpieczeństwo pracy
I część jest słane nawet jeśli, nawet jeśli jest ryzyko, że później ze względu na kolejne etapy przetwarzania też jest łatwiej raczej przetwarzać takie mniejsze paczki niż przetrawić taką kilku megabajtową, gdzie tam jest kilkaset na przykład tysięcy takich, albo kilka tysięcy przynajmniej takich komunikatów, z których trzeba coś tam wywnioskować. No i cóż, i cóż z przyszły te paczki. No i co robimy dalej? No i na przykład mamy w tych eventach pokazane położenie, przemieszczenie tego czujnika, czyli no w domyśle człowieka razem z nim. Do czego to możemy wykorzystać? No przede wszystkim sprawdzamy, w którym miejscu aktualnie znajduje się ten człowiek, czy on tam się rusza, czy nie rusza, jak się nie rusza, to jak długo, czy już alarm robimy, czy jeszcze nie robimy, nie? Czyli tutaj wszelkie maści BHP podchodzi.
Reagowanie na zagrożenia i kontrola dostępu
Ochrona. Bo może być środowisko na tyle niebezpieczne, że jak mamy już kilka, nie wiem, sekund, kilkanaście bez ruchu, no to już możemy się zaczynać martwić, nie, że nie wiem, zatrucie jakieś nastąpiło gazami albo czymś tam, nie? Albo po prostu no, ktoś znajduje się nie w tym miejscu, gdzie powinien. Znajduje się po prostu poza tymi bezpiecznymi torami. Dlaczego się tam znajduje? Spadł może z jakiegoś podestu, czy coś go przejechało, czy czy cokolwiek. Nie, można szybciej reagować, podnosić alarmy, ratować tych naszych ludzi. Możemy też kontrolować dostęp do poszczególnych stref za pomocą czegoś takiego.
Nawigacja i lokalizacja
Czyli po prostu no wiemy, że że nam nieuprawniony człowiek nie wejdzie, no to to akurat pod BHP średnio, ale takie BHP firmy jako takiej to już bardziej, nie? Że na przykład ktoś, ale nawet powiedzmy dając ludziom przy w jakiś tam ich obszarach na takiej jednej wielkiej hali dostępu, no to wiemy, że nam się nie przemieszczają gdzieś tam niepotrzebnie, bo mogą na przykład właśnie wpłynąć na bezpieczeństwo tego kolejnego obszaru gdzieś tam, nie? Czy tam jakiegoś procesu, czy może wręcz nawet otwierać pewne obszary, pewne drzwi i tego typu czujników. Więc tutaj dochodzimy już trochę do takiej nawigacji po tym obszarze.
Triangulacja i lokalizacja w zakładzie
A jeszcze jest taki fajny feature tych urządzeń, że one potrafią powiedzieć, jak daleko są od czujnika. Czyli na przykład, mając taką siatkę tych hubów, które łapią z nich te sygnały, możemy dokonać triangulacji takiegoż naszego cacka. Więc z grubsza możemy robić takiego małego GPS-a w miarę możliwości po tym naszym całym fabrycznym GPS-zakładzie. Tak. Czyli nie to, że wiemy, że ten, ten tutaj został złapany przez ten, ten B złapany przez nasz Hub numer 31, no to wiemy, że przy tym hubie jest ten, ten nasz ziomeczek, nie? On może być gdzieś pomiędzy 31, 32, 29 i 28, nie? I my możemy z pewnym prawdopodobieństwem nawet się dowiedzieć, w którym miejscu jest.
Dalsze przetwarzanie i wizualizacja danych
No i te dane lecą sobie tam w świat. Sobie lecą. Tak. I i co? I trafiają na na tą naszą przetwarzaną AWS albo takową. No i tutaj tak naprawdę co jesteśmy w stanie z tych danych wyciągnąć, to już no jesteśmy w stanie wyciągnąć wiele. To jest kwestia tego, którymi danymi jesteśmy najbardziej zainteresowani, czy może da się tam zaprząc jakieś mechanizmy Machine Learningu czy innej sztucznej inteligencji, żeby jakieś wzorce wypatrzeć? No tutaj no już jest spore pole do manewru. No bo tych danych będzie na pewno dużo. To nie jest też coś, co jesteśmy w stanie tak gołym okiem od razu na pierwszy rzut oka. Może łatwo przetworzyć, pewnie te najprostsze rzeczy, właśnie jak fakt, czy bikon rusza się, czy nie rusza, no to pewnie tak, ale jakieś bardziej skomplikowane procesy pewnie będzie, pewnie będzie trudniej.
Zastosowania biznesowe i statystyki
No i tak naprawdę kwestia tego, co zrobimy z tymi danymi, też w jaki sposób to pokażemy. No pewnie tutaj jakieś metody wizualizacji, jakieś dashboardy, jakieś jakieś może KPI czy inne statystyki, które chcemy generować na podstawie tych danych. No to już jakby po stronie takiej aplikacji biznesowej można powiedzieć. No to te możliwości już mamy dość duże. No tutaj możemy sobie w naszej aplikacji uruchomić, co jakby przeliczyć to to, jak chcemy tak naprawdę. Więc no daje to na pewno spore możliwości.
Trendy i lokalizacja narzędzi
Tak. No jest uzależnione oczywiście od tego, co co faktycznie potrzebujemy w tej naszej domenie, nie? Czyli to to, od czego zaczynaliśmy w ogóle rozważania, jakiego rodzaju dane zbieramy i najczęściej są to dane właśnie o jakimś tam położeniu, przemieszczeniu, ale wszelkiej maści statystyki, jakieś z tych parametrów po to, żeby znaleźć jakieś trendy na przykład w używalności tego całego na przykład toru produkcyjnego, czy czy czego, cokolwiek tam mierzymy. Czy na przykład gdzie zostawiłem swoje narzędzie, które do klasy 13, tak? Gdzie jest mój klucz 13? Zawsze zawsze zostawiałem go w tym miejscu, a teraz nie wiem, gdzie jest. No, no pewnie do mniejszych narzędzi to może nie, ale może gdzieś są jakieś tego typu zasoby, które potrzebują, że tak powiem, łatwego znalezienia, a są, powiedzmy, przemieszczane regularnie, więc możemy sobie łatwo to to śledzić i trakowac, właśnie po prostu nie tylko człowiek, ale na przykład takie elementy ruchome na przykład na tej taśmie produkcyjnej też mogą być mierzone, nie?
Automatyzacja linii produkcyjnych
Czyli my na przykład możemy sobie zechcieć zautomatyzować pomiary dostarczania półproduktów czy czy zasobów do do naszej linii montażowej, do kolejnego jakiegoś etapu. Do kolejnego etapu, tak. Czyli po prostu te bikony nie będą wtedy na pracownikach, tylko będą na tych pojemnikach, które na przykład jadą przez przez te linie transmisyjne, czy tam, czy w jakiś tych przez jakieś podajniki są przemieszczane. Można sobie zmierzyć na przykład czas pomiędzy przejściem od jednego etapu do drugiego.
Just In Time i Factorio w rzeczywistości
De facto mieliśmy nawet takie zapytanie na temat takiego systemu. Kiedyś rozważaliśmy takie fajne zagadnienie, żeby właśnie zautomatyzować takie linie produkcyjne, czyli wręcz nie tylko pomierzyć, w jaki sposób się rzeczy przemieszczają pomiędzy takimi, albo po linii, albo pomiędzy liniami, jak te linie są zasilane w poszczególne komponenty, czy nie brakuje jakichś surowców na danej linii, żeby już dostarczyć zapasy, pobawić trochę tym problemem plecakowym i na przykład właśnie zoptymalizować zarządzanie czymś takim, nie? Czyli żeby te węzły wydające te zasoby, żeby wiedziały, co i kiedy komu wydać i gdzie to ma pojechać. Znaczy żeby te zasoby wiedziały, gdzie mają jechać. Czy takie klasyczne produkcyjne problemy. Problem właśnie tak zwanego just in time. To żeby rzeczy się nie marnowały, żeby były dostarczane wtedy, kiedy są potrzebne. Factor tak, takie trochę Factorio. Fajnie by było takie Factorio w końcu zrobić w rzeczywistości. Rzeczywistość. I to właśnie do tego można wykorzystać tego typu podejście.
Ograniczenia technologii i wyobraźni
Tak. Więc cóż, no ogranicza nas wyobraźnia, no i ten sprzęt. No właśnie, przy obecnej technologii sprzęt już nas tak bardzo nawet nie ogranicza. To jest to jest. To jest bardzo ciekawe tak naprawdę.
Potencjał IoT
No bo kiedy rzeczywiście no ciężko było sobie wyobrazić, że tego typu małe elementy mogą już się komunikować, mogą bez baterii długo działać, mogą wykonywać jakieś obliczenia. Najczęściej mieliśmy do czynienia, no okej, laptopy to jest jedna rzecz, może jakieś mniejsze takie poręczne komputerki przenośne, no ale to wciąż nie był ten, nie był ten taki zupełnie bardzo mobilny, bardzo, bardzo przenośny element. No a teraz no już takie Internet of Things, szumnie zwane, szumnie zwane właśnie bikony, jakieś mniejsze urządzenia, które sobie możemy w łatwy sposób skomponować w takich systemach, no to dają naprawdę spore możliwości manewru. Tak, w tego typu rozwiązaniach.
Umiejętności i doświadczenie w zarządzaniu systemem
Więc no i właśnie wyobraźnia. Tak. Wyobraźnia i no i trochę jeszcze umiejętności i doświadczenia, bo bo tutaj jak mamy, powiedzmy, w dziesiątkach lub w setkach takich ruchomych elementów, takich węzłów sieci, no to musimy odpowiednio nimi też pozarządzać. Zarówno od strony oprogramowania, jak i całego projektu, musimy je sprytnie rozmieścić i skomunikować ze sobą.
Mamy tu do czynienia z systemem zupełnie rozproszonym, czasem z bardzo dużą ilością węzłów, z których mogą płynąć różnego rodzaju zakłócenia. Możemy na przykład gubić ramki danych. Wyobraźmy sobie, że nasz cudowny ESP się przytkał, bo ma jedną nóżkę bardziej akurat dzisiaj, więc dzisiaj mu gorzej idzie. Coś tam szwankuje, coś tam nie dochodzi, gdzieś tam ramki się gubią.
Kolejność danych i deduplikacja
Choćby ta deduplikacja – to też nie jest takie oczywiste. Kolejność danych w ogóle może mieć znaczenie. Mogą się zbuforować w niewłaściwej kolejności, a jeszcze jak przyjdą na ten węzeł grupujący w różnych paczkach i w różnej kolejności, to musimy mieć sposób na zidentyfikowanie ich, być może jakimś znacznikiem czasowym, być może jakimś znacznikiem wersji. Zależnie od tego, jakiego rodzaju software chcemy i możemy wsadzić na te poszczególne klocuszki, tak będziemy starali się dopasować nasze algorytmy, żeby jak najlepiej sobie z tym radziły.
Odporność na błędy i wydajność
Dobrze też, jak te algorytmy – te „najgrubsze” – na już tam, na tych naszych Kawkach, potrafią jeszcze coś tam sobie wyłuskać, że są też jakoś tam odporne na te błędy. Generalnie te dane płyną w takiej ilości, że musimy mieć wydajność później, bo pojedynczy klocek po prostu mówi: „Ja mam tak” i mówi tak na przykład 10 razy na sekundę: „Tu jestem i mam takie parametry, dzięki”. I tych parametrów jest o tyle tam ledwo n-rzędnych, ale takich klocków jak mamy 100, no to już mamy razy 100 to wszystko zduplikowane często, czyli razy kilkaset w ogóle. I tych danych się nam na końcu robi w gigabajtach.
Implementacja i algorytmy analizy
Później już faktycznie jakieś sprytniejsze algorytmy analizy będą nieodzowne. No ale to wszystko da się zrobić. To są szczegóły implementacyjne, jak to, jak to, jak to lubimy mówić. Oczywiście w tych szczegółach wszystko, ale wiadomo, tu już jest kwestia software’u, więc możemy sobie to dowolnie kształtować.
Korzyści i realne zastosowania
A dodatkową korzyścią z takich projektów jest to, że możemy dotknąć tego świata zewnętrznego, nie? Tak, na przykład możemy zechcieć, albo możemy w ogóle dostać zaproszenie, żeby wybrać się na takie pastwisko, gdzie akurat stado krów jest monitorowane i sobie zobaczyć, jak to tam w naturze się dzieje. No tak. A to wcale tego nie wymyślamy, to są rzeczywiste przypadki użycia, więc tak zetknęliśmy się. Niech się tutaj nikt nie zdziwi, że „co oni gadają, jakie krowy, jakie bikony, krowy nie mogą dzisiaj być w internetach”. Przecież to jest normalny przypadek użycia. Normalny, najbardziej normalny.
Rolnicy i debugowanie
Normalny. No nie wszyscy rolnicy chcą sobie swoje stada monitorować, ale zdarzają się takie przypadki i właśnie mieliśmy przyjemność kiedyś przy czymś takim popracować. No i oczywiście, miłych rzeczach, gdzie trzeba czasem pogłówkować, gdzie tkwi problem, jak się debuguje.
Zaproszenie do współpracy
Dobra, ktoś miał jakiś pomysł na to, to chętnie zapraszamy. Dokładnie. Jeśli ktoś miałby jakiś fajny przypadek użycia, zawsze możemy gdzieś takiego małego bikona zainstalować, zalać, zobaczyć, co z tego da się zrobić. Są możliwości i programowania, więc nie ma tutaj żadnego problemu.
Podsumowanie i przyszłe plany
Dobra, to chyba tyle. Taka skrócona wersja. Oczywiście tutaj tematów pewnie technicznych i takich biznesowych jest więcej i też przypadków użycia, zastosowań w tego typu systemach. Ale to pewnie dziś może poopowiadam sobie o tym jeszcze w następnych odcinkach towarzyszących. Może zastanowimy się nad innymi branżami, w których również tego typu rzeczy lub podobne.
Dotykanie rzeczywistości
Także no, temat jest naprawdę bardzo ciekawy. Zawsze zawsze, tak jak mówisz, przyjemnie jest dotknąć czegoś bardziej namacalnego niż tylko i wyłącznie ten nasz kod, który jest… Klawiatura. No tak, klawiatura zawsze jest, ale ale kodzik i cała reszta jest trochę abstrakcyjna i wirtualna, więc fajnie troszkę troszkę zrobić coś bardziej sprzętowego. Także chyba tyle.
Zachęta do interakcji
OK, to ten ja tam poszukam jakiś making of z drugiej części, nie? Czy już się i będzie można kontynuować recenzję? I na pewno do usłyszenia. Dobra, dzięki za dzisiaj! Zachęcamy do zostawiania komentarzy, łapek w górę, co tam się jeszcze robi na tych internetach – dzwoneczki, dzwoneczki. Tak, tak, tak. Nie trzeba nas oczywiście wspierać. Nie trzeba żadnych tutaj patronów. Wystarczy tylko kliknąć i to wszystko. Więcej nie trzeba. Także dzięki. Do następnego odcinka. Cześć!