Back to Smartcitizen.me

No consigo configurarlo

Bueno, me contesto a mi mismo.

Leyendo un poco el manual del módulo (por ahí debería haber empezado), dice claramente algo como “Commands are case sensitive, and you cannot use spaces in parameters. Use a $ to indicate a space, e.g., MY NETWORK should be written as MY$NETWORK”

Ojo con las mayúsculas en los comandos, no le molan, así que mi configuración quedaría de la siguiente forma:

<4.00> factory RESET
Set Factory Defaults
<4.00> set wlan ssid NO$WAY$OUT
AOK
<4.00> set wlan p esta$es$la$contraseña
AOK
<4.00> set ip dhcp 1
AOK
<4.00> set wlan join 1
AOK
<4.00> save
Storing in config
<4.00> reboot
Rebootwifly-GSX Ver 4.00.1, Apr 19 2013 11:48:28 owifly-GSX Ver 4.00.1, Apr 19 2013 11:48:28 on RN-131
MAC Addr=00:06:66:21:17:69
READY
ERR WATCHDOG: 2EA00
Auto-Assoc NO WAY OUT chan=9 mode=WPA2 SCAN OK
Joining NO WAY OUT now…
Associated!
DHCP: Start
DHCP in 3682ms, lease=86400s
IF=UP
DHCP=ON
IP=192.168.1.48:2000
NM=255.255.255.0
GW=192.168.1.1
Listen on 2000

Ahora ya solo falta que envíe datos… :wink:

Dale al boton de reset de la placa y se pondra postear.

a amigo! ahi tenias tu problema!
:wink:

efectivamente con espacios se ha de poner el $, el applet tambien esta en desarrollo y esto no lo esta haciendo bien.

ya subes, no?
salut

Pues el tema es que parece que estuvo subiendo datos durante un rato (el primero en Madrid), aunque yo no era consciente de ello, por lo que me fui a https://github.com/fablabbcn/Smart-Citizen-Kit para pillar la última versión del firmware, pero creo que algo hice mal porque ha dejado de enviarlos…

Así que tengo un par de dudas, cuando me bajo el fichero ZIP del repositorio de GitHub me encuentro con varias carpetas. He probado a cargar en el SCK tanto la versión Sck_COSM_v0_4_3 como la Sck_PLATFORM_v0_6_2, ambas aparentemente suben bien al dispositivo, pero no se cómo averiguar si el software está corriendo bien o no. Como mucho puedo comprobar la conectividad, hacer unos pings y ver los datos enviados con el comando show stats , pero poco más. Así que no tengo muy claro cómo saber el software está enviando datos o no. He pensado en meter un sniffer, pero ando pillado de tiempo y tendría que montar mucha parafernalia.

Así que las dudas que tengo son:

1º ¿Qué carpetas de las del ZIP se cargan en el dispositivo?
2º ¿Hay alguna forma de visualizar los datos en modo debug, para saber si se están recogiendo y enviando datos (o por lo menos intentándolo)?

Gracias y saludos.

Dani.

Hola a ambos,

Muchas gracias por la información. Los comentarios de mi tocayo han ayudado mucho…
De hecho leyendo los posts pensaba, esta mañana lo echo a andar… pero cuando me he ido a conectar con hyperterminal, conecto tal y como dice el manual pero o no estoy decodificando en charset que tiene el equipo o me esta devolviendo basura… por mas que hago $$$ no me devuelve CMD ( o lo hace pero yo no lo interpreto bien). Esto es lo que veo en mi terminal:

AP initialized!
��D�������O����,����������������������@���,���O����,���O

Y por si ayuda verlo en HEX es esto:
41 50 20 69 6E 69 74 69 - 61 6C 69 7A 65 64 21 0D AP initi alized!.
0A BC B0 44 E3 FF 98 9E - FF F7 90 4F FD E7 FF 9F …D… …O…
2C FC BC 90 9E FF BC B0 - 07 F8 E7 FF BB AA F4 FD ,… …
B0 00 E7 FF 9B A8 F8 BC - B0 40 EF FF 9F 2C FC F7 … .@…,…
90 4F FD E7 FF 9F 2C FC - BC 90 4F FD F7 90 0E FF .O…,. …O…
BC B0 40 F7 90 0E FF EF - FF 9C 1E FC EF FF 9F 3C …@… …<
F4 E7 FF 9B AA FA EB FF - 98 1E FC E7 FF 9B A8 F8 … …
E7 FF 9B AA FA E7 FF 9B - A8 F8 EF FF 9F 3D F4 BC … …=…
B0 00 FD BC B0 07 F8 BC - 90 00 FF EB FF 9C 1E FC … …
E7 FF 30 00 F7 90 0E FF - BC B0 00 FD BC B0 44 FF …0… …D.
B0 00 FD E7 FF 9B AA FA - FD B0 00 EF FF 9F 3C F4 … …<.
FF B0 00 FD EF FF 9F 2C - FC EB 30 00 BC B0 00 FD …, …0…
E7 FF BA BB E0 . . … .

Es esto lo que os sale a vosotros? Y a ti danidiez que te sale?

Solo se me ocurre flashearlo una vez mas, pero me pasa como a danidiez, no se si lo que he he subido esta bien o no, en principio me dice que se ha cargado correctamente…
Tengo una duda cuando se carga lo de la plataforma… se carga tambien el firmware del modulo wifly? o eso se hace aparte’

A mi eso me suena a configuración en el hyperterminal, si puedes instalate otro programa tipo CRT o Putty, igual te dan mejor resultado en la conexión con el SCK. Yo uso el CRT y por ahora no me ha salio nada parecido a lo tuyo ¿?

Se me ocurre conectar el hyperterminal (o similar) y darle al pulsador de reset, a ver que sale en el arranque.

Saludos,
Dani.

Uso serial port terminal de linux, nunca he tenido mayor problema con muchos cacharros que he probado, y esta puesto en ASCII, en principio dice que tiene que estar en ASCII el manual…

No se, mirare que otros programas hay en linux, porque usar el virtualbox con el usb y además poner el driver en windows de SCK me parece ya mucha complicacion.

Lo del botón de reset ya lo he probado, curiosamente parece perder la conexion en ese momento y tengo que volver a decirle que puerto tiene que usar, de hecho lo unico legible que pille, el AP initialized, fue al rapidamente resetear y conectarme… con otras cosas con la que me he conectado no suelo perder conexion cuando resetea, asi que es un poco mosqueante…

Pues ni idea, estoy más especializado en Win… :frowning:

Y tu los has conseguido a echar a andar? Has vuelto a escribir a la flash sin problemas? decias que ahora no podias configurarlo, no? Cuales firmwares has grabado con el arduino IDE?

Pues flasearlo lo hago sin problemas y aparentemente consiguió enviar datos en algún momento, pero algo he debido hacer mal que ya no manda nada. A ver si cuando vuelva a casa te puedo dar más detalles.

Salu2.

Bueno, ahora que parece que he podido ponerlo en funcionamiento, explico el proceso aunque sea someramente.

1º Instalé el kit de arduino de http://arduino.cc/en/Main/Software la versión que he usado es la 1.0.5. Con esto se instalan los drivers para Windows 7 sin problemas.

2º Descargué el ZIP del la web de GitHub (https://github.com/fablabbcn/Smart-Citizen-Kit)

3º Conecté el SCK con el cable USB al PC y encendí el SCK.

4º Después de que Windows instalara los drivers para comunicación USB y que lo asociara al puerto COM10 (en mi caso), agarré el CRT (primo del hyperterminal) y me conecté con por puerto serie con 38400 (baud rate), 8 (data bits), N (parity), 1 (stop bits).

5º Una vez conectado y sin que apareciera ningún prompt, introduje la secuencia de $$$ , después de eso apareció el prompt <4.00> e introduje los siguientes comandos:

     factory RESET
     set wlan ssid ESTE$ES$MI$WIFI
     set wlan p esta$es$la$contraseña
     set ip dhcp 1
     set wlan join 1
     save
     reboot

Como hemos comentado más arriba los $ son sustitutos de los espacios en blanco, los comandos así como el nombre del WIFI y la contraseña, son sensibles a las mayúsculas.

6º Una vez que el SCK está correctamente conectado al WIFI, cosa que pude probar haciendo pings a los DNS de Google con el comando ping 8.8.8.8 10 , salí con el comando exit y cerré el CRT.

7º Una vez hice esto, me dediqué a investigar el tema de cargar firmware al SCK, más que nada porque nunca había trasteado con los arduino y tenía curiosidad. Así que lo que hice fue descomprimir el ZIP de GitHub en el escritorio y empezar a trastear con las carpetas junto con el IDE. Para no enrrollarme mucho, la carpera que al final funcionó fue la que se llama Sck_PLATFORM_v0_6_2, así que con el IDE abrí el archivo Sck_PLATFORM_v0_6_2.ino , luego le di a la opción Sketch->Verificar/compilar para ver que estaba todo OK y luego le di al botoncito con la flecha hacia la derecha para cargar el código, en unos segundos me dio un mensaje de que había cargado unos 25K de programa.

Una cosa que se me pasaba, la primera vez que intenté cargar me dio fallo y es que en la opción de programador tenía “AVRISP mkII” lo puse en “AVR ISP” y funcionó.

8º Una vez cargado el firmware correcto, me fui a la página de prueba (test.smartcitizen.me) y en la parte de “User panel” la pestaña de “Sensors”, seleccioné el sensor mío que había intentado registrar sin éxito anteriormente. Luego en el botón de “Configure” le di a “Get Mac” y finalmente cuando ya había leído la MAC el botón de “REGISTER THE KIT”. Dejé pasar unos 15 minutos y luego ya estaban apareciendo los datos en el mapa.

Lo que si me he dado cuenta durante esta noche, que es a eso de las 3 o las 4 de la mañana, dejó de enviar datos, así que le di al botón de reset del SCK y aparentemente ha vuelto a la vida. Supongo que habrá algunos bugs todavía pendientes de depurar.

Bueno, espero que este resumen sea útil al resto de “bakers”.

Saludos,

Dani.

Hola tocayo,

Muchas gracias por la info, aun tengo pendiente intentar volver a cargarlo a ver si lo consigo hacer rodar por fin, espero que lo del AVR ISP tenga algo que ver… Pero es que hoy me he metido en lo de los sensores… y eres de Tres Cantos!! que casualidad yo vivo al lado del Ayto, asi que a ver si tengo un poco de tiempo y podemos tener dos sensores en Tres Cantos :slight_smile:

Saludos,

Hola,

Sigo con este tema atascado. He estado haciendo pruebas y me gustaría que alguien del proyecto me ayudara a echar a andar esto. He podido confirmar que estoy escribiendo correctamente el firmware y que también leo correctamente al menos parte de la información que escribe de vuelta a través del USB.

Estoy seguro de ello porque hago cambios en algunas de las trazas del programa principal y veo esos cambios a través del puerto USB. Esos cambios si los leo correctamente, pero el resto de datos que me llegan son caracteres ilegibles.

Lo que estoy sospechando es que alguna configuración cargada al modulo wifly ha ocasionado que se quede en un estado raro en el que no contesta adecuadamente. Y creo que al cargar el firmware no necesariamente se borra todo esta esta información (los valores de la EEPROM), asumo bien que esto es asi? Y como no puedo hacer un reset tampoco puedo sacarlo de ese estado en el que no me deja comandarlo…

Y para prueba, he cambiado el codigo del principio para que ponga esto:

if (Serial.available())
{
byte inByte = Serial.read();
if (sck.check_text(inByte, “exit\r”, &check_terminal_exit)) wait = false;
Serial.println(“estoy en bucle esperando comando”);
if (sck.check_text(inByte, “$$$”, &check_terminal_mode))
{
digitalWrite(AWAKE, HIGH);
delayMicroseconds(100);
digitalWrite(AWAKE, LOW);
wait = true;
}
Serial1.write(inByte);
}

Ya que entiendo que tiene que pasar por ese bucle para que me deje comandarlo… pues bien si cargo esta versión del codigo NUNCA escupe la frase de estoy en bucle esperando comando. Lo unico que escupe es basura de vez en cuando y uno de los leds naranja se enciende cada 10 segundos aproximadamente…

Asi que por favor, alguien del equipo de programación, me podéis decir si mis sospechas son válidas? Y si hay alguna forma de resetear esos valores para empezar de cero (sin tener que ser a traves del usb)

Gracias y saludos,

Buenas, es un fallo comun en versiones antiguas del firmware del sck, principalmente pasa que se cambia el baudrate del modulo wifi, cambia Serial1.begin(9600); por Serial1.begin(115200);

Pues la verdad es que vi esa línea y pensé probarlo pero no lo hice, lo haré mañana… Bueno de hecho de memoria creo que un serial esta a 9600 y otro a 115200.

Lo que no entiendo es lo de versiones antiguas del firmware… Me he bajado la última versión de github y esa es la que estoy cargando y sobre la que hago los cambios… O es que hay algo más que cambiar del firmware. Sino revisad el código fuente y sacar una versión correcta?

Vale, no he podido esperar más y he probado lo que sugerías: FUNCIONA!!!

Me alegra mucho y todo eso pero de verdad no entiendo como es posible que si me bajo la ultima versión del código de github tenga ese problema… me lo podéis explicar???

Bueno, de hecho he conseguido configurar la wifi, le he dado a reboot… y luego como he visto que no pasaba nada he apagado y encendido el cacharro…

Lo intento por la web y se queda colgado al obtener la mac, y otra vez por el puerto USB solo veo AP initialized y nada más, aunque haga $$$ no sale CMD como antes… He probado a recargar otra vez la version 0.6.2 cambiando a 115200 la velocidad de serial1 y tampoco. Ademas creo que ahora el blink de los leds es distinto, solo parpadea el led azul más cercano al conector al shield cada 2 segundos aprox.

Ayuda por favor. Yo solo quiero una forma fiable de dejar siempre la plaquita en un estado limpio y conocido, tan dificil es?

Buenas,
te explico, lo de serial1.begin(115200); solo sirve para determinar que el firmware del wifly se a corrompido. Una vez echo esto hay que mandarle en modo terminal “factory RESET”, de esta manera se vuelva a colocar a 9600. Ahora bien si cambias la velocidad de Serial1 en el codigo de la version 0.6.2, cuando entras en la configuracion via web, la web le manda el comando de “factory RESET” con lo cual se vuelve a poner a 9600 y como tienes la placa configurada a 115200 no se entienden. Vuelve a cambiar el codigo de la version 0.6.2 a 96000 y deberia de volver a funcionar. En cuanto versiones antiguas puede ser que tu placa viniese preprograma a con una version anterior a la del GITHUB, la cual podria probocar ese error. La que hay actualmente en el GITHUB no lo proboca, pero en caso de tenerlo, no lo arregla. La siguiente version que saque lo autocorrige. Y otras mejoras mas :wink:

Gracias mdeheras, entiendo el proceso y haciendo lo que dices ha vuelto a funcionar. Me hubiera gustado que me dieras todo el proceso desde el principio eso si :wink:
En cuanto a las mejoras, entiendo que es complicado y que hay esquinas, es un poco inconveniente, sobre todo para resolver problemas que se encuentran los usuarios como yo, que el “reseteo” del firmware no lo deje todo siempre en el mismo estado, espero consigais de alguna forma quizas tambien resetear el firmware de wifly o dar una forma mas intuitiva de lo que yo acabo de hacer…

Por otro lado a pesar de haberlo configurado en la web correctamente, no parece que estén llegando bien los datos. Lo he registrado con su MAC y de hecho luego he vuelto a eliminar el sensor y volverlo a crear de cero pero sigo sin ver actualizaciones en la web (después de unos 20 minutos ya). Además veo en mi router wifi que el modulo wifly esta conectado a la red y tiene IP asignada a la que puedo pingar…

Puede haber un problema en el lado del servidor con el registro de la MAC? Igual al intentarlo antes ya no lo vuelve a admitir? (se ha quedado en alguna tabla y lo marca como repetido?) Lo raro es que al registrarlo no me dice ni que si ni que no. Lo he probado con firefox que es con el que me funciona el JAVA pero lo mismo hay que hacerlo con otro navegador por alguna razon?
La MAC es: 00:06:66:21:17:3B
Mi usuario es daniessj en la plataforma también.

Varias horas después, confirmo que a pesar de el SCK esta conectado a mi router wifi y tiene IP y deberia tener acceso a internet, no esta registrando datos en la web… hay alguna cosa que pueda mirar o que podais mirar vosotros en el lado servidor?
Gracias