Dieser Artikel ist eine Fortsetzung des vorherigen Artikels „Ein Smartphone fährt ein Spielzeugauto“ und soll Benutzern, die beschlossen haben, das Projekt zu wiederholen, helfen, ihr Gerät über Bluetooth mithilfe der BASIC-Programmierumgebung zu verwalten!
Die Sprachsteuerung ist ein effektives, aber nicht sehr zuverlässiges Steuerungswerkzeug, insbesondere wenn der Abstand zum Steuerobjekt mehr als 2 Meter beträgt. Schalldämpfung und Nachhall sowie Nebengeräusche stören, und Sie benötigen außerdem einen ständigen Zugang zum Internet. Zuverlässige Bluetooth-Steuerung.
Dafür wurden zwei Programme geschrieben.
Ein Programm, ich werde es "Server" nennen, läuft auf einem Smartphone, das das Gerät steuert. Der Server hört den Kommunikationskanal ab, empfängt Befehle und führt sie aus.
Ein anderer, ich werde es "Client" nennen, funktioniert auf einem Smartphone, das als Fernbedienung fungiert. Der Client initiiert die Kommunikation, bildet ein Team und überträgt sie über den Bluetooth-Server.
Der Befehl ist eine Textnachricht. Zum Beispiel "rechts" oder "r", was als "rechts" interpretiert werden sollte, und bedeutet, dass der Lenkradantrieb nach rechts und der Hauptmotor 300 Millisekunden vorwärts geschaltet werden.
Vor dem Starten von Programmen zwischen Smartphones muss der Zugriff arrangiert werden. Öffnen Sie dazu die Einstellung, schalten Sie Bluetooth ein, aktivieren Sie die Suche nach verfügbaren Geräten und wählen Sie Smartphones aus.
Schalten Sie vor dem Starten von Server und Client Bluetooth aus, damit das Betriebssystem die Berechtigung zum Einschalten von Bluetooth anfordert. Andernfalls wird möglicherweise keine Verbindung hergestellt.
Zuerst wird das Programm „Server“ gestartet, nachdem Sie sichergestellt haben, dass der Kommunikationskanal abgehört wurde, starten Sie den Client und steuern Sie das Gerät.
Diese Programme demonstrieren nur die Übertragung von Befehlen. Ihre Interpretation in Lichtpunkte auf dem Bildschirm wurde in einem früheren Artikel gezeigt. Die Programme werden vom Client gestoppt. Wenn Sie den Server direkt auf Ihrem Smartphone stoppen müssen, drücken Sie dreimal die Eingabetaste.
Liste der Serverprogramme
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