Spisu treści:
- Krok 1: Wymagania
- Krok 2: Konfiguracja sprzętu
- Krok 3: Konfiguracja Arduino IDE
- Krok 4: Zrozumienie Kodeksu
- Krok 5: Zaloguj się do Ubidots
- Krok 6: Tworzenie Dashboardów w Ubidots
- Krok 7: Podsumowanie
Wideo: Jak zbudować stację pogodową za pomocą XinaBox i Ubidots przez HTTP: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Dowiedz się, jak stworzyć własną stację pogodową w Ubidots, używając XinaBox xChips (IP01, CW01 i SW01)
Moduł ESP8266 Core i Wi-Fi (xChip CW01) umożliwia użytkownikom wysyłanie danych z modułowych xChips XinaBox do chmury. Dane te mogą być monitorowane zdalnie w Ubidots, gdzie użytkownicy mogą korzystać ze swoich narzędzi IoT.
Zaawansowany czujnik pogody xChip SW01 (Bosch BME280) mierzy temperaturę, wilgotność i ciśnienie atmosferyczne, na podstawie których można również obliczyć wysokość, podstawę chmur i punkt rosy.
W tym samouczku używamy protokołu HTTP do wysyłania danych z czujników do Ubidots. Można to również zrobić za pomocą protokołu MQTT.
Pod koniec tego przewodnika będziesz mógł zdalnie monitorować i mierzyć warunki pogodowe na swoim urządzeniu XinaBox z dowolnego miejsca za pomocą Ubidots.
Krok 1: Wymagania
- 1x CW01 - rdzeń WiFi (ESP8266/ESP-12F)
- 1x IP01 - Interfejs programowania USB (FT232R)
- 1x SW01 - zaawansowany czujnik pogody (BME280)
- 1x XC10 - 10-pakowe złącza xBUS
- IDE Arduino
- Konto Ubidot
Krok 2: Konfiguracja sprzętu
Połącz ze sobą CW01, SW01 i IP01 za pomocą złączy XC10 xBUS. Możesz go podłączyć tak, jak pokazano na poniższym schemacie. Proszę zapoznać się z tym przewodnikiem, jak ogólnie składać xChips.
Następnie połącz swoje urządzenie i komputer przez USB IP01. W tym celu będziesz musiał użyć oprogramowania xFlasher, aby sflashować kod, gdy będzie gotowy. Zobacz ten przewodnik na temat korzystania z xFlasher.
Krok 3: Konfiguracja Arduino IDE
1. Zainstaluj Arduino IDE 1.8.8
2. Zainstaluj te biblioteki na Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.
UWAGA: Jeśli nie wiesz, jak zainstalować biblioteki, skorzystaj z linku: Instalowanie bibliotek Arduino
3. Po zainstalowaniu platformy ESP8266 wybierz urządzenie ESP8266, z którym pracujesz. W tym przypadku pracujemy z „CW01 (moduł ESP12F)”. Aby wybrać swoją płytkę z Arduino IDE, wybierz Narzędzia > Płytka „NodeMCU 1.0 (moduł ESP12E)”.
UWAGA: W tym celu ESP12F i ESP12E są wymienne.
Krok 4: Zrozumienie Kodeksu
W tym biblioteki:
#include "UbidotsMicroESP8266.h"
#włącz #włącz
Wprowadź swoje dane uwierzytelniające Wi-Fi i Ubidots:
#define TOKEN „Twój-token” // Umieść tutaj swój TOKEN Ubidot
#define WIFISSID "Your-SSID" // Wpisz tutaj swój identyfikator SSID Wi-Fi #define PASSWORD "password-of-ssid" // Wpisz tutaj swoje hasło Wi-Fi
Twój unikalny TOKEN Ubidots jest uzyskiwany z Twojego konta Ubidots. Skorzystaj z poniższego linku, aby dowiedzieć się, gdzie znaleźć swój TOKEN Ubidots.
Jednorazowa konfiguracja, zobacz komentarze do samodzielnego wyjaśnienia:
pusta konfiguracja () {
//Debugowanie w 115200 przy użyciu monitora szeregowego Serial.begin(115200); //Połącz z punktem dostępowym client.wifiConnection(WIFISSID, PASSWORD); // Rozpoczyna się komunikacja I2C Wire.begin(); // Uruchom czujnik SW01 SW01.begin(); //Wprowadzamy opóźnienie, 2-3 sekundy opóźnienia(DELAY_TIME); }
Zapętl operację, aby działała i aktualizowała się w sposób ciągły:
pusta pętla () {
// Utwórz zmienną do przechowywania danych odczytanych z SW01 float tempC, wilgotność, ciśnienie, alt; //Tworzenie zmiennych urządzenia tempC = 0; wilgotność = 0; ciśnienie = 0; alt=0; // Sonda do zbierania danych SW01.poll(); //Zapisywanie danych do zmiennych urządzenia tempC = SW01.getTempC(); // Temperatura w stopniach Celsjusza Serial.println("Temperatura: "); Serial.print(tempC); Serial.println("*C"); Serial.println(); wilgotność = SW01.getHumidity(); Serial.println("Wilgotność: "); Serial.print(wilgotność); Serial.println("%"); Serial.println(); ciśnienie = SW01.getPressure(); Serial.println("Ciśnienie: "); druk.seryjny(ciśnienie); Serial.println("Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("Wysokość: "); Serial.print(alt); Serial.println(" m"); Serial.println(); //Utwórz zmienne ubidots client.add("Temperatura (*C)", tempC); opóźnienie (500); client.add("Wilgotność (%)", wilgotność); opóźnienie (500); client.add("Ciśnienie (Pa)", ciśnienie); opóźnienie (500); client.add("Wysokość (m)", alt); //Wyślij wszystkie kropki client.sendAll(true); // opóźnienie między odczytami czujnika w celu ustabilizowania opóźnienia(DELAY_TIME); }
Pełny kod:
#include "UbidotsMicroESP8266.h"
#include #include #define TOKEN "Your-Token" // Umieść tutaj swój TOKEN Ubidots #define WIFISSID "Your-SSID" // Umieść tutaj swój identyfikator SSID Wi-Fi #define HASŁO "password-of-ssid" // Umieść tutaj twoje hasło Wi-Fi klient Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; //Tworzenie obiektu czujnika SW01 void setup() { Serial.begin(115200); klient.wifiConnection(WIFISSID, HASŁO); Wire.początek(); // Uruchom czujnik SW01 SW01.begin(); opóźnienie(DELAY_TIME); } void loop() { // Utwórz zmienną do przechowywania danych odczytanych z SW01 float tempC, wilgotność, ciśnienie, alt; tempC = 0; wilgotność = 0; ciśnienie = 0; alt=0; // Sonda do zbierania danych SW01.poll(); //Zapis danych do zmiennych pamięci tempC = SW01.getTempC(); // Temperatura w stopniach Celsjusza Serial.println("Temperatura: "); Serial.print(tempC); Serial.println("*C"); Serial.println(); wilgotność = SW01.getHumidity(); Serial.println("Wilgotność: "); Serial.print(wilgotność); Serial.println("%"); Serial.println(); ciśnienie = SW01.getPressure(); Serial.println("Ciśnienie: "); druk.seryjny(ciśnienie); Serial.println("Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("Wysokość: "); Serial.print(alt); Serial.println(" m"); Serial.println(); //Utwórz zmienne ubidots client.add("Temperatura (*C)", tempC); opóźnienie (500); client.add("Wilgotność (%)", wilgotność); opóźnienie (500); client.add("Ciśnienie (Pa)", ciśnienie); opóźnienie (500); client.add("Wysokość (m)", alt); //Wyślij wszystkie kropki client.sendAll(true); // opóźnienie między odczytami czujnika w celu ustabilizowania opóźnienia(DELAY_TIME); }
Krok 5: Zaloguj się do Ubidots
1. Otwórz swoje konto Ubidots. Zobaczysz urządzenie o nazwie „ESP8266” z 4 zmiennymi (patrz obrazek poniżej).
Wizualizacja urządzenia
Wizualizacja zmiennych
Jeśli chcesz zmienić nazwę urządzenia, użyj kodu:
client.setDataSourceName("Nowa_nazwa");
Krok 6: Tworzenie Dashboardów w Ubidots
Pulpity nawigacyjne (statyczne i dynamiczne) to interfejsy użytkownika służące do organizowania i prezentowania danych urządzenia oraz spostrzeżeń wynikających z danych. Pulpity nawigacyjne zawierają widżety, które wyświetlają dane w postaci wykresów, wskaźników, kontrolek, tabel, wykresów i innych rozmiarów, kształtów i formularzy.
Aby utworzyć nowy pulpit nawigacyjny na swoim koncie Ubidots, zapoznaj się z poniższym samouczkiem Ubidots, aby dowiedzieć się, jak to zrobić.
Jako odniesienie, po utworzeniu pulpitu nawigacyjnego Ubidots powinieneś mieć coś podobnego do poniższego obrazu:
PRO RADA: Istnieje również szereg narzędzi do tworzenia wykresów i raportowania. Jeśli chcesz dowiedzieć się więcej na ten temat, zalecamy zapoznanie się z tym przewodnikiem.
Krok 7: Podsumowanie
W tym samouczku pokazaliśmy, jak zakodować i podłączyć stację pogodową XinaBox do Ubidots. Umożliwia to zdalne monitorowanie i może zostać zakończone w ciągu 10-15 minut.
Inni czytelnicy również uznali za przydatne…
- UbiFunctions: Zintegruj dane z platformy AmbientWeather z Ubidots
- Analityka: podstawy zmiennych syntetycznych
- Kontrola temperatury za pomocą Ubidots MQTT i NodeMcu
Zalecana:
Jak zrobić prostą stację pogodową: 8 kroków
Jak zrobić prostą stację pogodową: Cześć chłopaki, w tym filmie pokażę, jak zrobić prostą stację pogodową do wykrywania temperatury i wilgotności za pomocą czujnika DHT11
Jak zrobić kieszonkową stację pogodową IoT: 7 kroków (ze zdjęciami)
Jak zrobić kieszonkową stację pogodową IoT: Witaj czytelniku! W tej instrukcji dowiesz się, jak zrobić mały Weather Cube za pomocą D1 mini (ESP8266), który jest podłączony do domowego Wi-Fi, dzięki czemu możesz patrzeć na jego wyjście z dowolnego miejsca na ziemi, oczywiście o ile masz połączenie z Internetem
Jak zbudować stację czujników monitorowania komfortu: 10 kroków (ze zdjęciami)
Jak zbudować stację monitorowania komfortu: Ta instrukcja opisuje projekt i budowę tak zwanej stacji monitorowania komfortu CoMoS, połączonego urządzenia czujnikowego do warunków otoczenia, które zostało opracowane w wydziale środowiska zbudowanego w TUK, Technische Universität Ka
Jak zrobić prostą stację pogodową za pomocą Arduino: 6 kroków (ze zdjęciami)
Jak zrobić prostą stację pogodową za pomocą Arduino: Hello Guys, W tym Instruktażowym wyjaśnię, jak zrobić prostą stację pogodową do wykrywania temperatury i wilgotności za pomocą czujnika DHT11 i Arduino, wykryte dane będą wyświetlane na wyświetlaczu LCD. Przed rozpoczęciem tej instrukcji musisz wiedzieć, że
Jak zrobić stację pogodową Raspberry Pi: 5 kroków
Jak zrobić stację pogodową Raspberry Pi: W tym samouczku omówię proces instalacji SenseHAT i zaimportowania kodu wymaganego do przekształcenia tego SenseHAT w w pełni działającą stację pogodową zdolną do rejestrowania temperatury, ciśnienia i wilgotności