Spisu treści:

Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska: 5 kroków (ze zdjęciami)
Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska: 5 kroków (ze zdjęciami)

Wideo: Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska: 5 kroków (ze zdjęciami)

Wideo: Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska: 5 kroków (ze zdjęciami)
Wideo: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Czerwiec
Anonim
Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska
Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska
Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska
Nowa bezprzewodowa warstwa czujnika IOT do domowego systemu monitorowania środowiska

Ten Instructable opisuje tańszą, zasilaną bateryjnie, bezprzewodową warstwę czujnika IOT dla mojego wcześniejszego Instructable: LoRa IOT Home Environmental Monitoring System. Jeśli jeszcze nie oglądałeś tego wcześniej Instructable, polecam przeczytanie wprowadzenia, aby zapoznać się z przeglądem możliwości systemu, które zostały teraz rozszerzone na tę nową warstwę czujników.

Oryginalny system monitorowania środowiska LoRa IOT w domu osiągnął cele, które postawiłem sobie, gdy został opublikowany w kwietniu 2017 roku. Jednak po kilkumiesięcznym korzystaniu z systemu monitorowania do monitorowania temperatury i wilgotności na każdym piętrze domu, chciałem dodać 11 dodatkowych czujników w szczególnie wrażliwych miejscach w domu; w tym sześć czujników strategicznie rozmieszczonych w piwnicy, czujniki w każdej łazience oraz czujnik na strychu, pralni i kuchni.

Zamiast dodawać więcej czujników opartych na LoRa z wcześniejszego Instructable, które są nieco drogie i zasilane przez adaptery prądu przemiennego, zdecydowałem się dodać warstwę tańszych, zasilanych bateryjnie czujników wykorzystujących nadajniki RF Link 434-MHz. Aby zachować kompatybilność z istniejącym domowym systemem monitorowania środowiska LoRa IOT, dodałem most bezprzewodowy, aby odbierać pakiety 434 MHz i retransmitować je jako pakiety LoRa przy 915 MHz.

Nowa warstwa sensoryczna składa się z następujących podsystemów:

  1. Piloty bezprzewodowe 434 MHz - czujniki temperatury i wilgotności zasilane bateryjnie
  2. Wireless Bridge - Odbiera pakiety 434 MHz i retransmituje je jako pakiety LoRa.

Piloty bezprzewodowe 434 MHz wykorzystują niższą moc nadawania i mniej niezawodne protokoły w porównaniu z radiotelefonami LoRa, więc lokalizacja mostu bezprzewodowego w domu jest wybrana tak, aby zapewnić niezawodną komunikację ze wszystkimi pilotami bezprzewodowymi 434 MHz. Korzystanie z mostka bezprzewodowego umożliwia optymalizację komunikacji z bezprzewodowymi pilotami 434 MHz bez nakładania jakichkolwiek ograniczeń na lokalizację LoRa IOT Gateway.

Piloty bezprzewodowe 434 MHz i most bezprzewodowy są zbudowane z łatwo dostępnych modułów sprzętowych i kilku pojedynczych komponentów. Części można uzyskać od Adafruit, Sparkfun i Digikey; w wielu przypadkach części Adafruit i Sparkfun są również dostępne w firmie Digikey. Do montażu sprzętu potrzebne są kompetentne umiejętności lutowania, w szczególności okablowanie punkt-punkt bezprzewodowych pilotów 434-MHz. Kod Arduino jest dobrze skomentowany w celu zrozumienia i umożliwienia łatwego rozszerzenia funkcjonalności.

Cele tego projektu obejmowały:

  • Znajdź tańszą technologię bezprzewodową odpowiednią do środowisk domowych.
  • Opracuj czujnik bezprzewodowy zasilany bateryjnie, który może działać przez wiele lat na jednym zestawie baterii.
  • Nie wymagaj żadnych modyfikacji sprzętu lub oprogramowania LoRa IOT Gateway z mojego wcześniejszego Instructable.

Całkowity koszt części bezprzewodowych pilotów 434 MHz, z wyłączeniem 3 baterii AA, wynosi 25 USD, z czego czujnik temperatury i wilgotności SHT31-D stanowi ponad połowę (14 USD).

Podobnie jak w przypadku pilotów LoRa z mojego wcześniejszego Instructable, bezprzewodowe piloty 434 MHz wykonują odczyty temperatury i wilgotności i zgłaszają się do LoRa IOT Gateway za pośrednictwem bezprzewodowego mostu co 10 minut. Jedenaście bezprzewodowych pilotów 434 MHz zostało wprowadzonych do użytku w grudniu 2017 roku przy użyciu 3 baterii AA nominalnie zapewniających 4,5 V. Odczyty akumulatora z jedenastu czujników w grudniu 2017 r. wahały się od 4,57 V do 4,71 V, szesnaście miesięcy później w maju 2019 r. odczyty akumulatora wahały się od 4,36 V do 4,55 V. Zastosowanie części o szerokim zakresie napięcia roboczego powinno zapewnić działanie czujników przez kolejny rok lub dłużej, pod warunkiem zachowania niezawodności łącza RF, ponieważ moc nadawania zmniejsza się przy niższym napięciu baterii.

Niezawodność warstwy sensorowej 434-MHz była doskonała w moim środowisku domowym. Nowa warstwa czujników jest rozmieszczona na 4 200 stóp kwadratowych wykończonej powierzchni i 1800 stóp kwadratowych niewykończonej powierzchni piwnicy. Czujniki są oddzielone od mostka bezprzewodowego kombinacją 2–3 ścian wewnętrznych i podłogi/sufitu. LoRa IOT Gateway z mojej wcześniejszej Instructable wysyła alert SMS, jeśli komunikacja z czujnikiem zostanie utracona przez ponad 60 minut (6 nieodebranych dziesięciominutowych raportów). Jeden czujnik, na podłodze w rogu na drugim końcu piwnicy, za ułożonymi w stos pudłami, od czasu do czasu spowoduje alarm utraty kontaktu, jednak we wszystkich przypadkach komunikacja z czujnikiem zostanie przywrócona bez żadnej interwencji.

Dziękujemy za odwiedzenie tej instrukcji i zapoznaj się z poniższymi krokami, aby uzyskać więcej informacji.

  1. Bezprzewodowa konstrukcja czujnika na baterie
  2. Bezprzewodowy zdalny sprzęt 434 MHz
  3. Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz
  4. Sprzęt mostka bezprzewodowego
  5. Oprogramowanie mostka bezprzewodowego

Krok 1: Projekt czujnika bezprzewodowego na baterie

Bezprzewodowa konstrukcja czujnika na baterie
Bezprzewodowa konstrukcja czujnika na baterie

Projekt pilota bezprzewodowego 434-MHz wykorzystuje następujące części:

  • ATtiny85 8-bitowy mikrokontroler AVR
  • Sensirion SHT31-D - płytka zaciskowa czujnika temperatury i wilgotności
  • Nadajnik łącza RF 434 MHz Sparkfun
  • Rezystor 10K Ohm

Jedną z wczesnych decyzji projektowych było unikanie urządzeń wymagających regulowanego napięcia 3,3 V lub 5 V i wybór części, które działają w szerokim zakresie napięć. Eliminuje to potrzebę stosowania regulatorów napięcia, które marnują energię w konstrukcji zasilanej bateryjnie, i wydłuża żywotność czujników, ponieważ będą one działały dłużej, gdy napięcie baterii z czasem spadnie. Zakresy napięcia roboczego dla wybranych części są następujące:

  • ATtiny85: 2,7 V do 5,5 V
  • SHT31-D: 2,4 V do 5,5 V
  • Tx łącza RF: 1,5 V do 12 V

Uwzględniając pewien margines, bezprzewodowe piloty 434 MHz powinny działać przy napięciu baterii wynoszącym 3 V. Jak już wspomniano, dopiero okaże się, jak dobrze utrzymywana jest niezawodność łącza RF, ponieważ moc transmisji jest redukowana przy niższych napięciach baterii.

Podjęto decyzję o zastosowaniu 3 baterii AA, aby zapewnić nominalne napięcie rozruchowe 4,5V. Po 16 miesiącach pracy najniższe zmierzone napięcie akumulatora wynosi 4,36V.

Zegar ATtiny85 Watch Dog (WDT) służy do utrzymywania bezprzewodowego pilota 434 MHz w trybie uśpienia przez większość czasu. ATtiny85 jest wybudzany przez WDT co 8 sekund w celu zwiększenia licznika 10 minut; po osiągnięciu interwału 10 minut wykonywany jest pomiar i przesyłany jest pakiet danych.

Aby jeszcze bardziej zminimalizować zużycie energii, SHT31-D i nadajnik łącza RF są zasilane z cyfrowego pinu portu I/O na ATtiny85 skonfigurowanego jako wyjście. Zasilanie jest podawane, gdy pin I/O jest ustawiony na stan wysoki (1), a odłączane, gdy pin I/O jest ustawiony na stan niski (0). Za pomocą oprogramowania zasilanie jest doprowadzane do tych urządzeń peryferyjnych tylko co 10 minut przez 1-2 sekundy, podczas gdy pomiary są wykonywane i przesyłane. Opis powiązanego oprogramowania można znaleźć w oprogramowaniu 434-MHz Wireless Remote Software.

Jedynym innym komponentem używanym w bezprzewodowym pilocie zdalnego sterowania 434 MHz jest rezystor 10 kiloomów używany do podciągania pinu Reset w ATtiny85.

Wczesny projekt wykorzystywał rezystancyjny dzielnik napięcia w baterii, aby umożliwić pinowi ADC na ATTINY85 pomiar napięcia baterii. Choć mały, ten dzielnik napięcia stale obciąża baterię. Niektóre badania wykazały sztuczkę, która wykorzystuje wewnętrzne napięcie odniesienia pasma wzbronionego ATtiny85 o napięciu 1,1 V do pomiaru Vcc (napięcie akumulatora). Ustawiając napięcie odniesienia ADC na Vcc i wykonując pomiar wewnętrznego napięcia odniesienia 1,1 V, można rozwiązać problem Vcc. Wewnętrzne napięcie odniesienia 1.1V ATtiny85 jest stałe tak długo, jak Vcc > 3V. Opis powiązanego oprogramowania można znaleźć w oprogramowaniu 434-MHz Wireless Remote Software.

Komunikacja pomiędzy ATtiny85 i SHT31-D odbywa się za pośrednictwem magistrali I2C. Płytka zaciskowa Adafruit SHT31-D zawiera rezystory podciągające dla magistrali I2C.

Komunikacja między ATtiny85 a nadajnikiem RF Link odbywa się za pośrednictwem cyfrowego pinu I/O skonfigurowanego jako wyjście. Biblioteka RadioHead Packet Radio RH_ASK służy do włączania i wyłączania (OOK / ASK) nadajnika łącza RF poprzez ten cyfrowy pin I/O.

Krok 2: Bezprzewodowy zdalny sprzęt 434-MHz

Bezprzewodowy zdalny sprzęt 434 MHz
Bezprzewodowy zdalny sprzęt 434 MHz
Bezprzewodowy zdalny sprzęt 434 MHz
Bezprzewodowy zdalny sprzęt 434 MHz

Lista części:

1 x deska do krojenia chleba Adafruit 1/4, Digikey PN 1528-1101-ND

1 x uchwyt baterii 3 x ogniwa AA, Digikey PN BC3AAW-ND

1 x płytka zaciskowa Adafruit Sensiron SHT31-D, Digikey PN 1528-1540-ND

1 x nadajnik Sparkfun RF Link (434-MHz), Digikey PN 1568-1175-ND

1 x mikrokontroler ATtiny85, Digikey PN ATTINY85-20PU-ND

1 x 8-pinowe gniazdo DIP, Digikey PN AE10011-ND

1 x 10K om, Rezystor 1/8W, Digikey PN CF18JT10K0CT-ND

6.75 /17 cm Długość emaliowanego drutu miedzianego 18AWG

1 x sztuka dwustronna taśma piankowa;

Drut do owijania drutu 18 /45 cm

Gniazdo jest używane dla ATtiny85, ponieważ programowanie w obwodzie nie jest obsługiwane.

Płytka zaciskowa SHT31-D, nadajnik łącza RF, 8-pinowe gniazdo DIP i przewód antenowy są lutowane na płytce stykowej, jak pokazano na powyższym zdjęciu. Usuń emalię z 1/4 przewodu antenowego 18AWG przed przylutowaniem do płytki stykowej.

Rezystor 10 kiloomów jest przylutowany do płytki stykowej między pinami 1 i 8 8-pinowego gniazda DIP.

Drut do owijania drutu jest przylutowany z tyłu płytki stykowej, aby utworzyć połączenia między komponentami zgodnie ze schematem ideowym Wireless Remote pokazanym w poprzednim kroku.

Dodatnie i ujemne przewody z uchwytu baterii są przylutowane do jednego zestawu szyn „+” i „-” odpowiednio na płytce stykowej.

Pilot bezprzewodowy 434 MHz został przetestowany z mostem bezprzewodowym i bramą LoRa IOT. Pilot bezprzewodowy 434-MHz natychmiast wyśle pakiet po każdym włożeniu baterii, a następnie co około 10 minut. Po odebraniu pakietu bezprzewodowego z warstwy czujnika 434 MHz, zielona dioda LED na mostku bezprzewodowym miga przez ~0,5s. Nazwa stacji, temperatura i wilgotność powinny być wyświetlane przez LoRa IOT Gateway, jeśli w bramce został przydzielony numer stacji 434-MHz Wireless Remote.

Po pomyślnym przetestowaniu pilota bezprzewodowego z zaprogramowanym ATtiny85, kawałek dwustronnej taśmy piankowej, przycięty do tego samego rozmiaru co płytka stykowa, jest używany do mocowania gotowej płytki stykowej do uchwytu baterii.

Krok 3: Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz

Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz
Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz
Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz
Oprogramowanie do zdalnego sterowania bezprzewodowego 434 MHz

Oprogramowanie 434-MHz Wireless Remote jest dołączone do tego kroku i jest dobrze skomentowane.

Programowałem mikrokontrolery ATtiny85 za pomocą programatora Sparkfun Tiny AVR i Arduino IDE. Sparkfun ma obszerny samouczek dotyczący konfigurowania sterowników itp. oraz tego, jak sprawić, by programista działał z Arduino IDE.

Dodałem gniazdo ZIF (Zero Insertion Force) do Tiny AVR Programmer, aby ułatwić dodawanie i usuwanie chipów z programatora.

Krok 4: Sprzęt mostka bezprzewodowego

Sprzęt do mostów bezprzewodowych
Sprzęt do mostów bezprzewodowych
Sprzęt mostka bezprzewodowego
Sprzęt mostka bezprzewodowego
Sprzęt do mostów bezprzewodowych
Sprzęt do mostów bezprzewodowych
Sprzęt do mostów bezprzewodowych
Sprzęt do mostów bezprzewodowych

Lista części:

1 x Arduino Uno R3, Digikey PN 1050-1024-ND

1 x Adafruit Proto Shield Arduino Stack V. R3, Digikey PN 1528-1207-ND

1 x Adafruit RFM9W LoRa Radio Transceiver Board (915-MHz), Digikey PN 1528-1667-ND

1 x Odbiornik łącza RF Sparkfun (434-MHz), Digikey PN 1568-1173-ND

1 x 8-pinowe gniazdo DIP, Digikey PN AE10011-ND

6.75 /17 cm Długość emaliowanego drutu miedzianego 18AWG

3.25 /8.5 cm Długość emaliowanego drutu miedzianego 18AWG

Drut do owijania drutu 24 /61 cm

1 x kabel USB A / MicroB, 3 stopy, Adafruit PID 592

1 x zasilacz portu USB 5V 1A, Adafruit PID 501

Złóż prototypową osłonę zgodnie z instrukcjami na Adafruit.com.

Zamontuj płytkę transceivera RFM95W LoRa zgodnie z instrukcjami na Adafruit.com. Do anteny używany jest przewód 18AWG o długości 3,25"/8,5cm, który jest lutowany bezpośrednio do płytki nadawczo-odbiorczej po zdjęciu 1/4" emalii z przewodu.

Ostrożnie przeciąć 8-pinowe gniazdo DIP na pół długości, aby utworzyć dwa zestawy 4-pinowych gniazd SIP.

Przylutuj dwa 4-pinowe gniazda SIP do tarczy prototypowej, jak pokazano. Będą one używane do podłączenia odbiornika RF Link, więc przed lutowaniem upewnij się, że znajdują się we właściwych otworach, aby pasowały do nadajnika RF Link.

Przylutuj płytkę nadawczo-odbiorczą RFM9W LoRa do tarczy prototypowej, jak pokazano.

Następujące połączenia są wykonane między Arduino Uno a płytką nadawczo-odbiorczą RFM9W za pomocą drutu owijającego na górnej stronie płytki prototypowej:

RFM9W G0 Arduino Digital I/O Pin 2, biblioteka RadioHead używa przerwania 0 na tym pinie

RFM9W SCK Arduino ICSP nagłówek, pin 3

RFM9W Nagłówek MISO Arduino ICSP, pin 1

RFM9W Złącze MOSI Arduino ICSP, pin 4

RFM9W CS Arduino Cyfrowe we/wy Pin 8

RFM9W RST Cyfrowe wejście/wyjście Arduino Pin 9

W dolnej części płytki prototypowej wykonane są następujące połączenia:

RFM9W VIN Płytka prototypowa 5 V magistrala

RFM9W GND Szyna uziemienia płyty prototypowej (GND)

RF Link Rx Pin 1 (GND) Magistrala uziemienia płyty prototypowej (GND)

RF Link Rx Pin 2 (wyjście danych) Cyfrowe wejście/wyjście Arduino Pin 6

RF Link Rx Pin 2 (Vcc) Płytka prototypowa Szyna 5 V

Proto Board Zielona dioda LED Arduino Digital I/O Pin 7

Informacje o pinach odbiornika łącza RF są dostępne na stronie www.sparkfun.com.

Zdejmij emalię z 1/4 ' długości 6,75 cala drutu 18AWG i włóż ją do otworu płytki prototypowej bezpośrednio obok złącza RF Link Rx Pin 8 (antena). Po włożeniu do otworu zagnij pozbawiony izolacji koniec, aby powstał skontaktuj się z RF Link Rx Pin 8 i przylutuj go na miejscu.

Zaprogramuj Arduino Uno za pomocą szkicu dostarczonego w następnym kroku. Po zresetowaniu lub włączeniu, zielona dioda LED mignie dwa razy przez 0,5s. Po odebraniu pakietu bezprzewodowego z warstwy czujnika 434 MHz, zielona dioda LED miga przez ~0,5s.

Krok 5: Oprogramowanie mostka bezprzewodowego

Oprogramowanie Wireless Bridge jest dołączone do tego kroku i jest dobrze skomentowane.

Zalecana: