Od jakiegoś czasu w celu dostarczania plików do Atari obserwuję odejście od SIO2PC w kierunku różnorakich napędów, w których rolę magazynu danych pełni karta SD. Korzyści są oczywiste. Nie potrzeba PC, ani kapryśnych sterowników USB, ani specjalnego software'u. Jeśli chcemy wgrywać pliki, to wrzucamy je na kartę i możemy je załadować o wiele szybciej niż przez SIO2PC. Jest tylko jeden scenariusz, w którym takie rozwiązanie nie jest wygodne - gdy tworzymy coś, co chcemy na bieżąco odpalać na Atari. Żonglowanie kartami SD na dłuższą metę jest frustrujące i ładowanie plików po kablu wydaje się być koniecznością bez sensownych alternatyw.
Nie wiem ilu atarowców szukało jakichś alternatyw i ilu znalazło to co ja, ale pomyślałem że opiszę co znalazłem i przetestowałem. A dział programowanie - bo z programowaniem najwięcej wspólnego ma konieczność sprawdzania na Atari coraz to nowszych wersji plików.
Ktoś gdzieś kiedyś wymyślił, że fajnie byłoby jakby dało się zgrywać zdjęcia, jakie cykamy w naszej lustrzance, bezpośrednio na komórkę, czy komputer bez wyciągania karty SD z aparatu i wpadł na pomysł, aby taka karta serwowała połączenie Wi-Fi. Pojawiło się kilka konkurencyjnych rozwiązań oferujących taką usługę. Nas to wciąż nie urządza, gdyż my potrzebujemy transfer w drugą stronę, a dodatkowo raczej nie chodzi nam, aby łączyć komputer z siecią serwowaną przez kartę SD, tylko aby to karta łączyła się do istniejącej sieci. Robiąc research znalazłem jedno rozwiązanie spełniające te warunki, więc zaryzykowałem kupna, sprawdziłem i zadziałało.
Taką kartą jest karta TOSHIBA z rodziny FlashAir. Jest kilka generacji, różne rozmiary, ale nas to nie musi interesować, gdyż nawet najstarsza i podstawowa wersja ma to co potrzebujemy.
Nie będę tu wchodził w szczegóły, które każdy może wyszukać sam, więc opiszę tylko interesujący scenariusz.
Zawartość karty można wyczyścić, ważne, aby był na niej (ukryty) folder SD_WLAN z plikiem CONFIG, a minimalna działająca konfiguracja może wyglądać tak:
[Vendor]
APPMODE=5
APPSSID=ssid naszej sieci
APPNETWORKKEY=hasło naszej sieci
UPLOAD=1
Dzięki takiej konfiguracja karta zamiast tworzyć własną, łączy się do istniejącej sieci o podanym SSID oraz haśle (hasło się w pliku samo gwiazdkuje po pierwszym zaczytaniu konfiguracji) oraz zezwalamy na upload plików. Karta potrzebuje jakoś 15 sekund na połączenie się z siecią po uruchomieniu.
A sam upload jest trywialny, jeśli już wiemy jak to zrobić.
curl ip_naszej_karty/upload.cgi -F file=@nazwa_pliku_do_wgrania
Wynikiem takiej operacji jest HTML z tekstem "Success" albo sam napis "NG" (nie mam z tym nic wspólnego i zakładam, że to raczej skrót od "Not Good", a nie "New Generation").
Przy testowaniu nie należy zwieść się faktem, że jeżeli włożymy kartę do czytnika i wgramy plik przez WiFi, to on się nie pojawia na liście plików. Ona nie jest uaktualniana. Trzeba wyjąć kartę i włożyć, żeby się zaczytała. Przynajmniej tak mam na Windowsie i długo myślałem, że coś jest nie tak. Mój ULTIMATE CART widzi plik natychmiast po wgraniu.
Jedna dodatkowa opcja, o której warto wspomnieć to usuwanie plików. A robi się ją komendą:
curl ip_naszej_karty/upload.cgi?DEL=nazwa_pliku_do_usunięcia
Tak jak pisałem karta opcji ma więcej (jakieś nowsze modele nawet pozwalają na odpalanie jakiś skryptów LUA).
Mam w związku z tym pytanie: czy ktoś inny badał już temat i czy np. ma informacje, czy karty innych producentów też pozwalają na zdalne wgrywanie plików? Ja czytając opisy i dokumentacje znalazłem taką opcję tylko we FlashAir. Kwestia może być zasadna z takiego powodu, że TOSHIBA wydaje się już ich nie produkować, bo od jakiegoś czasu dostępne są tylko z drugiej ręki. Póki co cena jest jeszcze akceptowalna, ale nie wiem jak to będzie w przyszłości. Są za to majfriendowe karty SD z Wifi, ale w dostępnych dokumentach znalazłem tylko standardowy scenariusz pobierania zdjęć z karty, a nie wgrywania zawartości na kartę. Przez niezaniedbywalną cenę nie zdecydowałem się sprawdzać ich na sapera.