HOME

製品情報
 RBS Series
 R-USB Series
 USB Streamscope

サポート

カタログ

特注ハードウェア

特注ソフトウェア

会社情報

求人情報

サイトマップ

お問い合わせ

製品情報 応用例 ダウンロード ご注文
R−USBシリーズ応用例
R−USBシリーズを応用した簡易警報プログラムを紹介します
会社や自宅に設置したパソコンにR−USB基板を介して、防犯センサー等の信号を取り込みます
留守中に本プログラムを起動しておけば、センサー信号がONになった場合、
携帯電話に警報メールが入るというものです

【動作環境】Windows98, WindowsME, Windows2000
【必要機材】弊社R-USB基板, 防犯センサー

【システム図】

【プログラムの解説】

ポイント

(1)VBを起動し、新規作成-標準EXEで、フォームには以下のコントロールを貼り付けてください
Command1 … コマンドボタンコントロール
Timer1 … タイマーコントロール
MAPISession1 … MAPIセッションコントロール
MAPIMessages1 … MAPIメッセージコントロール

(2)以下のサンプルプログラムソースを貼り付けます

(3)弊社R-USB基板添付のサンプルソースから setdll.bas モジュールをプロジェクトに追加します

(4)プログラム先頭の4行については、ご使用環境に合わせて書き換えてください
Const RUSB_ID As Byte = 0: 'RUSBボード番号
Const MAIL_USER As String = "username": 'メールプロファイル名
Const MAIL_PASS As String = "password": 'ログオンパスワード
Const MAIL_TO As String = "xxx@docomo.ne.jp": '携帯のメールアドレス

(5)コマンドボタンは、メールの送信テスト用です

(6)入力ポートのどれか1点でもONになった時、警報メールを送信します


サンプルプログラムソース

'---------------------------------------------------
'   R_USBシリーズ
'
'   簡易警報プログラム
'
'              copyright(c) 2001  ....RabbitHouse
'---------------------------------------------------
'
'   定数宣言
Const RUSB_ID As Byte = 0: 'RUSBボード番号
Const MAIL_USER As String = "username": 'メールプロファイル名
Const MAIL_PASS As String = "password": 'ログオンパスワード
Const MAIL_TO As String = "xxx@docomo.ne.jp": '携帯のメールアドレス
'
'   変数宣言
Dim refNum As Long: 'リファレンス番号

Private Sub Form_Load()
'   オープン処理
    refNum = RUSB_Open(RUSB_ID)         'ボード番号を指定してオープンする
    If (refNum = -1) Then
        MsgBox "指定のRUSBデバイスがありません"
        End
    End If
    Timer1.Interval = 5000
End Sub

Private Sub Form_Unload(Cancel As Integer)
'   クローズ処理
    If (refNum >= 0) Then RUSB_Close refNum          'リファレンス番号によりクローズ
End Sub

Private Sub Command1_Click()
'   動作テスト
    Send_mail Rd_port()
End Sub

Private Sub Timer1_Timer()
'   定時チェック
    Dim ret As Long
    ret = Rd_port()
    If ret > 0 Then
        Send_mail ret
        MsgBox "警報発生 CODE = " + Right$("000" + Hex$(ret), 4)
        Unload Me
    End If
End Sub

Private Function Rd_port() As Long
'   リード処理
    Dim ret As Integer
    Dim rdA As Byte                 'リードデータA
    Dim rdB As Byte                 'リードデータB
    Dim urdA As Byte                '↑エッジ保持データA
    Dim urdB As Byte                '↑エッジ保持データB
    Dim drdA As Byte                '↓エッジ保持データA
    Dim drdB As Byte                '↓エッジ保持データB
    ret = RUSB_Read(refNum, rdA, rdB, urdA, urdB, drdA, drdB) 'リファレンス番号によりリード
    If (ret = RUSB_NO_ERR) Then
        Rd_port = rdB * 256 + rdA
    Else
        Rd_port = -1
    End If
End Function

Private Sub Send_mail(inpdata As Long)
'   メールサーバにログオンします
    With MAPISession1
        .UserName = MAIL_USER
        .Password = MAIL_PASS
        .SignOn
        If Err <> 0 Then
            MsgBox "ログオン失敗: " + Error$
        Else
'           携帯にメールを送信します
            With MAPIMessages1
                .SessionID = MAPISession1.SessionID
                .Compose
                .RecipDisplayName = MAIL_TO
                .RecipAddress = MAIL_TO
                .MsgSubject = "警報メール"
                .MsgNoteText = "CODE = " + Right$("000" + Hex$(inpdata), 4)
                .Send False
            End With
            .SignOff
        End If
    End With
End Sub



有限会社 らびっとはうす
〒577-0803 東大阪市下小阪1-1-28-1303
TEL 06-6726-2000 / FAX 06-6726-2001
E-MAIL:(webmaster@rabbithouse.co.jp

(C) 2000 Rabbit House Coporation, All rights reserved.
このページはリンクフリーです、Netscape3.0以上かInternetExplorer3.0以上でご覧下さい。