İçindekiler:

Arduino/AVR'nize Telnet!: 4 Adım
Arduino/AVR'nize Telnet!: 4 Adım

Video: Arduino/AVR'nize Telnet!: 4 Adım

Video: Arduino/AVR'nize Telnet!: 4 Adım
Video: Arduino with AVR Studio 2024, Temmuz
Anonim
Arduino/AVR'nize Telnet!
Arduino/AVR'nize Telnet!

Geçen gün AVR'lerimden birini kontrol etmek istiyordum ama üst kattaydım ve tanrı biliyor ki, mikrodenetleyicinin olduğu yere alt kata inmek çok zordu. Ancak, üst katta tembel kıçımın yanında boşta oturan iki bilgisayar vardı, bu yüzden işten yarım gün geçirdim ve iki bağlantı noktasını bağlayan bir uygulama yazmaya karar verdim: Arduino/AVR'ye bağlanmak için bir seri bağlantı noktası ve bir TCP/IP kablosuz ağımdan veya İnternet üzerinden telnet yapabileceğim bağlantı noktası. Uygulama daha sonra TCP/IP ağı ve AVR arasında bir proxy görevi görür. Videoyu daha iyi görmek için iki kez tıklayıp kendi penceresinde açıp büyütün. Aksi takdirde, şaşı ve ne yazıldığını görebilirsiniz. Böylece daha önce yazmış olduğum AVR Terminal seri bağlantı uygulamasını modifiye ettim ve TCP/IP desteğini ekledim. Bununla birlikte, UNIX kabuğu gibi bir şey sağlayan ve bana tüm pinlere, sigorta ayarlarına, vb. uzaktan erişim sağlayan bir donanım yazılımı yazdım. LED'leri ve diğer şeyleri uzaktan açabilirsiniz. Hatta saat hızının gerçek zamanlı olarak ayarlanmasını destekler ve Erişim Kontrol Listeleri için çerçeve sağlayan veya kök düzeyindeki komutlar için (alt sistemlerin kapatılması gibi) kimlik doğrulaması sağlayan bir sahte parola sistemine sahiptir. İşte yapabileceği şeylerden bazıları:

  • CPU frekansınızı görüntüleyin
  • Herhangi bir pini giriş veya çıkış olarak ayarlayın
  • Herhangi bir pinin durumunu okuyun
  • LED'leri vb. açmak için mantık 1 ve 0'ı herhangi bir pime gönderin
  • SPI, TWI, USART ve ADC çevre birimlerini kapatın ve açın
  • Alt sigortayı, yüksek sigortayı, harici sigortayı ve kilit bitlerini gerçek zamanlı olarak okuyun
  • Olayları ve şeyleri otomatik olarak zamanlamak için zamanlayıcıları başlatın.
  • EEPROM'a bir kimlik doğrulama sistemi için bir çerçeve
  • Mevcut herhangi bir saat ön ölçekleyicisini gerçek zamanlı olarak kurun
  • C++ ile yazılmış ve bir ATmega328P için derlenmiştir

Bu talimat, yazılımı (ve isterseniz bellenimi) nasıl indirebileceğinizi, kurabileceğinizi ve kablosuz ev ağınızdan veya İnternet üzerinden AVR'nize nasıl erişmeye başlayacağınızı ayrıntılarıyla anlatır.

Adım 1: İhtiyacınız Olan Şeyler

  • Bağımsız bir AVR veya Arduino/klon (harici bir kristal, dekuplaj kapasitörleri ve düzenlenmiş bir güç kaynağı dahil olmak üzere kendi, oldukça eksiksiz bağımsız AVR sisteminizi nasıl oluşturacağınızla ilgili ayrıntılı talimatlar için, diğer talimatlarıma bakın).
  • Ana PC'nize seri veya USB bağlantısı
  • Katıştırılmış TCP/IP sunucusuna sahip AVR Terminal sürümü
  • İsteğe bağlı olarak, çevre birimlerinize erişmek için hedef AVR/Arduino üzerinde ürün yazılımı çalıştırmak istiyorsanız AVR Shell (avrsh).

TCP/IP ağ geçidi, UART aracılığıyla PC ile iletişim kurduğu sürece kullanmakta olduğunuz veya yazmak istediğiniz herhangi bir ürün yazılımı ile çalışır. Ne yazık ki, bir Java sürümü yok, bu nedenle AVR Terminali şu anda yalnızca Windows'ta çalışıyor.

Adım 2: AVR Terminalini ve TCP/IP Sunucusunu İndirin ve Kurun

AVR Terminalini ve TCP/IP Sunucusunu İndirin ve Kurun
AVR Terminalini ve TCP/IP Sunucusunu İndirin ve Kurun

AVR Terminali, daha önceki talimatlarda tanıttığım bir Windows uygulamasıdır. RS232 USART aracılığıyla AVR'nizle konuşabilir ve ayrıca gelen TCP/IP bağlantılarını dinleyebilir ve bekleyen AVR'nizden yanıt almak için bunları RS232 bağlantısı üzerinden aktarabilir. Tam özellikli değildir, ancak burada ve diğer talimatlarımda ayrıntılı olarak açıklanan bir ilk özellik turu sunar. En son sürüm buradan indirilebilir. Yazılım tam kurulum gerektirmez; yazılımı kendi dizininden çalıştırabilirsiniz. Araç çubuğundaki HERHANGİ BİR yazan metin kutusu, dinleme için bağlanacak IP adresidir. HERHANGİ herhangi bir IP adresini bağlar veya isteğe bağlı olarak özellikle bağlanmak için birini listeleyebilirsiniz. IP adresinin sağındaki metin kutusu, sunucunun bağlanacağı IP bağlantı noktasıdır. Varsayılan 23232'dir ancak bunu istediğiniz gibi değiştirebilirsiniz.

Adım 3: Kabuğunuzu Kurun

AVR'niz sizinle tekrar iletişim kurmadan önce, hedef AVR'de bir tür işletim sistemi veya kabuğa sahip olmanız gerekir. AVR Shell'im ve Bitlash Shell'im de dahil olmak üzere birkaç tane mevcut.

Alternatif olarak, bu deneyimi kendi minimal kabuğunuzu yazmak için bir şans olarak kullanın.

4. Adım: Telnet ve Keyfini Çıkarın

Telnet ve Keyfini Çıkarın
Telnet ve Keyfini Çıkarın

Yapılandırma bilgilerinizi hatırlayın veya varsayılanlarda tutabilirsiniz. Örnek resmimde, "newton" adlı bir ana bilgisayar üzerindeyim ve AVR'min bağlı olduğu makineye telnet, "quadcpu1" adlı bir ana bilgisayar üzerindeyim. Standart telnet çıktısını görebilirsiniz. Dolayısıyla, varsayılanlarda tuttuysanız, AVR/Arduino'nuza TCP/IP ağınızdan şu şekilde erişebilirsiniz: telnet 23232

veya aynı kutudaysanız: telnet localhost 23232

Değiştirdiyseniz, değiştirdiğiniz yapılandırmayı kullanmayı unutmayın. Bu olmalı. Hem telnet sunucusunun hem de AVR sabit yazılımının kaynak kodu, açık kaynak olarak serbestçe kullanılabilir ve onu değiştirmenize veya kendi sürümlerinizi yazmanıza izin verecek kadar iyi bilgi sağlamalıdır. Sonraki adım, Mac ve Linux kullanıcılarının faydalanabilmesi için TCP/IP sunucusunun Java veya Qt uygulamasını yazmak olabilir.

Önerilen: