问题是,我正在尝试使用“我制作的”红宝石脚本连接到9600串行端口以发送数据,以便Arduino可以读取它。
我想将数据发送到串行端口(9600),并且必须连接到该端口才能执行此操作。我正在尝试将其连接到/dev/ttyS6
。
这是我的红宝石代码:
#simplest ruby program to read from arduino serial,
#using the SerialPort gem
#(http://rubygems.org/gems/serialport)
require "serialport"
#params for serial port
port_str = "/dev/ttyS6" #may be different for you
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE
sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)
#just read forever
while true
i = gets.chomp!.to_i
puts sp.putc(i)
end
#puts i.class #String
sp.close #see note 1
我的Ruby程序在Windows的ubuntu bash上运行。此消息显示在控制台中:
serialport-1.3.1/lib/serialport.rb:25:in `create': Permission denied - /dev/ttyS6 (Errno::EACCES)
我已经尝试了以下解决方案:
chown -R myUserName ./*
sudo chown -R user_name file_name
chmod a+w <folder>
如何允许连接?
答案 0 :(得分:1)
没关系,我找到了解决方案,我使用了以下命令:
sudo chmod 666 /dev/ttyS6