LAN 接続で繋がっている機器にtelnetでアクセスし、パスワード入力、コマンドインプット後データーをダウンロードする一連の作業をVBで作りたいのですが、可能でしょうか?当方VBは初めてですので手取り足取りお願い致します。
編集 削除FTPじゃだめなのでしょうか?
百倍楽にプログラムできるし、VBとFTPに関してGoogleで検索すれば
いっぱい参考になる文献があると思いますよ。
ソケット通信で行うのも可能ですが・・・
楽に作るなら、やはりBASP21を使ってTELNET
した方が簡単です。
因みにこんな感じ・・・
Option Explicit
Private Const Camera = "192.168.0.1"
Private Const User = "admin"
Private Const Pass = ""
Private Basp21 As Object
Private Sub Command1_Click()
Dim ret As Long
Dim szData As Variant
Dim szCode As String
Dim startTime As Single
ret = Basp21.Connect(Camera, 23, 20)
If ret <> 0 Then
MsgBox "接続タイムアウト等エラ−", vbInformation + vbOKOnly, "BASP21 TELNET"
Exit Sub
End If
' 接続直後のメッセージの読み出し
Do
DoEvents
Loop While Basp21.read(szData, 16) <> 0
ret = Basp21.readLine(szData)
' Login処理
Do
' 受信待ち
Do
DoEvents
ret = Basp21.read(szData, 16)
Loop While ret <> 0
ret = Basp21.read(szData, 0)
Select Case Trim$(szData)
Case "User:"
' UserID送信
szData = User
ret = Basp21.Write(szData)
szData = Chr$(&HD)
ret = Basp21.Write(szData)
szData = Chr$(&HA)
ret = Basp21.Write(szData)
Case "Password:"
szData = Pass
ret = Basp21.Write(szData)
szData = Chr$(&HD)
ret = Basp21.Write(szData)
szData = Chr$(&HA)
ret = Basp21.Write(szData)
Case "User Logged In" & Chr$(13) & Chr$(10)
Exit Do
Case "Invalid Password" & Chr$(13) & Chr$(10)
DoEvents
End Select
startTime = Timer
Do
DoEvents
Loop While Timer - startTime < 0.1
Loop While True
' JOB処理
' TELNET終了
ret = Basp21.Close
End Sub
Private Sub Command2_Click()
Me.Hide
Unload Me
Set Form1 = Nothing
End
End Sub
Private Sub Form_Load()
Set Basp21 = CreateObject("basp21.socket")
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Basp21 = Nothing
End Sub
※ これは、ネットワーク上のCCDカメラにTELNETで
アクセスして、制御を行うテストを行った際のものです。
たまたまCCDカメラにTELNET機能が搭載されてい
たので、使ったのですが・・・
ご参考までに・・・
以上。