at_ito
2015年2月24日 17時09分
Armadillo-IoTの標準のユーザーランドにruby-serialportが入っているので、 rubyでシリアルエコーサーバーを作ってみました。
以下、ソースコードです。
#!/usr/bin/ruby require 'serialport' serialport = ARGV[0] if ARGV.size != 1 puts "Usage: " + $0 + " <device>" exit false end sp = nil Signal.trap(:INT) { if sp.nil? == false then sp.close end exit true } begin sp = SerialPort.new(serialport, 115200, 8, 1, 0) rescue puts "Could not open serial port." exit false end loop do chars = sp.readpartial 1024 sp.write chars end sp.close
スクリプト言語ということでライブラリが揃っており、これぐらいのアプリであればC言語よりも簡単に作れますね。
ただし懸念点として、このサンプルアプリ終了時に、シリアルポートの設定をプログラム実行前に戻す方法が調べきれませんでした。