Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
Share Thread:
Rapberry Pi3 e uzaktan bağlanıp ssh üzerinden python3 komutu yollamak
#1
Python3 ile "paramiko" paketini kullanarak yazdığım program aracılığıyla Windows7 yüklü bir bilgisayardan Raspberry Pi3 ün komut satırına komut yollayarak
Raspberry Pi3'ün üzerindeki pyhon3 programlarını çalıştırabiliyorum.  Ama benim istediğim şey Raspberry Pi3 ün komut satırına bağlanarak direk python3 komutlarını çalıştırmak
bu hususta bilgisi olan arkadaşlar yardımcı olabilirse sevinirim.

Yazdığım kod aşağıda bulunuyor. 

import paramiko#"paramiko" paketini içe aktar. Bu komutu kullanabilmemiz için paramiko paketinin kurulu olması lazım bilgisayarımızda
               #"paramiko" paketini windows7'ye kurmak için
               #1-Başlat Menüsüne farenin sol tuşuyla tıkla
               #2-"Programları ve dosyaları ara" yazan yere farenin sol tuşuyla tıkla ve "Çalıştır" yaz
               #3-En üstte "Çalıştır" yazan metine tıkla
               #4-Açılan pencerede yanında "Aç" yazan kutuya "cmd" yaz klavyenin "Enter" tuşuna bas(veya farenin sol tuşuyla Tamam yazan düğmeye tıkla)
               #5-Açılan "Yönetici: C:\WINDOWS\system32\cmd.exe" başlıklı pencerede yanıp sönen ikonun olduğu yere   pip3 install paramiko yaz klavyenin "Enter" tuşuna bas böylece "paramiko" paketi kurulmaya başlanacak
               #6-Yükleme tamamlanınca imlecin yanıp söndüğü yere pip3 install paramiko --upgrade yaz klavyenin "Enter" tuşuna bas böylece "paramiko" paketi güncellenecek
               #7-Güncelleme bittikten sonra imlecin yanıp söndüğü noktaya pip list komutunu yaz klavyenin "Enter" tuşuna bas ekranda yüklü paketlerin listesi görülücek eğer "paramiko" yazısı görünüyorsa yükleme başarıyla tamamlanmıştır.

import time    #"time" modülünü içe aktar bu modülü sleep() fonksiyonunu kullanmak için içe aktardım sadece

class SshBağlantısı():#" SshBağlantısı" adında bir sınıf tanımla

    def __init__(self, SshBağlanılacakcihazınIPnumarası, SshPortNumarası, SshKullanıcıAdı, SshŞifresi):
        self.SshBağlanılacakcihazınIPnumarası = SshBağlanılacakcihazınIPnumarası
        self.SshKullanıcıAdı = SshKullanıcıAdı
        self.SshPortNumarası = SshPortNumarası
        self.SshŞifresi = SshŞifresi
        self.devclient = paramiko.SSHClient()
        self.devclient.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        self.devclient.connect(SshBağlanılacakcihazınIPnumarası, port=int(SshPortNumarası), username=SshKullanıcıAdı, password=SshŞifresi, timeout=5)
    def SshileKodSatırınaKomutYolla_Fonsiyonu(self, Kodsatırınayollanacakkomut):
        self.devclient.invoke_shell()
        stdin, stdout, stderr = self.devclient.exec_command(Kodsatırınayollanacakkomut)
        return stdout.readline()
    def SshBağlantısınıKapat_Fonksifonu(self):
        self.devclient.close()



KodSatırınaYollanacakKomut="python3 /home/pi/Desktop/İLKPROGRAM.py" 
Cihaz1Sınıfı = SshBağlantısı("192.168.2.50", "25", "RaspberryPi3", "raspberry")#IP numarası "192.168.2.50", ssh iletişim için "25" nolu porttu kullanan, sshkullanıcı adı "RaspberryPi3", ssh kullanıcı şifresi "raspberry" olan cihaza bağlan 
Cihaz1Sınıfı.SshileKodSatırınaKomutYolla_Fonsiyonu(KodSatırınaYollanacakKomut)
time.sleep(5)#5 saniye bekle
Cihaz1Sınıfı.SshileKodSatırınaKomutYolla_Fonsiyonu("python3 /home/pi/Desktop/İKİNCİPROGRAM.py")
Cihaz1Sınıfı.SshBağlantısınıKapat_Fonksifonu()

RaspberryPi3'ün masaüstündeki  bulunan "İLKPROGRAM.py" ve "İKİNCİPROGRAM.py" adındaki iki program arda arda çalıştırılıyor ben Raspberry Pi3' ün masaüstüne program dosyası yerleştirmeden direk python3 komutlarını yollayabilmek istiyorum. Bunun bir yöntemini bilen arkadaşlar yardımcı olabilirse sevinirim.
Ara
Cevapla
#2
Sorumun cevabı

http://www.istihza.com/forum/viewtopic.p...055#p16055

linlinde bulunuyor.
Ara
Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi