Obsah:

Telnet do vašeho Arduina/AVR!: 4 kroky
Telnet do vašeho Arduina/AVR!: 4 kroky

Video: Telnet do vašeho Arduina/AVR!: 4 kroky

Video: Telnet do vašeho Arduina/AVR!: 4 kroky
Video: PING Command - Troubleshooting Networks 2024, Listopad
Anonim
Telnet do vašeho Arduina/AVR!
Telnet do vašeho Arduina/AVR!

Jednoho dne jsem chtěl zkontrolovat jeden z mých AVR, ale byl jsem nahoře a bůh ví, že to bylo příliš těžké jít dolů, kde byl mikrokontrolér. Ale nahoře vedle mého líného zadku seděly dva nečinné počítače, takže jsem měl půl dne v práci a rozhodl jsem se napsat aplikaci, která váže dva porty: sériový port pro připojení k Arduino/AVR a TCP/IP port, do kterého bych mohl telnet z mé bezdrátové sítě nebo přes internet. Aplikace pak funguje jako proxy mezi sítí TCP/IP a AVR. Chcete -li video vidět lépe, dvakrát klikněte a vyvolejte ho ve vlastním okně a zvětšete. Jinak přimhouřte oči a uvidíte, co se píše. Nakonec jsem tedy upravil aplikaci sériového připojení AVR Terminal, kterou jsem již napsal, a přidal jsem k ní podporu TCP/IP. Abych to zvládl, napsal jsem nějaký firmware, který poskytuje něco jako UNIXový shell, což mi umožňuje vzdálený přístup ke všem kolíkům, nastavení pojistek atd. Diody LED a všechny tyto věci můžete zapínat na dálku. Podporuje dokonce nastavení rychlosti hodin v reálném čase a má systém pseudo-hesel, který poskytuje rámec pro seznamy řízení přístupu nebo autentizaci pro příkazy na kořenové úrovni (například vypnutí subsystémů atd.). Zde jsou některé z věcí, které může udělat:

  • Zobrazte frekvenci procesoru
  • Nastavte jakýkoli pin na vstup nebo výstup
  • Přečtěte si stav libovolného pinu
  • Odesláním logiky 1 a 0 na jakýkoli pin zapnete LED diody atd
  • Vypněte a zapněte periferní zařízení SPI, TWI, USART a ADC
  • Odečtěte spodní pojistku, vyšší pojistku, externí pojistku a blokovací bity v reálném čase
  • Spusťte časovače pro automatické načasování událostí a věcí.
  • Rámec pro autentizační systém do EEPROM
  • Vytvořte jakýkoli dostupný prescaler hodin v reálném čase
  • Napsáno v C ++ a zkompilováno pro ATmega328P

Tento návod podrobně popisuje, jak si můžete stáhnout software (a firmware, chcete -li), nainstalovat ho a začít přistupovat k vašemu AVR z vaší bezdrátové domácí sítě nebo přes internet.

Krok 1: Co budete potřebovat

  • Samostatný AVR nebo Arduino/klon (podrobné pokyny o tom, jak vytvořit vlastní, poměrně kompletní samostatný systém AVR včetně externího krystalu, odpojovacích kondenzátorů a regulovaného zdroje energie, viz můj další návod).
  • Sériové nebo USB připojení k hostitelskému počítači
  • Verze AVR Terminal, která má integrovaný server TCP/IP
  • Volitelně AVR Shell (avrsh), pokud chcete na svém cílovém AVR/Arduinu spustit firmware, abyste získali přístup k vašim periferním zařízením.

Brána TCP/IP funguje s jakýmkoli firmwarem, který používáte nebo chcete zapisovat, pokud komunikuje přes UART s PC. Verze Java bohužel neexistuje, takže AVR Terminal v tuto chvíli běží pouze ve Windows.

Krok 2: Stáhněte a nainstalujte AVR Terminal a TCP/IP Server

Stáhněte a nainstalujte terminál AVR a server TCP/IP
Stáhněte a nainstalujte terminál AVR a server TCP/IP

AVR Terminal je aplikace pro Windows, kterou jsem představil v dřívějších instruktážích. Může komunikovat s vaším AVR přes RS232 USART, stejně jako poslouchat příchozí připojení TCP/IP a přenášet je přes připojení RS232, aby odpovídalo vašemu čekajícímu AVR. Není kompletní, ale nabízí úvodní prohlídku funkcí podrobně popsaných zde a v mých dalších pokynech. Nejnovější verzi lze stáhnout zde. Software nevyžaduje úplnou instalaci; stačí spustit software z jeho adresáře. Textové pole na panelu nástrojů, které říká JAKÝKOLI, je adresa IP, která má být vázána na poslech. JAKÝKOLI bude vázat jakékoli a všechny IP adresy, nebo volitelně můžete uvést jednu, ke které se chcete zvlášť vázat. Textové pole napravo od adresy IP je port IP, ke kterému bude server vázán. Výchozí je 23232, ale můžete to změnit na cokoli chcete.

Krok 3: Nainstalujte si Shell

Než bude váš AVR s vámi moci komunikovat, budete muset mít na cílovém AVR nějaký operační systém nebo shell. K dispozici je několik, včetně mého AVR Shell a Bitlash shellu.

Alternativně použijte tuto zkušenost jako příležitost k napsání vlastního minimálního shellu.

Krok 4: Telnet a užívejte si

Telnet a užívejte si
Telnet a užívejte si

Pamatujte si své konfigurační informace, nebo je můžete ponechat ve výchozím nastavení. Na mém ukázkovém obrázku jsem na hostiteli s názvem „newton“a telnetu na počítači, ke kterému je připojeno moje AVR, hostiteli s názvem „quadcpu1“. Můžete vidět standardní výstup telnetu. Pokud jste tedy ponechali výchozí nastavení, můžete ke svému AVR/Arduinu přistupovat ze sítě TCP/IP pomocí: telnet 23232

nebo pokud jste na stejném poli: telnet localhost 23232

Nezapomeňte použít konfiguraci, na kterou jste ji změnili, pokud jste ji změnili. To by mělo být. Zdrojový kód pro server telnet i firmware AVR je volně dostupný jako open source a měl by vám poskytnout dostatek dobrých informací, které vám umožní jej upravit nebo napsat vlastní verze obou. Dalším krokem může být napsání implementace serveru TCP/IP v jazyce Java nebo Qt, aby uživatelé Mac a Linux mohli mít prospěch.

Doporučuje: