Re: ¿Qué os parece esto para añadir wifi con muy poquitas líneas en el conector de expansión?
Publicado: 20 Oct 2015, 00:37
Con esta última explicación entiendo que hacen falta físicamente 2 conexiones para RTS/CTS, que el módulo ESP-01 aparentemente no tiene (que es el que tengo yo y el que muestra Gatuso en RW). Trae VCC, GND, RX, TX, CH_PD, el reset y las 2 GPIOs. No obstante, por lo que he leido hasta ahora (aún me falta) algunos firmwares alternativos como el NodeMCU, que en vez de comandos AT usa scripts en lenguaje Lua, si usa RTS y CTS por los pines CH_PD y GPIO0. Tengo que mirar si hay algún otro que también los use. De todos modos los fuentes y SDK de los firmwares creo que están publicados y puedes hacerte tu propio firmware.
Por otro lado, al margen de esto, estaba intentando hacer un comando de Esxdos para recibir/transmitir simples cadenas de/al wifi (usando como base los códigos fuente en C que hay en el SVN de otros comandos como joyconf o writespi, etc). Lo malo es que no consigo que los datos lleguen/entren correctamente. Los de salida llegan bien más o menos 1 de cada 3 veces, y los de entrada son un galimatías (mayormente se imprimen tokens de basic y otros caracteres). No se si es que al hacerlo en C, los ciclos usados son tan altos (con respecto a hacerlo en ASM) que incluso a 1200bps hay fallos, o que...
Para enviar un comando de prueba (listado de APs), por ejemplo, hago algo así:
Por otro lado, al margen de esto, estaba intentando hacer un comando de Esxdos para recibir/transmitir simples cadenas de/al wifi (usando como base los códigos fuente en C que hay en el SVN de otros comandos como joyconf o writespi, etc). Lo malo es que no consigo que los datos lleguen/entren correctamente. Los de salida llegan bien más o menos 1 de cada 3 veces, y los de entrada son un galimatías (mayormente se imprimen tokens de basic y otros caracteres). No se si es que al hacerlo en C, los ciclos usados son tan altos (con respecto a hacerlo en ASM) que incluso a 1200bps hay fallos, o que...
Para enviar un comando de prueba (listado de APs), por ejemplo, hago algo así:
Código: Seleccionar todo
#define UART 250
#define UARTSTAT 251
......
......
void sendTestTX (void) {
const char *cmd;
cmd = "AT+CWLAP\xd\xa";
ZXUNOADDR = UART;
while (*cmd!=0) {
ZXUNODATA = *cmd;
ZXUNOADDR = UARTSTAT;
while (((1 << 7) & ZXUNODATA) == 0);
ZXUNOADDR = UART;
*cmd++;
}
}