मैं serialport
gem का उपयोग कर रहा हूं ताकि रेल रुस 3.2 अनुप्रयोग में रूबी में सीरियल पोर्ट से पढ़ा जा सके। धारावाहिक बंदरगाह का उपयोग Arduino बोर्ड से डेटा लिखने के लिए किया जाता है। मणि Gemfile
में जोड़ा गया है। पोर्ट application.rb
में आरंभ नहीं हो जाता:रेल अनुप्रयोग पर रुबी में सीरियल पोर्ट से पढ़ना
config.serial_port = SerialPort.new "/devttyACM0", 9600
config.serial_port.read_timeout = 100
समस्या प्रकट होता है जब मैं इस बंदरगाह से पढ़ने के लिए प्रयास करें।
@sp = ProjectName::Application::config.serial_port
@sp.read
एप्लिकेशन घातक लटका हुआ है। मैंने pry
सत्र से पढ़ने का प्रयास किया है और सब कुछ ठीक था। अगर मैंने read_timeout
से 0
सेट किया है, तो pry
से पढ़ना भी लटकता है। मैंने पहले से ही read_timeout
को बिना किसी परिणाम के बड़े मूल्यों पर सेट करने का प्रयास किया है। इसे काम करने के लिए मुझे क्या करना चाहिए?
अद्यतन:
मैं sinatra
framework का उपयोग कर एक ही कार्रवाई करने के लिए कोशिश की है। यह भी लटकता है।
require "sinatra"
require "serialport"
get '/' do
read_data
end
helpers do
def read_data
sp = SerialPort.new "/dev/ttyACM0", 9600
sp.read_timeout = 1500
t = sp.read.match(/\d+(\n|\r)+/)[0].gsub!(/(\n|\r)*/,"") rescue nil
sp.close
t
end
end