Kontrol perangkat Bluetooth

Artikel ini merupakan kelanjutan dari artikel sebelumnya "Sebuah smartphone mengendarai mobil mainan" dan harus membantu pengguna yang telah memutuskan untuk mengulangi proyek mengelola perangkat mereka menggunakan bluetooth menggunakan lingkungan pemrograman BASIC! ..

Kontrol suara adalah alat kontrol yang efektif, tetapi tidak terlalu andal, terutama ketika jarak ke objek kontrol lebih dari 2 meter. Redaman dan gema suara dan gangguan suara asing, dan Anda juga perlu akses konstan ke Internet. Kontrol bluetooth yang andal.

Dua program telah ditulis untuk ini.

Satu program, saya akan menyebutnya "Server", berjalan pada smartphone yang mengontrol perangkat. Server akan mendengarkan saluran komunikasi, menerima perintah dan menjalankannya.

Lain, saya akan menyebutnya "Klien", bekerja pada smartphone yang bertindak sebagai remote control. Klien akan memulai komunikasi, membentuk tim, mengirimkannya melalui server bluetooth.

Perintah adalah pesan teks. Misalnya, "benar", atau "r", yang harus diartikan sebagai "benar", dan berarti memutar penggerak kemudi ke kanan dan mesin utama maju selama 300 milidetik.

Sebelum memulai program di antara smartphone, perlu mengatur akses. Untuk melakukan ini, buka pengaturan, nyalakan bluetooth, nyalakan pencarian untuk perangkat yang tersedia dan pilih smartphone.

Sebelum memulai server dan klien, matikan bluetooth sehingga OS meminta izin untuk mengaktifkan bluetooth, jika tidak koneksi tidak dapat dibuat.

Pertama, program "Server" dimulai, setelah Anda memastikan sudah mulai mendengarkan saluran komunikasi, mulai Klien dan kontrol perangkat.

Program-program ini hanya menunjukkan transfer perintah, interpretasinya ke titik-titik cahaya di layar ditunjukkan pada artikel sebelumnya. Program dihentikan oleh klien. Jika Anda perlu menghentikan server secara langsung pada ponsel cerdas Anda, tekan tombol kembali tiga kali.

Daftar program server

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 

Source: https://habr.com/ru/post/id426249/


All Articles