Мазмуну:

Thingsai.io Iot Cloud Platform колдонуп кыймыл детектору: 6 кадам
Thingsai.io Iot Cloud Platform колдонуп кыймыл детектору: 6 кадам

Video: Thingsai.io Iot Cloud Platform колдонуп кыймыл детектору: 6 кадам

Video: Thingsai.io Iot Cloud Platform колдонуп кыймыл детектору: 6 кадам
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Ноябрь
Anonim
Thingsai.io Iot Cloud платформасын колдонуу менен кыймыл детектору
Thingsai.io Iot Cloud платформасын колдонуу менен кыймыл детектору

Бул окуу куралында мен PIR сенсорун жана Esp32 менен IOT булут платформасы Thingai.io аркылуу кыймыл аныктоо жөнүндө түшүндүрүп берейин деп жатам.

1 -кадам: Компоненттер

Компоненттер
Компоненттер
Компоненттер
Компоненттер

ЖАБДУУЛУКТУН КОМПОНЕНТТЕРИ;

1.esp32 өнүктүрүү кеңеши

2. PIR сенсор

3. Jumper Wires

ПРОГРАММА:

1. Arduino IDE

2. Thingsai.io эсеби

2 -кадам: БАЙЛАНЫШТАР

БАЙЛАНЫШТАР
БАЙЛАНЫШТАР

Байланыштар тынч.

PIR PINS ------------ ESP32 PINS

Vp3 ------------------- 3V3 on esp32

GND ------------------ GND esp32 боюнча

OUT ------------------- D22 esp32 боюнча

3 -кадам: КОДГОРЛОО

Бул кодду Arduino IDEге бир аз жаңыртуу менен чаптаңыз, Motion сенсоруңуз кемчиликсиз чыгарууну берет.

#кошуу

#кошуу

#кошуу

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

int t, t1, t2, t3;

int pin = 22;

///////////////////////////////////////// БҮТКҮЛ БАРДЫК ДЕКЛАРАЦИЯЛАР ////// //////////////////////////

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* server = "api.thingsai.io"; // Server URL

char убакыт белгиси [10];

WiFiMulti WiFiMulti;

// TCP байланыштарын түзүү үчүн WiFiClient классын колдонуңуз

WiFiClient кардары;

/////////////////////////////////////////////////////// TIMESTAMP CALCULATION функциясы //////// /////////////////////////////////

int GiveMeTimestamp ()

{

кол коюлбаган узак күтүү = millis ();

// WiFiClient кардары;

while (client.available () == 0)

{

эгер (миллис () - тайм -аут> 50000)

{

client.stop ();

return 0;

}

}

while (client.available ())

{

Сап сабы = client.readStringUntil ('\ r'); // indexOf () -бул smthng издөө функциясы, ал табылбаса -1 кайтарат

int pos = line.indexOf ("\" убакыт белгиси / ""); // "\" убакыт белгисин / "" издеп, жооптун башынан бери бардык маалыматтарды көчүрүп алыңыз, бул сиздин убакыт белгиси болот

эгер (pos> = 0)

{

int j = 0;

үчүн (j = 0; j <10; j ++)

{

убакыт белгиси [j] = сызык [pos + 12 + j];

}

}

}

}

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

жараксыз орнотуу ()

{

Serial.begin (115200);

кечигүү (10);

pinMode (пин, INPUT);

// Биз 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);

}

боштук цикл ()

{

int analogValue = analogRead (outputpin);

{

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

{

bool isDetected = digitalRead (pin);

if (isDetected) {

Serial.println ("Бар экендиги аныкталды");

}

кечигүү (500);

}

Serial.print ("туташуу");

Serial.println (кабыл алуучу); // тескери аныкталган:- хост = devapi2.thethingscloud.com же 139.59.26.117

///////////////////////////////////////////////////// TIMESTAMP CODE SNIPPET /////////// /////////////////

Serial.println ("ичинде убакыт белгисин алуу / n");

if (! 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 ичинде");

String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";

PostValue = PostValue + ", \" dts / ":" + убакыт белгиси;

PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";

Serial.println (PostValue);

/ * WiFiClientSecure экземплярын түзүү */

WiFiClientSecure кардары;

Serial.println ("443 порт аркылуу серверге туташуу");

if (! client.connect (server, 443)) {

Serial.println ("Туташуу ишке ашкан жок!");

} башка {

Serial.println ("Серверге туташты!");

/ * HTTP өтүнүчүн түзүү */

client.println ( POST/devices/deviceData

client.println ("Хост: api.thingsai.io");

//client.println("Байланыш: жабуу ");

client.println ("Content-Type: application/json");

client.println ("cache-control: no-cache");

client.println ("Уруксат: алып жүрүүчү eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT")

client.print ("Content-Length:");

client.println (PostValue.length ());

client.println ();

client.println (PostValue);

/////////////////////////////////////////////// Булуттагы маалыматты жайгаштыруу бүтүп, эми жооп формасын булутка алуу сервер ////////////////////

Serial.print ("Жооп күтүлүүдө");

while (! client.available ()) {

кечиктирүү (50); //

Serial.print (".");

}

/ * эгерде маалыматтар бар болсо, аны кабыл алып, Терминалга басып чыгарыңыз */

while (client.available ()) {

char c = client.read ();

Serial.write (c);

}

/ * эгерде сервер ажыратылса, кардарды токтотуу */

if (! client.connected ()) {

Serial.println ();

Serial.println ("Сервер ажыратылды"); javascript:;

client.stop ();

}

}

Serial.println ("/////////////////////// АКЫРЫ ///////////////////// ");

кечигүү (3000);

}

}

4 -кадам: ЧЫГУУ

ЧЫГУУ
ЧЫГУУ

Бул сенсордон нерселерде, io булут платформасында окулган маанилердин тилкеси графиги,

5 -кадам: График

Граф
Граф

Бул сенсордон алынган баалуулуктардын графикалык көрүнүшү. Жогорудагы графиктен сенсордун колдонулушун талдай алабыз. Рахмат

Сунушталууда: