Съдържание:
- Стъпка 1: КОМПОНЕНТИ
- Стъпка 2: ВРЪЗКИ:
- Стъпка 3: КОДИРАНЕ:
- Стъпка 4: РЕЗУЛТАТ:
- Стъпка 5: Пълен урок:
Видео: Измерване на близостта: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В този урок ще обясня за измерването на близостта на дадено устройство и публикуването на стойностите в облачната платформа Thingsai, io с помощта на сензор за зала и платка за разработка esp32.
Сензорът за ефект на Хол е устройство, което се използва за измерване на магнитуда на магнитното поле. Изходното му напрежение е правопропорционално на силата на магнитното поле през него. Сензорите на ефекта на Хол се използват за разпознаване на близост, позициониране, откриване на скорост и текущи сензорни приложения.
Стъпка 1: КОМПОНЕНТИ
Хардуерни компоненти:
1. Холов сензор
2. дъска за разработка на esp32
3. Кабелни проводници
Софтуерни компоненти:
1. IDE на Arduino
2. НещаIO. AI
Стъпка 2: ВРЪЗКИ:
Холов сензор ---------------------- esp32
Извън ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
Стъпка 3: КОДИРАНЕ:
#включва
#включва
#включва
int брой = 0, i, m, j, k;
int измерване;
int outputpin = A0; // ds18b20
////////////////////////////////////////// ВСИЧКИ ДЕКЛАРАЦИИ
за CLOUD ////////////////////////////////
const char* host = "api.thingsai.io"; // ИЛИ хост =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ИЛИ
/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // това е за преобразуване на времева отметка
const int httpPort = 80;
const int httpsPort = 443;
const char* сървър =
"api.thingsai.io"; // URL адрес на сървъра
char времева марка [10];
WiFiMulti WiFiMulti;
// Използвайте WiFiClient клас за създаване на TCP връзки
Клиент WiFiClient;
/////////////////////////////////////////// TIMESTAMP
Функция CALCULATION /////////////////////////////////////////
int GiveMeTimestamp ()
{
без подпис дълго
таймаут = милис ();
// WiFiClient клиент;
докато
(client.available () == 0)
{
ако (millis () -
таймаут> 50000)
{
client.stop ();
връщане 0;
}
}
while (client.available ())
{
Низов ред =
client.readStringUntil ('\ r'); // indexOf () е функция за търсене на smthng, връща -1 ако не е намерен
int pos =
line.indexOf ("\" времева марка / ""); // потърсете "\" timestamp / "" от началото на отговора и копирайте всички данни след това, това ще бъде вашият времеви знак
ако (pos> =
0)
{
int j = 0;за (j = 0; j <10; j ++)
{времева марка [j] = ред [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{Serial.begin (115200);
забавяне (10);
// Започваме с
свързване към WiFi мрежа
WiFiMulti.addAP ("wifi_name", "wifi_password");
Serial.println ();
Serial.println ();Serial.print ("Изчакайте WiFi …");while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
забавяне (500);
}Serial.println ("");Serial.println ("WiFi свързан");Serial.println ("IP адрес:");
Serial.println (WiFi.localIP ());
забавяне (500);
}
void loop ()
{
int analogValue =
analogRead (изход);
{
/////////////////////////////////////////// ИЗПРАЩАЙТЕ ЗАПИТВАНЕТО И
ПОЛУЧАВАЙТЕ ОТГОВОРА /////////////////////////
int измерване
= 0;
измерване =
hallRead ();Serial.print ("Измерване на сензора на Хол:");Serial.println (измерване);
забавяне (1000);Serial.print ("свързване към");Serial.println (хост); // дефинирано нагоре:- host = devapi2.thethingscloud.com или 139.59.26.117
//////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("вътре метка за време на получаване / n");
ако
(! client.connect (time_server, {
връщане;
//*-*-*-*-*-*-*-*-*-*
}client.println ("GET/api/timestamp HTTP/1.1"); // Какво прави тази част, не разбрахclient.println ("Хост: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Токен на пощальон: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // ще извика функцията
който ще получи отговор от времевата отметка от сървъра
Serial.println ("времева отметка получена");
Serial.println (времева отметка);Serial.println ("вътре в ThingsCloudPost");
Низ PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + времева марка;
PostValue =
PostValue +", \" data / ": {" proximity / ":" +измерване +"}" +"}";Serial.println (PostValue);
/ * създайте екземпляр на WiFiClientSecure */
Клиент WiFiClientSecure;Serial.println ("Свържете се със сървъра през порт 443");
ако
(! client.connect (сървър, 443)) {Serial.println ("Връзката е неуспешна!");
} else {Serial.println ("Свързан със сървър!");
/* създаване на
заявка */
client.println („POST
/devices/deviceData HTTP/1.1 ");client.println ("Хост: api.thingsai.io");//client.println("Connection: close ");client.println ("Тип съдържание: приложение/json");client.println ("cache-control: no-cache");
client.println ( Упълномощаване:
Носач eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9j;client.print ("Content-Length:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
//////////////////////////////////// Публикуване на данните в
облакът е готов и сега вземете облачния сървър за отговор //////////////////
Serial.print ( Изчаква се отговор
);
докато
(! client.available ()) {
забавяне (50);
//Serial.print (".");
}
/* ако данните са
налични, след това получавайте и отпечатвайте до терминал */
докато
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/ * ако сървърът е изключен, спрете клиента */
ако
(! client.connected ()) {Serial.println ();Serial.println ("Сървърът е изключен");client.stop ();
}
}
Serial.println ( //////////////////////// КРАЙЪТ
///////////////////// );
забавяне (3000);
}}
Стъпка 4: РЕЗУЛТАТ:
Стойностите, които се четат от сензора, се изпращат успешно в облака IOT и графиката се създава като близост спрямо време. С това работата на сензора се анализира и използва в съответствие с необходимите области на приложение.
Стъпка 5: Пълен урок:
Това е пълният проект за измерване на близостта на дадено устройство чрез използване на сензор за зала esp32 и cloudsai.io облачна платформа. Благодаря ти
Препоръчано:
Измерване на скоростта на двигателя с помощта на Arduino: 6 стъпки
Измерване на скоростта на двигателя с помощта на Arduino: Трудно ли е да се измери оборотите на двигателя ??? Не мисля така. Ето едно просто решение. Само един IR сензор и Arduino във вашия комплект могат да го направят. В този пост ще дам прост урок, обясняващ как да измервам оборотите на всеки двигател, използвайки IR сензор и A
Измерване на времето (часовник за измерване на лента): 5 стъпки (със снимки)
Time Measure (Tape Measure Clock): За този проект ние (Alex Fiel & Anna Lynton) взехме ежедневен измервателен инструмент и го превърнахме в часовник! Първоначалният план беше да се моторизира съществуваща рулетка. Като направихме това, решихме, че ще бъде по -лесно да създадем своя собствена черупка, с която да работим
Измерване на температурата: 7 стъпки
Измерване на температурата:
Измерване на близостта на разстояние с сензор за жестове APDS9960: 6 стъпки
Измерване на близостта на разстояние с сензор за жестове APDS9960: В този урок ще се научим как да измерваме разстоянието с помощта на сензор за жестове APDS9960, arduino и Visuino. Гледайте видеоклипа
4 стъпки за измерване на вътрешното съпротивление на батерията: 4 стъпки
4 стъпки за измерване на вътрешното съпротивление на батерията: Ето 4 -те прости стъпки, които могат да ви помогнат да измерите вътрешното съпротивление на тестото