Komunkiacja drukarki po Ethernet (LAN)

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
mcxmcx
Drukarz
Postów w temacie: 3
Posty: 2456
Rejestracja: 09 kwie 2017, 21:32
x 306

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: mcxmcx »

Jak robisz w robo to nic nie potrzebujesz cudować, poza duetem.

Kazdy duet z ethetnetem idzie.

I mie pojdziesz po taniości z konwerterem, chyba ze potrafiez poprawic postprocesor.
Jeżeli przypadkiem podam ceny w GBP to sobie kolego, koleżanko, pomnóż razy pięć.
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

cena duetu powala Ma być tanio Coś wymyśle
Awatar użytkownika
majek
Drukarz
Postów w temacie: 1
Posty: 769
Rejestracja: 28 gru 2020, 18:17
Drukarka: EZT-3D T1, vn-corexy
x 441

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: majek »

Tanio, to sobie po wifi zrób mostek na ESP. Takie czasy, że teraz taniej zrobić komunikację po wifi niż kablu.
Mati
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

konradsdev1 pisze:Do takiego rozwiązania najprościej będzie użyć gotowego modułu UART Ethernet np. https://kamami.pl/moduly-sieciowe-ether ... ernet.html
Jeśli chodzi o modyfikację Marlina to kiedyś dodałem obsługę modułu WIZnet W5500 po SPI ale na płycie z procesorem STM32F4.
Wymagało to dodania biblioteki z obsługą stosu TCP/IP oraz własnej klasy MarlinSerial.

Lepszym rozwiązaniem jest gotowy moduł UART Ethernet bo nie obciąża dodatkowo procesora i nie zwiększa wymaganej pamięci flash.
Kolego konradsdev1 idę Twoją drogą. Możesz powiedzieć coś więcej na temat własnej klasy MarlinSerial ?
Może masz swój projekt i będziesz tak miły i udostępnisz ?
W pliku konfiguracyjnym Configuration.h jest #define SERIAL_PORT 0 Czy tutaj nie definiujemy z jakiego portu chcemy mieć komunikację ?
Awatar użytkownika
ppiszc
Postów w temacie: 3
Posty: 17
Rejestracja: 25 kwie 2021, 17:54
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: ppiszc »

Uzywajac Atmega + jakis ethernet kontroller:

na W5500:
https://github.com/stepansnigirev/Ardui ... ToEthernet


na ENC28J60:
https://github.com/ethersex/ethersex
(szukaj yport)

Ogolnie jak chcesz modyfikowac Marlina to musisz dorzucic (napisac?) jakis net stack i w sumie uzywajac udp to jest stosunkowo proste,
tylko czy skorka warta jest wyprawki?
No i pytanie czy jest jeszcze miejsce we flashu kontrolera (Marlin troche miejsca zajmuje).
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

ok Ten net stack to network stack >> stos sieciowy ? Czy to po prostu program obsługujący interfejs LAN ?
Czy ten program piszemy np pod Arduino IDE np w folderze Marlin tworząc nowy program > ?
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 8
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: dziobu »

A dlaczego nie kupisz gotowca?
Np takie coś: https://www.gotronik.pl/konwerter-rs232 ... -8770.html

Na Windowsie pojawia Ci się wirtualny port szeregowy. Sprzęt podpinasz do drukarki. Z punktu widzenia komputera to drukarka jest podpięta bezpośrednio do PC, a obsługę portu szeregowego chyba masz opanowaną.

Nie wiem czy płyta którą masz ma RS232 czy samego TTLa musisz gdzieś wyciągnąć - konwertery ETH-TTL są tańsze.


W innym temacie nie jesteś w stanie skompilować Marlina, tu dopytujesz jak w Arduino utworzyć nowy program (???). Będę szczery - nie napiszesz tego. Zwłaszcza robienie tego na AVRa to poroniony pomysł (ale masz jak chcesz: https://code.google.com/archive/p/lwip-avr/).
Wrzuć coś co działa i w czym nie trzeba grzebać i rób dalej swój projekt.
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

Nie wiem czy płyta którą masz ma RS232 czy samego TTLa musisz gdzieś wyciągnąć - konwertery ETH-TTL są tańsze.
Każda płyta ma proca a nim masz porty i możesz sobie bez problemu napisać obsługę konwertera LAN Z tym nie ma problemu Działam w c++, python czy Arduino Kwestą jest przekierowanie transmisji do Marlina

PS co do konfiguracji Marlina to już to ogarnąłem - jest dość specyficzny. Zamieszczona wersja na błąd i to wszystko
Awatar użytkownika
ppiszc
Postów w temacie: 3
Posty: 17
Rejestracja: 25 kwie 2021, 17:54
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: ppiszc »

robo1973 pisze:ok Ten net stack to network stack >> stos sieciowy ? Czy to po prostu program obsługujący interfejs LAN ?
Czy ten program piszemy np pod Arduino IDE np w folderze Marlin tworząc nowy program > ?
Kup jakiegos gotowca - bedzie prosciej.
Awatar użytkownika
konradsdev1
Postów w temacie: 5
Posty: 434
Rejestracja: 30 wrz 2020, 16:55
Lokalizacja: Warszawa
Drukarka: VORON 0
x 165

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: konradsdev1 »

robo1973 pisze:Każda płyta ma proca a nim masz porty i możesz sobie bez problemu napisać obsługę konwertera LAN Z tym nie ma problemu Działam w c++, python czy Arduino Kwestą jest przekierowanie transmisji do Marlina
Najpierw sprawdź ile teraz zajmuje firmware.bin bo ten procek ma tylko 128kB pamięci flash i może nie starczyć miejsca na dodanie kodu.

Mój projekt dużo Ci nie pomoże bo był zrobiony pod CMake i korzysta z funkcji STM32 HAL do obsługi SPI oraz GPIO.
Korzystałem z biblioteki ioLibrary_Driver - https://github.com/Wiznet/ioLibrary_Driver, posiada obsługę TCP, wystarczy zdefiniować funkcje do komunikacji po SPI.
Zobacz też bibliotekę Ethernet2 która także obsługuje W5500 - https://www.arduino.cc/reference/en/libraries/ethernet2.

Jeśli chodzi o transmisję danych do Marlinia to musisz zrobić kopię klasy MarlinSerial z pliku Marlin\src\HAL\AVR\MarlinSerial.cpp.
Zmień nazwę klasy na MarlinSerialEth i napisz od nowa funkcje które obsługują UART czyli begin(), read(), write(), available() tak aby komunikowały się przez socket na danym porcie.
W pliku HAL.h zdefiniuj

Kod: Zaznacz cały

 #define MYSERIAL1 SerialEth
Tak jak koledzy polecam rozwiązanie z wykorzystaniem modułu UART <--> Ethernet.
"Everybody needs a hobby" (Tony Stark).
VORON V0.2 (BTT SKR Pico + RPi 4B + Phaetus x Voron Dragon Hotend ST)
DIY MK4 + VORON Stealthburner (BTT SKR PRO V1.1 + RPi Zero 2 W)
ODPOWIEDZ

Wróć do „Firmware'y i hosty”