2010-07-26 44 views
0

我想弄清楚如何從Arduino中獲取控制Javascript瀏覽器擴展的序列信息,我在本地計算機的本地打開瀏覽器中運行。似乎我需要某種中間人內部化串行讀數並將它們傳遞給瀏覽器(以激活我已編碼的功能)。蟒蛇?任何答案,幫助和參考非常感謝。從arduino到瀏覽器擴展的通信全部在本地運行

回答

0

一個在Python非常簡單的HTTP服務器是這樣

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() 

在do_Get方法,你可以添加必要的代碼來訪問你的Arduino程序

... 
ser = serial.Serial('/dev/tty.usbserial', 9600) 
ser.write('5') 
ser.readline() 
... 

另一種選擇將編碼這使用webrick作爲webserver部分的紅寶石

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 th稅務局的辦法是使用上的Arduino的以太網盾和完全跳過代理代碼

相關問題