Daftar Isi:

WiFi Sederhana ke BLE (Bluetooth Low Energy) Bridge: 9 Langkah (dengan Gambar)
WiFi Sederhana ke BLE (Bluetooth Low Energy) Bridge: 9 Langkah (dengan Gambar)

Video: WiFi Sederhana ke BLE (Bluetooth Low Energy) Bridge: 9 Langkah (dengan Gambar)

Video: WiFi Sederhana ke BLE (Bluetooth Low Energy) Bridge: 9 Langkah (dengan Gambar)
Video: SULTAN MEDAN INDRAKENZ NAIK JET PRIBADI KE PULAU PRIBADI!! 2024, November
Anonim
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)
WiFi sederhana ke Jembatan BLE (Bluetooth Low Energy)

Perbarui 4 Desember 2017 - sketsa Feather nRF52 yang direvisi dan tip debugging. Menambahkan gambar jembatan yang dipasang di kotak

Proyek sederhana ini menyediakan akses WiFi ke modul Bluetooth Low Energy (BLE) apa pun yang mengimplementasikan UART Nordic dengan TX Notify. Jembatan Wifi2BLE benar-benar transparan. Itu hanya meneruskan data WiFi ke perangkat BLE dan meneruskan data perangkat BLE kembali ke koneksi WiFi.

pfodDesignerV3 gratis menghasilkan kode untuk mengimplementasikan Layanan UART Nordik pada banyak modul BLE termasuk, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 dan V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend dan Papan Flora, Adafruit Bluefruit LE SPI (yaitu Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE atau Bluefruit LE SPI Friend) dan papan lainnya yang memungkinkan Anda memprogram layanan Anda sendiri.

Jembatan Wifi2BLE ini cocok untuk konstruktor yang tidak berpengalaman yang dapat menyolder. Ini hanya menggunakan dua papan, satu kabel pita dan dua resistor

Selain pengujian terperinci untuk setiap papan, instruksi ini mencakup langkah Bantuan – Tidak Berfungsi dengan lebih banyak kiat menemukan kesalahan.

Instruksi ini juga tersedia online

Mengapa Proyek ini?

Proyek ini memecahkan sejumlah masalah yang dimiliki BLE (Bluetooth Low Energy).

  • Hanya ponsel dan komputer terbaru yang mendukung BLE. Jembatan Wifi2BLE memungkinkan ponsel atau komputer apa pun dengan koneksi WiFi untuk terhubung dan mengontrol perangkat BLE.
  • BLE memiliki jangkauan terbatas. Jembatan Wifi2BLE memungkinkan Anda untuk mengakses perangkat BLE dari mana saja di rumah (di mana ada koneksi WiFi) dan dari luar melalui Internet.
  • Membuat aplikasi BLE mengharuskan Anda mempelajari Android atau iOS. Jembatan Wifi2BLE menyediakan koneksi telnet universal melalui program terminal apa pun. Lebih jauh lagi, Anda dapat dengan mudah menambahkan halaman web ke modul WiFi untuk membuat antarmuka kustom Anda sendiri.
  • BLE V5 menjanjikan jaringan mesh untuk menghubungkan semua perangkat BLE rumah Anda, setelah perangkat lunak mengikuti spesifikasi Bluetooth terbaru. Jembatan Wifi2BLE menggunakan perangkat BLE V5 dan akan menyediakan akses internet ke jaringan rumah ini ketika tiba.

Penggunaan langsung saya untuk proyek ini adalah menambahkan kontrol lampu BLE ruang lounge ke jaringan WiFi untuk memungkinkannya dikontrol dari mana saja di rumah. Meskipun tutorial ini menggunakan pfodApp sebagai contoh mengontrol papan BLE melalui WiFi, Anda tidak perlu membeli pfodApp untuk menyelesaikan proyek ini.

Langkah 1: Daftar Bagian

Biaya ~US$60 per 30 November 2017, tidak termasuk pengiriman + penutup plastik kecil

Adafruit Feather nRF52 Bluefruit LE – nRF52832 – ~US$25

Adafruit HUZZAH ESP8266 Breakout - ~US$10

Kabel Pita dengan ujung perempuan yang terpisah – Kabel Bajak Laut Bus ~US$5 https://www.sparkfun.com/products/9556 ATAU 10-pin IDC Socket Rainbow Breakout Cable ~US$4 https://www.sparkfun.com/products/ 9556 ATAU serupa

Header Pria Break Away - Sudut Kanan – ~US$2

Kabel Serial USB ke TTL 3V3 – ~US$10 https://www.sparkfun.com/products/12977 (Lebih disukai karena pinnya berlabel) ATAU https://www.sparkfun.com/products/12977 (pin TIDAK berlabel)

Kabel USB A ke Micro B – ~US$4 https://www.sparkfun.com/products/12977 (panjang 3 kaki) ATAU ~US$3 https://www.sparkfun.com/products/12977 (panjang 6 inci) ATAU ~US$2 https://www.sparkfun.com/products/12977 (panjang 6 inci) ATAU ~US$5 https://www.sparkfun.com/products/12977 (panjang 6 kaki) ATAU serupa

2 x 100 ohm resistor – ~US$1

Catu daya USB (500mA atau lebih) – ~US$6 https://www.sparkfun.com/products/12890 ATAU ~US$7 https://www.adafruit.com/product/1994 ATAU serupa

Arduino IDE V1.8.5 dan komputer untuk menjalankannya.

Untuk kotak plastik saya menggunakan satu dari Jaycar UB5 (biru) 83mm x 54mm x 31mm ~A$4

Langkah 2: Sirkuit Wifi2BLE

Sirkuit Wifi2BLE
Sirkuit Wifi2BLE

Sirkuit Wifi2BLE ditunjukkan di atas. Versi pdf ada di sini. Seperti yang Anda lihat, rangkaiannya sangat sederhana. Hanya 4 kabel dan dua resistor proteksi 100 ohm. Resistor pelindung jika Anda salah menyambungkan jalur TX / RX setelah memprogram HUZZAH ESP8266 atau Feather nRF52.

CATATAN: Penandaan papan Feather nRF52 untuk pin TX dan RX salah. Pin TX sebenarnya yang di sebelah pin DFU dan pin RX adalah yang di sebelah pin MISO

Pastikan Anda menghubungkan jalur TX/RX seperti yang ditunjukkan di atas. Untungnya resistor pelindung melakukan pekerjaan mereka dan papan tidak rusak sementara saya memilah mengapa papan tidak saling mengambil.

Langkah 3: Konstruksi Wifi2BLE

Konstruksi Wifi2BLE
Konstruksi Wifi2BLE
Konstruksi Wifi2BLE
Konstruksi Wifi2BLE
Konstruksi Wifi2BLE
Konstruksi Wifi2BLE

Pin header bersudut kanan tempat disolder ke HUZZAH ESP8266 untuk memungkinkannya dicabut untuk pemrograman. Empat kabel kabel pita digunakan untuk menghubungkan dua papan. Jauhkan konektor pin perempuan dan potong ujung lain dari kabel pita. Kabel pita saya memiliki warna yang sama dengan kabel pemrograman Sparkfun USB ke TTL jadi saya memilih kabel yang sesuai. Hitam untuk GND, Merah untuk 5V+, Oranye untuk TX (terhubung ke ESP8266 RX) dan Coklat untuk RX (terhubung ke ESP8266 TX)

Saya memasang kabel resistor perlindungan di bagian belakang papan Feather nRF52. (Konstruktor jeli yang mengetahui kode resistor mereka akan melihat bahwa saya telah menggunakan dua resistor 68 ohm yang saya tangani alih-alih 100 ohm) dan kemudian mengisolasinya dengan beberapa pembungkus menyusut.

Kabel Merah disolder ke pin USB Feather nRF52 untuk mengambil USB 5V untuk memberi daya pada modul HUZZAH ESP8266 dan kabel Hitam disolder ke pin GND Feather nRF52.

Itu semua ada kecuali untuk memprogram modul, seperti yang dijelaskan di bawah, memasukkannya ke dalam kotak plastik dan mencolokkan catu daya USB ke Feather nRF52.

Langkah 4: Pemrograman Wifi2BLE

Pemrograman Wifi2BLE
Pemrograman Wifi2BLE
Pemrograman Wifi2BLE
Pemrograman Wifi2BLE
Pemrograman Wifi2BLE
Pemrograman Wifi2BLE

Memprogram HUZZAH ESP8266

Untuk memprogram perisai, ikuti instruksi yang diberikan di https://github.com/esp8266/Arduino di bawah Menginstal Dengan Manajer Papan. Saat membuka Boards Manager dari menu Tools → Board dan pilih Type Contributed dan instal platform esp8266. Proyek ini dikompilasi menggunakan ESP8266 versi 2.3.0. Versi lain akan memiliki kumpulan bug mereka sendiri dan mungkin tidak berfungsi dengan kode ini.

CATATAN: JANGAN gunakan pemasangan Papan Adafruit karena sketsa yang digunakan di sini tidak akan dikompilasi di bawah kode itu.

Tutup dan buka kembali Arduino IDE dan sekarang Anda dapat memilih “Adafruit HUZZAH ESP8266” dari menu Tools → Board.

Anda juga perlu menginstal pustaka pfodESP8266WiFiBufferedClient versi terbaru. Pustaka ini bekerja dengan plug-in IDE ESP8266.com V2.3. (Jika sebelumnya Anda telah menginstal pustaka pfodESP2866WiFi, hapus direktori pustaka tersebut sepenuhnya.)

  • a) Unduh file pfodESP8266WiFiBufferedClient.zip ini ke komputer Anda, pindahkan ke desktop Anda atau folder lain yang dapat Anda temukan dengan mudah
  • b) Kemudian gunakan opsi menu Arduino 1.8.5 IDE Sketch → Import Library → Add Library untuk menginstalnya. (Jika Arduino tidak mengizinkan Anda menginstalnya karena perpustakaan sudah ada, cari dan hapus folder pfodESP8266BufferedClient yang lama lalu impor yang ini)
  • c) Hentikan dan mulai ulang Arduino IDE dan di bawah File->Contoh Anda sekarang akan melihat pfodESP8266BufferedClient.

Mengatur ssid dan kata sandi Jaringan dan IP dan port

Setelah Anda menginstal pustaka pfodESP8266BufferedClient, buka Arduino IDE dan salin sketsa ini, Wifi_Bridge.ino, ke dalam IDE. Sebelum Anda memprogram modul, Anda perlu mengatur ssid dan kata sandi jaringan Anda dan memilih IP yang tidak digunakan.

Edit tiga baris ini di dekat bagian atas Wifi_Bridge.ino

char ssid = "*******"; kata sandi karakter = "**** *****"; char staticIP = "10.1.1.180";

Saya menggunakan aplikasi Fing (Android atau iOS) untuk memindai jaringan lokal saya dan mengidentifikasi IP yang sudah digunakan. Biasanya aman untuk memilih IP yang tidak digunakan dalam kisaran.180 hingga.254

Untuk memulainya, Anda dapat membiarkan portNo sebagai 23, port standar untuk koneksi telnet.

Setelah Anda membuat perubahan tersebut, Anda dapat memprogram ESP8266.

Memprogram HUZZAH ESP8266

Untuk memprogram HUZZAH ESP8266, sambungkan kabel USB ke Serial seperti yang ditunjukkan pada foto. Periksa foto dan kabel Anda. Lihat juga Tips Pemrograman ESP8266 (espcomm gagal)

Saya menggunakan Kabel Serial Sparkfun USB ke TTL 3V3 karena memiliki lead TX dan RX yang ditandai. Pastikan kabel TX dicolokkan ke pin RX dan kabel RX dicolokkan ke pin TX seperti gambar di atas. Jika Anda menggunakan kabel Adafruit, terminalnya tidak ditandai tetapi diberi kode warna, merah adalah daya, hitam adalah arde, hijau adalah TX dan putih adalah RX.

Colokkan kabel USB to Serial ke komputer Anda dan pilih port COM di menu Tools → Port. Biarkan Frekuensi CPU, Ukuran Flash, dan Kecepatan Unggah pada pengaturan default.

Kemudian masukkan modul Adafruit HUZZAH ESP2866 ke mode pemrograman dengan menahan tombol tekan GPIO0 dan klik tombol Reset lalu lepaskan tombol tekan GPIO0. LED GPIO0 harus tetap menyala redup. Kemudian pilih File → Unggah atau gunakan tombol Panah Kanan untuk mengkompilasi dan mengunggah program. Jika Anda mendapatkan pesan kesalahan saat mengunggah, periksa koneksi kabel Anda dicolokkan ke pin yang benar dan coba lagi.

Setelah pemrograman selesai, Led Merah pada modul akan menyala. Itu menunjukkan itu telah berhasil terhubung ke jaringan lokal Anda dan memulai server untuk menerima koneksi.

Menguji HUZZAH ESP2866

Untuk menguji HUZZAH ESP2866, biarkan kabel pemrograman terhubung dan buka Arduino IDE Tools → Serial Monitor dan atur 9600 baud (pojok kanan bawah). Kemudian buka program terminal di komputer Anda, saya menggunakan TeraTerm untuk Windows dan CoolTerm untuk Mac, dan sambungkan ke IP dan portNo yang Anda atur di sketsa Wifi_Bridge.ino.

Saat Anda menghubungkan Led Merah pada modul harus mulai berkedip, menunjukkan ada koneksi. Anda sekarang dapat mengetik ke jendela terminal komputer Anda dan karakter akan muncul di jendela monitor Arduino IDE dan sebaliknya.

Batas Waktu Koneksi Wifi

Kode Wifi_Bridge.ino memiliki waktu koneksi.

uint32_t connectionTimeout = 60000; // Waktu koneksi 60 detik habis

Jika tidak ada data WiFi yang diterima oleh modul HUZZAH ESP8266 selama 60 detik maka modul menutup koneksi dan menunggu yang baru. Ini memastikan modul pulih dari koneksi 'setengah tertutup' yang terjadi ketika klien menghilang begitu saja karena koneksi WiFi yang buruk, kehilangan daya di router atau mematikan klien secara paksa. Lihat Deteksi Koneksi Soket TCP/IP Setengah Terbuka (Terjatuh) untuk lebih jelasnya.

Waktu koneksi ini habis diatur ke 60 detik. tetapi dapat dikurangi atau ditingkatkan sesuai kebutuhan. Menyetelnya ke 0 berarti tidak pernah habis waktu yang tidak disarankan.

Memprogram Feather nRF52

Untuk memprogram Feather nRF52, ikuti petunjuk tentang mengunduh dan menginstal dukungan Arduino Board untuk Feather nRF52. Periksa Anda dapat terhubung ke, dan memprogram papan melalui kabel USB.

CATATAN: Cabut modul HUZZAH ESP8266 dari Feather nRF52 sebelum mencoba memprogram Feather

Menghubungkan Feather nRF52 ke perangkat BLE terdiri dari dua langkah. Pertama mengidentifikasi alamat MAC (dan jenis) pada perangkat dan memeriksanya mendukung layanan Nordic UART dengan TX Notify dan kemudian mentransfer alamat dan ketik itu ke sketsa jembatan.

Langkah 5: Koneksi ke Perangkat BLE

Koneksi ke Perangkat BLE
Koneksi ke Perangkat BLE
Koneksi ke Perangkat BLE
Koneksi ke Perangkat BLE
Koneksi ke Perangkat BLE
Koneksi ke Perangkat BLE

Setelah HUZZAH ESP8266 diprogram, Anda perlu mengkodekan alamat BLE dan jenis perangkat yang ingin Anda sambungkan ke dalam sketsa Feather nRF52. Ini adalah proses dua langkah. I) Jalankan program pemindaian untuk menemukan perangkat BLE terdekat yang mengimplementasikan Layanan UART Nordic (TX Notify) dan kemudian salin keluaran pemindai tersebut ke sketsa jembatan Feather untuk menghubungkannya ke perangkat tersebut.

Memindai Periferal BLE

Untuk mengidentifikasi periferal BLE yang kompatibel, muat program central_bleuart_scanner.ino ke dalam Feather nRF52 Anda. Program ini terus-menerus memindai perangkat baru dan kemudian memeriksa apakah perangkat tersebut mendukung layanan UART Nordik dengan TX Notify.

Layanan UART Nordik

Layanan UART Nordik terdiri dari tiga bagian, Layanan UUID dan karakteristik RX dan TX. Berikut adalah beberapa contoh kode yang dihasilkan oleh pfodDesignerV3 untuk RedBear NanoV2

BLEService uartService = BLEService("6E400001B5A3F393E0A9E50E24DCCA9E");

BLEKarakteristik rxKarakteristik = BLEKarakteristik("6E400002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLEKarakteristik txKarakteristik = BLEKarakteristik("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);

pfodDesignerV3 dapat menghasilkan kode sampel untuk sejumlah modul BLE. Namun karena tidak ada spesifikasi BLE untuk koneksi UART 'standar', tidak semua modul menggunakan layanan UART Nordik. Misalnya modul HM-10 (Itead BLE shield), RFduno dan Romeo BLE menggunakan layanan uart unik mereka sendiri sehingga tidak akan terhubung ke Feather nRF52.

Papan berikut akan terhubung:- Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 dan V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend and Flora Boards, Adafruit Bluefruit LE SPI (yaitu Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE atau Bluefruit LE SPI Friend) Serta papan yang dapat dikodekan dengan Layanan khusus atau papan yang dapat menggunakan perpustakaan BLEPeripheral.

Papan contoh yang digunakan di sini adalah Arduino/Genuino 101 dengan kode yang dihasilkan oleh pfodDesignerV3. pfodDesignerV3 gratis memungkinkan Anda untuk membuat menu pfodApp dan kemudian menghasilkan kode Arduino yang diperlukan untuk menunjukkan menu yang tepat di ponsel Android Anda menggunakan pfodApp (berbayar). pfodApp juga akan terhubung melalui Wifi, serta Bluetooth Classic, BLE dan SMS, sehingga dapat terhubung melalui jembatan Wifi2BLE ini. Namun bahkan jika Anda tidak ingin menggunakan pfodApp sebagai aplikasi kontrol Anda, Anda masih dapat menggunakan pfodDesignerV3 untuk menghasilkan kode layanan UART Nordik untuk papan BLE Anda.

Tautan tutorial ini menjelaskan pengaturan Arduino/Genuino 101 BLE dan membuat kontrol on/off LED sederhana dengan pfodDesignerV3. Sketsa yang dihasilkan oleh pfodDesignerV3 adalah Arduino101_led_control.ino

Memprogram Arduino/Genuino 101 dengan Arduino101_led_control.ino akan memungkinkan Anda terhubung dengan pfodApp dan menampilkan layar berikut di ponsel Android Anda.

Namun ini hanyalah sebuah contoh dan Anda tidak perlu membeli pfodApp untuk menyelesaikan proyek ini. Bagian yang penting adalah bahwa aplikasi pfodDesignerV3 gratis telah menghasilkan kode untuk Arduino/Genuino 101 yang mengimplementasikan Layanan UART Nordik. Jadi mari kita memindai untuk itu.

Namun ini hanyalah sebuah contoh dan Anda tidak perlu membeli pfodApp untuk menyelesaikan proyek ini. Bagian yang penting adalah bahwa aplikasi pfodDesignerV3 gratis telah menghasilkan kode untuk Arduino/Genuino 101 yang mengimplementasikan Layanan UART Nordik. Jadi mari kita memindai untuk itu.

Memindai Layanan UART Nordik

Dengan modul HUZZAH ESP8266 terputus dari Feather nRF52, program Feather nRF52 dengan central_bleuart_scanner.ino dan kemudian buka Arduino IDE Tools → Serial Monitor dan atur baud rate ke 9600. Menghidupkan Arduino/Genuino 101 memberikan output yang ditunjukkan pada tangkapan layar pertama di atas.

Seperti yang Anda lihat, pemindai menemukan dua perangkat BLE, Arduino/Genuino 101 dengan layanan UART Nordik, TETAPI karakteristik TX tidak mendukung Notify. Pemindai juga menemukan modul RFduino BLE tetapi RFduino tidak menggunakan Layanan UART Nordik melainkan menggunakan miliknya sendiri. Komite Bluetooth menyalahkan hal ini karena tidak menetapkan Layanan UART 'standar', alih-alih membiarkan masing-masing pabrikan membuat layanan mereka sendiri.

Seperti yang dibahas di atas, kode 101 dibuat oleh pfodDesignerV3 terutama untuk digunakan dengan pfodApp. pfodApp tidak memilih tentang TX Notify seperti kode uart Feather nRF52. pfodApp bekerja dengan 101 seperti yang diprogram tetapi Feather nRF52 bersikeras pada TX Notify sehingga perubahan kecil pada kode diperlukan untuk memenuhi Feather.

Buka Arduino101_led_control.ino di Arduino IDE dan di dekat bagian atas Anda akan menemukan dua baris ini. Baris kedua hanyalah deskripsi karakteristik dan tidak mempengaruhi operasi.

BLEKarakteristik txKarakteristik = BLEKarakteristik("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH);BLEDeskriptor txNameDescriptor = BLEDeskriptor("2901", "TX – (Tunjukkan)");

Ubah menjadi

BLEKarakteristik txKarakteristik = BLEKarakteristik("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDeskriptor txNameDescriptor = BLEDeskriptor("2901", "TX - (Beri tahu)");

Kemudian program ulang 101 dengan versi yang telah diedit ini, Arduino101_Notify_led_control.ino. Kemudian ketika Anda menjalankan kembali pemindai Feather nRF52 (central_bleuart_scanner.ino), Serial Monitor menunjukkan tangkapan layar kedua di atas.

Tidak ada kesalahan untuk Genuino 101 sekarang dan pemindai mencetak kode yang diperlukan untuk sketsa jembatan Feather nRF52 sehingga akan terhubung ke 101. Pemindai akan memeriksa setiap perangkat yang ditemukan dalam jangkauan. LED Merah berkedip sekali untuk setiap perangkat yang ditemukan dengan Layanan UART Nordic (TX Notify).

Langkah 6: Menghubungkan ke Periferal BLE

Indikasi LED

Feather nRF52 memiliki dua led, Biru dan Merah. Ketika papan terhubung ke perangkat BLE, Led Biru konstan, jika tidak berkedip. Pemindai tidak tetap terhubung ke perangkat sehingga led Biru biasanya berkedip. LED Merah berkedip sekali untuk setiap perangkat Nordic UART Service (TX Notify). Saat dijalankan sebagai pemindai, Led Merah menghitung jumlah perangkat Nordic UART Service (TX Notify) yang ditemukan. Saat berjalan sebagai jembatan, Led Merah berkedip sekali saat terhubung ke alamat kode BLE.

Menghubungkan ke Periferal BLE

Sekarang sketsa pemindai telah memberikan detail untuk perangkat BLE yang ingin Anda sambungkan, Anda dapat menyalin output ke sketsa central_bleuart_bridge.ino. Di dekat bagian atas sketsa itu Anda akan menemukan kode berikut.

// Tiga baris kode berikut ini berasal dari output central_bleuart_scanner.ino

const char *BLE_NAME = "GENUINO 101-FC8F"; const char *BLE_ADDRESS = "98:4F:EE:0C:FC:8F"; const uint8_t BLE_ADDRESS_TYPE = 0;

Ganti tiga baris kode dengan output dari pemindai untuk perangkat BLE yang ingin Anda hubungkan. Kemudian program Feather nRF52 dengan sketsa central_bleuart_bridge.ino yang telah diedit.

Menguji sketsa central_bleuart_bridge

Sebelum pasang kembali HUZZAH ESP8266 ke Feather nRF52, uji koneksi ke perangkat BLE Anda. Biarkan Feather nRF52 terhubung ke Arduino IDE Anda, buka Tools → Serial Monitor pada 9600 baud dan kemudian periksa perangkat BLE target Anda menyala.

Ketika koneksi dibuat ke perangkat BLE Anda, seperti dijelaskan di atas, led Biru akan menyala terus-menerus dan led Merah akan berkedip sekali setiap 10 detik atau lebih. Ini memungkinkan Anda untuk tidak membuat dan mempertahankan koneksi.

Kemudian di Serial Monitor Anda dapat memasukkan perintah yang Anda harapkan untuk dikirim ke perangkat BLE Anda dan melihatnya beroperasi dan memantau respons apa pun yang dikirim kembali. Jika semuanya baik-baik saja, Anda dapat mematikan dan memasang modul HUZZAH ESP8266.

Langkah 7: Menghubungkan ke Perangkat BLE Melalui WiFi – Menyatukan Semuanya

Setelah Anda memprogram dan menguji modul HUZZAH ESP8266 dengan kode jembatannya (Wifi_Bridge.ino) yang dikonfigurasi untuk ssid dan kata sandi jaringan Anda dan IP DAN memprogram dan menguji Feather nRF52 dengan kode jembatannya (central_bleuart_bridge.ino) yang dikonfigurasi dengan alamat perangkat BLE dan ketik, lalu Anda dapat menyambungkannya bersama-sama dan mencolokkan suplai USB ke modul Feather untuk menyalakan keduanya.

Modul HUZZAH LED Merah harus menyala solid saat terhubung ke router jaringan lokal Anda dan LED Feather Blue akan menyala solid saat terhubung ke perangkat BLE Anda dan LED Feather Red harus berkedip setiap 10 detik atau lebih untuk menunjukkan hanya pada Perangkat BLE terhubung.

Buka program telnet Anda dan sambungkan ke IP dan port HUZZAH. Led HUZZAH Merah harus berkedip perlahan untuk menunjukkan program Anda telah terhubung dan Anda harus mengirim perintah ke perangkat BLE Anda melalui WiFi dan menonton perangkat BLE beroperasi dan melihat respons apa pun di jendela telnet Anda. Ingat jika perangkat BLE Anda tidak mengirim data apa pun kembali selama 60 detik, kode HUZZAH akan menghabiskan waktu koneksi dan memutuskan sambungan dan led HUZZAH Merah akan menyala kembali.

Langkah 8: Bantuan – Tidak Berfungsi

Pertama lakukan langkah-langkah pengujian yang dijelaskan di atas, Menguji HUZZAH ESP2866 dan Menguji sketsa central_bleuart_bridge.

Masalah Pemindaian

Jika pemindai tidak dapat menemukan perangkat BLE Anda, perangkat itu terlalu jauh atau tidak beriklan atau sudah terhubung ke sesuatu. Coba gerakkan pemindai lebih dekat dan nyalakan perangkat dan matikan semua perangkat seluler lain di dekat yang mungkin memiliki koneksi ke perangkat BLE.

Jika Anda mendapatkan output pemindai seperti ini.

Terhubung ke 98:4F:EE:0C:FC:8F Mencari layanan UART Nordik … Tidak ada yang ditemukan ATAU Tidak dapat ditemukan!!!!! Tidak Dapat Mengidentifikasi Layanan UART Nordik !!!!!!!! Jika Anda mengharapkan Layanan UART Nordik, pindahkan Pemindai lebih dekat ke perangkat BLE !!!!

Mungkin Anda cukup dekat dengan perangkat BLE untuk mendeteksinya tetapi tidak cukup dekat untuk berhasil melakukan penemuan Layanan untuk menemukan layanan UART Nordik. Coba bergerak lebih dekat ke perangkat BLE.

Sebagai upaya terakhir, Anda dapat menggunakan aplikasi Nordic nRF Connect gratis untuk Android atau iOS. Aplikasi itu memiliki jangkauan dan sensitivitas yang lebih baik. Ini akan memberi tahu Anda jika perangkat BLE memiliki Layanan UART Nordik. Namun Anda masih harus menjalankan pemindai dan menghubungkan dan mengidentifikasi Serivice UART Nordic sebelum Anda mencoba menggunakan jembatan Wifi2BLE karena menggunakan kode yang mirip dengan pemindai.

Jika Anda ingin menggali lebih dalam Anda dapat menggunakan modul Adafruit Bluefruit LE Sniffer untuk melihat apa yang ada di udara.

Masalah Koneksi BLE

Jika Anda berhasil memindai perangkat BLE maka kemungkinan besar penyebab masalah koneksi adalah I) perangkat BLE terlalu jauh, II) sesuatu yang lain telah terhubung ke perangkat BLE

Masalah Koneksi WiFi

Jika led HUZZAH ESP8266 Merah tidak menyala solid maka tidak memiliki koneksi ke jaringan Anda melalui router Anda. Periksa ssid dan kata sandi yang Anda miliki kode ke Wifi_Bridge.ino dan gunakan aplikasi Fing Android atau iOS untuk memeriksa apakah IP yang Anda alokasikan belum digunakan. Coba matikan semua komputer dan perangkat Anda dan nyalakan router (biarkan mati selama 20 detik) lalu pindai dengan Fing lagi. Akhirnya jika koneksi terus putus, ingat pengaturan batas waktu koneksi di kode Wifi_Bridge.ino.

Langkah 9: Ekstensi dan Kesimpulan

Proyek yang disajikan di sini adalah versi paling sederhana. Ada beberapa kemungkinan ekstensi seperti: -

  • Feather nRF52 mampu menghubungkan hingga 4 perangkat BLE sekaligus sehingga Anda dapat memodifikasi kode untuk menambahkan lebih banyak alamat yang valid dan mengontrol hingga 4 perangkat dari satu koneksi WiFi. Lihat contoh kode yang disertakan dengan pemasangan papan Feather nRF52.
  • Anda dapat membuat lubang di router Anda untuk menyediakan akses ke perangkat BLE dari mana saja di internet. Lihat Menghubungkan perangkat IoT DIY ke Internet dengan pfodApp.
  • Anda dapat menggunakan kode dari Perisai Wifi Murah/Sederhana untuk memungkinkan Anda mengonfigurasi parameter jaringan WiFi untuk HUZZAH melalui halaman web, tanpa memprogram ulang. Anda perlu menambahkan tombol konfigurasi ke sirkuit.
  • Anda dapat menambahkan tombol tekan konfigurasi (menggunakan tombol yang sama seperti di atas) yang membuat Feather nRF52 memindai perangkat BLE dengan Nordic UART (TX Notify) dan kemudian menyimpan detail koneksi untuk perangkat dengan sinyal terkuat. Untuk menyimpan hasilnya, Anda harus menggunakan pustaka nffs yang disertakan dengan pemasangan papan Adafruit nRF52.
  • Anda dapat menambahkan halaman web ke kode HUZZAH ESP8266 untuk menyediakan antarmuka khusus untuk perangkat BLE Anda. Anda juga dapat menggunakan pfodDesignerV3 dan pfodApp menambahkan antarmuka khusus tanpa perubahan sama sekali pada proyek ini.

Kesimpulan

Proyek sederhana ini menyediakan akses WiFi ke modul Bluetooth Low Energy (BLE) apa pun yang mengimplementasikan UART Nordic dengan TX Notify. Jembatan Wifi2BLE benar-benar transparan. Itu hanya meneruskan data WiFi ke perangkat BLE dan meneruskan data perangkat BLE kembali ke koneksi WiFi.

Konstruksi sederhana dan instruksi pengujian yang mendetail menjadikannya proyek yang cocok untuk pemula yang ingin mengakses perangkat BLE mereka dari komputer mereka atau dari luar jangkauan normal BLE.

Proyek ini akan menjadi lebih penting setelah perangkat lunak perangkat BLE mengikuti spesifikasi Bluetooth V5 Mesh yang baru. Kemudian Wifi2BLE akan memberikan akses internet ke otomatisasi seluruh rumah Anda.

Direkomendasikan: