Spisu treści:

Centrum gromadzenia danych czujnika z obsługą IoT z ESP8266 i PubNub: 9 kroków (ze zdjęciami)
Centrum gromadzenia danych czujnika z obsługą IoT z ESP8266 i PubNub: 9 kroków (ze zdjęciami)

Wideo: Centrum gromadzenia danych czujnika z obsługą IoT z ESP8266 i PubNub: 9 kroków (ze zdjęciami)

Wideo: Centrum gromadzenia danych czujnika z obsługą IoT z ESP8266 i PubNub: 9 kroków (ze zdjęciami)
Wideo: Co to jest IoT i jak działa ? (Internet of Things) 2024, Grudzień
Anonim
Centrum gromadzenia danych z czujnikami z obsługą IoT z ESP8266 i PubNub
Centrum gromadzenia danych z czujnikami z obsługą IoT z ESP8266 i PubNub
Centrum gromadzenia danych z czujnikami z obsługą IoT z ESP8266 i PubNub
Centrum gromadzenia danych z czujnikami z obsługą IoT z ESP8266 i PubNub

Większość samouczków na ESP8266 jest albo na poziomie początkującym (zdalne miganie diody), albo jest zbyt skomplikowana dla kogoś, kto szuka czegoś, co można ulepszyć i ulepszyć swoje umiejętności migania diodami LED. Ta instrukcja ma na celu wypełnienie tej luki, aby stworzyć koncentrator czujników za pomocą ESP8266 i opublikuj zebrane dane w PubNub. Głównym celem/założeniem jest zminimalizowanie czasu, jaki ludzie spędzają na budowaniu sprzętu, a zamiast tego skupienie się na analizie i wizualizacji danych z zebranymi danymi.

Dla osób, które nie są zaznajomione z ESP8266 / NodeMCU, sugerujemy, aby uzyskać podstawową wiedzę na temat flashowania i programowania za pomocą ESPLORER. Istnieje wiele samouczków / instrukcji, które oferują to, takie jak Get-Started-with-ESP8266-Using-AT -Commans-NodeMCU.

Na końcu tej instrukcji będziesz mógł zbudować własne centrum gromadzenia danych z czujników i podstawową wizualizację wykresu w czasie rzeczywistym za pomocą PubNub

Witamy w lekcji ESP8266-NodeMCU - 102!!

Krok 1: Komponenty użyte w projekcie

Komponenty użyte w projekcie
Komponenty użyte w projekcie

Do wykonania projektu wymagane są następujące elementy

  • Płyta ESP8266. Płyta używana do tej instrukcji to NodeMCU devKit v1.0 (tu wstaw link do modułu 143)
  • Dowolny czujnik, którego dane muszą być zbierane i rejestrowane. Tutaj prosty potencjometr jest używany jako czujnik analogowy
  • Przełącznik suwakowy
  • Kabel micro do USB (typ męski) do przesyłania kodu do NodeMCU devKit v1.0 i zasilania urządzenia
  • 2 diody led dla wskaźnika trybu;
  • Niektóre kable męskie na męskie i płytka stykowa
  • Konto PubNub z kluczem publikacji, kluczem subskrypcji i kanałem

Pobierz poniższe pliki. Jeśli nie chcesz niczego zmieniać i potrzebujesz go tylko do pracy, pobierz wstępnie skompilowaną wersję (tu wstaw skompilowany folder zip). Jeśli chcesz zrozumieć, jak to działa i chcesz ubrudzić sobie ręce wtedy możesz również pobrać główny kod źródłowy (wstaw wersję kodu źródłowego tutaj)

Krok 2: Projekt obwodu

Jeśli kupiłeś (wstaw link do produktu końcowego tutaj), możesz pominąć ten krok

Krok 3: Przesyłanie kodu do zestawu NodeMCU za pomocą ESPlorer

Przesyłanie kodu do zestawu NodeMCU za pomocą ESPlorer
Przesyłanie kodu do zestawu NodeMCU za pomocą ESPlorer
Przesyłanie kodu do zestawu NodeMCU za pomocą ESPlorer
Przesyłanie kodu do zestawu NodeMCU za pomocą ESPlorer

Po otwarciu aplikacji ESPlorer ekran początkowy będzie wyglądał jak pierwszy obraz. Wybierz port COM z listy rozwijanej u góry. Jeżeli port COM nie jest wyświetlany, nawet gdy urządzenie jest podłączone, po prostu ponownie otwórz aplikację.

Teraz możesz przejść na dwa sposoby i ukończyć tę instrukcję

Zakończ część sprzętową koncentratora czujnika tak szybko, jak to możliwe i przejdź do zabawy z danymi

Zrozum sposób działania skryptu NodeMCU i lua i dostosuj go do swoich potrzeb

jeśli(opcja==1)

Prześlij wszystkie wstępnie skompilowane pliki (pliki.lc) i przejdź do następnego kroku

inaczej, jeśli(opcja==2)

Po prostu otwórz pliki z kodem źródłowym (.lua) w ESPlorer i zacznij bawić się kodem. Przejdź do kroku 5, aby uzyskać opis

Krok 4: Konfiguracja koncentratora czujników

Konfiguracja koncentratora czujników
Konfiguracja koncentratora czujników
Konfiguracja koncentratora czujników
Konfiguracja koncentratora czujników

Teraz przesuń przełącznik w stronę trybu konfiguracji i zrestartuj moduł. Dioda wskaźnika trybu konfiguracji powinna się zaświecić.

Jak pokazano na pierwszym obrazku, zostanie utworzona i widoczna sieć bezprzewodowa o nazwie "configMode". Połącz się z tą siecią za pomocą hasła "password1234" z dowolnego komputera, laptopa lub telefonu komórkowego.

Otwórz dowolną przeglądarkę i wprowadź następujący adres URL

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Zastąp parametry w cudzysłowach własnymi wartościami hasła nazwy użytkownika Wi-Fi (z dostępem do Internetu) i kluczami PubNub. Ostateczny adres URL powinien wyglądać jak poniżej

192.168.4.1/?username=MyWiFi&pwd=123456&apipubkey=pub_kjabdc_56513akhbcqio3_ad&apisubkey=sub_ajkd23d_sf23_24'&channel=channel1&czujnikOneName=czujnik1&check=1

Jeśli koncentrator czujników jest prawidłowo skonfigurowany, dioda trybu konfiguracji zgaśnie, a dioda trybu danych zaświeci się, a sieć bezprzewodowa "configMode" zniknie. Jeśli chcesz zrozumieć, jak to działa lub chcesz zmienić niektóre parametry, sprawdź następny krok, w przeciwnym razie przejdź do kroku 8

Krok 5: Dostosowywanie konfiguracji

Dostosowywanie konfiguracji
Dostosowywanie konfiguracji

Tak więc ESP8266 działa jak router i tworzy sieć bezprzewodową z podanym ssid, nazwą użytkownika i adresem IP, z którą można się połączyć. Konfiguracja odbywa się poprzez wpisanie parametrów w formacie podanym poniżej i wciśnięcie poniższego adresu URL z dowolnej przeglądarki dowolne urządzenie podłączone do skonfigurowanej sieci bezprzewodowej.

192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel='Channel_name'&sensorOneName='Sensor_1_name'&check=1

Otwórz plik ap.lua w ESPlorer. Skrypt ten odpowiada za początkową konfigurację koncentratora czujnika. Generuje dwa pliki na podstawie danych podanych przez użytkownika

  • station.lua (zawiera ssid sieci i hasło, które ma dostęp do Internetu w celu opublikowania danych)
  • api_file.lua (zawiera klucze PubNub, nazwę kanału z nazwami czujników)

Aby dostosować adres IP:

IP można ustawić na dowolny prawidłowy adres, który należy zmienić w url. Domyślny adres to „192.168.4.1”. Jak widać na pierwszym obrazku, pierwsze 3 linie są odpowiedzialne za ustawienie adresu IP i bramy. Możesz sprawdzić jeśli adres jest prawidłowy, wysyłając polecenie „=wifi.sta.getip()”

Aby dostosować nazwę SSID

Kolejny zestaw kodu na tym samym obrazku odpowiada za ustawienie identyfikatora SSID i hasła do sieci bezprzewodowej.

Pamiętaj, że jeśli dokonałeś jakichkolwiek zmian w pliku.lua, musisz je skompilować, aby zmiany zostały odzwierciedlone po ponownym uruchomieniu

  1. Prześlij zmodyfikowany plik.lua..na przykład plik ap.lua
  2. Wyślij polecenie „node.compile(ap.lua)”, klikając przycisk wysyłania na dole ESPlorer
  3. Teraz twoje pliki lua są skompilowane i zostaną wygenerowane nowe pliki.lc

Krok 6: Dodanie czujników do centrum i PubNub

Dodanie czujników do koncentratora i PubNub
Dodanie czujników do koncentratora i PubNub
Dodanie czujników do koncentratora i PubNub
Dodanie czujników do koncentratora i PubNub

Aby dodać więcej czujnika

Domyślnie kod wysyła dane tylko z jednego czujnika, który jest podłączony do analogowego pinu 0. Możesz dodać więcej czujników, aby wysyłać dane jednocześnie. Wykonaj poniższe kroki

  1. Dodaj nazwę czujnika w adresie URL, jak pokazano pogrubioną czcionką. Więc teraz adres URL będzie taki jak poniżejhttps://192.168.4.1/?username='wifi_network_name'&pwd='password'&apipubkey='publish_key'&apisubkey='subscribe_key'&channel=' Channel_name'&sensorOneName='Sensor_1_name'&sensorTwoName='Sensor_2_name'&check=1
  2. Odpowiednia nazwa powinna zostać dodana do pliku ap.lua, jak pokazano na obrazku 1sensorTwo=_GET.sensorTwoName print(sensorTwo).(To jest tylko przeglądanie i sprawdzanie danych)
  3. Ostatnim krokiem jest dodanie go do części generowania pliku api_file na końcu, jak pokazano na obrazku 2{ "eon": { "'..sensorOne..'":\'..adc.read(0)..\', "'..sensorTwo..'":\'..gpio.read(2)..\' }} Powtórz ten sam krok dla każdego dodanego czujnika. Pamiętaj, aby użyć gpio.read(pin#) dla sygnałów cyfrowych i adc.read(pin#) dla sygnałów analogowych na cyfrowe

Pamiętaj, że jeśli dokonałeś jakichkolwiek zmian w pliku.lua, musisz je skompilować, aby zmiany zostały odzwierciedlone po ponownym uruchomieniu

  1. Prześlij zmodyfikowany plik.lua..na przykład plik ap.lua
  2. Wyślij polecenie „node.compile(ap.lua)”, klikając przycisk wysyłania na dole ESPlorer
  3. Teraz twoje pliki lua są skompilowane i zostaną wygenerowane nowe pliki.lc

Krok 7: Inicjowanie zbierania danych i wysyłanie do PubNub

Inicjowanie zbierania danych i wysyłanie do PubNub
Inicjowanie zbierania danych i wysyłanie do PubNub

Po prawidłowym wykonaniu konfiguracji dioda trybu danych włączy się.

Zasadniczo oznacza to, że dane czujnika są wysyłane do PubNub na podstawie ustawień konfiguracyjnych podanych w poprzednich krokach.

Domyślnie hub wysyła dane do PubNub co 5 sekund. Jeśli chcesz to skonfigurować, wykonaj poniższe czynności

Aby dostosować częstotliwość zbierania danych:

  • Otwórz main.lua w ESPlorer
  • Przejdź do linii zaznaczonej na obrazku
  • Wspomniana tam wartość powinna być podana w milisekundach. Zaleca się zachowanie co najmniej 2-sekundowego odstępu, aby uniknąć utraty danych.
  • Prześlij plik main.lua do esp i skompiluj plik, aby wygenerować plik.lc
  • Uruchom ponownie moduł i sprawdź

Krok 8: Prosta strona HTML do wyświetlania danych w czasie rzeczywistym z PubNub

Prosta strona HTML do wyświetlania danych w czasie rzeczywistym z PubNub
Prosta strona HTML do wyświetlania danych w czasie rzeczywistym z PubNub
Prosta strona HTML do wyświetlania danych w czasie rzeczywistym z PubNub
Prosta strona HTML do wyświetlania danych w czasie rzeczywistym z PubNub

Otwórz plik Sample.html z pobranych plików. To tylko zwykła strona html, aby wyświetlić wykres zebranych danych w czasie rzeczywistym.

Jak widać na obrazku 1, wystarczy skonfigurować go za pomocą własnych kluczy PubNub i nazwy kanału.

Możesz również dodać to do dowolnej tworzonej przez siebie witryny i stworzyć jeszcze bardziej oszałamiającą wizualizację. Więcej informacji znajdziesz w PunNub EON.

Krok 9: Rozwiązywanie problemów i często zadawane pytania

Zostanie wkrótce zaktualizowany

Zalecana: