Nori
Enviado por mourules el Lun, 08/10/2007 - 13:16.
Tipo de licencia:
Apache 2.0
Descripción:
Entorno para la gestión y desarrollo de aplicaciones sobre interfaces WWAN (Wireless WAN). Nori SDK para Windows Vista permite escribir aplicaciones y gadgets para vista sobre este entorno. Podrás controlar todo tipo de tarjetas de datos 2G, 3G y HSDPA y HSUPA.
Enlaces relacionados:
Página del proyecto en Google Code http://code.google.com/p/nori/
| Adjunto | Tamaño |
|---|---|
| NoriSDK.pdf | 118.07 KB |
- Inicie sesión o regístrese para enviar comentarios



Estoy haciendo pruebas con Nori y me encuentro problemas con el gadget que se adjunta. ¿Qué datos hay que ponerle para su correcto funcionamiento?. He probado diferentes opciones y no logro que funcione el gadget. Muchas gracias.
¿A qué problemas te refieres exactamente?. Tienes que tener desactivado el UAC (control de acceso a usuarios) para que funcione; quizá sea ese tu problema.
Hola.
Si, lo tengo desactivado para que pueda funcionar. Probando el Escritorio Movistar el modem 3G funciona correctamente y se conecta. Pero ya con el Nori, no parece funcionar la cosa.
Probando he podido comprobar que la detección del dispositivo y el apagado funciona, pero no consigo establecer conexión. Usando el Gadget de ejemplo, tampoco nada de nada... imagino, más bien supongo, que se debe a los campos de conexión (usuario y pass). Adjunto captura de pantalla.
Pide unos datos que aparecen por defecto como MOVISTAR, supongo que esos datos habrá que cambiarlos por los específicos de usuario (¿nº teléfono?) y pass (¿el que se tiene usando el 770?)... imitando al Escritorio.
Mi duda es esa, muchas gracias.
Hola,
Los parámetros que vienen por defecto son válidos para establecer la conexión. Los campos usuario/contraseña no son los correspondientes a tu usuario del 770. El único que debes incorporar es el del PIN. Si ves que tienes problemas, prueba a desactivar el PIN de tu tarjeta. ¿Te llega a registrar en la red y mostrarte el nivel de cobertura?.
Un saludo.
Hola.
Gracias por la respuesta.
Si, lo que es detectar el dispositivo y mostrar la cobertura si he logrado conseguirlo... pero empleando un código de ejemplo de la conferencia de Barcamp. Lo que es el gadget aun nada.
Los parametros los tengo tal cual salen en el gadget una vez que lo activas y con el PIN puesto, pero no parece que no conecta. He probado con la UPA apagada, el firewall desactivado... y nada.
Para lo de desactivar el PIN, ¿como puedo hacerlo?. Te refieres a que, por ejemplo, en el teléfono al encenderlo no lo solicite sino que directamente se active el mismo, ¿es eso?.
Gracias.
Hola,
Efectivamente, me refería a que no te pida el PIN, de modo que cuando lo "enciendes" se registra directamente. Por simplicidad, puedes desactivar el PIN usando tu teléfono móvil.
El gadget usa código JS y VBS para manejar Nori. Aquí tienes un código de ejemplo para usar desde el IExplorer (ActiveX), realizado por los mismos que han creado el gadget. Si esto te funciona, te debería funcionar el gadget.
Por cierto, ¿qué modem estás utilizando?; supongo que con el Escritorio movistar sí que te conectas....
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Nori test</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 8.0" />
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
<style type="text/css">
body {
width:200px;
height:300px;
}
</style>
<!-- otra forma, pero para recibir eventos no parece funcionar
<script type = "text/javascript">
var nori = new ActiveXObject("Nori.NoriApp");
</script>
-->
<script type="text/vbscript">
Dim timerID
Sub SetEstado(text)
Dim elem
Set elem = document.getElementById("estado_dispositivo")
elem.innerText = text
End Sub
Sub DisableBtnConnect(disable)
Dim elem
Set elem = document.getElementById("boton_conectar")
if (disable=True) then
elem.style.visibility = "hidden"
else
elem.style.visibility = "inherit"
end if
End Sub
Sub DisableBtnDisconnect(disable)
Dim elem
Set elem = document.getElementById("boton_desconectar")
if (disable=True) then
elem.style.visibility = "hidden"
else
elem.style.visibility = "inherit"
end if
End Sub
Sub SetCobertura(strength)
Dim elem
Set elem = document.getElementById("cobertura")
elem.innerText = strength
End Sub
Sub SetOperadora()
Dim operador, el
operador = nori.GetNetworkOperator()
Set el = document.getElementById("operador_red")
el.innerText = operador
End Sub
Sub SetStatistics()
Dim bytessent, bytesreceived, segsduration, el
nori.GetConnectionStatistics bytessent, bytesreceived, segsduration
Set el = document.getElementById("conexion_tiempo")
el.innerText = segsduration
Set el = document.getElementById("conexion_enviado")
el.innerText = bytessent
Set el = document.getElementById("conexion_recibido")
el.innerText = bytesreceived
End Sub
Sub nori_DeviceState(status)
Dim lock_status
disable_btn_connect = True
disable_btn_disconnect = True
select case status
case 0
SetEstado "Dispositivo no detectado"
case 1
SetEstado "Inicializando dispositivo"
case 2
lock_status = nori.GetDeviceLockStatus()
If lock_status=2 Then
SetEstado "Error con la SIM!"
Elseif lock_status=3 Then
SetEstado "Introduciendo PIN"
nori.UnlockDevice 3, "4590", ""
Elseif lock_status=4 Then
SetEstado "Se necesita PUK"
End If
case 3
SetEstado "Buscando red..."
SetOperadora()
case 4
SetEstado "Conectando..."
disable_btn_disconnect = False
case 5
SetEstado "Autenticando..."
disable_btn_disconnect = False
case 6
SetEstado "Conectado!"
disable_btn_disconnect = False
timerID = SetInterval("SetStatistics", 1000)
case 7
SetEstado "Dispositivo preparado"
SetOperadora()
disable_btn_connect = False
ClearInterval(timerID)
SetStatistics()
case 8
SetEstado "Dispositivo apagado"
SetOperadora()
case 9
SetEstado "Apagando dispositivo"
case 10
SetEstado "Error en el dispositivo, puerto ocupados o algo así!"
end select
DisableBtnConnect disable_btn_connect
DisableBtnDisconnect disable_btn_disconnect
End Sub
Sub nori_SignalStrength(strength)
SetCobertura strength
End Sub
</script>
<script type="text/javascript">
function QueryLockStatus()
{
var nori = document.getElementById("nori");
var lock_status= nori.GetDeviceLockStatus();
alert("lock status:"+lock_status);
}
function QueryDevStatus()
{
var nori = document.getElementById("nori");
var dev_status= nori.GetDeviceStatus();
alert("device status:"+dev_status);
}
function Shutdown()
{
var boton = document.getElementById("boton_apagar");
var nori = document.getElementById("nori");
var status = nori.GetDeviceStatus();
if (status==8){
nori.SwitchOnDevice();
boton.value = "Shutdown"
}
else if (status!=0){
nori.ShutdownDevice();
boton.value = "SwitchOn"
}
}
function Connect()
{
var connection = new ActiveXObject("Nori.NoriConnection");
connection.Username = "MOVISTAR";
connection.Password = "MOVISTAR";
connection.APN = "movistar.es";
connection.UseDNS = 1;
connection.PrimaryDNS = 0xC2B30164; // 194.179.1.100
connection.SecondaryDNS = 0xC2B30165; // 194.179.1.101
connection.UseIPAddress = 0;
connection.NoAllowPAP = 0;
nori.Connect("movistar 3G", connection);
}
function Disconnect()
{
nori.Disconnect();
}
</script>
</head>
<body>
<p>
Test Nori!</p>
<span>Estado dispositivo:</span> <span id="estado_dispositivo"></span>
<br />
<span>Operador red:</span> <span id="operador_red"></span>
<br />
<span>Cobertura:</span> <span id="cobertura">0</span>
<br />
<span>Tiempo de conexión:</span> <span id="conexion_tiempo">0</span>
<br />
<span>Enviado:</span> <span id="conexion_enviado">0</span>
<br />
<span>Recibido:</span> <span id="conexion_recibido">0</span>
<p>
<input id="boton_conectar" type="button" value="Connect" onclick="Connect()" />
<input id="boton_desconectar" type="button" value="Disconnect" onclick="Disconnect()" />
</p>
<p>
<input id="boton_apagar" type="button" value="Shutdown" onclick="Shutdown()" />
</p>
<object id="nori" width="0" height="0" classid="CLSID:524AF294-422F-4E87-B875-ED51F3E4DA4A">
</object>
</body>
<script type="text/vbscript">
nori_DeviceState(nori.GetDeviceStatus())
</script>
</html>
Hola.
Muchas gracias por la ayuda, el modem es Huawei E270.
Lo raro es que a pesar de instalarlo con el Escritorio, cada vez que lo vuelvo a conectar me toca "reinstalarlo" porque solo me detecta "Almacenanmiento masivo". Lo que hago es instalarlo desde el Escritorio, ¿sabes donde puedo bajar los drivers?.
El PIN esta inhabilitado, entra directo el asunto... por seguridad lo pongo en los datos del gadget, pero no creo que sea necesario.
Lo he estado probando con IExplorer, creo que el ultimo pero no logro verle la version.
Con el escritorio Movistar conecto, por eso no problema creo... debe ser algo que tenía en el código o algo.
Muchas gracias por la ayuda... al final me llamas "pelota" de tanto dártelas.
Hola,
No hay problema, si podemos ayudar en algo....
Ese equipo sólo funciona si instalas la versión de EM que tiene embebida. Si lo que haces es instalar el EM descargado de la web y seleccionas los drivers de Huawei, se te va a quedar cuando lo conectes como "Almacenamiento masivo". Para que conmute a módem deberías desinstalar manualmente la interfaz mass storage y CD-ROM. Esto lo tendrías que hacer cada vez que lo conectes. Por eso te recomiendo que dejes que se autoinstale el equipo. Para ello desinstala la versión que te has instalado por tu cuenta.
Por otro lado, para que te funcione el gadget y demas código que hagas, tienes que tener cerrada la aplicación EM (creo que eso no lo habíamos comentado aún), aunque sí puedes mantener en paralelo todas las aplicaciones que te crees usando la API de Nori.
Un saludo
Se me pasó comentarte que en la web de movistar
http://www.movistar.es/particulares/servicios/descargaaplicaciones
podrás encontrar una sección de actualización de dispositivos. En unos días podrás encontrar una para el E270 que te permitirá actualizar el contenido para que autoinstale la versión 6.1 de EM.
Hola.
Muchas gracias por la ayuda, ya logré hacer funcionar el ejemplo de prueba que acompaña al gadget de Nori y va perfecto.
El único problema es con los drivers, como comentaba. Aun no ha salido en la página que comentas, pero iré fijándome.
Muchas gracias por todo, y disculpa la tardanza en contestar.