Przejdź do głównej zawartości

Arduino Custom Data Station #1 - wysyłanie danych

· 2 min aby przeczytać
Arduino Custom Data Station #1 - wysyłanie danych

Etap #1, czyli dokonujemy pomiaru temperatury oraz wilgotności powietrza przy użyciu Arduino z czujnikiem DHT11. Odczytane dane będą przesyłane do komputera za pośrednictwem Serial Portu i prezentowane w serial monitorze.

Arduino Custom Data Station #1 - wysyłanie danych​

Pierwszy etap projektu zakłada stworzenie prostego układu złożonego z Arduino oraz czujnika DHT11. Głównym zadaniem tego układu będzie przesyłanie wartości zmierzonej temperatury oraz wilgotności powietrza do komputera za pośrednictwem portu USB (Serial Communication).

Pomiar temperatury i wilgotności powietrza​

Układ odpowiedzialny za pomiar temperatury oraz wilgotności powietrza, składa się z płytki Arduino Nano oraz popularnego czujnika DHT11, który pozwala na pomiar wilgotności oraz temperatury powietrza.

Pierwszą rzeczą jaką należy wykonać to stworzyć prosty układ do pomiaru temperatury oraz wilgotności powietrza. W tym celu wykorzystałem płytkę Arduino Nano oraz popularny czujnik DHT11, który pozwala na pomiar wilgotności oraz temperatury powietrza.

Kod Arduino​

Do obsługi czujnika DHT11 wykorzystałem popularną bibliotekę DHT sensor library firmy Adafruit, natomiast sam kod jest trywialnie prosty, więc nie będę się tutaj zbytnio nad nim rozpisywał.

#include "DHT.h" // DHT sensor library by Adafruit (Version 1.4.0)

#define DHTPIN 15
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE, 6);

void setup() {
Serial.begin(115200);
dht.begin();
}

void loop() {
Serial.print("001|"); // device ID
Serial.print(dht.readTemperature()); // temperature
Serial.print("|"); // separator
Serial.print(dht.readHumidity()); // humidity
Serial.print("|"); // separator
Serial.print(millis()); // timestamp
Serial.println(); // endline (LF)
delay(1000);
}

Ramka danych​

Ramka z danymi wysyłana z Arduino do komputera zawiera cztery informacje:

  • identyfikator urządzenia,
  • wartość temperatury wyrażoną w stopniach celsjusza,
  • wartość wilgotności powietrza wyrażoną w procentach,
  • imestamp w milisekundach.

Identyfikator urządzenia stanowi liczba z zakresu od 000 do 999, natomiast separatorem danych jest znak kreski pionowej '|'.

Co dalej?​

Kolejnym krokiem będzie stworzenie WEBowej aplikacji klienckiej, która będzie odczytywać dane wysłane przez Arduino w czasie rzeczywistym, a następnie prezentowała je w oknie przeglądarki.