Saya akan menunjukkan kepada Anda bagaimana mengembangkan aplikasi android Bluetooth menggunakan MIT App Inventor. Saya menggunakan App Inventor karena tidak memerlukan pengkodean apa pun dan tidak ada instalasi perangkat lunak. Anda hanya perlu akun google. Buka http://ai2.appinventor.mit.edu/, Anda akan diminta untuk login menggunakan akun google.
Masuk ke App Inventor menggunakan gmail dan ikuti langkah-langkah di bawah ini:
- i. Terima syarat &ketentuan gambar 1
- ii. Klik 'ikuti survei nanti' lalu 'lanjutkan' untuk menutup gambar layar splash 2, 3
- iii. Mulai proyek baru (tanpa spasi!) gambar 4
- iv. Beri nama proyek "BluetoothControlDoorLock" (tanpa spasi!) gambar 5
Anda sekarang berada di Desainer, tempat Anda meletakkan "antarmuka pengguna" aplikasi Anda (gambar 6). Jendela Perancang adalah tempat Anda menata tampilan dan nuansa aplikasi Anda, dan menentukan fungsionalitas apa yang seharusnya dimilikinya. Anda memilih berbagai hal untuk antarmuka pengguna seperti Tombol, Gambar, Label, Kotak teks, dan fungsi seperti Text-to-Speech, Bluetooth, Sensor, dan GPS.
Sekarang, ikuti gambar 7 dan tambahkan List Picker ke viewer. Ubah namanya menjadi "Connect to Bluetooth Device" (gambar 8). Tambahkan satu Label, satu Kotak Teks Kata Sandi, dan dua tombol yang ditunjukkan pada gambar 10. Ubah properti teks komponen masing-masing sebagai "Masukkan Kata Sandi", "Buka Pintu", dan "Tutup Pintu". Antarmuka Pengguna Akhir akan terlihat seperti gambar 11. Sekarang tambahkan Klien Bluetooth ke penampil. Ini adalah komponen yang tidak terlihat dan tidak memiliki UI. Lihat Gambar 12.
Beralih ke Editor Blok
Saatnya memberi tahu aplikasi Anda apa yang harus dilakukan! Klik "Blok" untuk pindah ke Editor Blok (gambar 13). Pikirkan tombol Designer dan Blocks seperti tab- Anda menggunakannya untuk bergerak maju mundur di antara dua area App Inventor. Editor Blok adalah tempat Anda memprogram perilaku aplikasi Anda. Ada blok bawaan yang menangani hal-hal seperti matematika, logika, dan teks. Di bawah ini adalah blok yang menyertai setiap komponen di aplikasi Anda. Agar blok untuk komponen tertentu muncul di Editor Blok, Anda harus terlebih dahulu menambahkan komponen itu ke aplikasi Anda melalui Desainer.
Mari kita, merancang blok untuk List Picker. List Picker adalah elemen UI ketika diklik itu menunjukkan daftar elemen yang sesuai di sini adalah perangkat Bluetooth yang dipasangkan. Kita harus menambahkan dua blok ListPicker.BeforePicking dan ListPicker.AfterPicking (gambar 14). Blok Lengkap ditunjukkan pada gambar 18 &19.
Membuat file apk
Desain kita sudah selesai, sekarang kita perlu membangun file apk untuk ponsel android kita. Klik untuk membangun menu dan pilih "Aplikasi (simpan .apk ke komputer saya)". Tunggu sebentar. File apk akan diunduh ke folder unduhan default Anda. Instal dan gunakan.
Aplikasi Android yang Lebih Kaya Fitur
Pada langkah sebelumnya saya telah menunjukkan kepada Anda bagaimana mengembangkan aplikasi bluetooth dasar di App Inventor. Tetapi aplikasi itu tidak begitu ramah pengguna. Ini tidak akan menampilkan pesan apa pun baik pintu Anda terbuka atau tertutup atau bluetooth tidak dapat terhubung karena kesalahan apa pun. Saya telah melampirkan di sini aplikasi yang lebih canggih untuk proyek kami.
Saat Anda menjalankan aplikasi Anda, aplikasi ini memeriksa apakah radio bluetooth Anda diaktifkan atau tidak, jika tidak mengaktifkan dialog pengaktifan bluetooth akan muncul. Klik ya untuk menyalakan radio bluetooth Anda. Kemudian pasangkan perangkat menggunakan tombol pasangkan perangkat. Kemudian klik tombol untuk menghubungkan, jika berhasil terhubung ke perangkat apa pun, aplikasi menunjukkan alamat MAC dan nama perangkat yang terhubung. Masukkan kata sandi ke kotak kata sandi lalu klik tombol buka pintu, jika Anda memasukkan kata sandi yang benar, pintu akan terbuka dan aplikasi akan menampilkan pesan bahwa pintu Anda sekarang terbuka. Kemudian masukkan kata sandi lagi jika Anda ingin menutup pintu. Jika Anda memberikan kata sandi yang salah, maka aplikasi akan menampilkan pesan kata sandi yang salah.
File sumber App Inventor lengkap (BTcontrol.aia) terlampir dengan ini. Jika Anda tidak suka membuat aplikasi sendiri atau memodifikasinya, cukup unduh BTcontrol.apk dan instal ke ponsel Android Anda.
Anda juga dapat mengunduhnya dari Google Play Store menggunakan tautan:
https://play.google.com/store/apps/details?id=appinventor.ai_khairul_uapstu.BTcontrol&hl=id
Untuk memodifikasi sumber klik menu "Projects" dan pilih "Import project (.aia) from my computer" yang ditunjukkan pada gambar 24 dan telusuri file BTcontrol.aia dari komputer Anda. Setelah mengimpor, Anda dapat memodifikasinya dengan mudah.
Jika Anda ingin tahu lebih banyak tentang pengembangan aplikasi Android menggunakan App Inventor, telusuri:http://appinventor.mit.edu/explore/ai2/tutorials.html. Anda juga dapat mencoba http://meta-guide.com/videography/100-best-appinventor-videos/
Kode
Sketsa ArduinoArduino
#include Servo myservo; // buat objek servo untuk mengontrol servoString inputString ="";String command ="";Nilai string ="";String password ="arduPi"; // ini adalah kata sandi untuk membuka dan menutup pintu Anda // Anda dapat mengatur kata sandi apa pun yang Anda suka menggunakan digit dan simbolboolean stringComplete =false; void setup(){ //mulai koneksi serial Serial.begin(9600); // baud rate adalah 9600 harus sesuai dengan bluetooth //Fungsi String reserve() memungkinkan Anda mengalokasikan buffer di memori untuk memanipulasi string. inputString.reserve(50); // simpan 50 byte di memori untuk disimpan untuk manipulasi string command.reserve(50); nilai.cadangan(50); string booleanOK =salah; myservo.attach(9); // menempelkan servo pada pin 9 ke objek servo }void loop(){ // jika arduino menerima karakter pemutusan string seperti \n stringComplete akan disetel ke true if (stringComplete) { //Serial.println(inputString); penundaan(100); // mengidentifikasi posisi '=' dalam string dan mengatur indeksnya ke variabel pos int pos =inputString.indexOf('='); // nilai variabel pos> atau =0 berarti '=' ada dalam string yang diterima. if (pos> -1) { // substring(start, stop) function memotong bagian tertentu dari string dari awal hingga berhenti // di sini perintah akan menjadi bagian dari string yang diterima hingga '=' // biarkan string yang diterima terbuka=test123 // maka perintahnya adalah 'buka' command =inputString.substring(0, pos); // nilai akan dari after =ke perintah baris baru // untuk contoh di atas nilai test123 // kita abaikan saja '=' mengambil parameter pertama substring sebagai 'pos+1' // kita menggunakan '=' sebagai pemisah antara perintah dan vale // tanpa '=' karakter lain dapat digunakan // kita menggunakan =menas perintah atau kata sandi kita tidak boleh mengandung '=', jika tidak maka akan menyebabkan nilai kesalahan =inputString.substring(pos+1 , inputString.length()-1); // ekstrak perintah hingga \n dikecualikan //Serial.println(perintah); //Serial.println(nilai); // password.compareTo(value) membandingkan antara string password dan nilai string, jika cocok kembali 0 if(!password.compareTo(value) &&(command =="OPEN")){ // jika password cocok dan perintah 'OPEN ' dari pintu harus membuka openDoor(); // panggil fungsi openDoor() Serial.println("OPEN"); // mengirim umpan balik terbuka ke penundaan telepon (100); } else if(!password.compareTo(value) &&(command =="CLOSE")){ // jika password cocok dan perintah 'CLOSE' maka pintu harus menutup closeDoor(); Serial.println("TUTUP"); // mengirim string " TUTUP" ke penundaan telepon(100); } else if(password.compareTo(value)){ // jika kata sandi tidak cocok daripada mengirim umpan balik yang salah ke telepon Serial.println(" WRONG"); penundaan(100); } } // hapus string untuk iterasi berikutnya inputString =""; stringLengkap =salah; } }void serialEvent() { while (Serial.available()) { // dapatkan byte baru:char inChar =(char)Serial.read(); //Serial.tulis(dalamChar); // tambahkan ke inputString:inputString +=inChar; // jika karakter yang masuk adalah baris baru atau carriage return, setel flag // sehingga loop utama dapat melakukan sesuatu tentangnya:if (inChar =='\n' || inChar =='\r') { stringComplete =benar; } }}kosongkan openDoor(){ myservo.write(0); penundaan(100); }void closeDoor(){ myservo.write(65); penundaan(100); }
Suku cadang dan penutup khusus
Thingiverse
https://www.thingiverse.com/thing:2350856File CAD di thingiverse.com Skema
door-lock_android_source_PDi5PbxDwC.aia door-lock_android_app_K05l3Csr61.apk