Este art铆culo es una continuaci贸n del art铆culo anterior "Un tel茅fono inteligente conduce un autom贸vil de juguete" y deber铆a ayudar a los usuarios que han decidido repetir el proyecto a administrar su dispositivo usando el bluetooth usando el entorno de programaci贸n B脕SICO.
El control por voz es una herramienta de control efectiva, pero no muy confiable, especialmente cuando la distancia al objeto de control es m谩s de 2 metros. La atenuaci贸n y la reverberaci贸n del sonido y el ruido extra帽o interfieren, y tambi茅n necesita acceso constante a Internet. Control confiable de bluetooth.
Se han escrito dos programas para esto.
Un programa, lo llamar茅 "Servidor", se ejecuta en un tel茅fono inteligente que controla el dispositivo. El servidor escuchar谩 el canal de comunicaci贸n, recibir谩 comandos y los ejecutar谩.
Otro, lo llamar茅 "Cliente", funciona en un tel茅fono inteligente que act煤a como control remoto. El cliente iniciar谩 la comunicaci贸n, formar谩 un equipo, la transmitir谩 a trav茅s del servidor bluetooth.
El comando es un mensaje de texto. Por ejemplo, "derecha" o "r", que debe interpretarse como "derecha", y significa encender el volante hacia la derecha y el motor principal hacia adelante durante 300 milisegundos.
Antes de iniciar programas entre tel茅fonos inteligentes, ser谩 necesario organizar el acceso. Para hacer esto, abra la configuraci贸n, active el bluetooth, active la b煤squeda de dispositivos disponibles y seleccione tel茅fonos inteligentes.
Antes de iniciar el servidor y el cliente, apague el bluetooth, de modo que el sistema operativo solicite permiso para encender el bluetooth, de lo contrario, la conexi贸n podr铆a no crearse.
Primero, se inicia el programa "Servidor", despu茅s de asegurarse de que ha comenzado a escuchar el canal de comunicaci贸n, inicie el Cliente y controle el dispositivo.
Estos programas demuestran solo la transferencia de comandos; su interpretaci贸n en puntos claros en la pantalla se mostr贸 en un art铆culo anterior. Los programas son detenidos por el cliente. Si necesita detener el servidor directamente en su tel茅fono inteligente, presione la tecla de retorno tres veces.
Listado de programas del servidor
FN.DEF speak(t$) TTS.INIT TTS.SPEAK t$ TTS.STOP FN.END speak(" ") ONERROR: newConnection: BT.OPEN speak (" ") DO % ++++++++ BT.STATUS s IF s = 1 !speak("") ELSEIF s =2 speak( "") ELSEIF s = 3 speak( " ") ENDIF PAUSE 1000 UNTIL s = 3 % ++++++ BT.DEVICE.NAME device$ DO %--------- BT.STATUS s IF (s<> 3) speak( " ") GOTO new_connection ENDIF DO % ====== BT.READ.READY rr IF rr BT.READ.BYTES s$ PRINT ":";s$ s$ =mid$(s$,1,len(s$)-1) speak(s$) IF (s$="end") THEN GOTO xEnd ENDIF UNTIL rr = 0 % ====== UNTIL 0 % -------- xEnd: speak(" ") BT.CLOSE END 芦禄 ARRAY.LOAD menucom$[], "", "", "", "", " ", " " BT.OPEN BT.CONNECT n = 0 DO %+++++++++++ BT.STATUS s IF s = 1 PRINT ", : ", n++ ELSEIF s =2 PRINT ", : ",n++ ELSEIF s = 3 PRINT " " ENDIF PAUSE 1000 UNTIL s = 3 %+++++++++ BT.DEVICE.NAME device$ PRINT device$ PAUSE 1000 x = 0 DO %######### SELECT menu, menuCom$[], " " IF menu = 1 THEN BT.WRITE "forward" IF menu = 2 THEN BT.WRITE "backward" IF menu = 3 THEN BT.WRITE "right" IF menu = 4 THEN BT.WRITE "left" IF menu = 5 THEN x=1 IF menu = 6 THEN BT.WRITE "end" UNTIL x=1 %######### BT.CLOSE END