Cet article fait suite à l'article précédent «Un smartphone conduit une petite voiture» et devrait aider les utilisateurs qui ont décidé de répéter le projet à gérer leur appareil en utilisant Bluetooth en utilisant l'environnement de programmation BASIC! ..
La commande vocale est un outil de contrôle efficace mais peu fiable, en particulier lorsque la distance à l'objet de contrôle est supérieure à 2 mètres. L'atténuation et la réverbération du son et le bruit étranger interfèrent, et vous avez également besoin d'un accès constant à Internet. Contrôle bluetooth fiable.
Deux programmes ont été écrits pour cela.
Un programme, je l'appellerai "Serveur", s'exécute sur un smartphone qui contrôle l'appareil. Le serveur écoutera le canal de communication, recevra les commandes et les exécutera.
Un autre, je l'appellerai «Client», fonctionne sur un smartphone qui fait office de télécommande. Le client initiera la communication, formera une équipe, la transmettra via le serveur Bluetooth.
La commande est un message texte. Par exemple, «droite» ou «r», qui doit être interprété comme «droite», et signifie tourner le volant vers la droite et le moteur principal vers l'avant pendant 300 millisecondes.
Avant de démarrer des programmes entre smartphones, il sera nécessaire d'organiser l'accès. Pour ce faire, ouvrez le paramètre, activez le Bluetooth, activez la recherche des appareils disponibles et sélectionnez les smartphones.
Avant de démarrer le serveur et le client, désactivez le Bluetooth afin que le système d'exploitation demande l'autorisation d'activer le Bluetooth, sinon la connexion risque de ne pas être créée.
Tout d'abord, le programme «Serveur» démarre, après vous être assuré qu'il a commencé à écouter le canal de communication, démarrer le client et contrôler l'appareil.
Ces programmes ne montrent que le transfert de commandes; leur interprétation en taches claires sur l'écran a été montrée dans un article précédent. Les programmes sont arrêtés par le client. Si vous devez arrêter le serveur directement sur votre smartphone, appuyez trois fois sur la touche Retour.
Liste des programmes serveur
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