2017-05-10 67 views
-2

嗨,我目前正在製作自己的軟件來控制一個帶有Raspberry Pi的機器人。我想知道是否可以將ssh嵌入到HTML代碼中,因此當用戶輸入Pi的IP地址時,它將通過ssh連接到pi。在網站中使用SSH

然後我想要做的是通過ssh發送命令,當他們點擊一個按鈕。例如。向後。

這意味着我可以通過python代碼控制從樹莓派的GPIO引腳,如果我可以通過數據。

我已經寫了一些控制代碼的介紹如下:

<html> 
<head> 
    <style type="text/css"> 
     #commands{ 
      text-align: center; 
      color: FF8300; 
      font-size: 100px; 
     } 
     .controllbox{ 
      width: 610px; 
      margin: 0 auto; 
     } 
     #arrowUp{ 
      text-align: center; 
      position: static; 
     } 
     #arrowRight{ 
      text-align: right; 
      position: static; 
      margin-top: 0; 
     } 
     #arrowDown{ 
      text-align: center; 
      position: static; 
     } 
     #arrowLeft{ 
      text-align: left; 
      position: static; 
      margin-top: -200px; 

     } 
     #stop{ 
      width: 120px; 
      height: auto; 
      margin: 0 auto; 
      margin-top: -65%; 
      margin-left: 34%; 
      text-align: center; 
      position: static; 


     } 
    </style> 
</head> 
<body> 

    <h1 id="commands">Controll Me!!</h1> 
    <div class="controllBox"> 
     <div id="arrowUp"><img src="arrowUp.jpg" class="controll" id="button1"></div> 
     <div id="arrowRight"><img src="arrowRight.jpg" class="controll" id="button2"></div> 
     <div id="arrowLeft"><img src="arrowLeft.jpg" class="controll" id="button3"></div> 
     <div id="arrowDown"><img src="arrowDown.jpg" class="controll" id="button4"></div> 
     <div id="stop"><img src="stop.jpg" class="controll" id="button5"></div> 
    </div> 
<script type="text/javascript"> 

     document.getElementById('button1').onclick = function(){ 
      document.getElementById('commands').innerHTML = 'Foward' 
     } 
     document.getElementById('button2').onclick = function(){ 
      document.getElementById('commands').innerHTML = 'Right' 
     } 
     document.getElementById('button3').onclick = function(){ 
      document.getElementById('commands').innerHTML = 'Left' 
     } 
     document.getElementById('button4').onclick = function(){ 
      document.getElementById('commands').innerHTML = 'Backwards' 
     } 
     document.getElementById('button5').onclick = function(){ 
      document.getElementById('commands').innerHTML = 'Stop' 
     } 

    </script> 
</body> 

它將如果你知道如何做到這一點還是因爲我拉我的頭髮類似的東西將不勝感激,試圖找出我如何做到這一點。

非常感謝您的幫助 James。

+1

https://en.wikipedia.org/wiki/Web-執行它based_SSH – CBroe

+0

https://github.com/aluzzardi/wssh – Bergi

+0

甚至https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=en –

回答

2

你不能通過HTML或Javascript執行SSH命令(可能是JS,但比它更值得付出)。

我會推薦的,因爲它更安全,更容易管理是使用PHP或Python或其他一些腳本語言將表單提交到您的網絡服務器。

然後,您的Web服務器應該調用SSH來爲您執行命令。

例如:

POST: example.com/forward.php?inst=backward&ip=1.2.3.4 

然後PHP將格式化的命令串來運行SSH,然後以exec()

+0

謝謝你,我是一個真正的新手這並不知道PHP是否還有其他的東西可以幫助我更容易地做到這一點,因爲這看起來或者至少聽起來很難 –