2015-11-12 1 views
0

Alors d'abord s'il vous plaît, gardez-moi, c'est la première fois que je travaille avec ça. j'ai pu écrire un simple code python qui pourrait envoyer l'information au arduino et contrôler son asservissement:Contrôler Arduino avec une page web locale/node.js

def main(inp): 
    import serial 
    ser = serial.Serial("/dev/cu.usbmodemfa131") # open arduino serial port 
    ser.write(inp)  # write a string 
    ser.close()    # close port 

et j'ai pu faire un html/javascript fichier avec un curseur de numéro que je peux ouvrir avec noeud .js sur mon ordinateur. ma première pensée était peut-être d'avoir ce script python appelé chaque fois que l'utilisateur changeait le numéro sur le curseur et donc que le servo de l'arduino bougeait en conséquence, mais cela semblait difficile à faire en javascript. comment puis-je avoir les entrées de l'utilisateur sur le site Web écrire sur le port série de l'arduino?

Ceci est le fichier html, le curseur a été créé en utilisant jquery.

<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <title>Slider Demo</title> 
    <link rel="stylesheet" href="jquery-ui.min.css"> 
    <style>#slider { margin: 50px; } </style> 
    <script src="external/jquery/jquery.js"></script> 
    <script src="jquery-ui.min.js"></script> 
</head> 
<body> 

<div class="center" id="slider"></div> 
<center> 
<div id="slider-result">90</div> 
</center> 
<input type="hidden" id="hidden"/> 
<script> 

$("#slider").slider({ 
       animate: true, 
       range: "min", 
       value: 90, 
       min: 0, 
       max: 180, 
       step: 1, 
}) 

       //this gets a live reading of the value and prints it on the page 
       slide: function(event, ui) { 
        $("#slider-result").html(ui.value); 
       }, 

       //this updates the hidden form field so we can submit the data using a form 
       change: function(event, ui) { 
       $('#hidden').attr('value', ui.value); 
       } 

       }); 
</script> 

</body> 
</html> 

Répondre

0

à partir du navigateur est difficile d'accéder aux ressources de PC (comme l'accès à l'imprimante), vous pouvez faire un serveur qui écoute les requêtes envoyées à partir du navigateur et de faire quelque chose basé sur demande, dans votre cas, vous pouvez envoyer un POST XmlHttpRequest '/ action' avec la saisie du nombre en paramètre en utilisant jquery, et faire une route dans le serveur du noeud écoutant cette action (app.post ('/ action', function() ..)), puis dans la fonction, vous obtenez les paramètres à partir de la demande de publication et appelez votre script python (ou utilisez node serial port pour contrôler arduino). C'est une idée générale mais j'espère pouvoir vous aider.