team genesis
わんこ(けい・めぐ・える)&釣り&他。
RSS
  • Home
  • 秘密基地
  • SOHOアンテナ

8月 9 2008

ruby (thread)

thread処理はとても簡単。b = BCR.newの前に以下を入れ込む。

Thread.start {
while true
day = Time.now
printf("%s -> \r\n", day.strftime("%Y-%m-%d %H:%M:%S"))
sleep 60
end
}

60秒毎に時間が表示される様になる。ここに鯖へのデータ転送処理を入れ込む事でバーコードリーダからのデータを受信しつつ、データ転送が行える。完成まで後、ちょっと。
20080809-b2.jpg
鎌倉観光 深谷霊園 インターンシップ

By admin • computer(windows) • 0

8月 9 2008

ruby (sqlite3)

やはりcsvファイルでは鯖へ送信したデータの更新がやりにくいって事で、sqlite3を使うことにする。用意するものはsqlite3-ruby-1.2.0-msvcrt-bin.zipと、sqlitedll-3_6_1.zip。sqlite3-rubyは、1.2.2があるみたいだけど、msvcrt版がないのでしょうがない。解凍後、sqllite3-rubyはruby install.rbし、sqlitedllはrubyをインスコしたbinディレクトリにcopyする。
dbの初期化をしなければいけないので、別に初期化プログラムを作成。
[bcr_initdb.rb]
require ‘sqlite3’
db = SQLite3::Database.new(“bcr.db”).execute_batch(<<-'EOD') CREATE TABLE BCR01 ( KEYCD INTEGER PRIMARY KEY, INFO01 VARCHAR(20) NOT NULL, INFO02 VARCHAR(20) NOT NULL, INFO03 INTEGER DEFAULT 0 ); EOD KEYCD 登録番号 INFO01 日時 INFO02 バーコード INFO03 送信済フラグ(0:未送信・1:送信済) 作成できたらテストしてみる。以下のプログラムはINSERT文をコメントアウトするとテーブルのダンププログラムとして使用できる。 [sqlite.rb] require 'sqlite3' db = SQLite3::Database.new('bcr.db') db.execute("INSERT INTO BCR01 (INFO01, INFO02) VALUES ('2008-08-08 00:00:00', 'xxxxxxxxxxxxx') "); rc = db.execute("SELECT * FROM BCR01 WHERE INFO03 = 0 ORDER BY KEYCD "); rc.each do |obj| p obj end 20080809-b1.jpg
で、最後にバーコードリーダ処理ソフトを変更する。変更点は以下の3つ。
require ‘fastercsv’
↓
require ‘sqlite3’
# CSV write
FasterCSV.open(“recv.log”, “a”) { |csv|
csv << [day.strftime("%Y-%m-%d %H:%M:%S"), @bcd, '0'] } ↓ $db.execute(sprintf("INSERT INTO BCR01 (INFO01, INFO02) VALUES ('%s', '%s') ",day.strftime("%Y-%m-%d %H:%M:%S"), @bcd)) b = BCR.new ↓ $db = SQLite3::Database.new('bcr.db') b = BCR.new 鎌倉観光 深谷霊園 インターンシップ

By admin • computer(windows) • 0

8月 8 2008

ひっくりかえる。

めぐち、ひっくりかえってお寝んね。毛布でもかけてあげようか?w
20080808-p1003444.jpg
鎌倉観光 深谷霊園

By admin • yookie • 0

8月 8 2008

ruby (http)

サーバにhttpにてデータを送信する。httpsの方が安全だけど、これは後回し。httpだけだと、非常に簡単。鯖のrecv.phpは、受信したパラメータを表示するだけ。後々、受信したコード・時刻をデータベースに保存する処理を追加する。
[http.rb]
require ‘net/http’
Net::HTTP.version_1_2
Net::HTTP.start(‘192.168.1.100’, 80) { |http|
  rc = http.post(‘/barcode/recv.php’, ‘COD=xxxxxxxxxxxxy&TIM=2008-08-08 00:00:00’)
  puts rc.body
}
[recv.php]
<?
print_r($_POST);
?>
20080808-http.jpg
鎌倉観光 深谷霊園 インターンシップ

By admin • computer(windows) • 0

8月 8 2008

ruby (csv)

折角なので、受信したデータをcsvファイルへ書き出します。csv出力にはFasterCSVってのを使います。早いらしいです。ここからdownloadして、解凍後、ruby setup.rb とするとインスコできます。
先程のsourceを変更し、csvへの出力部分を追加します。CRコード受信時、writeするので受信文字はglobalに保存しておかなければいけません。csvファイルには、日時・受信文字列・フラグの順で出力します。フラグは後々、サーバへのデータ出力時に使用します。旨く行くと、以下の様なファイルが作成されます。
[recv.log]
2008-08-08 15:23:48,xxxxxxxxxxxxxxx,0
2008-08-08 15:23:53,xxxxxxxxxxxxxxx,0
以降の予定
・TCP/IPにて、http経由でデータ送信のテスト
・thread処理で上記処理をバーコードリーダ処理ソフトに組み込む
・サーバへの通信エラー時のリトライ処理
いじょ。

[bcr.rb]
require "wincons"
require "wincom"
require 'fastercsv'
class BCR
@bcd
def initialize
@bcd  = ""
@con1 = Console.new
@com5 = Serial.new
end
def Open
ir = @com5.open(5, 0x1807, 9600, 8, 0, 0, 256, 256)
return ir
end
def Close
@com5.close
end
def main
rc = @com5.receive
if rc != nil
for ia in 0..(rc.length - 1) do
if rc[ia].chr == "\r"
day = Time.now
printf("%s %s\r\n", day.strftime("%Y-%m-%d %H:%M:%S"), @bcd)
# CSV write
FasterCSV.open("recv.log", "a") { |csv|
csv << [day.strftime("%Y-%m-%d %H:%M:%S"), @bcd, '0']
}
@bcd = ""
else
@bcd += rc[ia].chr
end
end
end
ca, = @con1.keyin
if ca == "e" || ca == "E"
return 1
end
return nil
end
end
b  = BCR.new
ic = b.Open
if ic != nil
print "open error"
end
while ic == nil
ic = b.main
sleep 0.01
end
b.Close

鎌倉観光 深谷霊園

By admin • computer(windows) • 0

8月 8 2008

潜り込むえる坊

潰れたかまくらに潜り込んでます。あっれ〜、寒いのかなあ。そんなにクーラー効いてないと思うけど。それとも、調子わるいん?
20080808-p1003437.jpg
鎌倉観光 深谷霊園 インターンシップ

By admin • yookie • 0

8月 8 2008

ruby (windows)

rubyですよ。xpにバーコードリーダをクッツケテ、読み込んでみます。磁気カードリーダみたいですが、バーコードリーダなのです。USB-RS232Cアダプタ経由でRS232Cにします。USB経由だとkeyboardインタフェースで読めるので何も必要ないのですが、windowsの場合、frontに無いと動けないので、backgroudで動作できるようにRS232C経由なのです。
20080808-p1003432.jpg
Ruby-mswin32 (ja)をdonwloadして解凍します。マイコンピュータ・プロパティ→詳細設定→環境変数で解凍した所にpathを通します。
ここのlibraryを使用して、ごにょごにょやります。受信やらCRの処理で手間取りましたが、何とか。rubyは初めてなので変なcodeかもしれませんが、許して。動けば勝ち。

require "wincons"
require "wincom"
class BCR
def initialize
@con1 = Console.new
@com5 = Serial.new
end
def Open
ir = @com5.open(5, 0x1807, 9600, 8, 0, 0, 256, 256)
return ir
end
def Close
@com5.close
end
def main
rc = @com5.receive
if rc != nil
print rc
for ia in 0..(rc.length - 1) do
if rc[ia].chr == "\r"
print "\n"
end
end
end
ca, = @con1.keyin
if ca == "e" || ca == "E"
return 1
end
return nil
end
end
b  = BCR.new
ic = b.Open
if ic != nil
print "open error"
end
while ic == nil
ic = b.main
sleep 0.01
end
b.Close

鎌倉観光 深谷霊園

By admin • computer(windows) • 0

8月 7 2008

kernel 2.6.26.2

随分上がったなあって事でインスコしてみた。現状の対応待ちは、
・SB 5.1VX(音が鳴らない)
・SB DM-SX(alsamixer対応待ち)
・PCA-DAV2(em2861対応待ち)
ca0106, em28xxを見てみるとちょこちょこ変更されてはいるが、根本的にどうと云う事はないらしい。verchielでrebootしてもやはり変らず。まだまだだね。
20080807-kernel-2.6.26.2.jpg
今、気づいたけど、SMP PREEMPTって表示してるわ。
鎌倉観光 深谷霊園

By admin • computer(linux) •

8月 7 2008

東扇島・西公園

3時過ぎに目が醒めたので、仕事の合間をぬって出撃。05:00〜10:00。出だし、小メジナをかけるが続かず。アタリはあるものの食い込まない。廻りでは25cm〜30cmが数匹。今日の敗因は、深ダナ&ノリだったと思う。次回は頑張るゾ。
20080807-p1003420.jpg
出発時の気温。4時前でも27.5℃もある。これじゃ寝苦しいはずだ。
20080807-p1003419.jpg
鎌倉観光 深谷霊園

By admin • fishing(diary) • 0

8月 6 2008

まくら、いろいろ。

けいっち、うでまくら&普通のまくら。
20080806-img_1451247_28765066_1.jpeg20080806-img_1451247_18742920_0.jpeg
めぐち、タオルまくら&敷居まくら。
20080806-img_1451247_16878548_1.jpeg
20080806-img_1451247_32874686_0.jpeg
ママ撮影のものなので、殆どがピンボケですが。。
鎌倉観光 深谷霊園

By admin • yookie • 0

«< 205 206 207 208 209 >»
2025年6月
月 火 水 木 金 土 日
« 9月    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

最近の投稿

  • らずぱい3B raspbian 2018年9月5日
  • GIGABYTE GV-N75TOC-2GL(GTX750Ti) 2015年12月25日
  • 誕生日 2015年12月24日
  • hp Pro 6300 SFF, Core i5 3570 2015年12月21日
  • タブレット・ホルダー 2015年12月20日
  • GIGABYTE GV-N75TOC-2GL(GTX750Ti) 2015年12月6日
  • テプラ カートリッジテープ 2015年12月1日
  • USB充電器 2015年11月28日
  • USBキャプチャー(GV-MDVD2) 2015年11月25日
  • ACアダプタ(AD-K120P100) 2015年11月25日
  • モニタ USBキャプチャー 2015年11月23日
  • LED電球 IRIS LDA7N-G-6T2 2015年11月22日
  • ML110 G6, 4TB HDD ST4000DM000 2015年11月20日
  • PCA-DAV2 2015年11月20日
  • ソイ煮付け 2015年11月19日

カテゴリー

アーカイブ

Count per Day

  • 138145総訪問者数:
  • 5今日の訪問者数:
  • 11昨日の訪問者数:

↑

© team genesis 2025
Powered by WordPress • Themify WordPress Themes