Talaan ng mga Nilalaman:

Telnet sa Iyong Arduino / AVR !: 4 Mga Hakbang
Telnet sa Iyong Arduino / AVR !: 4 Mga Hakbang

Video: Telnet sa Iyong Arduino / AVR !: 4 Mga Hakbang

Video: Telnet sa Iyong Arduino / AVR !: 4 Mga Hakbang
Video: L1PWVM Complete Demo and Update 2024, Hulyo
Anonim
Telnet sa Iyong Arduino / AVR!
Telnet sa Iyong Arduino / AVR!

Noong isang araw ay nais kong suriin ang isa sa aking mga AVR ngunit nasa itaas ako at alam ng diyos na sobrang abala upang bumaba sa kung saan naroon ang microcontroller. Ngunit, mayroong dalawang mga computer na walang ginagawa na nakaupo sa taas sa tabi ng aking tamad na kulot, kaya't nagkaroon ako ng kalahating araw mula sa trabaho at nagpasyang magsulat ng isang application na nagbubuklod sa dalawang port: isang serial port upang kumonekta sa Arduino / AVR at isang TCP / IP port na maaari kong telnet mula sa aking wireless network o sa Internet. Ang application pagkatapos ay kumilos bilang isang proxy sa pagitan ng TCP / IP network at ang AVR. Upang mas makita ang video, mag-click nang dalawang beses at ilabas ito sa sarili nitong window at palakihin. Kung hindi man, mag-squint at makikita mo kung ano ang nai-type. Kaya't, natapos kong baguhin ang AVR Terminal serial application application na nasulat ko na, at idinagdag ko rito ang suporta ng TCP / IP. Upang sumabay dito, nagsulat ako ng ilang firmware na nagbibigay ng isang bagay tulad ng isang shell ng UNIX, na binibigyan ako ng malayuang pag-access sa lahat ng mga pin, setting ng piyus, atbp. Maaari mong i-on ang LED at lahat ng mga bagay na iyon mula sa malayo. Sinusuportahan din nito ang pag-aayos ng bilis ng orasan sa real-time at may isang pseudo-password system na nagbibigay ng balangkas para sa Mga Listahan ng Access Control o pagpapatotoo para sa mga utos sa antas ng ugat (tulad ng pag-power down ng mga subsystem, atbp). Narito ang ilan sa mga bagay na magagawa nito:

  • Ipakita ang iyong dalas ng CPU
  • Itakda ang anumang pin sa input o output
  • Basahin ang estado ng anumang pin
  • Magpadala ng lohika 1 at 0 sa anumang pin upang i-on ang LED, atbp
  • I-power down at i-power up ang mga peripheral ng SPI, TWI, USART, at ADC
  • Basahin ang mas mababang piyus, mas mataas na piyus, panlabas na piyus at mga lock bit sa real-time
  • Magsimula ng mga timer para sa awtomatikong mga kaganapan at bagay sa tiyempo.
  • Isang balangkas para sa isang sistema ng pagpapatotoo sa EEPROM
  • Itaguyod ang anumang magagamit na prescaler ng orasan sa real-time
  • Nakasulat sa C ++ at naipon para sa isang ATmega328P

Itinuturo ang mga detalye kung paano mo mai-download ang software (at firmware, kung gusto mo), i-install ito, at simulang i-access ang iyong AVR mula sa iyong wireless home network o sa Internet.

Hakbang 1: Ano ang Kakailanganin Mo

  • Isang stand-alone AVR o Arduino / clone (para sa detalyadong mga tagubilin sa kung paano gumawa ng iyong sarili, medyo kumpletong stand-alone na AVR system kabilang ang isang panlabas na kristal, decoupling capacitors, at isang kinokontrol na mapagkukunan ng kuryente, tingnan ang aking iba pang maituturo).
  • Isang koneksyon sa serial o USB sa iyong host PC
  • Ang bersyon ng AVR Terminal na may naka-embed na TCP / IP server
  • Bilang pagpipilian, ang AVR Shell (avrsh) kung nais mong magpatakbo ng firmware sa iyong target na AVR / Arduino upang makakuha ng access sa iyong mga peripheral.

Gumagana ang TCP / IP gateway sa anumang firmware na maaaring ginagamit mo o nais mong isulat hangga't nakikipag-usap ito sa pamamagitan ng UART sa PC. Sa kasamaang palad, walang isang bersyon ng Java, kaya't ang AVR Terminal ay tumatakbo lamang sa Windows sa ngayon.

Hakbang 2: I-download at I-install ang AVR Terminal at TCP / IP Server

I-download at I-install ang AVR Terminal at TCP / IP Server
I-download at I-install ang AVR Terminal at TCP / IP Server

Ang AVR Terminal ay isang application ng windows na ipinakilala ko sa mga naunang itinuturo. Maaari itong makipag-usap sa iyong AVR sa pamamagitan ng RS232 USART pati na rin makinig para sa papasok na mga koneksyon sa TCP / IP at i-relay ang mga ito sa buong koneksyon sa RS232 para sa tugon mula sa iyong naghihintay na AVR. Hindi ito kumpleto sa tampok ngunit nag-aalok ng paunang paglilibot sa mga tampok na detalyado dito at sa aking iba pang mga itinuturo. Ang pinakabagong bersyon ay maaaring ma-download dito. Ang software ay hindi tumatagal ng isang buong pag-install; maaari mo lamang patakbuhin ang software mula sa direktoryo nito. Ang kahon ng teksto sa tool bar na nagsasabing ANUMANG ay ang IP address na dapat na nakagapos para sa pakikinig. ANUMANG magbubuklod ng anuman at lahat ng mga IP address, o opsyonal na maaari mong ilista ang isa upang maiugnay sa partikular. Ang kahon ng teksto sa kanan ng IP address ay ang IP port kung saan bubuklod ang server. Ang default ay 23232 ngunit mababago mo ito sa kahit anong gusto mo.

Hakbang 3: I-install ang Iyong Shell

Bago makipag-ugnay sa iyo ang iyong AVR, kakailanganin mong magkaroon ng isang uri ng operating system o shell sa target na AVR. Mayroong isang pares na magagamit kasama ang aking AVR Shell at ang shell ng Bitlash.

Bilang kahalili, gamitin ang karanasang ito bilang isang pagkakataon na sumulat ng iyong sariling minimal na shell.

Hakbang 4: Telnet at Masiyahan

Telnet at Masiyahan
Telnet at Masiyahan

Tandaan ang iyong impormasyon sa pagsasaayos o maaari mo itong panatilihin sa mga default. Sa aking halimbawa ng larawan, nasa isang host ako na nagngangalang "newton" at telnet sa makina na konektado ang aking AVR, isang host na tinatawag na "quadcpu1." Maaari mong makita ang karaniwang output ng telnet. Kaya, kung itinago mo ito sa mga default, maaari mong ma-access ang iyong AVR / Arduino mula sa iyong TCP / IP network gamit ang: telnet 23232

o kung nasa parehong kahon ka: telnet localhost 23232

Tandaan lamang na gamitin ang pagsasaayos na binago mo ito, kung binago mo ito. Dapat ganun. Ang source code para sa parehong telnet server at ang AVR firmware ay malayang magagamit bilang bukas na mapagkukunan at dapat magbigay sa iyo ng sapat na magandang impormasyon upang hayaan kang mabago ito o sumulat ng iyong sariling mga bersyon ng alinman. Susunod na hakbang ay maaaring magsulat ng isang pagpapatupad ng Java o Qt ng TCP / IP server upang ang mga gumagamit ng Mac at Linux ay maaaring makinabang.

Inirerekumendang: