Spisu treści:

Telnet do Arduino/AVR!: 4 kroki
Telnet do Arduino/AVR!: 4 kroki

Wideo: Telnet do Arduino/AVR!: 4 kroki

Wideo: Telnet do Arduino/AVR!: 4 kroki
Wideo: Управляем звуком с Arduino и TDA8425. Самодельный темброблок 2024, Listopad
Anonim
Telnet do Arduino/AVR!
Telnet do Arduino/AVR!

Któregoś dnia chciałem sprawdzić jeden z moich odbiorników AVR, ale byłem na górze i Bóg wie, że zejście na dół do miejsca, w którym był mikrokontroler, było zbyt trudne. Ale na górze obok mojego leniwego tyłka siedziały dwa bezczynne komputery, więc miałem pół dnia pracy i postanowiłem napisać aplikację łączącą dwa porty: port szeregowy do połączenia z Arduino/AVR i TCP/IP port, do którego mogę się telnetować z mojej sieci bezprzewodowej lub przez Internet. Aplikacja działa wtedy jako proxy między siecią TCP/IP a odbiornikiem AVR. Aby lepiej zobaczyć film, kliknij dwa razy i przywołaj go w osobnym oknie i powiększ. W przeciwnym razie zmruż oczy i zobaczysz, co jest pisane. Skończyło się na tym, że zmodyfikowałem aplikację połączenia szeregowego AVR Terminal, którą już napisałem, i dodałem do niej obsługę TCP/IP. Aby to zrobić, napisałem oprogramowanie, które zapewnia coś w rodzaju powłoki UNIX, dając mi zdalny dostęp do wszystkich pinów, ustawień bezpieczników itp. Możesz zdalnie włączyć diody LED i inne rzeczy. Obsługuje nawet regulację prędkości zegara w czasie rzeczywistym i ma system pseudo-hasła, który zapewnia ramy dla list kontroli dostępu lub uwierzytelniania dla poleceń na poziomie root (takich jak wyłączanie podsystemów itp.). Oto kilka rzeczy, które może zrobić:

  • Wyświetl częstotliwość swojego procesora
  • Ustaw dowolny pin na wejście lub wyjście
  • Przeczytaj stan dowolnego pinu
  • Wyślij logikę 1 i 0 do dowolnego pinu, aby włączyć diody LED itp
  • Wyłącz i włącz urządzenia peryferyjne SPI, TWI, USART i ADC
  • Odczytaj dolny bezpiecznik, wyższy bezpiecznik, zewnętrzny bezpiecznik i zablokuj bity w czasie rzeczywistym!
  • Uruchom liczniki, aby automatycznie odmierzać czasy wydarzeń i rzeczy.
  • Struktura systemu uwierzytelniania w EEPROM
  • Ustaw dowolny dostępny preskaler zegara w czasie rzeczywistym
  • Napisany w C++ i skompilowany dla ATmega328P

Ta instrukcja zawiera szczegółowe informacje o tym, jak pobrać oprogramowanie (i oprogramowanie układowe, jeśli chcesz), zainstalować je i rozpocząć dostęp do swojego odbiornika AVR z bezprzewodowej sieci domowej lub przez Internet.

Krok 1: Czego będziesz potrzebować

  • Samodzielny AVR lub Arduino / klon (szczegółowe instrukcje, jak stworzyć własny, całkiem kompletny, samodzielny system AVR, w tym zewnętrzny kryształ, kondensatory odsprzęgające i regulowane źródło zasilania, zobacz moje inne instrukcje).
  • Połączenie szeregowe lub USB z komputerem hosta
  • Wersja terminala AVR z wbudowanym serwerem TCP/IP
  • Opcjonalnie powłoka AVR (avrsh), jeśli chcesz uruchomić oprogramowanie układowe na docelowym AVR/Arduino, aby uzyskać dostęp do urządzeń peryferyjnych.

Brama TCP/IP działa z dowolnym oprogramowaniem sprzętowym, którego używasz lub chcesz napisać, o ile komunikuje się przez UART z komputerem. Niestety nie ma wersji Java, więc Terminal AVR działa obecnie tylko w systemie Windows.

Krok 2: Pobierz i zainstaluj terminal AVR i serwer TCP/IP

Pobierz i zainstaluj terminal AVR i serwer TCP/IP
Pobierz i zainstaluj terminal AVR i serwer TCP/IP

Terminal AVR to aplikacja Windows, którą wprowadziłem we wcześniejszych instrukcjach. Może komunikować się z odbiornikiem AVR przez interfejs RS232 USART, a także nasłuchiwać przychodzących połączeń TCP/IP i przekazywać je przez łącze RS232 w celu uzyskania odpowiedzi od oczekującego odbiornika AVR. Nie jest kompletny, ale oferuje wstępną prezentację funkcji opisanych tutaj i w innych moich instrukcjach. Najnowszą wersję można pobrać tutaj. Oprogramowanie nie wymaga pełnej instalacji; możesz po prostu uruchomić oprogramowanie z jego katalogu. Pole tekstowe na pasku narzędzi z napisem DOWOLNY to adres IP, który ma być przypisany do nasłuchiwania. ANY będzie wiązać dowolny i wszystkie adresy IP, lub opcjonalnie możesz podać jeden, z którym chcesz się powiązać. Pole tekstowe po prawej stronie adresu IP to port IP, z którym będzie powiązany serwer. Domyślnie jest to 23232, ale możesz to zmienić na cokolwiek chcesz.

Krok 3: Zainstaluj swoją powłokę

Zanim odbiornik AVR będzie mógł się z tobą komunikować, musisz mieć jakiś system operacyjny lub powłokę na docelowym odbiorniku AVR. Dostępnych jest kilka, w tym moja powłoka AVR i powłoka Bitlash.

Ewentualnie wykorzystaj to doświadczenie jako szansę na napisanie własnej minimalnej powłoki.

Krok 4: Telnet i ciesz się

Telnet i ciesz się
Telnet i ciesz się

Zapamiętaj informacje o konfiguracji lub możesz zachować je domyślnie. Na moim przykładowym zdjęciu jestem na hoście o nazwie „newton” i telnetuję się z komputerem, do którego podłączony jest mój odbiornik AVR, hostem o nazwie „quadcpu1”. Możesz zobaczyć standardowe wyjście telnet. Tak więc, jeśli zachowałeś ustawienia domyślne, możesz uzyskać dostęp do swojego AVR / Arduino z sieci TCP / IP za pomocą: telnet 23232

lub jeśli jesteś na tym samym urządzeniu: telnet localhost 23232

Pamiętaj tylko, aby użyć konfiguracji, w której ją zmieniłeś, jeśli ją zmieniłeś. To powinno być to. Kod źródłowy zarówno serwera telnet, jak i oprogramowania sprzętowego AVR jest swobodnie dostępny jako open source i powinien dostarczyć wystarczająco dobrych informacji, aby umożliwić ci jego modyfikację lub napisanie własnych wersji. Następnym krokiem może być napisanie implementacji Java lub Qt serwera TCP/IP, aby użytkownicy systemów Mac i Linux mogli na tym skorzystać.

Zalecana: