Spisu treści:

ThingSpeak, ESP32 i bezprzewodowy daleki zasięg Temperatura i wilgotność: 5 kroków
ThingSpeak, ESP32 i bezprzewodowy daleki zasięg Temperatura i wilgotność: 5 kroków

Wideo: ThingSpeak, ESP32 i bezprzewodowy daleki zasięg Temperatura i wilgotność: 5 kroków

Wideo: ThingSpeak, ESP32 i bezprzewodowy daleki zasięg Temperatura i wilgotność: 5 kroków
Wideo: Multisensor na ESP8266 #2, czyli pomiar światła dla Domoticza (i nie tylko) 2024, Lipiec
Anonim
ThingSpeak, ESP32 i bezprzewodowa temperatura i wilgotność dalekiego zasięgu
ThingSpeak, ESP32 i bezprzewodowa temperatura i wilgotność dalekiego zasięgu

W tym samouczku zmierzymy różne dane temperatury i wilgotności za pomocą czujnika temperatury i wilgotności. Dowiesz się również, jak przesłać te dane do ThingSpeak. Aby można było je analizować z dowolnego miejsca pod kątem różnych zastosowań

Krok 1: Wymagany sprzęt i oprogramowanie

Wymagany sprzęt i oprogramowanie
Wymagany sprzęt i oprogramowanie
Wymagany sprzęt i oprogramowanie
Wymagany sprzęt i oprogramowanie

Sprzęt komputerowy:

  • ESP-32: ESP32 ułatwia korzystanie z Arduino IDE i Arduino Wire Language w aplikacjach IoT. Ten moduł ESp32 IoT łączy Wi-Fi, Bluetooth i Bluetooth BLE dla różnorodnych zastosowań. Ten moduł jest w pełni wyposażony w 2 rdzenie procesora, które mogą być sterowane i zasilane indywidualnie, oraz z regulowaną częstotliwością taktowania od 80 MHz do 240 MHz. Ten moduł ESP32 IoT WiFi BLE ze zintegrowanym USB został zaprojektowany tak, aby pasował do wszystkich produktów ncd.io IoT. Monitoruj czujniki i przekaźniki sterujące, FET, sterowniki PWM, elektrozawory, zawory, silniki i wiele więcej z dowolnego miejsca na świecie za pomocą strony internetowej lub dedykowanego serwera. Wyprodukowaliśmy własną wersję ESP32, aby pasowała do urządzeń NCD IoT, oferując więcej opcji rozbudowy niż jakiekolwiek inne urządzenie na świecie! Zintegrowany port USB umożliwia łatwe programowanie ESP32. Moduł ESP32 IoT WiFi BLE to niesamowita platforma do tworzenia aplikacji IoT. Ten moduł ESP32 IoT WiFi BLE można zaprogramować za pomocą Arduino IDE.
  • Bezprzewodowy czujnik temperatury i wilgotności IoT dalekiego zasięgu: Przemysłowy bezprzewodowy czujnik wilgotności dalekiego zasięgu temperatury. Klasa z rozdzielczością czujnika ±1,7%RH ±0,5°C. Do 500 000 transmisji z 2 baterii AA. Mierzy od -40°C do 125°C z bateriami, które przetrwają te oceny. Doskonały 2-milowy zasięg LOS i 28 mil z antenami o wysokim zysku. Interfejs z Raspberry Pi, Microsoft Azure, Arduino i innymi.
  • Bezprzewodowy modem siatkowy dalekiego zasięgu z interfejsem USB

Używane oprogramowanie

  • IDE Arduino
  • RzeczMów

Używana biblioteka

  • Biblioteka PubSubClient
  • Drut.h

Klient Arduino dla MQTT

Ta biblioteka zapewnia klienta do wykonywania prostych wiadomości publikowania/subskrybowania z serwerem obsługującym MQTT

Aby uzyskać więcej informacji o MQTT, odwiedź stronę mqtt.org.

Pobierać

Najnowszą wersję biblioteki można pobrać z GitHub

Dokumentacja

Biblioteka zawiera szereg przykładowych szkiców. Zobacz Plik > Przykłady > PubSubClient w aplikacji Arduino. Pełna dokumentacja API.

Kompatybilny sprzęt

Biblioteka wykorzystuje interfejs Arduino Ethernet Client API do interakcji z podstawowym sprzętem sieciowym. Oznacza to, że po prostu działa z coraz większą liczbą plansz i tarcz, w tym:

  • Arduino Ethernet
  • Tarcza Ethernet Arduino
  • Arduino YUN – użyj dołączonego YunClient zamiast EthernetClient i najpierw wykonaj Bridge.begin()
  • Arduino WiFi Shield - jeśli chcesz wysyłać pakiety większe niż 90 bajtów z tą tarczą, włącz opcję MQTT_MAX_TRANSFER_SIZE w PubSubClient.h.
  • SparkFun WiFly Shield – w połączeniu z tą biblioteką
  • Intel Galileo/Edison
  • ESP8266
  • ESP32Biblioteki nie można obecnie używać ze sprzętem opartym na układzie ENC28J60 – takim jak Nanode lub Nuelectronics Ethernet Shield. Dla nich dostępna jest alternatywna biblioteka.

Biblioteka przewodów

Biblioteka Wire pozwala na komunikację z urządzeniami I2C, często nazywanymi również "2 wire" lub "TWI" (Two Wire Interface), można pobrać z Wire.h

Podstawowe użycie

  • Wire.begin() Rozpocznij używanie Wire w trybie master, gdzie inicjujesz i kontrolujesz transfery danych. Jest to najczęstsze zastosowanie podczas łączenia się z większością układów peryferyjnych I2C.
  • Wire.begin(address) Rozpocznij używanie Wire w trybie slave, gdzie będziesz odpowiadać na "adres", gdy inne chipy I2C masters zainicjują komunikację. Transmisja
  • Wire.beginTransmission(adres)Rozpocznij nową transmisję do urządzenia pod adresem „adres”. Używany jest tryb Master.
  • Wire.write(data)Wyślij dane. W trybie master najpierw należy wywołać beginTransmission.
  • Wire.endTransmission()W trybie master kończy transmisję i powoduje wysłanie wszystkich buforowanych danych.

Otrzymujący

  • Wire.requestFrom(address, count)Odczytaj „liczbę” bajtów z urządzenia pod adresem „adres”. Używany jest tryb Master.
  • Wire.available() Zwraca liczbę bajtów dostępnych przez wywołanie receive.
  • Wire.read() Odbierz 1 bajt.

Krok 2: Przesyłanie kodu do ESP32 za pomocą Arduino IDE

  • Przed wgraniem kodu możesz podejrzeć działanie tego czujnika pod podanym linkiem.
  • Pobierz i dołącz bibliotekę PubSubClient i bibliotekę Wire.h.
  • Musisz przypisać klucz API, SSID (Nazwa Wi-Fi) i Hasło dostępnej sieci.
  • Skompiluj i prześlij kod Temp-ThinSpeak.ino.
  • Aby zweryfikować łączność urządzenia i przesyłane dane, otwórz monitor szeregowy. Jeśli nie widać odpowiedzi, spróbuj odłączyć ESP32, a następnie podłączyć go ponownie. Upewnij się, że szybkość transmisji monitora szeregowego jest ustawiona na taką samą, jak określona w kodzie 115200.

Krok 3: Wyjście monitora szeregowego

Wyjście monitora szeregowego
Wyjście monitora szeregowego

Krok 4: Sprawienie, by ThingSpeak działał

Sprawienie, by ThingSpeak działał
Sprawienie, by ThingSpeak działał
Sprawienie, by ThingSpeak działał
Sprawienie, by ThingSpeak działał
Sprawienie, by ThingSpeak działał
Sprawienie, by ThingSpeak działał
  • Utwórz konto na ThnigSpeak.
  • Utwórz nowy kanał, klikając Kanały.
  • Kliknij Moje kanały.
  • Kliknij Nowy kanał.
  • W polu Nowy kanał nazwij kanał.
  • Nazwij Pole wewnątrz Kanału, Pole to zmienna, w której publikowane są dane.
  • Teraz zapisz kanał.
  • Teraz możesz znaleźć swoje klucze API na pulpicie nawigacyjnym. Przejdź do kranu na stronie głównej i znajdź swój „Write Api Key”, który należy zaktualizować przed przesłaniem kodu do ESP32.
  • Po utworzeniu kanału będziesz mógł przeglądać dane temperatury i wilgotności w prywatnym widoku z polami utworzonymi w kanale.
  • Aby wykreślić wykres między danymi temperatury i wilgotności, możesz użyć wizualizacji MATLAB.
  • W tym celu przejdź do aplikacji, kliknij Wizualizacja MATLAB.
  • Wewnątrz wybieramy opcję Custom, w tym wybraliśmy temperaturę wykresu i prędkość wiatru na dwóch różnych osiach y 8 jako przykład. Teraz kliknij utwórz.
  • Kod MATLAB będzie generowany automatycznie podczas tworzenia wizualizacji, ale musisz edytować identyfikator pola, odczytać identyfikator kanału, możesz sprawdzić poniższy rysunek.
  • Następnie zapisz i uruchom kod.
  • Zobaczysz fabułę.

Zalecana: