Upload Wi-Fi > SD - prototyp urządzenia

Czyli co i jak podłączyć żeby działało
etet100
Postów w temacie: 10
Posty: 239
Rejestracja: 15 gru 2017, 15:15
x 34

Upload Wi-Fi > SD - prototyp urządzenia

Post autor: etet100 »

Wiem, że ostatnio modne są klippery, i sam używam go w dwóch drukarkach, ale w jednej postanowiłem jednak pozostać przy Marlinie. Jednak nigdy nie interesowało mnie przekładanie kart pamięci. Być może pojawiło się już coś nowszego, ale rozwiązania, na które trafiłem, były bardzo wolne. Postanowiłem więc zebrać kilka zalegających modułów i spróbować zrobić coś własnego. Po wstępnych testach byłem nawet zadowolony - 2,5 MB/s transferu przez wifi jest więcej niż zadowalające. Zapis na SD niestety już gorzej, ale 1-1,5 MB to i tak dobrze. Niestety, po złożeniu tego w działający prototyp, chwilowo jest dużo gorzej, ale jeszcze będę analizował, czemu tak się dzieje i co mogę zrobić, aby osiągnąć te 1-1,2 MB.

Arduino MEGA 2560 pełni u mnie rolę drukarki, a najtańszy moduł ESP32 jest serwerem plików. Karta działa w trybie współdzielonym - żeby serwer mógł coś zapisać, musi odłączyć ją od marlina i przejąć jej kontrolę. Komunikacja odbywa się w trybie emulacji Octoprinta. Jest to element, który można zoptymalizować - może któryś z innych protokołów będzie lepszy. Przeprowadzałem też eksperymenty z kompresją za pomocą zlib. Efekt był dobry (np. 3 razy mniejszy plik niż oryginał), ale trochę utrudnia to integrację ze slicerami.

To na razie tyle.
IMG_20230417_205237.jpg
IMG_20230417_205228.jpg
IMG_20230417_205223.jpg
https://youtu.be/RElMRNEUb4Q
Awatar użytkownika
arek
Postów w temacie: 3
Posty: 183
Rejestracja: 27 kwie 2016, 13:45
Lokalizacja: PL
x 59

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: arek »

Są takie gotowe adaptery kart sd z wifi. Zwie się to FYSETC SD-WIFI (aliexpress) - ale faktycznie to dość powolne było (w porównaniu do twoich próbnych 2.5MB/s).

Jak się ma raspberry pi to jest rozwiązanie "kablowe" pomiędzy rpi, a drukarką, a oczywiście wifi jest do raspberry pi. Niestety adapter drogi. Daje 10MB/s. https://plugins.octoprint.org/plugins/sdwire/. Działa też prosto ze slicera (zarówno upload jak i upload & print) - sam druk idzie z karty sd oczywiście (na którą trafia uploadowany plik).

Edit: z gotowców jest jeszcze fiberpunk node (https://fiber-punk.com/collections/all) i plugin https://github.com/jneilliii/OctoPrint-FiberpunkNode (nie używałem ani sprzętu ani plugina więc nie wiem jak tam z prędkością)
Ostatnio zmieniony 17 kwie 2023, 22:44 przez arek, łącznie zmieniany 1 raz.
etet100
Postów w temacie: 10
Posty: 239
Rejestracja: 15 gru 2017, 15:15
x 34

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: etet100 »

Ten sdwire to na oko jakiś emulator karty. Też myślałem żeby to realizować na podobnej zasadzie. Ale to już zabawa na więcej niż kilka dni.
Awatar użytkownika
arek
Postów w temacie: 3
Posty: 183
Rejestracja: 27 kwie 2016, 13:45
Lokalizacja: PL
x 59

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: arek »

To nie emulator karty. Wkładasz normalną kartę microsd tam.

To "przełącznik" przepinający kartę pomiędzy usb (wtedy karta Ci się pojawia na komputerze, np. raspberry pi, jako usb storage), a pomiędzy drukarką (wtedy drukarka widzi jako normalną kartę). Przełącznik sterowany z komputera, tym samym kablem usb.

Jako, że usb storage to jest szybko - owe 10MB/s przy zapisie.
Andrzej_W
etet100
Postów w temacie: 10
Posty: 239
Rejestracja: 15 gru 2017, 15:15
x 34

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: etet100 »

Masz rację. Nie oglądałem tego od drugiej strony.
Awatar użytkownika
arkomania.pl
Postów w temacie: 1
Posty: 832
Rejestracja: 10 mar 2017, 13:08
Lokalizacja: RADOM
x 373

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: arkomania.pl »

Hejka.

Po obejrzeniu filmiku i wstępnych wyliczeniach zaobserwowanej transmisji widać, że łącze szeregowe
ustawione na 250000kbps nie jest tu gardłem ograniczającym transmisję.
Mam pytanie, czy gardłem nie jest tu prędkość zapisu na kartę SD podłączoną do modułu ESP.
Kartę SD można do ESP32 podłączyć na dwa sposoby.
Jeden ze sposobów jest znacznie szybszy, bo używa 4 linie data (HS2_DATA0...HS2_DATA3)


Tak jest na przykład na modułach Thinker ESP32-CAM z czytnikiem kart SD.
Można zrobić to również na tzw. piechotę.

https://randomnerdtutorials.com/esp32-c ... er-pinout/


źródło: https://www.youtube.com/watch?v=e1xOgZsnAuw

Napisz krótki program na ESP32, który tworzy plik np. 20MB pamięci i zmierz prędkość zapisu.
To bardzo prosty sposób.
Pozdrawiam Arek G. arkomania
etet100
Postów w temacie: 10
Posty: 239
Rejestracja: 15 gru 2017, 15:15
x 34

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: etet100 »

Tam nie ma żadnego łącza szeregowego. Jednym wąskim gardłem jest niespecjalnie stabilne wifi w tym module (może zewnętrzna antena by pomogła ale się nie da), drugim zapis na SD, trzecim dekodowanie danych przychodzących po http, czwartym kilka dodatkowych zadań które mogą być napisane nieoptymalnie. Ten film akurat znam.
arkomania.pl pisze: 17 kwie 2023, 22:57Napisz krótki program na ESP32, który tworzy plik np. 20MB pamięci i zmierz prędkość zapisu.
To bardzo prosty sposób.
To pierwsze co zrobiłem a o wynikach gdzieś tam wspomniałem. Choć 4 bitowego tryb z pewnych względów nie brałem pod uwagę. Nawiasem mówiąc, on też to zdaje się podsumował słowami "czy wzrost prędkości warty jest dodatkowych pinów? chyba nie..."
Awatar użytkownika
arek
Postów w temacie: 3
Posty: 183
Rejestracja: 27 kwie 2016, 13:45
Lokalizacja: PL
x 59

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: arek »

Jeszcze oftopicowo o fysetc jak się chce ktoś pobawić.

Swego czasu był pomysł by to tanie FYSETC SD-WIFI przerobić tak by działało na tej samej zasadzie jak sdwire. Była by tania alternatywa do drogiego sdwire.

Fysetc też ma tryb usb-storage... ale nie ma możliwości sterowania przełączaniem (inaczej niż fizycznym przełącznikiem). Chipy tam siedzące (z tego co szukałem) takiej opcji zwyczajnie nie mają - https://github.com/FYSETC/FYSETC-SD-WIF ... 20V2.0.pdf .

Można by stworzyć wynalazek typu drugi kabelek usb (albo huba usb dorzucić), wpiąć np. RP2040 jako urządzenie klienckie usb do komputera (w circuitpython zdaje się jest to dość proste). RP2040 przyjmowało by polecenia z komputera i przełączało fysetc'a pomiędzy trybem czytnika usb kart sd, a normalną pracą (czyli zamiast fizycznego przełącznika).

Albo ... prosto FYSETCa pod GPIO raspberry pi.

Efekt działało by jak sdwire, a koszt 4x niższy. (Haczyk - nie patrzyłem ile wyciąga fysetc jako czytnik kart sd).
mpk
Postów w temacie: 2
Posty: 358
Rejestracja: 27 lis 2019, 00:01
x 100

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: mpk »

może zewnętrzna antena by pomogła ale się nie da
Dać to się da, ale nie warto. 2.5MB/s, czyli 20Mbit, czyli max co wyciągniesz z esp32
Awatar użytkownika
Adinfo
Drukarz
Postów w temacie: 1
Posty: 1096
Rejestracja: 15 lis 2018, 12:54
Lokalizacja: śląsk
Drukarka: 2xDelta, MD-16, X1
x 248
Kontakt:

Re: Upload Wi-Fi > SD - prototyp urządzenia

Post autor: Adinfo »

@GUTEK@ wspominał, że kupił i mu leżą te moduły gotowe, zapytaj go. Ja też ich używam i nie jest tak źle, oczywiście zależy to od zasięgu i odległości od Routera oraz od mocy zasilacza - u mnie dopiero działają stabilnie po podłączeniu dodatkowo przez gniazdo microUSB zasilacza albo z drukarki.
Anycubic Delta Linear Plus
Prusa i3 Beer 0% Upgrade viewtopic.php?f=34&t=6395&p=106894#p106887
ODPOWIEDZ

Wróć do „Elektronika sterująca, wyświetlacze”