Problema empezando a programar envio/recepcion TCP/IP Socket
Hola compañeros, pues vereis en mi segunda aplicacion que estoy haciendo pretendo controlar desde un Galaxy Note una tarjeta de control TCP/IP, por si alguno tuviera curiosidad es esta concretamente.
Bueno, el caso es que usando Astream, si he logrado enviarle Sockets para que active los reles, aunque he de decir que no siempre responde rapido, y se que no es un tema de la tarjeta.
Mi dilema es que esta tarjeta cada vez que le envio un Socket, ella responde con el estado, algo asi como un ACK.
Ejemplo:
Set all relays (Whole PortA) ON. Actually all the DO are in high level.
Send: 00ASG=FFFF;
Receive: 00AS0=0;
Si alguien fuera tan amable de indicarme donde encontrar un ejemplo claro donde se vea como enviar/recibir estos datos. Ademas esta tarjeta tiene la posibilidad de usar RC4 como metodo de encriptacio, a ver si alguien me dice si es posible usarlo en b4a.
He encontrado el codigo para usar RC4 en VB.NET, si algun usuario con mucha experiencia fuera tan amable de indicarme los ajustes y cambios para pasarlo a B4A, le estaria eternamente agradecido.
Code:
Imports System.Text
Public Shared Function rc4(ByVal message AsString, ByVal password AsString) AsString
Dim i As Integer = 0 Dim j As Integer = 0 DimcipherAs New StringBuilder Dim returnCipher AsString = String.Empty
Dim sbox As Integer() = New Integer(256) {} Dim key As Integer() = New Integer(256) {}
Dim intLength As Integer = password.Length
Dim a As Integer = 0 While a <= 255
Dim ctmp AsChar = (password.Substring((a Mod intLength), 1).ToCharArray()(0))
key(a) = Microsoft.VisualBasic.Strings.Asc(ctmp) sbox(a) = a System.Math.Max(System.Threading.Interlocked.Increment(a), a - 1) EndWhile
Dim x As Integer = 0
Dim b As Integer = 0 While b <= 255 x = (x + sbox(b) + key(b)) Mod256 Dim tempSwap As Integer = sbox(b) sbox(b) = sbox(x) sbox(x) = tempSwap System.Math.Max(System.Threading.Interlocked.Increment(b), b - 1) EndWhile
La verdad es que poder controlar algo a distancia, desde la otra parte del mundo si hace falta, cuando poco, mola jeje. Ahora JorgeMC me gustaria sacarle el maximo partido, a ver si esa rutina de uso de RC4 en VB.NET la podemos pasar a B4A, ya que esta placa controladora da esa opcion tambien, pero al parecer la libreria que hay de encriptacion no soporta RC4.
Interesante
Yo estoy buscando algo similar, pero para el standard X10, así no hace falta llenar la casa de cables para controlar cosas.
Si alguien sabe de algún modulo que pueda recibir y enviar los comandos X10 que recibe por tcp/ip, le agradecería la info sobre donde comprarlo (que envíen a España)
Caronte, lo que tu andas buscando es un control domotico de una vivienda. Hay varias marcas que trabajan con estas cosas, el problema es que usan softwares propios, y nada baratos dicho sea de paso.
Te paso algunas de las webs que yo recopile en su dia y comentarte que en el mundo de la domotica la marca KNX es una de las mejores, miratela.
Problema resulto, aqui posteo el código para usar codificacion RC4 pasado de VB.NET a B4A.
Code:
Sub rc4(message AsString, password AsString) AsString
Dim i AsInt i = 0 Dim j AsInt j = 0 DimcipherAsStringBuilder cipher.Initialize Dim returnCipher AsString returnCipher = ""
Dim sbox(256) AsInt Dim key(256) AsInt
Dim intLength AsInt intLength = password.Length
Dim a AsInt a = 0 DoWhile a <= 255
Dim ctmp AsChar ctmp = password.SubString(a Mod intLength) key(a) = Asc(ctmp) sbox(a) = a a = a + 1 Loop
Dim x AsInt x = 0
Dim b AsInt b = 0 DoWhile b <= 255 x = (x + sbox(b) + key(b)) Mod256 Dim tempSwap AsInt tempSwap = sbox(b) sbox(b) = sbox(x) sbox(x) = tempSwap b = b + 1 Loop
Muchas gracias por los links.
Igual no me he explicado bien... Sé lo que es la domótica, el problema no es ese, ni tampoco que el soft para el usuario final sea caro, porque el soft no lo pienso usar, sino que lo pretendo programar yo (je, je, de eso va este foro ¿no?), el problema es encontrar un emisor/receptor de señales X10 que acepte ordenes a través de tcp/ip (no por USB/etc…) porque lo que pretendo es conectar el módulo directamente a un router para no tener el ordenador siempre en marcha, ya que no me sirven las macros preprogramadas, porque mi soft estará en el móvil y necesito acceso en tiempo real en cualquier momento y lugar.
Pues eso, voy a echar un vistazo a esos links, que alguno no lo conocía, a ver si hay suerte.
Te he entendido perfectamente Caronte, lo que si te digo es una cosa, X10 esta ya muy desfasada. Intenta buscar otra alternativa, por ejemplo equipos que usen tecnologia PCL.
Aqui te dejo un link donde te explican brevemente las diferencias que hay entre los 3 mas extendidos, entre los que esta el X10 que tu quieres usar.