logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bezprzewodowy czujnik temperatury Bluetooth LE oparty na nRFL01

kmmepl 13 Paź 2015 16:06 5010 5
REKLAMA
MediaMarkt Black Week
  • Bezprzewodowy czujnik temperatury Bluetooth LE oparty na nRFL01 NRF24L01 to tani moduł radiowy używany przez hobbystów do komunikacji. Był on dość popularny przed pojawieniem się ESP8266. Za pomocą tego ultra taniego transmitera udało się nawiązać połączenie poprzez Bluetooth LE z telefonami obsługującymi androida oraz iOS, tym samym zastępując drogie moduły Bluetooth Low Energy (ulepszona wersja Bluetooth) używane do tego celu.

    Protokoły Bluetooth LE

    Istnieją trzy główne protokoły w BTLE: iBeacon (firmy Apple), Eddystone (Google), AltBeacon (Radius Networks) i chociaż żadnego z nich nie da się emulować za pomocą nRF24L01 to znaleziono inne rozwiązanie. Firma Nordic Semiconductors oprócz taniego nRF24L01 wyprodukowała także inne moduły (nRF8001 i nRF51822), które korzystają z własnych protokołów Bluetooth do przesyłania danych tj. temperatura, stan naładowania baterii czy identyfikator urządzenia. Okazało się, że możliwe jest zaadaptowanie tych protokołów do taniego nRF24L01.

    Darmowe aplikacje

    Oprócz tego Nordic Semiconductors wydało aplikacje dedykowane na telefony z androidem i iOS, które współpracują z tymi protokołami. Najbardziej istotnymi aplikacjami są: nRF Master Control Panel (przydatna do debugowania urządzeń z BTLE) oraz nRF Temp 2.0 (służąca do pomiarów temperatury). Ponadto firma udostępniła kod źródłowy z tych aplikacji.

    Budowa nadajnika

    Od strony sprzętowej budowa bezprzewodowego nadajnika temperatury jest bardzo prosta. Wystarczy podłączyć nRF24L01 do mikrokontrolera wraz z wybranym czujnikiem temperatury (tutaj użyto DHT11).

    Bezprzewodowy czujnik temperatury Bluetooth LE oparty na nRFL01


    Podłączenie pinów pomiędzy nRF a arduino jest następujące:
    1. GND -> GND
    2. VCC -> 3.3v
    3. CE -> PIN 9
    4. CSN -> PIN 10
    5. SCK -> PIN 13
    6. MOSI -> PIN 11
    7. MISO -> PIN 12
    8. IRQ -> nie używany

    Należy zwrócić szczególną uwagę na pin zasilający. Mimo, iż nRF24L01 akceptuje 5V. Kluczowe jest żeby zasilać go z 3.3V. Także, jeśli protokół SPI jest konieczny do innych celów niż transmisja danych. Należy CE i CSN podłączyć do dowolnych wejść w Arduino.

    Łączenie czujnika temperatury DHT11 jest trywialne ponieważ wystarczy podłączyć jego wyjście do pinu A0 i zasilić go przez za pomocą 5V.

    Software

    Od strony programowej, wystarczy ściągnąć bibliotekę BTLE i wgrać poniższy program do arduino.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Gotowy nadajnik

    Po wgraniu programu i podłączeniu potrzebnych elementów, układ powinien połączyć się z aplikacją mobilną i nadawać temperaturę.

    Bezprzewodowy czujnik temperatury Bluetooth LE oparty na nRFL01 Bezprzewodowy czujnik temperatury Bluetooth LE oparty na nRFL01


    źródło: http://simonebaracchi.eu/posts/temperature-beacon/

    Fajne? Ranking DIY
    O autorze
    kmmepl
    Poziom 13  
    Offline 
    kmmepl napisał 73 postów o ocenie 320, pomógł 7 razy. Jest z nami od 2013 roku.
  • REKLAMA
    MediaMarkt Black Week
  • #2 15065178
    szymon122
    Poziom 38  
    Ciekawe jak ma się sprawa zasięgu w porównaniu do ESP8266. Co prawda są nRF24L01 ze wzmacniaczem i sprzedawcy chwalą się zasięgiem 1100 metrów, testował ktoś? Ile w tym prawdy?
  • REKLAMA
    MediaMarkt Black Week
  • #3 15066066
    simonebaracchi
    Poziom 2  
    Hi, I'm the author of this article! Thanks for your interest!

    Follow me on twitter (twitter.com/simonebaracchi), I will be posting more Arduino projects!

    Regarding the range, I can assure you it works up to 20 meters, but I didn't try to go any further than that... it should be 100 meters according to datasheet, but I agree it looks like a long stretch :D
  • #5 15074615
    simonebaracchi
    Poziom 2  
    according to the internets the nrf24l01 can reach 30 or 50 meters according to the exact model... probably not as much as the btm222 but that's what you get for 1/10 of the price I guess :D
  • #6 18352328
    pop71
    Poziom 1  
    Witam,

    Potrzebuje stworzyć jakiś system, układ który będzie się składał z czujnika temperatury na podczerwień i będzie te dane przekazywał na jakiś wyświetlacz ( np. tablet , bądź inny) , następnie za pomocą prostej tabeli zależności będzie wyświetlał dwie informacje,
    1. temperaturę odczytaną z czujnika
    2. wartość z tabeli odpowiadająca temperaturze.

    Potrzebuję informacji jak to stworzyć a najlepiej kogoś kto by to wykonał , oczywiście $$$
REKLAMA