Czy dodzwoniłem się do internetu?
Prowadzący: Jacek Horecki
Zaprogramuj własny modem oparty o sygnały dźwiękowe
Due to Coronavirus threat, all TCP traffic is converted into UDP one to avoid handshakes.
Some Three Letter Org
Opis
Zanim powstanie piękna strona internetowa wykorzystująca wszystkie featury HTML5, zanim pakiety TCP dolecą do ciebie z drugiego końca globu, do rozwiązania mamy jedno zaskakująco ciekawe pytanie - jak połączyć dwa komputery, i umożliwić im wysyłanie danych między sobą? Jak to jest, że pomimo tego, że tak wielu różnych wytwórców zajmuje sie produkcją sprzętu, urządzenia te są w stanie się dogadać?
Fakt, że w praktyce do celów przesyłu informacji używamy bardzo zróżnicowanych złącz (od USB, przez PCIe aż po cinche), a nawet różnych mediów fizycznych, oznacza, że zagadnienie to jest głębokie, a brak jest (na chwilę obecną) jednego rozwiązania. My spróbujemy ograniczyć się do absolutnego minimum, a jednak zaimplementowac działający, istniejący protokół, jakim jest Ethernet. Do tego celu posłużymy się również najprostszym do zrozumienia i użycia typem nośnika - falami dźwiękowymi.
W trakcie warsztatów zastanowimy się nad podstawowymi problemami związanymi z transmisją danych: negocjacją połączenia, odczytem transmisji, sprawdzaniem jej poprawności. Zaimplementujemy działający modem dźwiękowy, a następnie spróbujemy przesłać dane pomiędzy różnymi komputerami. Na koniec, spróbujemy wykręcić prędkość takiego łącza, i zobaczymy, do czego zdolne są wasze karty dźwiękowe.
Wymagania
Przed uczestnictwem w warsztatach warto posiąść następujące umiejętności:
- Przynajmniej podstawowa znajomość GNU/linuxa - na tym (i tylko na tym) systemie będą działały przygotowane przez nas rozwiązania
- Podstawowa znajomość pythona w tym:
- Numpy
- Środowiska wirtualne (venv)
- Posiadania względnie aktualnej wersji pythona (min 3.8)
- Wiedzę z zadań kwalifikacyjnych
Potrzebny sprzęt
Do przygotowania modemu potrzebne będą:
- Komputer z funkcjonalnym gniazdem słuchawek jack 3.5mm
- Tenże komputer z działającym systemem GNU/Linux
- W wypadku braku GNU/linuxa na komputerze, działający 8+GB pendrive gotowy do sformatowania i użycia w lepszej sprawie.
W razie jakichkolwiek pytań, można pisać na janczar.knurek.www2022@gmail.com