Znaleziono 9 wyników

autor: tuxcnc
02 wrz 2020, 19:37
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

Znowu wywaliło mi stary post kiedy dodawałem nowy (przycisku <edytuj> już nie było) ...
To zaczyna być irytujące ...

Było o tym że znalazłem następujący kod, ale nie zagłębiałem się w niego.
https://github.com/koppi/mk/blob/master ... 1-mqtt.ino
https://github.com/koppi/mk/blob/master ... 01-mqtt.py

Dodane 1 godzina 15 minuty 53 sekundy:
Ktoś kiedyś pytał jak to zrobić, żeby sikać chłodziwem np. przez sekundę a potem trzy sekundy przerwy i znowu siknąć ...
Plik sikacz.ino, czas sikania i przerwy można ustawić zmieniając parametry onTime i offTime (w milisekundach).
linuxcnc-ESP-01.v3.tar
(40 KiB) Pobrany 107 razy
autor: tuxcnc
30 sie 2020, 19:54
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

pitsa pisze:
29 sie 2020, 23:41
Różnica jest taka, że bez wpiętego do USB arduino linuxcnc się nie uruchomi i dzięki temu wiem, że wszystko jest ok. Mam prostą komunikację dwukierunkową z linuxcnc. Z modułami esp nie miałbym gwarancji, że mogę się z nimi połączyć.
Napisałem nowe skrypty, teraz przy braku komunikacji przerywa program i wyświetla błąd :
Przechwycenie obrazu ekranu_2020-08-30_17-42-45.png
linuxcnc-ESP-01.v2.tar
(30 KiB) Pobrany 79 razy
Trzeba mieć zainstalowany ImageMagick, ale można wyedytować skrypty i użyć feh albo qview, te akurat przetestowałem.
autor: tuxcnc
30 sie 2020, 14:36
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

pitsa pisze:
30 sie 2020, 14:10
To ja mam tak tylko na jednym laptopie do programowania, przez to że siedzi tam Android razem z Windowsem. Gdy włożę dysk zewnętrzny USB włącza mi się domyślnie Android zamiast Windowsa. Jak na starcie nie przyuważę, tracę parę minut na ponowne uruchamianie. Kiedyś to w końcu poprawię... ;-)
Trzeba przejść z "root=/dev/sda7" na "root=/dev/disk/by-uuid/(uruchom blkid i wpisując jakie masz UUID dysku)" lub podobnie w zależności co w kompie odpala systemy. Tak samo używane dyski i pendrajwy można wpisać do /etc/fstab po ich UUID.
Nie o to chodzi, mam bootowanie według uuid, co wychodzi na tysiąc razy gorzej, bo system wstaje jakby nigdy nic, a dyski są pozamieniane miejscami.
Nie dalej jak wczoraj używałem polecenia :

Kod: Zaznacz cały

badblocks -sw /dev/sdb
Wiesz czym by to się skończyło ?
autor: tuxcnc
30 sie 2020, 13:47
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

pitsa pisze:
29 sie 2020, 23:41
Różnica jest taka, że bez wpiętego do USB arduino linuxcnc się nie uruchomi i dzięki temu wiem, że wszystko jest ok. Mam prostą komunikację dwukierunkową z linuxcnc. Z modułami esp nie miałbym gwarancji, że mogę się z nimi połączyć. W niektórych miejscach jest tak ciasno w sieci, że nawiązanie połączenia z routerem trwa godzinami.
Na laptopie, z którego teraz piszę, mam taki cyrk, że normalnie mam system na partycji /dev/sda7.
Czasem mi się zdarzy, że zapomnę wyjąć pewną pamięć USB i wyłączę komputer, a potem go uruchomię z wetkniętym pendrajwem.
Wtedy system mam na /dev/sdb7, bo pendrajw wciska mi się na /dev/sda, a czym to grozi to chyba nie muszę Ci tłumaczyć.
Nie ma bardziej popieprzonej i zawodnej rzeczy w Linuksie, niż podsystem usb.
Natomiast jak dasz w sieci statyczne adresy IP, to takich cudów nie będziesz miał nigdy.
autor: tuxcnc
29 sie 2020, 19:31
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

Było jakoś tak :

Kupiłem sobie takie moduły https://www.aliexpress.com/item/32821721218.html
Można je zaprogramować wykorzystując Arduino IDE i dowolny konwerter USB na port szeregowy TTL, także wbudowany w Arduino Uno czy Nano.
Informacje można znaleźć w internecie.
Znalazłem przykładowy program, który do tego modułu za 10PLN ładuje serwer http, z którym można się łączyć z dowolnej przeglądarki internetowej. Strona wygląda skromnie, ale klikając na ON albo OFF można przełączać przekaźnik.
Trochę trudno jednak ożenić Firefoksa z Linuxcnc, więc postanowiłem problem obejść.
Moduł działa w taki sposób, że na serwerze są dwie podstrony (RELAY=ON i RELAY=OFF) i w zależności którą chcemy pobrać do przeglądarki, to moduł wykonuje dodatkowe czynności, czyli w tym przypadku przełącza przekaźnik.
Jeżeli działa to na zasadzie pobrania określonej strony, to pomyślałem o terminalowym poleceniu wget, które faktycznie spełnia zadanie, ale w sposób mało elegancki, bo zapisuje na dysku dane, które z naszego punktu widzenia są śmieciami.
Lepszym rozwiązaniem jest polecenie curl.
Z kolei w LInuxcnc można g-kodom M100 do M199 przypisać do wykonania dowolny program, także skrypt powłoki.
Teraz powinno już być jasne, że jeżeli np. g-kodowi M111 przypiszemy polecenie curl <adresIP>/RELAY=ON/ to po napotkaniu M111 w programie Linuxcnc włączy przekaźnik modułu.
Niestety program który znalazłem napisał jakiś niechluj i niby on działa ale nie tak jak powinien.
Ważniejszym problemem jest jeszcze to, że moduł ma przydzielany dynamiczny adres IP przez DHCP, co jest w takim zastosowaniu głupotą i masochizmem.
Może się komuś nie spodobać wykorzystanie wifi w środowisku przemysłowym, ale to samo da się zrobić po kablu.

Dodane 2 godziny 37 minuty 25 sekundy:
Godzinę czasu straciłem, zanim się dopatrzyłem że jakiś partacz i flejtuch zamienił miejscami w kodzie "subnet" i "gateway", a potem opublikował to w internecie jakby wszystko było w porządku.
Kod oczywiście kompilował się bez problemu, natomiast nie działał, co przecież nie jest dziwne ...
No ale w końcu doszedłem i teraz wszystko działa jak powinno :
linuxcnc-ESP-01.tar
(10 KiB) Pobrany 113 razy
We wszystkich trzech plikach należy zmienić IP, bramę i maskę na pasujące do konkretnej sieci.
Oczywiście w sieci może pracować wiele przekaźników, ale muszą mieć różne IP.
M111 i M112 to wykonywalne skrypty powłoki i można ich używać bez Linuxcnc.

Dodane 13 minuty 47 sekundy:
gothye pisze:
29 sie 2020, 18:52
podłącz pod ESP np MCP23017 (liby też są w arduino) i masz 16 IO (16 przekaźników) lub 8 wejść / 8 wyjść co dalej zależy od Twojej wyobraźni ;)
Mam NodeMCU, zamówiłem też niedawno ESP32, cenowo to nie wychodzi dużo drożej, ale prostota tego modułu z ESP-01 jest jego główną zaletą.

Zresztą bardziej mi chodzi o odczarowanie tematu sterowania przez sieć. Wszyscy się uparli na USB, z czym są same problemy, a na Ethernet i wifi patrzą jak ciele na malowane wrota.
autor: tuxcnc
29 sie 2020, 18:43
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

Coś się popieprzyło i zamiast dodać nowy post usunęło stary ...
Spróbuję napisać wszystko od nowa, bo teraz nie wiadomo o co chodzi ...

Dodane 2 godziny 37 minuty 25 sekundy:
Godzinę czasu straciłem, zanim się dopatrzyłem że jakiś partacz i flejtuch zamienił miejscami w kodzie "subnet" i "gateway", a potem opublikował to w internecie jakby wszystko było w porządku.
Kod oczywiście kompilował się bez problemu, natomiast nie działał, co przecież nie jest dziwne ...
No ale w końcu doszedłem i teraz wszystko działa jak powinno :
linuxcnc-ESP-01.tar
(10 KiB) Pobrany 105 razy
We wszystkich trzech plikach należy zmienić IP, bramę i maskę na pasujące do konkretnej sieci.
Oczywiście w sieci może pracować wiele przekaźników, ale muszą mieć różne IP.
M111 i M112 to wykonywalne skrypty powłoki i można ich używać bez Linuxcnc.
autor: tuxcnc
25 sie 2020, 22:00
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

drzasiek90 pisze:
25 sie 2020, 21:42
Coś co nie musi działać RT.
Ethernet w Linuxcnc jest chyba RT ?
Zresztą w ogóle w Linuksie Ethernet działa wyjątkowo szybko, to chyba spadek po komputerach mainframe ...
W każdym razie porównywanie do podsystemu USB najmniejszego sensu nie ma.
autor: tuxcnc
25 sie 2020, 19:58
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Re: Linuxcnc Arduino Ethernet ?

Przede wszystkim chcę odczarować temat.
Ethernet kojarzy się z czymś drogim i skomplikowanym, co nie wiadomo jak działa i jak cokolwiek tym wysterować ...
Zasadniczo jest mi wszystko jedno co zbudować, byleby działało i było bazą do innych zastosowań.
autor: tuxcnc
24 sie 2020, 21:21
Forum: LinuxCNC (dawniej EMC2)
Temat: Linuxcnc Arduino Ethernet ?
Odpowiedzi: 22
Odsłony: 2312

Linuxcnc Arduino Ethernet ?

Zakupiłem sobie płytki Uno Ethernet Shield i Nano Ethernet Shield.
https://www.aliexpress.com/item/1678440647.html
https://www.aliexpress.com/item/32502588687.html
Jak widać, cena całkiem rozsądna.
To są zupełnie różne rozwiązania, na innych scalakach i obsługiwane innymi bibliotekami.
Uno : https://www.instructables.com/id/Arduin ... -Tutorial/
Nano : https://github.com/njh/EtherCard/blob/master/README.md
Układy dostałem dzisiaj, wgrałem przykładowe programy do wyświetlania adresu IP przydzielonego przez DHCP, obie płytki działają.
Oczywiście płytkom można przydzielić stały IP, będą wtedy jednoznacznie rozpoznawane w sieci.

Ma ktoś jakiś pomysł co by można było takim układem (Arduino + Ethernet shield) obsługiwać z Linuxcnc ?

Wróć do „Linuxcnc Arduino Ethernet ?”