1

Temat: Router jako konsola przez TTL

Potrzebuję użyć routera z OpenWrt jako konsoli. Chciałbym podłączyć inne urządzenie TTL a mianowicie sterownik silnika krokowego Tic T834 USB, który ma piny RX, TX i GND:
https://kamami.pl/61795-thickbox_default/tic-t834-usb-sterownik-silnika-krokowego-pololu-3132.jpg

https://kamami.pl/sterowniki-silnikow/5 … -3132.html

Czyli chciałbym podłączyć TX, RX i GND obu urządzeń i na OpenWrt użyć programu konsolowego np. screen lub innego (tak jak Putty na Windows)

Czy dobrze rozumiem iż dla OpenWrt port TTL w routerze jest to zwykły port COM?

Chciałbym z WinXP za pomocą Putty połączyć się przez Wifi do routera OpenWrt i z jego poziomu sterować silnikiem krokowym za pomocą TTL

P.S. Czy można połączyć dwa routery OpenWrt przez TTL?

2

Odp: Router jako konsola przez TTL

Nie zwykłym tylko uartm pracującym na napięciach 0-3.3v. Ty masz tam 5V, niekoniecznie to musi działać.

Ponad to - zły pomysł, bo uart wykorzystywany jest także przez bootloader i wszystkie komunikaty idą przez serial. Więc nie wiadomo co się będzie działo z silnikiem.

Masz tam i2c, dlaczego nie użyjesz i2c?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Router jako konsola przez TTL

Cezary napisał/a:

Nie zwykłym tylko uartm pracującym na napięciach 0-3.3v. Ty masz tam 5V, niekoniecznie to musi działać.

Tzn. wiem, że to nie jest zwykły port COM - chodzi o to iż dla oprogramowania OpenWrt czy dla Linux nie ma znaczenia jaki to uart bo sterownik jest ten sam.

Cezary napisał/a:

Ponad to - zły pomysł, bo uart wykorzystywany jest także przez bootloader i wszystkie komunikaty idą przez serial. Więc nie wiadomo co się będzie działo z silnikiem.

Tak, wiem ale jakby wyłączyć uart w bootloaderze i w OpenWrt to czy wtedy można tak podłączyć urządzenia np. dwa routery OpenWrt?

Cezary napisał/a:

Masz tam i2c, dlaczego nie użyjesz i2c?

Co by było potrzebne aby skorzystać z i2c?

P.S. Jeśli router ma USB to można też chyba użyć konwertera USB-TTL wpinając go w port USB routera?

4

Odp: Router jako konsola przez TTL

W bootloaderze nie masz jak tego wyłączyć (chyba że sobie sam napiszesz bootloader?)

Tak, możesz wpiąć w usb konwerter. Do i2c potrzebujesz magistrali i2c albo jak router jej nie ma - po prostu dwa wolne gpio i robisz programowo i2c.

W sumie - zwykłe najprostsze RPI chyba by się tu  sprawdziło.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez jzef 2021-04-11 10:58:52)

Odp: Router jako konsola przez TTL

Cezary napisał/a:

W bootloaderze nie masz jak tego wyłączyć (chyba że sobie sam napiszesz bootloader?)

Tak, wiem, że aby wyłączyć musiałbym zmienić opcję w kodzie źródłowym, skompilować i wgrać. Mój router to Huawei EchoLife HG553. Mam kod źródłowy bootloadera, umiem go modyfikować, kompilować i wgrywać do routera :-)
https://eko.one.pl/forum/viewtopic.php? … 68#p176468

Czyli jakbym powyłączał debug w bootloaderze i w OpenWrt to mógłbym tak podłączyć dwa urządzenia przez TTL?

Cezary napisał/a:

Tak, możesz wpiąć w usb konwerter.

Od tego chyba zacznę bo to chyba najprostsze.

Cazary napisał/a:

Do i2c potrzebujesz magistrali i2c albo jak router jej nie ma - po prostu dwa wolne gpio i robisz programowo i2c.

Czy HG553 ma taką magistralę? Czy trzeba lutować jakieś rezystory aby użyć GPIO z routera?

Cezary napisał/a:

W sumie - zwykłe najprostsze RPI chyba by się tu  sprawdziło.

Tak, ale chciałbym wykorzystać to co już mam.

Jeśli chodzi o te i2c i GPIO to może zamiast routera z OpenWrt mógłbym wykorzystać GPIO w urządzeniu Sonoff TH10 z którym mam komunikację przez Wifi?

PCB mam w wersji 2.1 więc pin EXP-LOG to GPIO2:
In PCB Ver 2.1 you can find a fifth pin next to the serial pins, labeled EXP-LOG. You can use this as GPIO2 to any generic purpose. Currently should make a custom template for it.
https://obrazki.elektroda.pl/8954017500_1618134798_thumb.jpg

6

Odp: Router jako konsola przez TTL

Jeżeli ten sonoff jest na esp to przecież i2c masz tam  z urzędu. Tylko musisz firmware zmienić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Router jako konsola przez TTL

Cezary napisał/a:

Jeżeli ten sonoff jest na esp to przecież i2c masz tam  z urzędu. Tylko musisz firmware zmienić.

Firmware mam wgrane Tasmota. Sorry, że tak pytam ale nie znam się na I2C. Czyli mam rozumieć iż I2C = GPIO ? Jak miałoby wyglądać połączenie sterownika silnika do sonoff przez I2C i jak miałbym sterować pracą silnika? Jedno nieużywane GPIO2 mam na pinie EXP-LOG a inne używane GPIO w złączu micro-jack do którego podłączony jest czujnik temperatury.

A chyba potrzebuję dwóch pinów GPIO aby podłączyć sterownik - piny SCL, SDA jak dobrze rozumiem?

8

Odp: Router jako konsola przez TTL

Nie. GPIO to GPIO, a ponieważ jest uniwersalne to może służyć do różnych celów, w szczególności możesz na tym zrobić i2c. Tak, potrzebuje 2 pinów.

i2c widzi tylko urządzenie i potrafi zapisywać/odczytywać rejestry danego urządzenia. A co dalej zrobisz z tymi zrobisz to już od ciebie zalezy. Zwykle potrzeba jakiegoś sterownika który przełoży te rejestry na inną postać. Ponieważ esp  jest dość rozpowszechnione, to możliwe że ktoś taki sterownik już zrobić. Ponad pod jakim adresem ukrywa się ten sterownik i poszukaj sobie w internecie informacji o nim, jak nim sterować z poziomu esp. Ew sobie napisz, bo przykład dla arduino jest zalinkowany na kamami.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Router jako konsola przez TTL

No dobra ale wrócmy do routera HG553? Jak miałbym podłączyć sterownik silnika do routera przez GPIO?

No i nadal nie uzyskałem odpowiedzi czy można (po wyłączeniu konsoli szeregowej w bootloaderze i w OpenWrt) używac routera jako terminal podłączając do niego dowolne urządzenie przez piny RX, TX, GND?

10

Odp: Router jako konsola przez TTL

Znajdź dwa wolne gpio, zrób z tego programowo magistralę i2c. Opis masz na eko.one.pl

Jak podłączysz to pod serial to przecież z poziomu openwrt możesz zrobić co chcesz z tym serialem. Jak masz program do obsługi tego to  będziesz miał sterowanie. Bo chyba nie myślałeś że podłączyć pod serial i automagicznie pojawi się jakiś soft którym możesz sterować?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Router jako konsola przez TTL

Cezary napisał/a:

Znajdź dwa wolne gpio, zrób z tego programowo magistralę i2c. Opis masz na eko.one.pl

Właśnie przeczytałem opis na eko ale nadal nie wiem jak mam podłączyć sterownik do routera. Muszę lutować jakieś rezystory? Czy jak znajdę już dwa wolne GPIO to dowolnie sobie konfiguruję na OpenWrt, który to ma być data SDA a który zegar SCL? A co z wydajnością prądową w routerze - czy do sterowania silnikiem nie trzeba przypadkiem większego natężenia? Gdzieś wyczytałem iż normalnie to sobie można tylko diodę LED włączać i wyłączać.

Cezary napisał/a:

Jak podłączysz to pod serial to przecież z poziomu openwrt możesz zrobić co chcesz z tym serialem. Jak masz program do obsługi tego to  będziesz miał sterowanie. Bo chyba nie myślałeś że podłączyć pod serial i automagicznie pojawi się jakiś soft którym możesz sterować?

Ale jaki program? Przecież sterownikiem silnika można sterować przez TTL za pomocą poleceń w terminalu - na Windows można użyć Putty a na Linux/OpenWrt chyba screen, minicom, picocom itp. ?

12

Odp: Router jako konsola przez TTL

Przecież przez i2c służy do sterowania a nie do zasilania sterownika. Sterownik musi mieć swoje oddzielne zasilanie. i2c nie ma nic wspólnego z wydajnością prądową. Rezystory - możesz potrzebować lub nie, w zależności od tego  czy na płytce już są czy nie. Sprawdź w dokumentacji.

Tak, jeżeli da się bezpośrednio coś wpisywać to masz w openwrt screen/minicom/picocom.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Router jako konsola przez TTL

Cezary napisał/a:

Przecież przez i2c służy do sterowania a nie do zasilania sterownika. Sterownik musi mieć swoje oddzielne zasilanie. i2c nie ma nic wspólnego z wydajnością prądową. Rezystory - możesz potrzebować lub nie, w zależności od tego  czy na płytce już są czy nie. Sprawdź w dokumentacji.

Czyli zakładając iż ten sterownik silnika z pinami SDA SCL ma już co trzeba - wystarczy się podpiąć krótkimi kabelkami do routera do GPIO X (SDA) Y(SCL) skonfigurowanego w OpenWrt + masa do masy?
A czym wtedy wysyłać polecenia do urządzenia - rozumiem są narzędzia i2c-tools i jakieś polecenia tak?

Jeżeli urządzenie ma piny SDA i SCL to chyba nie trzeba już lutować żadnych rezystorów?

14

Odp: Router jako konsola przez TTL

Pisałem - sprawdź w dokumentacji czy są wymagane rezystory czy nie.

Tak, masz i2cget i i2cset, nimi możesz bawić się z magistralą i2c.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Router jako konsola przez TTL

Cezary napisał/a:

Pisałem - sprawdź w dokumentacji czy są wymagane rezystory czy nie.

Tak, masz i2cget i i2cset, nimi możesz bawić się z magistralą i2c.

Na stronie https://kamami.pl/sterowniki-silnikow/5 … -3132.html pisze tylko iż można sterować przez I2C a nic o rezystorach.

No dobra, ale jeszcze nie mam ani silnika ani sterownika - po prostu chcę wiedzieć co i jak za wczasu.

Na razie sprawdziłem router OpenWrt z USB-TTL jako terminal + screen podłączając inne urządzenie TTL (inny router) i ładnie mam debug z bootloadera więc jak coś powinno dać się sterować silnikiem przez TTL zamiast I2C. Martwi mnie tylko jedno - jak w screen lub innym programie terminala wysłać kody HEX:
9. Serial command encoding
Pod WinXP jest jednak specjalny terminal: Pololu Serial Transmitter i nie wiem czy można uzyć innego np. screen na OpenWrt?
https://a.pololu-files.com/picture/0J1224.494.png?1de42bd07a80ae77e9380ac6acb22f9d

Czy za pomocą screen lub innego programu na OpenWrt można wysłać dane binarne zamiast ASCII bo chyba o to tutaj chodzi?

16

Odp: Router jako konsola przez TTL

Jezu jakie kombinacje... Kup nodemcu wygraj ESP-link podłącz pod TTL i to wszystko.

ESP podłącz sobie pod router za pomocą wifi i steruj czym tylko sobie chcesz.

17

Odp: Router jako konsola przez TTL

Za pomocą zwykłego echo możesz wysłać dane binarne

echo -n -e \\xAA\\x0A\\x02 > /dev/ttyS0

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

18

Odp: Router jako konsola przez TTL

MrB napisał/a:

Jezu jakie kombinacje... Kup nodemcu wygraj ESP-link podłącz pod TTL i to wszystko.

ESP podłącz sobie pod router za pomocą wifi i steruj czym tylko sobie chcesz.

Jakie kombinacje? Właśnie mam już urządzenie z Wifi ESP8266 jakim jest Sonoff TH10 z wgranym firmware Tasmota - podłączone do routera Wifi. Inne firmware też można wgrać np. ESP Easy ale nie wiem czy ESP-Link.

Tak na szybko przejrzałem co to jest ESP-link. Czy tego samego nie da się zrobić w Tasmota na Sonoff - tam też mogę wybrać opcje dla GPIO:
https://obrazki.elektroda.pl/6871325100_1618167397_thumb.jpg
a silnik krokowy i sterownik i tak trzeba dokupić.

Cezary napisał/a:

Za pomocą zwykłego echo możesz wysłać dane binarne

echo -n -e \\xAA\\x0A\\x02 > /dev/ttyS0

Dzięki, jeśli kupię silnik i sterownik to sprawdzę to. Oczywiście jeśli użyję konwertera USB-TTL to wpiszę:

/dev/ttyUSB0

zamiast:

/dev/ttyS0

19

Odp: Router jako konsola przez TTL

@Cezary
Przetestowałem wysyłanie danych HEX z Debiana do WinXP do programu Pololu Serial Transmiter i program widzi te same odebrane dane HEX więc to oznacza iż ten sposób działa i można wykorzystać też w OpenWrt i prawdopodobnie sterować silnikiem przez TTL:
https://obrazki.elektroda.pl/7150993500_1618168891_thumb.jpg

20

Odp: Router jako konsola przez TTL

@MrB
Sonoff też ma port TTL (RX, TX i GND) i prawdopodobnie aby go użyć muszę tak samo jak na routerze wyłączyć najpierw informacje debug, które zapewne Tasmota śle na ten port w czasie działania.

Więc wygląda na to iż mam do wyboru - albo router z OpenWrt, Wifi i GPIO albo Sonoff z Wifi i GPIO. Sonoff też może działać w trybie AP zamiast Wifi Client czyli jest to jakby taki mini router smile

21

Odp: Router jako konsola przez TTL

nie wiemy co ty kombinujesz  ale  sterownik za 120 zł do serwa " grubo Panie"  .  Nawet jezeli ogarniesz to  z routerem  to jakiś  program musisz miec by tym sterować .  Lepiej  zrób to  na byle czym w arduino  - napisz swój kod   lub poszukaj  gotowca w necie napewno coś znajdziesz .  Ten sonoff co masz  tez sie nada  i tez mozna wgrac do niego swój program . Swój kod  daje ci  nieograniczone mozliwosci  sterowania  - W zasadzie  to juz to jest  napisane  w przykładach  arduino  wystarczy poskładać .  ( w zasadzie  to 2 funcje  jedna do wifi  druga do serwa )  no i jakiś  webserwer  i masz.
Polecam  wemosD1 Pro

22

Odp: Router jako konsola przez TTL

@ad2014
Ten sterownik można sterować za pomocą TTL poleceniami HEX więc nie trzeba specjalnego programu aby robić to z poziomu OpenWrt. Sterownik ma też port micro-USB i są do niego drivery i programy pod Windows ticgui.exe, ticcmd.exe ale sęk w tym iż potrzebuję mieć dostęp do urządzenia przez sieć - najlepiej Wifi i dlatego chcę wykorzystać OpenWrt lub Sonoff

Znalazłem też informacje iż można sobie skompilować Tasmotę z podstawową obsługą innego sterownika A4988 za pomocą tylko dwóch GPIO: A4988 stepper motor controller i wtedy można sterować silnikiem z poziomu interfejsu Web (konsola przez Web)

Niestety, nie znam się na programowaniu więc muszę korzystać z gotowych rozwiązań.

23

Odp: Router jako konsola przez TTL

@jezf
Tylko chcesz użyć sprzetu nieadekwatnego do rozwiązania. Życia się nie utrudnia. Chcesz ciągnąć linie 230 do tego sonoffa czy od niego pchac kable dla kontrolera big_smile

Możesz użyć tego co masz żaden problem, co do esplink prostota portu COM na TCP/IP lub możliwość połączenia przez telnet mówi sama na siebie.

24 (edytowany przez jzef 2021-04-11 21:50:06)

Odp: Router jako konsola przez TTL

MrB napisał/a:

@jezf
Tylko chcesz użyć sprzetu nieadekwatnego do rozwiązania. Życia się nie utrudnia. Chcesz ciągnąć linie 230 do tego sonoffa czy od niego pchac kable dla kontrolera big_smile

Możesz użyć tego co masz żaden problem, co do esplink prostota portu COM na TCP/IP lub możliwość połączenia przez telnet mówi sama na siebie.

Kolego, Sonoff już od dawna działa tam gdzie ma działać i jest zasilany z linii 230V więc to żaden problem i nic w tym śmiesznego. Przy zakupie zastanawiałem się czy nie lepiej właśnie kupić Wemos ale doszedłem do wniosku iż musiałbym zapewnić zasilanie 5V w tamtym miejscu, a skąd wziąść 5V? - z zasilacza sieciowego, który wtyka się w gniazdo 230V więc po co kupować dodatkowo jakiś zasilacz skoro Sonoff można podłączyć bezpośrednio do 230V

Tam gdzie jest Sonoff ma działać też sterownik i silnik krokowy więc wszystko jest na swoim miejscu tylko początkowo nie przewidywałem innego zastosowania dla Sonoff jak czujnik temperatury i włączanie/wyłączanie urządzenia 230V. Teraz będę musiał jednak dodać jakiś zasilacz 5V lub 12V dla silnika krokowego ale już wolę wydać te parę zł na zasilacz niż kupować Raspberry Pi czy kolejny moduł z ESP.

25 (edytowany przez kofec 2021-04-13 12:22:34)

Odp: Router jako konsola przez TTL

Ja zrobiłem sobie z Sonoff DUAL bramka TCP-TTL do arduino na ktorym mam wgrane MySensors pod Domoticza
Wykorzystujesz porty ktore juz masz TX/RX/GND w sonoff. U Ciebie jak widze wyzej to bedzie GPIO1 i GPIO3
i na sonoff musisz wgrac zbbridge build e.g http://ota.tasmota.com/tasmota/release- … dge.bin.gz
https://tasmota.github.io/docs/Serial-to-TCP-Bridge/

A w kwestii zasilania to w tym moim Sonoff DUAL padło zasilanie (gąsienica weszła i zrobiła zwarcie :-) - jest w ogrodzie na zewnatrz w słupku oświetleniowym) i kupilem takie cos w zamian:
https://pl.aliexpress.com/item/32830662359.html
Zasila i Arduino i teraz tego Sonoff DUAL - układ działa - padła tylko sekcja zasilacza