Turinys:

„Telnet“į „Arduino“/AVR!: 4 žingsniai
„Telnet“į „Arduino“/AVR!: 4 žingsniai

Video: „Telnet“į „Arduino“/AVR!: 4 žingsniai

Video: „Telnet“į „Arduino“/AVR!: 4 žingsniai
Video: Отладка проекта telnet сервера на Arduino Mega2560 + W5100 2024, Liepa
Anonim
„Telnet“prie jūsų „Arduino“/AVR!
„Telnet“prie jūsų „Arduino“/AVR!

Kitą dieną norėjau patikrinti vieną iš savo AVR, bet buvau viršuje ir dievas žino, kad buvo per daug vargo nusileisti į apačią, kur buvo mikrovaldiklis. Bet viršuje šalia mano tinginio užpakalio sėdėjo du neveiklūs kompiuteriai, todėl turėjau pusę dienos nuo darbo ir nusprendžiau parašyti programą, kuri susieja du prievadus: nuoseklųjį prievadą, skirtą prisijungti prie „Arduino“/AVR, ir TCP/IP prievadą, į kurį galėčiau prisijungti telnetu iš savo belaidžio tinklo arba per internetą. Tada programa veikia kaip tarpinis serveris tarp TCP/IP tinklo ir AVR. Norėdami geriau pamatyti vaizdo įrašą, spustelėkite du kartus, atverkite jį savo lange ir padidinkite. Priešingu atveju prisimerkite ir pamatysite, kas įvedama. Taigi galiausiai pakeičiau jau parašytą AVR terminalo serijinio ryšio programą ir pridėjau prie jos TCP/IP palaikymą. Norėdami tai padaryti, parašiau tam tikrą programinę -aparatinę įrangą, kuri suteikia kažką panašaus į UNIX apvalkalą, suteikiančią nuotolinę prieigą prie visų kaiščių, saugiklių nustatymų ir pan. Galite nuotoliniu būdu įjungti šviesos diodus ir visa kita. Jis netgi palaiko laikrodžio greičio reguliavimą realiuoju laiku ir turi pseudo slaptažodžių sistemą, suteikiančią prieigos kontrolės sąrašų sistemą arba pagrindinio lygio komandų autentifikavimą (pvz., Išjungiant posistemius ir pan.). Štai keletas dalykų, kuriuos jis gali padaryti:

  • Parodykite savo procesoriaus dažnį
  • Įveskite arba išveskite bet kurį kaištį
  • Perskaitykite bet kurio kaiščio būseną
  • Siųskite logiką 1 ir 0 į bet kurį kaištį, kad įjungtumėte šviesos diodus ir pan
  • Išjunkite ir įjunkite SPI, TWI, USART ir ADC išorinius įrenginius
  • Realiu laiku perskaitykite apatinį, didesnį saugiklį, išorinį saugiklį ir užraktus
  • Pradėkite automatinio įvykių ir dalykų laiko laikmatį.
  • EEPROM autentifikavimo sistemos sistema
  • Nustatykite bet kurį turimą laikrodžio padidinimo įrenginį realiuoju laiku
  • Parašyta C ++ ir sukurta ATmega328P

Šioje instrukcijoje pateikiama išsami informacija, kaip galite atsisiųsti programinę įrangą (ir programinę -aparatinę įrangą, jei jums patinka), ją įdiegti ir pradėti prieigą prie AVR iš belaidžio namų tinklo arba internetu.

1 žingsnis: ko jums reikės

  • Savarankiškas AVR arba „Arduino“/klonas (išsamias instrukcijas, kaip pasigaminti gana pilną atskirą AVR sistemą, įskaitant išorinį kristalą, atsiejamus kondensatorius ir reguliuojamą maitinimo šaltinį, rasite mano kitoje instrukcijoje).
  • Serijinis arba USB ryšys su pagrindiniu kompiuteriu
  • AVR terminalo versija, kurioje yra įterptas TCP/IP serveris
  • Pasirinktinai, „AVR Shell“(avrsh), jei norite paleisti programinę -aparatinę įrangą savo tiksliniame AVR/„Arduino“, kad galėtumėte pasiekti periferinius įrenginius.

TCP/IP šliuzas veikia su bet kokia programine įranga, kurią naudojate arba norite rašyti, kol ji per kompiuterį bendrauja per UART. Deja, nėra „Java“versijos, todėl AVR terminalas šiuo metu veikia tik „Windows“.

2 veiksmas: atsisiųskite ir įdiekite AVR terminalą ir TCP/IP serverį

Atsisiųskite ir įdiekite AVR terminalą ir TCP/IP serverį
Atsisiųskite ir įdiekite AVR terminalą ir TCP/IP serverį

AVR terminalas yra „Windows“programa, kurią pristatiau ankstesnėse instrukcijose. Jis gali kalbėtis su jūsų AVR per RS232 USART, taip pat klausytis gaunamų TCP/IP jungčių ir perduoti jas per RS232 ryšį, kad gautų atsakymą iš jūsų laukiančio AVR. Tai nėra išsami funkcija, tačiau siūlo pradinę apžvalgą apie funkcijas, išsamiai aprašytas čia ir kitose mano instrukcijose. Naujausią versiją galite atsisiųsti čia. Programinė įranga nėra visiškai įdiegta; galite tiesiog paleisti programinę įrangą iš jos katalogo. Įrankių juostoje esantis teksto laukelis, kuriame rašoma, kad BET KAS yra IP adresas, kuris turi būti susietas klausantis. BET bet kas suriš visus IP adresus, arba pasirinktinai galite nurodyti vieną, prie kurio susieti. Teksto laukelis dešinėje nuo IP adreso yra IP prievadas, prie kurio bus susietas serveris. Numatytasis yra 23232, bet jūs galite tai pakeisti į viską, kas jums patinka.

3 žingsnis: įdiekite „Shell“

Kad jūsų AVR galėtų su jumis bendrauti, turite turėti tam tikrą operacinę sistemą arba apvalkalą tiksliniame AVR. Yra pora, įskaitant mano AVR apvalkalą ir „Bitlash“apvalkalą.

Arba naudokite šią patirtį kaip galimybę parašyti savo minimalų apvalkalą.

4 žingsnis: „Telnet“ir mėgaukitės

Telnet ir mėgaukitės
Telnet ir mėgaukitės

Prisiminkite savo konfigūracijos informaciją arba galite palikti ją pagal numatytuosius nustatymus. Mano pavyzdiniame paveikslėlyje esu priegloboje, pavadintoje „niutonas“, ir telnetu prie mašinos, prie kurios prijungtas mano AVR, priegloboje, pavadintoje „quadcpu1“. Galite pamatyti standartinę „telnet“išvestį. Taigi, jei nustatėte numatytuosius nustatymus, galite pasiekti savo AVR/„Arduino“iš savo TCP/IP tinklo naudodami: telnet 23232

arba jei esate toje pačioje dėžutėje: telnet localhost 23232

Tiesiog nepamirškite naudoti konfigūracijos, į kurią pakeitėte, jei ją pakeitėte. Tai turėtų būti. Tiek „telnet“serverio, tiek AVR programinės įrangos šaltinio kodas yra laisvai prieinamas kaip atvirojo kodo ir turėtų suteikti jums pakankamai geros informacijos, kad galėtumėte jį pakeisti arba parašyti savo versijas. Kitas žingsnis gali būti TCP/IP serverio „Java“ar „Qt“diegimas, kad „Mac“ir „Linux“vartotojai galėtų gauti naudos.

Rekomenduojamas: