Turinys:
- 1 žingsnis: komponentai
- 2 žingsnis: JUNGTYS
- 3 žingsnis: KODAVIMAS
- 4 žingsnis: IŠVESTIS
- 5 žingsnis: grafikas
- 6 veiksmas: čia yra „Breif“paaiškinimo vaizdo įrašas
Video: Judesio detektorius naudojant „Thingsai.io Iot“debesies platformą: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šioje pamokoje aš paaiškinsiu apie judesio aptikimą naudojant PIR jutiklį ir Esp32 kartu su IOT debesų platforma Thingai.io
1 žingsnis: komponentai
Aparatūros komponentai;
1. esp32 plėtros valdyba
2. PIR jutiklis
3. Trumpieji laidai
PROGRAMINĖ ĮRANGA:
1. „Arduino IDE“
2. „Thingsai.io“paskyra
2 žingsnis: JUNGTYS
Ryšiai yra tylūs, paprasti.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 esp32
GND ------------------ GND esp32
OUT ------------------- D22 esp32
3 žingsnis: KODAVIMAS
Įklijuokite šį kodą į „Arduino IDE“, šiek tiek atnaujindami, jūsų judesio jutiklis nepriekaištingai duos išvestį.
#įtraukti
#įtraukti
#įtraukti
int skaičius = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
//////////////////////////////////////////////////////////////////// VISI DEKLARACIJOS DĖMESIAMS ////// /////////////////////////
const char* host = "api.thingsai.io"; // ARBA šeimininkas = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ARBA/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // tai yra laiko žymos konvertavimas
const int httpPort = 80;
const int httpsPort = 443;
const char* serveris = "api.thingsai.io"; // Serverio URL
char laiko žyma [10];
WiFiMulti WiFiMulti;
// Naudokite „WiFiClient“klasę, kad sukurtumėte TCP ryšius
„WiFiClient“klientas;
////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////
int GiveMeTimestamp ()
{
unsigned long timeout = milis ();
// „WiFiClient“klientas;
tuo tarpu (client.available () == 0)
{
jei (milis () - skirtasis laikas> 50000)
{
client.stop ();
grįžti 0;
}
}
o (client.available ())
{
Eilutės eilutė = client.readStringUntil ('\ r'); // indexOf () yra funkcija ieškoti smthng, ji grąžina -1, jei nerasta
int pos = line.indexOf ("\" laiko žyma / ""); // ieškokite "\" laiko žymos / "" nuo atsakymo pradžios ir nukopijuokite visus duomenis po to, tai bus jūsų laiko žyma
jei (poz> = 0)
{
int j = 0;
(j = 0; j <10; j ++)
{
laiko žyma [j] = eilutė [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
negaliojanti sąranka ()
{
Serial.begin (115200);
vėlavimas (10);
pinMode (kaištis, Įvestis);
// Pradedame prisijungdami prie „WiFi“tinklo
„WiFiMulti.addAP“(„wifi_pavadinimas“, „Wifi_password“);
Serial.println ();
Serial.println ();
Serial.print („Palaukite„ WiFi “…“);
while (WiFiMulti.run ()! = WL_CONNECTED) {
Serijinis atspaudas (".");
vėlavimas (500);
}
Serial.println ("");
Serial.println („WiFi prijungtas“);
Serial.println ("IP adresas:");
Serial.println (WiFi.localIP ());
vėlavimas (500);
}
tuštumos kilpa ()
{
int analogValue = analogRead (outputpin);
{
///////////////////////////////// ////////////////////
{
bool isDetected = digitalRead (kaištis);
if (isDetected) {
Serial.println („Aptikta buvimas“);
}
vėlavimas (500);
}
Serial.print ("prisijungimas prie");
Serial.println (priegloba); // apibrėžta aukštyn kojomis:- šeimininkas = devapi2.thethingscloud.com arba 139.59.26.117
///////////////////////// ///////////////
Serial.println ("viduje gauti laiko žymę / n");
if (! client.connect (time_server, {
grįžti; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/laiko žymė HTTP/1.1"); // Ką daro ši dalis, aš nesupratau
client.println ("Priimančioji: baas.thethingscloud.com");
client.println („Cache-Control: no-cache“);
client.println („Paštininkas-žetonas: ea3c18c6-09ba-d049-ccf3-369a22a284b8“);
klientas.println ();
GiveMeTimestamp (); // jis iškvies funkciją, kuri iš serverio gaus laiko žymės atsakymą
Serial.println ("gauta laiko žyma");
Serial.println (laiko žyma);
Serial.println ("viduje ThingsCloudPost");
Eilutė PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + laiko žymė;
PostValue = PostValue +", \" data / ": {" PIR / ":" +PIN +"}" +"}";
Serial.println (PostValue);
/ * sukurti „WiFiClientSecure“egzempliorių */
„WiFiClientSecure“klientas;
Serial.println („Prisijunkite prie serverio per 443 prievadą“);
if (! client.connect (serveris, 443)) {
Serial.println ("Nepavyko prisijungti!");
} Kitas {
Serial.println ("Prisijungta prie serverio!");
/ * sukurti HTTP užklausą */
client.println ( POST/devices/deviceData
client.println ("Priegloba: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Turinio tipas: programa/json");
client.println ("cache-control: no-cache");
client.println ( Autorizacija: nešėjas eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2kvk
client.print ("Turinio ilgis:");
client.println (PostValue.length ());
klientas.println ();
client.println („PostValue“);
//////////////////////////////////////////////// Duomenų SKELBIMAS į debesį baigtas ir dabar gaukite atsakymo formos debesį serveris ///////////////////
Serial.print („Laukiama atsakymo“);
while (! client.available ()) {
vėlavimas (50); //
Serijinis atspaudas (".");
}
/ * jei yra duomenų, gaukite ir atsispausdinkite į terminalą */
while (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * jei serveris atjungtas, sustabdykite klientą */
if (! client.connected ()) {
Serial.println ();
Serial.println („Serveris atjungtas“); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// PABAIGA /////////////////// ");
vėlavimas (3000);
}
}
4 žingsnis: IŠVESTIS
Tai juostų diagrama, rodanti reikšmes, nuskaitytas iš jutiklio daiktų, debesų platformoje,
5 žingsnis: grafikas
Tai grafinis jutiklio reikšmių atvaizdavimas. Iš aukščiau pateiktos diagramos galime analizuoti jutiklio taikymą. Ačiū
Rekomenduojamas:
Interneto/debesies valdoma namų automatizavimas naudojant Esp8266 (aREST, MQTT, IoT): 7 žingsniai (su paveikslėliais)
Interneto/debesies valdoma namų automatizavimas naudojant Esp8266 (aREST, MQTT, IoT): VISI kreditai http://arest.io/ už debesies paslaugą! IoT šiuo metu labiausiai aptariama tema pasaulyje !! Debesų serveriai ir paslaugos, leidžiančios tai padaryti, yra šiuolaikinio pasaulio traukos taškas … DISTANCE BARRIER buvo ir yra
Daiktų interneto pagrindai: savo daiktų interneto prijungimas prie debesies naudojant „Mongoose“OS: 5 žingsniai
Daiktų interneto pagrindai: savo daiktų interneto prijungimas prie debesies naudojant „Mongoose“OS: Jei esate žmogus, kuris užsiima tinkle ir elektronika, dažniausiai susidursite su daiktų internetu, paprastai sutrumpintu kaip daiktų internetas, ir kad reiškia įrenginių, galinčių prisijungti prie interneto, rinkinį! Būdamas toks žmogus
DHT11/DHT22 jutiklio prijungimas prie debesies naudojant ESP8266 plokštę: 9 žingsniai
DHT11/DHT22 jutiklio prijungimas prie debesies naudojant ESP8266 plokštę: Ankstesniame straipsnyje savo ESP8266 pagrindu sukurtą „NodeMCU“plokštę prijungiau prie „Cloud4RPi“paslaugos. Dabar atėjo laikas realiam projektui
Judesio detektorius naudojant „NodeMCU“: 5 žingsniai
Judesio detektorius naudojant „NodeMCU“: Šiame projekte, tiesiog naudojant judesio jutiklį, galite aptikti bet kokį žmogų ar gyvūną. Naudodami platformą „thingsio“galite stebėti datą ir laiką, kada buvimas buvo aptiktas
Judesio detektorius su pranešimais apie „Blynk“(„WeMos D1 Mini + HC-SR04“): 4 žingsniai (su nuotraukomis)
Judesio detektorius su pranešimais apie „Blynk“(„WeMos D1 Mini + HC-SR04“): Prašome balsuoti už šį projektą belaidžio ryšio konkurse. Dėkojame! Atnaujinimas Nr. 2 - keletas pakeitimų (2.2 versija), galite nustatyti jutiklį (diapazoną ir pavadinimą) tiesiai apibrėžime. Be to, kartais atsitiko taip, kad jutiklis nuskaitė neteisingas vertes ir atsiuntė pranešimą