From 178bdd4701a4d9b4b271e127b5cb4106cef5620d Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Thu, 9 Jul 2020 11:26:09 -0700 Subject: [PATCH] --- App_Code/WsSigfox.vb | 83 +++++++++++++++++++++---- Nomina/Nomina2.aspx | 30 +++++---- Nomina/Nomina2.aspx.cs | 138 ++++++++++++++++++++++++++++++++++++++--- RH/Personal.aspx | 26 ++++---- 4 files changed, 230 insertions(+), 47 deletions(-) diff --git a/App_Code/WsSigfox.vb b/App_Code/WsSigfox.vb index 6259ddbee..a3919f0f1 100644 --- a/App_Code/WsSigfox.vb +++ b/App_Code/WsSigfox.vb @@ -22,8 +22,8 @@ Namespace Sigfox Dim ObjGPS As New ClsGPS() Try - Dim Datos = GetSigfoxDataSuntechTool(params.data) - respuesta.Datos = Datos + 'Dim Datos = GetSigfoxDataSuntechTool(params.data) + 'respuesta.Datos = Datos Dim DevID As String = params.device Dim Lat As Double = params.lat.ToDouble() @@ -32,16 +32,16 @@ Namespace Sigfox Dim Velocidad As Double = 0 Dim MessageType As Integer = 0 - If Datos IsNot Nothing Then - If Datos.Item("Tipo-01") IsNot Nothing Then - If Datos("Tipo-01")("Latitud") IsNot Nothing Then - Lat = Datos("Tipo-01")("Latitud").ToString().ToDouble() - End If - If Datos("Tipo-01")("Longitud") IsNot Nothing Then - Lng = Datos("Tipo-01")("Longitud").ToString().ToDouble() - End If - End If - End If + 'If Datos IsNot Nothing Then + ' If Datos.Item("Tipo-01") IsNot Nothing Then + ' If Datos("Tipo-01")("Latitud") IsNot Nothing Then + ' Lat = Datos("Tipo-01")("Latitud").ToString().ToDouble() + ' End If + ' If Datos("Tipo-01")("Longitud") IsNot Nothing Then + ' Lng = Datos("Tipo-01")("Longitud").ToString().ToDouble() + ' End If + ' End If + 'End If Dim Trama As String = String.Format("ST730;{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{10};{11};{12};{13}", params.data, DevID, Lat, Lng, Fecha, Velocidad, MessageType, params.avgSnr, params.duplicate, params.rssi, params.seqNumber, params.snr, @@ -65,6 +65,65 @@ Namespace Sigfox End Function #Region "F U N C I O N E S" + + Public Function procesatrama(header As String, trama As String) As String + Dim retorno As String = "" + Dim strbyte As String = "" + Dim hexValue As String = "" + Dim index As Integer = 3 + Dim longitud As Integer = trama.Length + While longitud > index + strbyte = trama.Substring(index, 2) + index = index + 2 + Select Case strbyte + Case "01" 'GPS location + If longitud > (index + 12) Then + hexValue = trama.Substring(index, 6) 'latitud + index = index + 6 + hexValue = trama.Substring(index, 6) 'longitude + index = index + 6 + Else + index = index + 12 + End If + Case "02" 'High resolution GPS location + If longitud > (index + 16) Then + hexValue = trama.Substring(index, 8) 'latitud + index = index + 8 + hexValue = trama.Substring(index, 8) 'longitude + index = index + 8 + Else + index = index + 8 + End If + Case "03" 'Temperatura + hexValue = trama.Substring(index, 2) + index = index + 2 + Case "04" 'Battery voltage + hexValue = trama.Substring(index, 2) + index = index + 2 + Case "05" 'Battery level + hexValue = trama.Substring(index, 2) + index = index + 2 + Case "06" 'Wifi Mac address (6 bytes) + 1 byte for RSSI (positive dBm) + hexValue = trama.Substring(index, 14) + index = index + 14 + Case "07" 'Wifi Extended: 6 bytes for MAC address, 1 bytes for RSSI and 3 bytes for a NIC that as the same OUI as the 6 bytes MAC address + hexValue = trama.Substring(index, 20) + index = index + 20 + Case "08" 'Accelerometer (2 bytes per axis) + hexValue = trama.Substring(index, 12) + index = index + 12 + Case "09" 'Speed in km/h + hexValue = trama.Substring(index, 2) + index = index + 2 + Case "8x" 'Fence number + hexValue = trama.Substring(index, 2) + index = index + 2 + Case Else + index = index + 2 'se desconoce pero se avanza 1 bytes + End Select + End While + Return retorno + End Function ''' ''' Obtiene los valores de los datos usando la libreria de SigfoxParse.js ''' diff --git a/Nomina/Nomina2.aspx b/Nomina/Nomina2.aspx index 43b852e4f..186d56933 100644 --- a/Nomina/Nomina2.aspx +++ b/Nomina/Nomina2.aspx @@ -5,9 +5,9 @@