Daftar Isi:

Telnet ke Arduino/AVR Anda!: 4 Langkah
Telnet ke Arduino/AVR Anda!: 4 Langkah

Video: Telnet ke Arduino/AVR Anda!: 4 Langkah

Video: Telnet ke Arduino/AVR Anda!: 4 Langkah
Video: Как запрограммировать ATtiny167 или ATtiny87 с помощью Arduino. Полное руководство по Windows 2024, Juli
Anonim
Telnet ke Arduino/AVR Anda!
Telnet ke Arduino/AVR Anda!

Suatu hari saya ingin memeriksa salah satu AVR saya, tetapi saya berada di lantai atas dan Tuhan tahu itu terlalu merepotkan untuk turun ke tempat mikrokontroler berada. Tapi, ada dua komputer menganggur duduk di lantai atas di sebelah pantat malas saya, jadi saya punya waktu setengah hari dari pekerjaan dan memutuskan untuk menulis aplikasi yang mengikat dua port: port serial untuk terhubung ke Arduino/AVR dan TCP/IP port yang dapat saya telnet dari jaringan nirkabel saya atau melalui Internet. Aplikasi kemudian bertindak sebagai proxy antara jaringan TCP/IP dan AVR. Untuk melihat video lebih baik, klik dua kali dan bawa ke jendelanya sendiri dan perbesar. Jika tidak, julingkan mata dan Anda dapat melihat apa yang sedang diketik. Jadi, saya akhirnya memodifikasi aplikasi koneksi serial Terminal AVR yang telah saya tulis, dan saya menambahkan dukungan TCP/IP ke dalamnya. Untuk mengikutinya, saya menulis beberapa firmware yang menyediakan sesuatu seperti shell UNIX, memberi saya akses jarak jauh ke semua pin, pengaturan sekering, dll. Anda dapat menyalakan LED dan semua itu dari jarak jauh. Bahkan mendukung penyesuaian kecepatan clock secara real-time dan memiliki sistem pseudo-password yang memberikan kerangka kerja untuk Access Control Lists atau otentikasi untuk perintah tingkat root (seperti mematikan subsistem, dll). Berikut adalah beberapa hal yang dapat dilakukan:

  • Tampilkan frekuensi cpu Anda
  • Atur pin apa saja ke input atau output
  • Baca status pin apa pun
  • Kirim logika 1 dan 0 ke pin mana saja untuk menyalakan LED, dll
  • Matikan dan hidupkan periferal SPI, TWI, USART, dan ADC
  • Baca sekering yang lebih rendah, sekering yang lebih tinggi, sekering eksternal dan bit kunci secara real-time
  • Mulai penghitung waktu untuk mengatur waktu acara dan hal-hal secara otomatis.
  • Kerangka kerja untuk sistem otentikasi ke EEPROM
  • Buat prescaler jam yang tersedia secara real-time
  • Ditulis dalam C++ dan dikompilasi untuk ATmega328P

Instruksi ini merinci bagaimana Anda dapat mengunduh perangkat lunak (dan firmware, jika Anda suka), menginstalnya, dan mulai mengakses AVR Anda dari jaringan rumah nirkabel Anda atau melalui Internet.

Langkah 1: Apa yang Anda Butuhkan

  • AVR yang berdiri sendiri atau Arduino/klon (untuk instruksi terperinci tentang cara membuat sistem AVR mandiri yang cukup lengkap termasuk kristal eksternal, kapasitor decoupling, dan sumber daya yang diatur, lihat instruksi saya yang lain).
  • Koneksi serial atau USB ke PC host Anda
  • Versi Terminal AVR yang memiliki server TCP/IP tertanam
  • Opsional, AVR Shell (avrsh) jika Anda ingin menjalankan firmware pada AVR/Arduino target Anda untuk mendapatkan akses ke periferal Anda.

Gateway TCP/IP bekerja dengan firmware apa pun yang mungkin Anda gunakan atau ingin Anda tulis selama berkomunikasi melalui UART ke PC. Sayangnya, tidak ada versi Java, jadi Terminal AVR hanya berjalan di Windows saat ini.

Langkah 2: Unduh dan Instal Terminal AVR dan Server TCP/IP

Unduh dan Instal Terminal AVR dan Server TCP/IP
Unduh dan Instal Terminal AVR dan Server TCP/IP

Terminal AVR adalah aplikasi windows yang saya perkenalkan di instruksi sebelumnya. Itu dapat berbicara dengan AVR Anda melalui USART RS232 serta mendengarkan koneksi TCP/IP masuk dan menyampaikannya melalui koneksi RS232 untuk mendapatkan respons dari AVR Anda yang menunggu. Ini tidak lengkap fitur tetapi menawarkan tur awal fitur yang dirinci di sini dan di instruksi saya yang lain. Versi terbaru dapat diunduh di sini. Perangkat lunak tidak memerlukan instalasi penuh; Anda hanya dapat menjalankan perangkat lunak dari direktori itu. Kotak teks di bilah alat yang mengatakan APA PUN adalah alamat IP yang akan diikat untuk mendengarkan. APAPUN akan mengikat setiap dan semua alamat IP, atau secara opsional Anda dapat mencantumkan satu untuk diikat secara khusus. Kotak teks di sebelah kanan alamat IP adalah port IP yang akan diikat oleh server. Standarnya adalah 23232 tetapi Anda dapat mengubahnya menjadi apa pun yang Anda suka.

Langkah 3: Instal Shell Anda

Sebelum AVR Anda dapat berkomunikasi kembali dengan Anda, Anda harus memiliki semacam sistem operasi atau shell pada AVR target. Ada beberapa yang tersedia termasuk Shell AVR saya dan Shell Bitlash.

Sebagai alternatif, gunakan pengalaman ini sebagai kesempatan untuk menulis shell minimal Anda sendiri.

Langkah 4: Telnet dan Nikmati

Telnet dan Nikmati
Telnet dan Nikmati

Ingat informasi konfigurasi Anda atau Anda dapat menyimpannya di default. Dalam contoh gambar saya, saya menggunakan host bernama "newton" dan telnet ke mesin yang terhubung dengan AVR saya, sebuah host bernama "quadcpu1." Anda dapat melihat output telnet standar. Jadi, jika Anda menyimpannya secara default, Anda dapat mengakses AVR/Arduino Anda dari jaringan TCP/IP Anda dengan: telnet 23232

atau jika Anda berada di kotak yang sama: telnet localhost 23232

Ingatlah untuk menggunakan konfigurasi tempat Anda mengubahnya, jika Anda mengubahnya. Itu harusnya. Kode sumber untuk server telnet dan firmware AVR tersedia secara bebas sebagai sumber terbuka dan akan memberi Anda informasi yang cukup bagus untuk memungkinkan Anda memodifikasinya atau menulis versi Anda sendiri. Langkah selanjutnya mungkin menulis implementasi Java atau Qt dari server TCP/IP sehingga pengguna Mac dan Linux dapat memperoleh manfaat.

Direkomendasikan: