J'essaie de comprendre comment j'irais prendre des informations de série d'un Arduino qui contrôle une extension de navigateur Javascript que j'ai exécuté dans un navigateur ouvert localement sur un ordinateur. Il semblerait que j'aurais besoin d'une sorte d'intermédiaire pour internaliser les lectures en série et les transmettre au navigateur (pour activer les fonctions que j'ai codées). Python? Toutes les réponses, l'aide et la référence sont grandement appréciées.Communication d'arduino vers une extension de navigateur tout s'exécute localement
0
A
Répondre
0
Un serveur http très simple en python ressemblerait à ceci
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
class MyServer(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200, 'OK')
self.send_header('Content-type', 'text/html')
self.end_headers()
self.wfile.write("hello")
HTTPServer(('', 8888), MyServer).serve_forever()
dans la méthode do_GET vous pouvez ajouter le code nécessaire pour accéder à votre programme arduino
...
ser = serial.Serial('/dev/tty.usbserial', 9600)
ser.write('5')
ser.readline()
...
Une autre option serait coder cette en ruby en utilisant webrick comme partie serveur web
require "serialport.so"
require 'webrick';
SERIALPORT="/dev/ttyUSB0"
s = HTTPServer.new(:Port => 2000)
class DemoServlet < HTTPServlet::AbstractServlet
def getValue()
begin
sp = SerialPort.new(SERIALPORT, 9600, 8, 1, SerialPort::NONE)
sp.read_timeout = 500
sp.write("... whatever you like to send to your arduino")
body = sp.readline()
sp.close
return body
rescue
puts "cant open serial port"
end
end
def do_GET(req, res)
body = "--.--"
body = getValue()
res.body = body
res['Content-Type'] = "text/plain"
end
end
s.mount("/test", DemoServlet)
trap("INT"){ s.shutdown }
s.start
a ird possibilité serait l'utilisation d'un bouclier d'Ethernet sur le arduino et sauter le code proxy complètement
2
Une autre option consiste à utiliser un module externe de navigation pour accéder au port série de javascript:
http://code.google.com/p/seriality/Questions connexes
- 1. Communication Java vers JavaScript
- 2. Communication entre 2 modules complémentaires Firefox (Communication inter-extension)
- 3. Création d'une extension C vers Python nécessitant une autre extension
- 4. Extension Chrome: communication entre iframe et popup
- 5. Comment ouvrir une URL tout en désinstallant Google Chrome Extension?
- 6. Communication WiFi vers l'affichage intégré
- 7. Communication Javascript vers Flash sans SWFObject.js
- 8. Rediriger tout vers index.php
- 9. Firefox Extension: Exécuter une action lorsque l'utilisateur ferme le navigateur
- 10. Bascule vers une communication EJB sans port RMI
- 11. Communication bidirectionnelle fiable vers un processus Linux?
- 12. Comment intercepter et répondre localement aux requêtes du navigateur?
- 13. Comment puis-je porter une extension dans VB.NET vers C#?
- 14. Communication par navigateur et application externe? (URL et référent actuels de Chrome sous Windows?)
- 15. Développement d'une extension de navigateur pour le filtrage de contenu
- 16. Décale le contenu du navigateur vers la gauche tout en visualisant en grand écran
- 17. communication asp/php vers le service/l'application local
- 18. Communication fiable entre votre serveur et le navigateur?
- 19. Comment réaliser la communication entre le navigateur et le backend?
- 20. Nodejs - Sortie de flux vers le navigateur
- 21. Extension/contraction des colonnes avec le navigateur (ASP.Net)
- 22. Est-il possible d'utiliser une clé USB pour servir des fichiers localement à un navigateur?
- 23. Communication d'un site Web vers une application de bureau (et non l'inverse)
- 24. Installation de ruby-debug19 localement
- 25. Lier dynamiquement une extension Python (.pyd) à une autre extension
- 26. Communication entre une page Web et Excel?
- 27. communication silverlight 3.0 avec winforms
- 28. Communication de port série
- 29. Le navigateur n'affiche pas correctement XML avec CSS lorsque XML a une extension PHP
- 30. Firefox extension ouvrant une page sur l'installation