IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Androud studio SSH JSch

Aktivity
Avatar
Pavel.H
Člen
Avatar
Pavel.H:14.4.2021 23:05

Zdravím.
Jsem našel na netu tutorial jak se připojit na raspi a poslat přikazy

package com.example.myapplicationssh;

import android.os.AsyncTask;
import android.os.Bundle;
import java.io.ByteArrayOutputStream;
import java.util.Properties;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import android.app.Activity;
import android.view.View;

public class MainActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public static String executeRemoteCommand(String username,String password,String hostname,int port)
            throws Exception {
        JSch jsch = new JSch();
        Session session = jsch.getSession(username, hostname, port);
        session.setPassword(password);

        // Avoid asking for key confirmation
        Properties prop = new Properties();
        prop.put("StrictHostKeyChecking", "no");
        session.setConfig(prop);

        session.connect();

        // SSH Channel
        ChannelExec channelssh = (ChannelExec)
                session.openChannel("exec");
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        channelssh.setOutputStream(baos);

        // Execute command
        //channelssh.setCommand("lsusb > /home/pi/test1.txt");
        channelssh.setCommand("sudo reboot");
        channelssh.connect();
        try{Thread.sleep(10000);}catch(Exception ee){};
        channelssh.disconnect();

        return baos.toString();
    }


    public void zmacklTlacitko(View view) {
        new AsyncTask<Integer, Void, Void>(){
            @Override
            protected Void doInBackground(Integer... params) {
                try {
                    executeRemoteCommand("xxxx", "xxxxxxxx","xxxxxxx");


                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }
        }.execute(1);
    }
}

Chci docílit: Mam v raspi soubor /home/pi/tempe­rature, do ktereho se zapisuje teplota z čidla.
Přepisuje se to, takže vždy jen jeden řadek. 25.4
Jak načtu tu teplotu do nějakeho řetězce?
Děkují.

 
Odpovědět
14.4.2021 23:05
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.