Sisällysluettelo:

Liikeilmaisin Thingsai.io Iot -pilvialustan avulla: 6 vaihetta
Liikeilmaisin Thingsai.io Iot -pilvialustan avulla: 6 vaihetta

Video: Liikeilmaisin Thingsai.io Iot -pilvialustan avulla: 6 vaihetta

Video: Liikeilmaisin Thingsai.io Iot -pilvialustan avulla: 6 vaihetta
Video: 😩 Сплошное разочарование или повод для радости? Подробный гид по Audi A6 C6. 2024, Marraskuu
Anonim
Liiketunnistin Thingsai.io Iot -pilvialustan avulla
Liiketunnistin Thingsai.io Iot -pilvialustan avulla

Tässä opetusohjelmassa aion selittää liiketunnistuksen käyttämällä PIR -anturia ja Esp32: ta yhdessä IOT -pilvialustan Thingai.io kanssa

Vaihe 1: Komponentit

Komponentit
Komponentit
Komponentit
Komponentit

LAITTEISTON KOMPONENTIT;

1.esp32 Kehityslautakunta

2. PIR -anturi

3. Hyppyjohdot

OHJELMISTO:

1. Arduino IDE

2. Thingsai.io -tili

Vaihe 2: LIITÄNNÄT

LIITÄNNÄT
LIITÄNNÄT

Liitännät ovat yksinkertaisia ja hiljaisia.

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

VCC ------------------- 3V3 esp32: ssa

GND ------------------ GND esp32: ssa

OUT ------------------- D22 esp32: ssa

Vaihe 3: KOODAUS

Liitä tämä koodi Arduino IDE -laitteeseesi jonkin verran päivitystä, liikeanturi antaa ulostulon virheettömästi.

#sisältää

#sisältää

#sisältää

int -luku = 0, i, m, j, k;

int t, t1, t2, t3;

int nasta = 22;

///////////////////////////////////////////////////////////////////// KAIKKI ILMOITUKSET PILVILLE ////// /////////////////////////

const char* isäntä = "api.thingsai.io"; // TAI isäntä = devapi2.thethingscloud.com

const char* post_url = "/devices/deviceData"; // TAI/api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // tämä on aikaleiman muuntaminen

const int httpPort = 80;

const int httpsPort = 443;

const char* palvelin = "api.thingsai.io"; // Palvelimen URL -osoite

char -aikaleima [10];

WiFiMulti WiFiMulti;

// Käytä WiFiClient -luokkaa TCP -yhteyksien luomiseen

WiFiClient -asiakas;

///////////////////////////////////////////////////////////////////// AIKAISLEIMAN LASKELU -funktio //////// ////////////////////////////////

int GiveMeTimestamp ()

{

unsigned long timeout = millis ();

// WiFiClient -asiakas;

kun taas (client.available () == 0)

{

jos (millis () - aikakatkaisu> 50000)

{

client.stop ();

palauta 0;

}

}

kun taas (client.available ())

{

Merkkijono = client.readStringUntil ('\ r'); // indexOf () on smthng -hakutoiminto, se palauttaa -1, jos sitä ei löydy

int pos = line.indexOf ("\" aikaleima / ""); // etsi "\" aikaleima / "" vastauksen alusta ja kopioi kaikki tiedot sen jälkeen, se on aikaleimasi

jos (pos> = 0)

{

int j = 0;

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

{

aikaleima [j] = rivi [pos + 12 + j];

}

}

}

}

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

mitätön asennus ()

{

Sarja.alku (115200);

viive (10);

pinMode (pin, INPUT);

// Aloitamme muodostamalla yhteyden WiFi -verkkoon

WiFiMulti.addAP ("wifi_nimi", "Wifi_salasana");

Sarja.println ();

Sarja.println ();

Serial.print ("Odota WiFi -yhteyttä …");

while (WiFiMulti.run ()! = WL_CONNECTED) {

Serial.print (".");

viive (500);

}

Serial.println ("");

Serial.println ("WiFi -yhteys");

Serial.println ("IP -osoite:");

Serial.println (WiFi.localIP ());

viive (500);

}

tyhjä silmukka ()

{

int analogValue = analogRead (outputpin);

{

////////////////////////////////////////////////////// LÄHETÄ KYSYMYS JA VASTAA VASTAUS ////////////////////

{

bool isDetected = digitalRead (pin);

if (isDetected) {

Serial.println ("Läsnäolo havaittu");

}

viive (500);

}

Serial.print ("yhdistäminen");

Serial.println (isäntä); // määritelty ylösalaisin:- isäntä = devapi2.thethingscloud.com tai 139.59.26.117

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

Serial.println ("inside get timestamp / n");

if (! client.connect (aikapalvelin, {

palata; //*-*-*-*-*-*-*-*-*-*

}

client.println ("GET/api/aikaleima HTTP/1.1"); // Mitä tämä osa tekee, en saanut

client.println ("Isäntä: baas.thethingscloud.com");

client.println ("Välimuistin hallinta: ei välimuistia");

client.println ("Postimies-tunnus: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

client.println ();

GiveMeTimestamp (); // se kutsuu funktion, joka saa aikaleiman vastauksen palvelimelta

Serial.println ("aikaleima vastaanotettu");

Serial.println (aikaleima);

Serial.println ("sisällä ThingsCloudPost");

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

Postiarvo = Postiarvo + ", \" dts / ":" + aikaleima;

Postiarvo = Postiarvo +", \" data / ": {" PIR / ":" +nasta +"}" +"}";

Serial.println (PostValue);

/ * luo WiFiClientSecure -ilmentymä */

WiFiClientSecure -asiakas;

Serial.println ("Yhdistä palvelimeen portin 443 kautta");

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

Serial.println ("Yhteys epäonnistui!");

} muuta {

Serial.println ("Yhdistetty palvelimeen!");

/ * luo HTTP -pyyntö */

client.println ( POST/devices/deviceData

client.println ("Isäntä: api.thingsai.io");

//asiakas.println ("Yhteys: sulje");

client.println ("Sisältötyyppi: application/json");

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

client.println ( Valtuutus: Siirtotie eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs2f2x2x2X2K2KWDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

client.println (PostValue.length ());

client.println ();

client.println (PostValue);

////////////////////////////////////////////////// Tietojen julkaiseminen pilveen on valmis ja nyt saat vastauslomakkeen pilvi palvelin ////////////////////

Serial.print ("Odotetaan vastausta");

while (! client.available ()) {

viive (50); //

Serial.print (".");

}

/ * jos tietoja on saatavilla, vastaanota ja tulosta päätelaitteeseen */

while (client.available ()) {

char c = asiakas.luku ();

Serial.write (c);

}

/ * jos palvelimen yhteys katkeaa, pysäytä asiakas */

jos (! client.connected ()) {

Sarja.println ();

Serial.println ("Palvelin irrotettu"); javascript:;

client.stop ();

}

}

Serial.println ("////////////////////// LOPPU //////////////////// ");

viive (3000);

}

}

Vaihe 4: LÄHTÖ

LÄHTÖ
LÄHTÖ

Tämä on pylväsdiagrammi anturista luetuista arvoista Thingsai, io -pilvialustalla,

Vaihe 5: Kaavio

Kaavio
Kaavio

Tämä on graafinen esitys anturin arvoista. Yllä olevasta kaaviosta voimme analysoida anturin käyttöä. Kiitos

Suositeltava: