Paso 8: Programación paso 2: conectarse a una red inalámbrica
![]()
Otra vez, esto se basa en gran parte en el tutorial de sparkfun, pero he quitado los retrasos con "espera respuesta". Esto acelera las cosas y es más fácil para verificación de error.
www.Sparkfun.com/Commerce/tutorial_info.php
/ * Enviar los comandos correctos para conectarse a una red inalámbrica utilizando los parámetros utilizados en la construcción * / voidWiFly::AutoConnect() {delay(DEFAULT_TIME_TO_READY); FlushRX(); Entrar en el modo comando EnterCommandMode(); Reiniciar para obtener el dispositivo en estado conocido WriteToWiFlyCR("reboot"); WaitUntilReceived("*Reboot*"); WaitUntilReceived("*READY*"); FlushRX(); Entrar en el modo comando EnterCommandMode(); Apague el auto a WriteToWiFlyCR ("set wlan join 0"); WaitUntilReceived(AOK, ERR); Establecer nivel de autenticación en WriteToWiFly ("set w un"); WriteToWiFlyCR(auth_level); WaitUntilReceived(AOK, ERR); Frase de autenticación establecido en WriteToWiFly ("set w p"); WriteToWiFlyCR(m_password); WaitUntilReceived(AOK, ERR); Set PuertoLocal a WriteToWiFly ("set i l"); WriteToWiFlyCR(port_listen); WaitUntilReceived(AOK, ERR); Desactivar conexión remota automática de mensajes WriteToWiFlyCR ("set comm remoto 0"); WaitUntilReceived(AOK, ERR); Red inalámbrica WriteToWiFly ("join"); WriteToWiFlyCR(m_network); Delay(DEFAULT_TIME_TO_JOIN); boolok = WaitUntilReceived("IP="); Delay(DEFAULT_TIME_TO_WAIT); FlushRX(); if(OK == false) {m_printer -> Imprimir ("no se pudo asociar a '"); m_printer -> print(m_network); m_printer -> println("'\n\rRetrying..."); FlushRX(); AutoConnect(); } else {m_printer -> println("Associated!"); ExitCommandMode(); } / / TODO guardar esta configuración} / * acceder al modo comando enviando: caracteres $$$ se pasan hasta que se vea esta secuencia exacta. Si cualquier bytes se observan antes de estos caracteres, o después de estos caracteres, en una segunda 1 ventana, modo de comando no entraran y estos bytes se pasará otro lado. * / voidWiFly::EnterCommandMode() {FlushRX(); Delay(1000); espera 1s como se indica arriba m_printer -> println ("introducir comando modo."); WriteToWiFly("$$$"); WaitUntilReceived("CMD"); } / * salida enviar modo de comando el comando "exit" y esperan el resultado de confirmación "Salida" * / voidWiFly::ExitCommandMode() {WriteToWiFlyCR("exit"); WaitUntilReceived("EXIT"); }