İçindekiler:
- Adım 1: Parça Listesi
- Adım 2: Wifi2BLE Devresi
- 3. Adım: Wifi2BLE Yapısı
- Adım 4: Wifi2BLE Programlama
- Adım 5: Bir BLE Cihazına Bağlantı
- 6. Adım: Bir BLE Çevre Birimine Bağlanma
- 7. Adım: WiFi Üzerinden BLE Cihazına Bağlanma – Hepsini Bir Araya Getirme
- Adım 8: Yardım – Çalışmıyor
- 9. Adım: Uzantılar ve Sonuç
Video: Basit WiFi'den BLE'ye (Bluetooth Düşük Enerji) Köprü: 9 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
4 Aralık 2017 Güncellemesi -- Feather nRF52 eskizleri ve hata ayıklama ipuçları gözden geçirildi. Kutuya monte edilmiş köprü resimleri eklendi
Bu basit proje, Nordic'in TX Notify ile UART'ını uygulayan herhangi bir Bluetooth Düşük Enerji (BLE) modülüne WiFi erişimi sağlar. Wifi2BLE köprüsü tamamen şeffaftır. Sadece WiFi verilerini BLE cihazına iletir ve BLE cihazının verilerini tekrar WiFi bağlantısına iletir.
Ücretsiz pfodDesignerV3, Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ve V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend ve Flora Boards dahil olmak üzere birçok BLE modülünde Nordic UART Hizmeti uygulamak için kod üretir., Adafruit Bluefruit LE SPI (yani Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE veya Bluefruit LE SPI Friend) ve kendi servisinizi programlamanıza izin veren diğer panolar.
Bu Wifi2BLE köprüsü, lehim yapabilen deneyimsiz inşaatçılar için uygundur. Yalnızca iki kart, bir şerit kablo ve iki direnç kullanır
Her pano için ayrıntılı testin yanı sıra, bu talimat, daha fazla arıza bulma ipucu içeren bir Yardım - Çalışmıyor adımı içerir.
Bu talimatlar çevrimiçi olarak da mevcuttur
Neden Bu Proje?
Bu proje, BLE'nin (Bluetooth Düşük Enerji) sahip olduğu bir takım sorunları çözmektedir.
- Yalnızca yeni cep telefonları ve bilgisayarlar BLE'yi destekler. Wifi2BLE köprüsü, WiFi bağlantısı olan herhangi bir mobil veya bilgisayarın BLE cihazına bağlanmasına ve kontrol etmesine olanak tanır.
- BLE sınırlı menzile sahiptir. Wifi2BLE köprüsü, BLE cihazına evin herhangi bir yerinden (WiFi bağlantısının olduğu yerde) ve dışarıdan İnternet üzerinden erişmenizi sağlar.
- BLE uygulamaları oluşturmak, Android veya iOS öğrenmenizi gerektirir. Wifi2BLE köprüsü, herhangi bir terminal programı aracılığıyla evrensel bir telnet bağlantısı sağlar. Dahası, kendi özel arayüzünüzü oluşturmak için WiFi modülüne kolayca bir web sayfası ekleyebilirsiniz.
- BLE V5, yazılım en son Bluetooth spesifikasyonunu yakaladığında tüm ev BLE cihazlarınızı bağlamak için ağ ağı vaat ediyor. Wifi2BLE köprüsü, bir BLE V5 cihazı kullanır ve bu nedenle, bu ev ağına ulaştığında internet erişimi sağlar.
Bu proje için benim hemen kullanımım, evin herhangi bir yerinden kontrol edilmesini sağlamak için WiFi ağına salon odası BLE ışık kontrolünü eklemek. Bu öğretici, WiFi üzerinden BLE kartlarını kontrol etme örneği olarak pfodApp kullanıyor olsa da, bu projeyi tamamlamak için pfodApp satın almanız gerekmez.
Adım 1: Parça Listesi
Maliyet 30 Kasım 2017 itibariyle, nakliye + küçük bir plastik muhafaza hariç 60 ABD Doları
Adafruit Feather nRF52 Bluefruit LE – nRF52832 – ~25 ABD Doları
Adafruit HUZZAH ESP8266 Breakout - ~US$10
Ayrı dişi uçlu Şerit Kablo – Bus Korsan Kablosu ~US$5 https://www.sparkfun.com/products/9556 VEYA 10-pin IDC Soket Rainbow Breakout Kablosu ~US$4 https://www.sparkfun.com/products/ 9556 VEYA benzeri
Break Away Erkek Başlıklar - Sağ Açı – ~ 2 ABD Doları
USB'den TTL'ye 3V3 Seri Kablo – ~US$10 https://www.sparkfun.com/products/12977 (Pinleri etiketli olduğu için tercih edilir) VEYA https://www.sparkfun.com/products/12977 (pinler DEĞİLDİR) etiketli)
USB A'dan Mikro B'ye kablo – ~ 4 ABD Doları https://www.sparkfun.com/products/12977 (3 fit uzunluğunda) VEYA ~ 3 ABD Doları https://www.sparkfun.com/products/12977 (6 inç uzunluğunda) VEYA ~2 ABD Doları https://www.sparkfun.com/products/12977 (6 inç uzunluğunda) VEYA ~5 ABD Doları https://www.sparkfun.com/products/12977 (6 fit uzunluğunda) VEYA benzeri
2 x 100 ohm direnç – ~ 1 ABD Doları
USB güç kaynağı (500mA veya daha fazla) – ~6 ABD Doları https://www.sparkfun.com/products/12890 VEYA ~7 ABD Doları https://www.adafruit.com/product/1994 VEYA benzeri
Arduino IDE V1.8.5 ve onu çalıştıracak bir bilgisayar.
Plastik bir kutu için Jaycar UB5'ten (mavi) 83mm x 54mm x 31mm ~A$4 kullandım
Adım 2: Wifi2BLE Devresi
Wifi2BLE devresi yukarıda gösterilmiştir. Bir pdf versiyonu burada. Gördüğünüz gibi devre çok basit. Sadece 4 kablo ve iki adet 100 ohm koruma direnci. HUZZAH ESP8266 veya Feather nRF52'yi programladıktan sonra TX / RX hatlarını yanlış bağlamanız durumunda koruma dirençleri vardır.
NOT: TX ve RX pinleri için Feather nRF52 kartı işaretlemesi doğru değildir. TX pini aslında DFU pininin yanındakidir ve RX pini MISO pininin yanındakidir
TX/RX hatlarını yukarıda gösterildiği gibi bağladığınızdan emin olun. Neyse ki koruma dirençleri işini yaptı ve ben panoların neden birbirini tutmadığını çözerken panolar zarar görmedi.
3. Adım: Wifi2BLE Yapısı
Programlama için fişinin çekilmesine izin vermek için HUZZAH ESP8266'ya lehimlenen dik açılı başlık pimleri. İki kartı bağlamak için şerit kablonun dört teli kullanılır. Dişi pim konektörlerini tutun ve şerit kablonun diğer ucunu kesin. Şerit kablomun Sparkfun USB - TTL programlama kablosuyla aynı renkleri vardı, bu yüzden ona uygun kabloyu seçtim. GND için Siyah, 5V+ için Kırmızı, TX için Turuncu (ESP8266 RX'e bağlanır) ve RX için Kahverengi (ESP8266 TX'e bağlanır)
Koruma dirençlerini Feather nRF52 kartının arkasına bağladım. (Direnç kodlarını bilen gözlemci inşaatçılar, 100 ohm yerine elimdeki iki adet 68 ohm'luk direnç kullandığımı görecekler) ve sonra bunları bir miktar streç filmle yalıttım.
Kırmızı kablo, HUZZAH ESP8266 modülüne güç sağlamak için USB 5V'yi almak için Feather nRF52 USB pimine lehimlenmiştir ve Siyah kablo, Feather nRF52 GND pimine lehimlenmiştir.
Aşağıda açıklandığı gibi modülleri programlamak, plastik bir kutuya koymak ve bir USB güç kaynağını Feather nRF52'ye takmak dışında her şey var.
Adım 4: Wifi2BLE Programlama
HUZZAH ESP8266'nın Programlanması
Kalkanı programlamak için https://github.com/esp8266/Arduino'da Installing With Boards Manager altında verilen talimatları izleyin. Araçlar → Pano menüsünden Pano Yöneticisini açarken, Katkıda Bulundu'yu seçin ve esp8266 platformunu yükleyin. Bu proje, ESP8266 sürüm 2.3.0 kullanılarak derlenmiştir. Diğer sürümlerin kendi hataları olacaktır ve bu kodla çalışmayabilir.
NOT: Adafruit Board kurulumunu KULLANMAYIN çünkü burada kullanılan taslak bu kod altında derlenmeyecektir.
Arduino IDE'yi kapatıp yeniden açın ve şimdi Araçlar → Pano menüsünden “Adafruit HUZZAH ESP8266” seçeneğini seçebilirsiniz.
Ayrıca pfodESP8266WiFiBufferedClient kitaplığının en son sürümünü de yüklemeniz gerekir. Bu kitaplık, ESP8266.com IDE eklentisi V2.3 ile çalışır. (Daha önce pfodESP2866WiFi kitaplığını kurduysanız, o kitaplık dizinini tamamen silin.)
- a) Bu pfodESP8266WiFiBufferedClient.zip dosyasını bilgisayarınıza indirin, masaüstünüze veya kolayca bulabileceğiniz başka bir klasöre taşıyın.
- b) Ardından Arduino 1.8.5 IDE menü seçeneği Sketch → Import Library → Add Library kullanarak kurulumu yapın. (Arduino, kütüphane zaten mevcut olduğu için yüklemenize izin vermiyorsa, eski pfodESP8266BufferedClient klasörünü bulun ve silin ve ardından bunu içe aktarın)
- c) Arduino IDE'yi durdurun ve yeniden başlatın ve Dosya->Örnekler altında şimdi pfodESP8266BufferedClient görmelisiniz.
Ağ ssid ve parolasını ve IP ve bağlantı noktasını ayarlama
pfodESP8266BufferedClient kitaplığını kurduktan sonra, Arduino IDE'yi açın ve bu çizimi, Wifi_Bridge.ino'yu IDE'ye kopyalayın. Modülü programlamadan önce ağınızın ssid ve şifresini ayarlamanız ve kullanılmayan bir IP seçmeniz gerekir.
Bu üç satırı Wifi_Bridge.ino'nun üst kısmına yakın bir yerde düzenleyin
char ssid = "**** ***"; karakter şifresi = "*************"; char staticIP = "10.1.1.180";
Yerel ağımı taramak ve halihazırda kullanılan IP'yi belirlemek için Fing (Android veya iOS) uygulamasını kullanıyorum. 0,180 ila 0,254 aralığında kullanılmayan bir IP seçmek genellikle güvenlidir.
Başlangıç olarak portNo'yu telnet bağlantısı için standart port olan 23 olarak bırakabilirsiniz.
Bu değişiklikleri yaptıktan sonra ESP8266'yı programlayabilirsiniz.
HUZZAH ESP8266'nın Programlanması
HUZZAH ESP8266'yı programlamak için USB'yi Seri kabloya fotoğrafta gösterildiği gibi bağlayın. Fotoğrafı ve kablolamanızı kontrol edin. Ayrıca ESP8266 Programlama İpuçlarına bakın (espcomm başarısız oldu)
Sparkfun USB - TTL 3V3 Seri Kablosunu kullanıyorum çünkü üzerinde TX ve RX uçları işaretli. TX kablosunun RX pimine takıldığından ve RX kablosunun yukarıda gösterildiği gibi TX pimine takıldığından emin olun. Adafruit kablosunu kullanıyorsanız, terminalleri işaretli değil ancak renk kodlu, kırmızı güç, siyah toprak, yeşil TX ve beyaz RX.
USB - Seri kablosunu bilgisayarınıza takın ve Araçlar → Bağlantı Noktası menüsünde COM bağlantı noktasını seçin. CPU Frekansı, Flash Boyutu ve Yükleme Hızını varsayılan ayarlarında bırakın.
Ardından GPIO0 düğmesini basılı tutup Sıfırla düğmesini tıklatarak ve ardından GPIO0 düğmesini bırakarak Adafruit HUZZAH ESP2866 modülünü programlama moduna getirin. GPIO0 ledi loş olarak yanmalıdır. Ardından Dosya → Yükle'yi seçin veya programı derlemek ve yüklemek için Sağ Ok düğmesini kullanın. Yükleme sırasında bir hata mesajı alırsanız, kablo bağlantılarınızın doğru pinlere takılı olup olmadığını kontrol edin ve tekrar deneyin.
Programlama tamamlandığında modül üzerindeki Kırmızı Led yanmalıdır. Bu, yerel ağınıza başarıyla bağlandığını ve sunucuyu bir bağlantıyı kabul etmek için başlattığını gösterir.
HUZZAH ESP2866'nın Test Edilmesi
HUZZAH ESP2866'yı test etmek için, programlama kablosunu bağlı bırakın ve Arduino IDE Tools → Seri Monitör'ü açın ve 9600 baud'u ayarlayın (sağ alt köşe). Ardından bilgisayarınızda bir terminal programı açın, Windows için TeraTerm ve Mac için CoolTerm kullanıyorum ve Wifi_Bridge.ino taslağında ayarladığınız IP ve portNo'ya bağlanıyorum.
Bağladığınızda modül üzerindeki Kırmızı Led bağlantı olduğunu gösterecek şekilde yanıp sönmeye başlamalıdır. Artık bilgisayarlarınızın terminal penceresine yazabilmeli ve karakterler Arduino IDE'nin monitör penceresinde görünmelidir ve bunun tersi de geçerlidir.
Wifi Bağlantı Zaman Aşımı
Wifi_Bridge.ino kodunun bir bağlantı süresi vardır.
uint32_t bağlantıZaman aşımı = 60000; // 60sn bağlantı zaman aşımı
HUZZAH ESP8266 modülüne 60 saniye boyunca WiFi verisi gelmezse modüller bağlantıyı keser ve yenisini bekler. Bu, modülün, kötü WiFi bağlantısı, yönlendiricideki güç kaybı veya istemcinin zorla kapatılması nedeniyle istemcinin kaybolması durumunda meydana gelen 'yarı kapalı' bağlantılardan kurtulmasını sağlar. Daha fazla ayrıntı için bkz. Yarı Açık (Bırakılan) TCP/IP Soket Bağlantılarının Algılanması.
Bu bağlantı zaman aşımı 60 sn olarak ayarlanmıştır. ancak ihtiyaca göre azaltılabilir veya artırılabilir. 0'a ayarlamak, tavsiye edilmeyen hiçbir zaman zaman aşımına uğramamak anlamına gelir.
Feather nRF52'nin Programlanması
Feather nRF52'yi programlamak için, Feather nRF52 için Arduino Board desteğini indirme ve yükleme talimatlarını izleyin. Kartı USB kablosuyla bağlayıp programlayamadığınızı kontrol edin.
NOT: Feather'ı programlamaya çalışmadan önce HUZZAH ESP8266 modülünü Feather nRF52'den çıkarın
Feather nRF52'yi bir BLE cihazına bağlamak iki adımdan oluşur. Önce cihazdaki MAC adresini (ve türünü) belirleyip, TX Notify ile Nordic UART hizmetini desteklediğini kontrol edin ve ardından bu adresi ve türü köprü taslağına aktarın.
Adım 5: Bir BLE Cihazına Bağlantı
HUZZAH ESP8266 programlandıktan sonra Feather nRF52 çizimine bağlanmak istediğiniz cihazın BLE adresini ve tipini kodlamanız gerekmektedir. Bu iki aşamalı bir süreçtir. I) Nordic UART Hizmetini (TX Notify) uygulayan yakındaki BLE cihazlarını bulmak için tarama programını çalıştırın ve ardından bu cihaza bağlanmasını sağlamak için tarayıcının çıktısını Feather köprüsü taslağına kopyalayın.
BLE Çevre Birimleri için Tarama
Uyumlu BLE çevre birimlerini belirlemek için central_bleuart_scanner.ino programını Feather nRF52'nize yükleyin. Bu program sürekli olarak yeni cihazları tarar ve ardından TX Notify ile Nordic UART hizmetini destekleyip desteklemediklerini kontrol eder.
İskandinav UART Hizmeti
Nordic UART Hizmeti, Hizmet UUID'si ve RX ve TX özellikleri olmak üzere üç bölümden oluşur. İşte RedBear NanoV2 için pfodDesignerV3 tarafından oluşturulan bazı örnek kodlar
BLEService uartService = BLEService("6E400001B5A3F393E0A9E50E24DCCA9E");
BLEKarakteristik rxKarakteristik = BLEKarakteristik("6E400002B5A3F393E0A9E50E24DCCA9E", BLEWrite, BLE_MAX_LENGTH); BLECharacteristic txCharacteristic = BLECharacteristic("6E400003B5A3F393E0A9E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH);
pfodDesignerV3, bir dizi BLE modülü için örnek kod oluşturabilir. Ancak 'standart' bir UART bağlantısı için BLE spesifikasyonu olmadığından, tüm modüller Nordic UART hizmetini kullanmaz. Örneğin HM-10 modülleri (Itead BLE kalkanı), RFduno ve Romeo BLE kendi benzersiz uart hizmetlerini kullanır ve bu nedenle Feather nRF52'ye bağlanmaz.
Aşağıdaki kartlar bağlanacaktır: - Adafruit Bluefruit Feather nRF52, Arduino/Genuino 101, RedBearLab BLE Nano V2 ve V1-V1.5, RedBearLab BLE Shield, Adafruit Bluefruit LE UART Friend ve Flora Boards, Adafruit Bluefruit LE SPI (yani Bluefruit LE Shield, Bluefruit LE Micro, Feather 32u4 Bluefruit LE, Feather M0 Bluefruit LE veya Bluefruit LE SPI Friend) Özel Servisler ile kodlanabilen panolar veya BLEPeripheral kitaplığını kullanabilen panolar.
Burada kullanılan örnek kart, pfodDesignerV3 tarafından üretilen kodlu Arduino/Genuino 101'dir. Ücretsiz pfodDesignerV3, pfodApp menüleri oluşturmanıza ve ardından (ücretli) pfodApp kullanarak Android cep telefonunuzda tam menüyü göstermek için gerekli Arduino kodunu oluşturmanıza olanak tanır. pfodApp ayrıca Wifi, Bluetooth Classic, BLE ve SMS ile bağlanacak ve bu Wifi2BLE köprüsü üzerinden bağlanabilecek. Ancak kontrol uygulamanız olarak pfodApp kullanmak istemeseniz bile, BLE kartınız için bir Nordic UART hizmet kodu oluşturmak için pfodDesignerV3'ü kullanabilirsiniz.
Bu öğretici bağlantı, Arduino/Genuino 101 BLE'yi kurmayı ve pfodDesignerV3 ile basit bir LED açma/kapama kontrolü oluşturmayı açıklar. pfodDesignerV3 tarafından üretilen çizim Arduino101_led_control.ino'dur.
Arduino/Genuino 101'i Arduino101_led_control.ino ile programlamak, pfodApp ile bağlantı kurmanıza ve Android cep telefonunuzda aşağıdaki ekranı görüntülemenize izin verecektir.
Ancak bu sadece bir örnek ve bu projeyi tamamlamak için pfodApp satın almanıza gerek yok. Önemli olan kısım, ücretsiz pfodDesignerV3 uygulamasının bir Nordic UART Hizmeti uygulayan Arduino/Genuino 101 için kod oluşturmasıdır. Bu yüzden onu tarayalım.
Ancak bu sadece bir örnek ve bu projeyi tamamlamak için pfodApp satın almanıza gerek yok. Önemli olan kısım, ücretsiz pfodDesignerV3 uygulamasının bir Nordic UART Hizmeti uygulayan Arduino/Genuino 101 için kod oluşturmasıdır. Bu yüzden onu tarayalım.
Nordik UART Hizmeti için Tarama
HUZZAH ESP8266 modülünün Feather nRF52 ile bağlantısı kesildiğinde, Feather nRF52'yi central_bleuart_scanner.ino ile programlayın ve ardından Arduino IDE Tools → Seri Monitör'ü açın ve baud hızını 9600'e ayarlayın. Arduino/Genuino 101'in çalıştırılması aşağıdaki şekilde gösterilen çıktıyı verir. Yukarıdaki ilk ekran görüntüsü.
Gördüğünüz gibi, tarayıcı iki BLE cihazı buldu, üzerinde bir Nordic UART servisi bulunan bir Arduino/Genuino 101, ANCAK TX özelliği Notify'ı desteklemiyordu. Tarayıcı ayrıca bir RFduino BLE modülü buldu, ancak RFduino Nordic UART Hizmetini kullanmıyor, bunun yerine kendi modülünü kullanıyor. Bluetooth Komitesi bunun için 'standart' bir UART Hizmeti belirtmediği için suçu üstleniyor, bunun yerine her üreticiyi kendi hizmetini oluşturmaya bırakıyor.
Yukarıda ele alındığı gibi, 101 kodu pfodDesignerV3 tarafından öncelikle pfodApp ile kullanım için oluşturulmuştur. pfodApp, Feather nRF52 uart kodu kadar TX Notify hakkında seçici değildir. pfodApp, programlandığı gibi 101 ile çalışır, ancak Feather nRF52, TX Notify'da ısrar eder, bu nedenle Feather'ı tatmin etmek için kodda küçük bir değişiklik gerekir.
Arduino IDE'de Arduino101_led_control.ino'yu açın ve en üstte bu iki satırı bulacaksınız. İkinci satır sadece özelliğin bir açıklamasıdır ve işlemi etkilemez.
BLECharacteristic txCharacteristic = BLECharacteristic("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLEIndicate, BLE_MAX_LENGTH);BLEDescriptor txNameDescriptor = BLEDescriptor("2901", "TX –"); (Indicate)
Onları değiştir
BLEKarakteristik txKarakteristik = BLEKarakteristik("6E400003-B5A3-F393-E0A9-E50E24DCCA9E", BLENotify, BLE_MAX_LENGTH); BLEDescriptor txNameDescriptor = BLEDescriptor("2901", "TX - (Bildir)");
Ardından 101'i bu düzenlenmiş sürüm Arduino101_Notify_led_control.ino ile yeniden programlayın. Ardından Feather nRF52 tarayıcıyı (central_bleuart_scanner.ino) yeniden çalıştırdığınızda, Seri Monitör yukarıdaki ikinci ekran görüntüsünü gösterir.
Artık Genuino 101 için hata yok ve tarayıcı, 101'e bağlanacak şekilde Feather nRF52 köprü taslağı için gereken kodu yazdırıyor. Tarayıcı, menzil içinde bulduğu her cihazı kontrol edecek. Nordic UART Service (TX Notify) ile bulunan her cihaz için Kırmızı led bir kez yanıp söner.
6. Adım: Bir BLE Çevre Birimine Bağlanma
LED Göstergeleri
Feather nRF52, Mavi ve Kırmızı olmak üzere iki led'e sahiptir. Kart bir BLE cihazına bağlandığında Mavi Led sabittir, aksi halde yanıp söner. Tarayıcı cihaza bağlı kalmaz, bu nedenle Mavi led'i genellikle yanıp söner. Kırmızı led, her Nordic UART Service (TX Notify) cihazı için bir kez yanıp söner. Tarayıcı olarak çalışırken Kırmızı Led, bulunan Nordic UART Service (TX Notify) cihazlarının sayısını sayar. Köprü olarak çalışırken, kod BLE adresine bağlandığında Kırmızı Led bir kez yanıp söner.
BLE Çevre Birimi'ne Bağlanma
Tarayıcı çizimi, bağlanmak istediğiniz BLE cihazının ayrıntılarını sağladığına göre, çıktıyı central_bleuart_bridge.ino çizimine kopyalayabilirsiniz. Bu taslağın üst kısmına yakın bir yerde aşağıdaki kodu bulacaksınız.
// Sonraki üç kod satırı, central_bleuart_scanner.ino çıktısından gelir
const char *BLE_NAME = "GENUINO 101-FC8F"; const karakter *BLE_ADDRESS = "98:4F:EE:0C:FC:8F"; const uint8_t BLE_ADDRESS_TYPE = 0;
Köprü yapmak istediğiniz BLE cihazı için tarayıcının çıktısıyla üç satırlık kodu değiştirin. Ardından Feather nRF52'yi, düzenlenmiş central_bleuart_bridge.ino taslağıyla programlayın.
Central_bleuart_bridge çizimini test etme
HUZZAH ESP8266'yı Feather nRF52'ye tekrar takmadan önce, BLE cihazınızla olan bağlantıyı test edin. Arduino IDE'nize bağlı Feather nRF52'yi bırakarak, Araçlar → Seri Monitörü 9600 baud'da açın ve ardından hedef BLE cihazınızın açık olduğunu kontrol edin.
BLE cihazınıza yukarıda anlatıldığı gibi bağlantı yapıldığında Mavi led sürekli yanacak ve Kırmızı led yaklaşık 10 saniyede bir yanıp sönecektir. Bu, bağlantının kurulmamasını ve sürdürülmesini sağlar.
Ardından Seri Monitörde BLE cihazınıza göndermeyi beklediğiniz komutları girebilir ve çalışmasını izleyebilir ve geri gönderdiği yanıtı izleyebilirsiniz. Her şey yolundaysa, HUZZAH ESP8266 modülünü kapatıp takabilirsiniz.
7. Adım: WiFi Üzerinden BLE Cihazına Bağlanma – Hepsini Bir Araya Getirme
HUZZAH ESP8266 modülünü köprü kodu (Wifi_Bridge.ino) ile ağ ssid'niz ve şifreniz ve IP'niz için yapılandırılmış olarak programlayıp test ettikten ve BLE cihazının adresiyle yapılandırılmış köprü koduyla (central_bleuart_bridge.ino) Feather nRF52'yi programlayıp test ettikten sonra ve yazın, ardından bunları birbirine bağlayabilir ve her ikisini de çalıştırmak için Tüy modülüne bir USB kaynağı takabilirsiniz.
HUZZAH modülü Kırmızı ledi yerel ağ yönlendiricinize bağlanırken sabit yanmalı ve BLE cihazınıza bağlanırken Tüy Mavi led sürekli yanmalı ve Tüy Kırmızı led, sadece açık olduğunu belirtmek için her 10 saniyede bir yanıp sönmelidir. BLE cihazı bağlı.
Telnet programınızı açın ve HUZZAH'ın IP ve portuna bağlanın. HUZZAH Kırmızı ledi programınızın bağlandığını belirtmek için yavaş yanıp sönmeli ve BLE cihazınıza WiFi üzerinden komutlar göndermeli ve BLE cihazının çalışmasını izlemeli ve telnet pencerenizde herhangi bir yanıt görmelisiniz. Unutmayın, BLE cihazınız 60sn boyunca herhangi bir veri göndermezse, HUZZAH kodunun bağlantı zaman aşımına uğrayacağını ve bağlantıyı keseceğini ve HUZZAH Kırmızı ledinin tekrar sabit yanacağını unutmayın.
Adım 8: Yardım – Çalışmıyor
İlk önce, HUZZAH ESP2866'yı Test Etme ve Central_bleuart_bridge taslağını test etme, yukarıda ayrıntılı olarak açıklanan test adımlarını gerçekleştirin.
Tarama Sorunları
Tarayıcı BLE cihazını bulamıyorsa ya çok uzaktadır ya da reklam yapmıyordur ya da zaten bir şeye bağlı. Tarayıcıyı yaklaştırmayı ve cihazı kapatıp açmayı ve BLE cihazıyla bağlantısı olabilecek yakınlardaki diğer tüm mobil cihazları kapatmayı deneyin.
Bunun gibi bir tarayıcı çıktısı alırsanız.
98:4F:EE:0C:FC:8F'ye bağlı Nordic UART hizmeti aranıyor… Hiçbiri bulunamadı VEYA Keşfedilemez!!!!! Bir Nordic UART Hizmeti Tanımlanamadı !!!!!!!! Nordic UART Hizmeti bekliyorsanız, Tarayıcıyı BLE cihazına yaklaştırın !!!!
BLE cihazına onu algılayacak kadar yakın olabilirsiniz, ancak Nordic UART hizmetini bulmak için başarılı bir Hizmet keşfi yapacak kadar yakın olmayabilirsiniz. BLE cihazına yaklaşmayı deneyin.
Son çare olarak Android veya iOS için ücretsiz Nordic nRF Connect uygulamasını kullanabilirsiniz. Bu uygulama daha iyi menzile ve hassasiyete sahip. BLE cihazının bir Nordic UART Hizmeti olup olmadığını size söyleyecektir. Bununla birlikte, tarayıcıya benzer bir kod kullandığından Wifi2BLE köprüsünü kullanmaya çalışmadan önce tarayıcının Nordic UART Serivice'yi çalıştırmasını ve bağlamasını ve tanımlamasını sağlamanız gerekir.
Daha derine inmek istiyorsanız, havada ne olduğunu görmek için Adafruit Bluefruit LE Sniffer modülünü kullanabilirsiniz.
BLE Bağlantı Sorunları
BLE cihazını taramayı başardıysanız, bağlantı sorunlarının en olası nedenleri şunlardır: I) BLE cihazı çok uzakta, II) BLE cihazına zaten başka bir şey bağlanmış
WiFi Bağlantı Sorunları
HUZZAH ESP8266 Kırmızı led sürekli yanmıyorsa routerınız üzerinden ağınızla bağlantısı yoktur. Wifi_Bridge.ino'da kodunuz olan ssid ve şifreyi kontrol edin ve tahsis ettiğiniz IP'nin henüz kullanılmadığını kontrol etmek için Android veya iOS Fing uygulamasını kullanın. Tüm bilgisayarlarınızı ve cihazlarınızı kapatmayı ve yönlendiriciyi kapatıp açmayı deneyin (20 saniye kapalı bırakın) ve ardından tekrar Fing ile tarayın. Son olarak, bağlantı kesilmeye devam ederse, Wifi_Bridge.ino kodundaki bağlantı zaman aşımı ayarını unutmayın.
9. Adım: Uzantılar ve Sonuç
Burada sunulan proje en basit versiyondur. Aşağıdakiler gibi bir dizi olası uzantı vardır: -
- Feather nRF52, aynı anda 4 adede kadar BLE cihazına bağlanabilir, böylece daha geçerli adresler eklemek için kodu değiştirebilir ve tek bir WiFi bağlantısından 4 adede kadar cihazı kontrol edebilirsiniz. Feather nRF52 kartı kurulumuyla birlikte gelen örnek koda bakın.
- İnternet üzerindeki herhangi bir yerden BLE cihazına erişim sağlamak için yönlendiricinizde bir delik açabilirsiniz. Bkz. DIY IoT cihazlarını pfodApp ile İnternet'e bağlama.
- HUZZAH için WiFi ağ parametrelerini yeniden programlamadan bir web sayfası üzerinden yapılandırmanıza izin vermek için Ucuz/Basit Wifi Kalkanı kodunu kullanabilirsiniz. Devreye bir konfigürasyon butonu eklemeniz gerekir.
- Feather nRF52'nin Nordic UART (TX Bildirimi) ile BLE cihazları için tarama yapmasını sağlayan bir yapılandırma düğmesi (yukarıdakiyle aynı düğmeyi kullanarak) ekleyebilir ve ardından en güçlü sinyale sahip olanın bağlantı ayrıntılarını kaydedebilirsiniz. Sonucu kaydetmek için Adafruit nRF52 board kurulumu ile birlikte gelen nffs kütüphanesini kullanmanız gerekecektir.
- BLE cihazınız için özel bir arayüz sağlamak için HUZZAH ESP8266 koduna bir web sayfası ekleyebilirsiniz. Ayrıca pfodDesignerV3'ü kullanabilir ve pfodApp bu projede hiçbir değişiklik yapmadan özel bir arayüz ekleyebilirsiniz.
Çözüm
Bu basit proje, Nordic'in TX Notify ile UART'ını uygulayan herhangi bir Bluetooth Düşük Enerji (BLE) modülüne WiFi erişimi sağlar. Wifi2BLE köprüsü tamamen şeffaftır. Sadece WiFi verilerini BLE cihazına iletir ve BLE cihazının verilerini tekrar WiFi bağlantısına iletir.
Basit yapı ve ayrıntılı test talimatları, bunu BLE cihazlarına bilgisayarlarından veya BLE'nin normal aralığının dışından erişmek isteyen yeni başlayanlar için uygun bir proje haline getirir.
BLE cihaz yazılımı yeni Bluetooth V5 Mesh spesifikasyonunu yakaladığında bu proje daha önemli hale gelecektir. Ardından Wifi2BLE, tüm ev otomasyonunuza internet erişimi sağlayacaktır.
Önerilen:
Küçük H-Köprü Sürücüleri - Temel Bilgiler: 6 Adım (Resimlerle)
Küçük H-Köprü Sürücüleri | Temel Bilgiler: Merhaba ve başka bir Eğitilebilir Tabloya tekrar hoş geldiniz! Bir öncekinde, bir python betiği kullanarak KiCad'de nasıl bobin oluşturduğumu göstermiştim. Ardından, hangisinin en iyi sonucu verdiğini görmek için birkaç bobin çeşidi oluşturup test ettim. Amacım devasa
LP-2010 AES17 1998 Anahtarlamalı Amplifikatör Düşük Geçişli (düşük geçişli) Filtre: 4 Adım
LP-2010 AES17 1998 Anahtarlamalı Amplifikatör Düşük Geçişli (düşük geçişli) Filtre: Bu, düşük geçişli filtrenin harika bir D sınıfı yükseltici ölçümüdür. İnce işçilik, üstün performans, kolay bağlantı, bu ürünün kullanımını kolaylaştırır ve sahip olunmaya değer bir üründür. yüksek maliyet performansı
LEIDS - Düşük Enerji IOT Kapı Sensörü: 8 Adım (Resimlerle)
LEIDS - Düşük Enerji IOT Kapı Sensörü: LEIDS Nedir? LEIDS, ESP8266'yı temel alan bir IOT sensörüdür. Bu sensör, bu kartı, yumuşak bir kilitleme devresini, bir kamış anahtarı ve bazı mıknatısları kullanarak kapınız açılıp kapandığında size bir uyarı gönderecek bir kapı sensörü oluşturur
Arduino Bölüm 3'te Kolay Çok Düşük Güç BLE - Nano V2 Değiştirme - Rev 3: 7 Adım (Resimlerle)
Arduino Bölüm 3'te Kolay Çok Düşük Güç BLE - Nano V2 Değiştirme - Rev 3: Güncelleme: 7 Nisan 2019 – lp_BLE_TempHumidity Rev 3, pfodApp V3.0.362+ kullanarak Tarih/Saat grafikleri ekler ve veri gönderirken otomatik kısma Güncelleme: 24 Mart 2019 – lp_BLE_TempHumidity Rev 2, daha fazla çizim seçeneği ve i2c_ClearBus ekler, GT832E_
TAŞINABİLİR LED IŞIK (Basit, Düşük Maliyetli ve Güzel Tasarlanmış): 5 Adım (Resimlerle)
TAŞINABİLİR LED IŞIK (Basit, Düşük Maliyetli ve Güzel Tasarlanmış): Bu çok düşük maliyetli ve yapımı kolay bir projedir. 100 ₹ 'den az (2 dolardan az) bir maliyetle kolayca yapılabilir. Bu, acil durumlarda, elektrik kesintisi olduğunda, dışarıda olduğunuzda gibi birçok yerde kullanılabilir….bla..bla.. bla..Yani.. Nesin sen