Spisu treści:

Pomiar zbliżeniowy: 5 kroków
Pomiar zbliżeniowy: 5 kroków

Wideo: Pomiar zbliżeniowy: 5 kroków

Wideo: Pomiar zbliżeniowy: 5 kroków
Wideo: POMIAR REZYSTANCJI IZOLACJI KABLA - POKAZ NA BUDOWIE 2024, Listopad
Anonim
Pomiar zbliżeniowy
Pomiar zbliżeniowy

W tym samouczku wyjaśnię, jak mierzyć bliskość urządzenia i publikować wartości na platformie chmurowej Thingsai, io za pomocą czujnika Halla i płytki rozwojowej esp32.

Czujnik Halla to urządzenie, które służy do pomiaru wielkości pola magnetycznego. Jego napięcie wyjściowe jest wprost proporcjonalne do natężenia pola magnetycznego przez niego. Czujniki z efektem Halla są używane do wykrywania zbliżeniowego, pozycjonowania, wykrywania prędkości i wykrywania prądu.

Krok 1: KOMPONENTY

SKŁADNIKI
SKŁADNIKI
SKŁADNIKI
SKŁADNIKI
SKŁADNIKI
SKŁADNIKI

Komponenty sprzętowe:

1. Czujnik Halla

2. Płytka rozwojowa esp32

3. Przewody połączeniowe

Składniki oprogramowania:

1. Środowisko Arduino

2. RzeczyIO. AI

Krok 2: POŁĄCZENIA:

ZNAJOMOŚCI
ZNAJOMOŚCI

Czujnik Halla ----------------------- esp32

Aout------------------------------- vp

Gnd ------------------------------ Gnd

Vcc -------------------------------3V3

Krok 3: KODOWANIE:

#włączać

#włączać

#włączać

liczba int=0, i, m, j, k;

pomiar wewnętrzny;

int outputpin= A0;//ds18b20

/////////////////////////////////////// WSZYSTKIE OŚWIADCZENIA

dla CHMURY /////////////////////////////

const char* host = "api.thingsai.io"; // LUB host =

devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // LUB

/api/v2/thingscloud2/_table/data_ac

const char* serwer_czasu =

"baas.thethingscloud.com"; //to jest konwersja znacznika czasu

const int httpPort = 80;

const int httpsPort = 443;

const char* serwer =

"api.thingsai.io"; // Serwer URL

znacznik czasu znaków[10];

Wi-FiWiele Wi-FiWiele;

// Użyj klasy WiFiClient do tworzenia połączeń TCP

Klient WiFiClient;

/////////////////////////////////////// ZNAK CZASU

funkcja OBLICZENIA//////////////////////////////////////

int PodajMeTimestamp()

{

długi bez znaku

limit czasu = mili();

// Klient WiFiClient;

podczas

(klient.dostępny() == 0)

{

jeśli (millis() -

limit czasu > 50000)

{

klient.stop();

zwróć 0;

}

}

while (klient.dostępny())

{

Linia ciągu =

klient.odczytajStringUntil('\r'); //indexOf() to funkcja do wyszukiwania smthng, zwraca -1 jeśli nie znaleziono

wew poz =

line.indexOf("\"znacznik czasu\""); //wyszukaj "\"timestamp\"" od początku otrzymanej odpowiedzi i skopiuj wszystkie dane po tym, będzie to Twoja sygnatura czasowa

jeśli (poz >=

0)

{

intj = 0;dla(j=0;j<10;j++)

{znacznik czasu[j] = linia[poz + 12 + j];

}

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////

pusta konfiguracja()

{Serial.początek(115200);

opóźnienie(10);

// Zaczynamy od

łączenie z siecią Wi-Fi

WiFiMulti.addAP("nazwa_wifi", "hasło do wifi");

Serial.println();

Serial.println();Serial.print("Czekaj na Wi-Fi… ");while(WiFiMulti.run() != WL_CONNECTED) {Serial.print(".");

opóźnienie (500);

}Serial.println("");Serial.println("Połączenie WiFi");Serial.println("adres IP: ");

Serial.println(WiFi.localIP());

opóźnienie (500);

}

pusta pętla()

{

intWartośćanalogowa =

odczyt analogowy (wyjście);

{

////////////////////////////////////// WYŚLIJ ZAPYTANIE I

ODBIERZ ODPOWIEDŹ///////////////////////

pomiar wewnętrzny

= 0;

pomiar =

hallRead();Serial.print("Pomiar czujnika Halla: ");Serial.println(pomiar);

opóźnienie (1000);Serial.print("łączenie z");Serial.println(host); //zdefiniowany plus:- host = devapi2.thethingscloud.com lub 139.59.26.117

//////////////////////////////////// ZNACZNIK KODU

/////////////////////////

Serial.println("wewnątrz pobierz znacznik czasu\n");

Jeśli

(!client.connect(serwer_czasu, port

{

powrót;

//*-*-*-*-*-*-*-*-*-*

}client.println("POBIERZ /api/znacznik czasu HTTP/1.1"); //Co robi ta część, nie dostałemclient.println("Host: baas.thethingscloud.com");client.println("Kontrola pamięci podręcznej: brak pamięci podręcznej");client.println("Token listonosza: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

klient.println();

GiveMeTimestamp(); //wywoła funkcję

który otrzyma odpowiedź ze znacznika czasu z serwera

Serial.println("otrzymany znacznik czasu");

Serial.println(sygnatura czasowa);Serial.println("wewnątrz ThingsCloudPost");

Wartość początkowa ciągu znaków =

"{"device_id\": 61121696007, \"slave_id\": 2";

PostValue =

PostValue +”, \"dts\":" +znacznik czasu;

PostValue =

PostValue +", \"data\":{"proximity\":" + pomiar +"}"+"}";Serial.println(PostValue);

/* utwórz instancję WiFiClientSecure */

Klient WiFiClientSecure;Serial.println("Połącz z serwerem przez port 443");

Jeśli

(!client.connect(serwer, 443)){Serial.println("Połączenie nie powiodło się!");

} w przeciwnym razie {Serial.println("Połączono z serwerem!");

/* tworzenie

wniosek */

client.println( POST

/devices/deviceData HTTP/1.1");client.println("Host: api.thingsai.io");//client.println("Połączenie: zamknij");client.println("Typ treści: aplikacja/json");client.println("kontrola pamięci podręcznej: brak pamięci podręcznej");

client.println( Autoryzacja:

Nośnik eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKyVl5_m7");client.print("Długość-treści: ");klient.println(WartośćPoczta.długość());

klient.println();klient.println(PostValue);

//////////////////////////////////PRZESYŁANIE danych na

chmura jest gotowa i teraz otrzymaj odpowiedź z serwera w chmurze//////////////////

Serial.print( Oczekiwanie na odpowiedź

);

podczas

(!klient.dostępny()){

opóźnienie(50);

//Serial.print(".");

}

/* jeśli dane to

dostępne, a następnie odbierz i wydrukuj do Terminala */

podczas

(klient.dostępny()) {

znak c =

klient.odczyt();Serial.zapis(c);

}

/* jeśli serwer się rozłączył, zatrzymaj klienta */

Jeśli

(!klient.podłączony()) {Serial.println();Serial.println("Serwer odłączony");klient.stop();

}

}

Serial.println( ////////////////////// KONIEC

///////////////////// );

opóźnienie(3000);

}}

Krok 4: WYNIK:

WYNIK
WYNIK

Odczytane z czujnika wartości są pomyślnie przesyłane do chmury IOT i tworzony jest wykres jako bliskość w funkcji czasu. Dzięki temu działanie czujnika jest analizowane i wykorzystywane zgodnie z wymaganymi obszarami zastosowania.

Krok 5: Ukończ samouczek:

Jest to kompletny projekt pomiaru bliskości urządzenia za pomocą czujnika Halla esp32 i platformy chmurowej thingsai.io. Dziękuję Ci

Zalecana: