Temat: Komunikacja routera z mikroprocesorem atmega

Planuję projekt na bazie mikroprocesora atmega, do którego __opcjonalnie__ chciałbym dodać możliwość komunikacji z siecią wifi - na bazie routera openwrt. Na routerze postawiłbym serwer www, do celów sterowania zdalnego urządzeniem, a sam router wysyłałby do urządzenia na przykład proste sekwencje, typu 'uruchom', 'przerwij'. Czyli sterowanie zerojedynkowe odpada, ale powiedzmy jeden bajt danych wystarczy. Potrzebuję pomocy - a mianowicie, z jakich protokołów mógłbym skorzystać? RS232, i2c, inne? Który z nich jest najprostszy do użycia z poziomu routera? I pod jakimi hasłami kluczowymi szukać w sieci informacji?

2

Odp: Komunikacja routera z mikroprocesorem atmega

Dwa zasadnicze pytania:

1. Czy zamiast ATmega nie możesz wykorzystać wyłącznie routera? Co ten mikroprocesor będzie robił?
2. Może lepiej dołożyć do ATmega interfejs Wi-Fi zamiast łączyć go z routerem?

3

Odp: Komunikacja routera z mikroprocesorem atmega

* Atmega będzie obsługiwała 4-6 buttonów, wyświetlacz i kilka przekaźników/triaków.
* Wydaje mi się, że żaden router nie ma tylu wyjść gpio, raczej nie będę potrafił obsłużyć mojego wyświetlacza, który wyśmienicie współpracuje z Megą.
* Wydaje mi się, że tanie routery (3220) są tańsze niż dedykowane moduły wifi.
* Dedykowane moduły prawdopodobnie wymagają użycia języka C, którego nie znam i nie chce się uczyć, bo zajmuję się uP tak rzadko, że uważam że nie ma takiej potrzeby.
* na routerze postawiłbym serwer www z php, które dobrze ogarniam, a na dodatek w php mógłbym napisać skrypty.

4

Odp: Komunikacja routera z mikroprocesorem atmega

To chyba najłatwiej będzie Ci skorzystać z routera z USB i adaptera USB-UART, po którym ATmega będzie mogła sobie "pogadać" z routerem.

5

Odp: Komunikacja routera z mikroprocesorem atmega

Polecam port szeregowy w routerze. Robiłem tak kiedyś ruchomą kamerę: dwa serwa sterowane przez AVR, który był przy okazji zasilany z tego samego złącza.

6

Odp: Komunikacja routera z mikroprocesorem atmega

Okej, myślę że nie ma potrzeby wykorzystywać adaptera na USB. Wystarczy że wlutuje się w płytkę i skorzystam z max232. Czy komendy do atmegi będę mógł wysyłać mniej więcej w sposób

echo "coś" > /dev/tty?

W jaki sposób mogę się dowiedzieć które z urządzeń to mój port RS na płytce?

7

Odp: Komunikacja routera z mikroprocesorem atmega

/dev/ttyS0 lub ttyATH0, od urządzenia zależy

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

8

Odp: Komunikacja routera z mikroprocesorem atmega

piotreeek napisał/a:

Okej, myślę że nie ma potrzeby wykorzystywać adaptera na USB. Wystarczy że wlutuje się w płytkę i skorzystam z max232. Czy komendy do atmegi będę mógł wysyłać mniej więcej w sposób

echo "coś" > /dev/tty?

W jaki sposób mogę się dowiedzieć które z urządzeń to mój port RS na płytce?

No nie wierzę, następny! Ostatnio takich jak Ty, którzy chcą wpinać się do routera przy pomocy RS232, to jak grzyby po deszczu w sieci... W 99,9% routerach, a na pewno w każdym TP-Linku, konsola szeregowa to UART z poziomem napięć 3,3 V. Nie ma tam żadnego RS232!

Poza tym, pamiętaj że ta konsola normalnie nie jest wolna więc jak będziesz chciał, żeby było na niej pusto, to musisz sobie przygotować odpowiedni obraz systemu i U-Boot.

9

Odp: Komunikacja routera z mikroprocesorem atmega

ta to ja bym wziął router do niego podłączył poprzez usb usbtiny i miał i2c do którego normalnie użyłbym PCF8574. Można na jednym laminacie zrobić

10

Odp: Komunikacja routera z mikroprocesorem atmega

Okej, dziekuję za odpowiedzi i zainteresowanie tematem. Okazuje się to nie być takie proste - i musze się zastanowić czy w ogóle warto pakować do urządzenia mozliwośc komunikacji po wifi. Do tematu wrócę po sesji - w razie czego będę jeszcze pytał Was.

11

Odp: Komunikacja routera z mikroprocesorem atmega

No jest to całkiem proste. Konsole systemową zostawiamy jak jest, nie trzeba nic grzebać ani w U-Boot, ani w systemie. W niczym nam nie przeszkadza, a bywa przydatna w sytuacjach awaryjnych.
Ustalamy sobie jakiś stały prefiks np "AVR_CMD: "
i wtedy całe wysłanie komendy wygląda np tak echo >/dev/ttyS0 "AVR_CMD: L 87"
Po stronie AVR odbieramy z UARTa całą linię  tekstu i sprawdzamy czy na początku jest nasz prefiks. Jezeli nie ma to ignorujemy tą linię i czekamy na następną.
I jak już pepe2k pisał, łączymy się bezpośrednio do routera bez żadnych MAX232.
Przykładowy schemat, podłączane było do Siemens SE505.
http://pics.tinypic.pl/i/00403/35zkm10jqkk4.png

12 (edytowany przez pepe2k 2013-06-19 17:01:55)

Odp: Komunikacja routera z mikroprocesorem atmega

slx napisał/a:

I jak już pepe2k pisał, łączymy się bezpośrednio do routera bez żadnych MAX232.

No nie do końca. Przydałby się jakiś "level shifter" - po stronie routera jest 3,3 V i lepiej nie narażać CPU na poziomy napięć przy których pracuje ATmega czyli 5 V. Poza tym, ATmega też może mieć problem z prawidłowym rozpoznaniem stanu wysokiego przy 3,3 V. W praktyce, powinno to się razem dogadać, ale teoria podpowiada żeby jednak zastosować jakiś translator poziomów napięcia, a już najlepiej optoizolację.

13

Odp: Komunikacja routera z mikroprocesorem atmega

Chyba nie czytałeś/oglądałeś tego co wcześniej wysłałem. Procesor jest zasilany z routera.
Poza tym nawet przy 5V nie potrzeba, nawet  w teorii: minimalne gwarantowany próg napięcia wejściowego 0.6*VCC. W praktyce jest jeszcze lepiej.

14

Odp: Komunikacja routera z mikroprocesorem atmega

slx napisał/a:

Chyba nie czytałeś/oglądałeś tego co wcześniej wysłałem. Procesor jest zasilany z routera.
Poza tym nawet przy 5V nie potrzeba, nawet  w teorii: minimalne gwarantowany próg napięcia wejściowego 0.6*VCC. W praktyce jest jeszcze lepiej.

Nie spojrzałem na schemat, mój błąd. W takim razie autor wątku ma gotowe, proste rozwiązanie.

15

Odp: Komunikacja routera z mikroprocesorem atmega

Najprościej bez rozbierania i testów będzie pewnie wykożystać przejściówkę na RS232 - np. taki FTDI..

Żeby go obsłużyć trzeba zainstalować pakiet kmod-usb-serial-ftdi i wtedy normalnie walisz po RSie np.

echo -ne "test" > /dev/ttyUSB0

i ładnie Ci to przez seriala wypluwa do ATMegi.. Dodatkowo na kablu USB masz zasilanie 5V dla Twojego układu

16

Odp: Komunikacja routera z mikroprocesorem atmega

tak RS po jednej RS po drugiej
propozycja slx i pepe2k jest o niebo lepsza

17 (edytowany przez slx 2013-06-21 21:35:32)

Odp: Komunikacja routera z mikroprocesorem atmega

Dodałem opis do tego o czym pisałem wcześniej:
http://openrouter.info/forum/viewtopic. … amp;t=2644