INHOUDSOPGAWE:
- Stap 1: Komponente
- Stap 2: VERBINDINGS
- Stap 3: KODERING
- Stap 4: UITSET
- Stap 5: Grafiek
- Stap 6: Hier is 'n video van Breif -verduideliking
Video: Bewegingsdetektor met behulp van Thingsai.io Iot Cloud Platform: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
In hierdie tutoriaal gaan ek verduidelik oor bewegingsopsporing met behulp van 'n PIR -sensor en Esp32 saam met 'n IOT -wolkplatform Thingai.io
Stap 1: Komponente
HARDWARE KOMPONENTE;
1.esp32 Ontwikkelingsraad
2. PIR -sensor
3. Jumper Wires
SAGTEWARE:
1. Arduino IDE
2. Thingsai.io -rekening
Stap 2: VERBINDINGS
Die verbindings is stil eenvoudig.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 op esp32
GND ------------------ GND op esp32
UIT ------------------- D22 op esp32
Stap 3: KODERING
Plak hierdie kode met 'n bietjie opdatering in u Arduino IDE; u bewegingsensor gee die uitvoer foutloos.
#insluit
#insluit
#insluit
int telling = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
////////////////////////////////////// ////////////////////////////
const char* host = "api.thingsai.io"; // OF gasheer = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OF/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // dit is om die tydstempel om te skakel
const int httpPort = 80;
const int httpsPort = 443;
const char* bediener = "api.thingsai.io"; // Bediener -URL
char tydstempel [10];
WiFiMulti WiFiMulti;
// Gebruik WiFiClient -klas om TCP -verbindings te skep
WiFiClient -kliënt;
////////////////////////////////////////////// TIMESTAMP BEREKENING funksie ////////////////////////////////////
int GiveMeTimestamp ()
{
langtermyn ongetekend = millis ();
// WiFiClient -kliënt;
terwyl (client.available () == 0)
{
as (millis () - time -out> 50000)
{
client.stop ();
terugkeer 0;
}
}
terwyl (client.available ())
{
String line = client.readStringUntil ('\ r'); // indexOf () is 'n funksie om na smthng te soek, dit gee -1 as dit nie gevind word nie
int pos = line.indexOf ("\" tydstempel / ""); // soek na "\" tydstempel / "" vanaf die begin van die antwoord, en kopieer daarna alle data, dit is u tydstempel
as (pos> = 0)
{
int j = 0;
vir (j = 0; j <10; j ++)
{
tydstempel [j] = reël [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
leemte opstelling ()
{
Serial.begin (115200);
vertraging (10);
pinMode (pen, INVOER);
// Ons begin deur aan te sluit op 'n WiFi -netwerk
WiFiMulti.addAP ("wifi_name", "Wifi_password");
Serial.println ();
Serial.println ();
Serial.print ("Wag vir WiFi …");
terwyl (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
vertraging (500);
}
Serial.println ("");
Serial.println ("WiFi gekoppel");
Serial.println ("IP -adres:");
Serial.println (WiFi.localIP ());
vertraging (500);
}
leemte lus ()
{
int analogValue = analogRead (uitvoerpen);
{
////////////////////////////////////////// STUUR DIE VRAAG EN ONTVANG DIE ANTWOORD //// //////////////////////
{
bool isDetected = digitalRead (pin);
as (isDetected) {
Serial.println ("Aanwesigheid opgespoor");
}
vertraging (500);
}
Serial.print ("verbind met");
Serial.println (gasheer); // gedefinieerde onderstebo:- gasheer = devapi2.thethingscloud.com of 139.59.26.117
//////////////////////////////////////////// TIMESTAMP CODE SNIPPET //////////// /////////////////
Serial.println ("binne kry tydstempel / n");
as (! client.connect (time_server, {
terugkeer; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/tydstempel HTTP/1.1"); // Wat hierdie deel doen, het ek nie gekry nie
client.println ("Gasheer: baas.thethingscloud.com");
client.println ("Cache-beheer: geen cache");
client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // dit bel die funksie wat die tydstempelreaksie van die bediener af kry
Serial.println ("tydstempel ontvang");
Serial.println (tydstempel);
Serial.println ("binne ThingsCloudPost");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + tydstempel;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * skep 'n instansie van WiFiClientSecure */
WiFiClientSecure -kliënt;
Serial.println ("Koppel aan bediener via poort 443");
as (! client.connect (bediener, 443)) {
Serial.println ("Verbinding misluk!");
} anders {
Serial.println ("gekoppel aan bediener!");
/ * skep HTTP -versoek */
client.println ( POST/toestelle/deviceData
client.println ("Gasheer: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Inhoudstipe: toepassing/json");
client.println ("cache-control: no-cache");
client.println ("Magtiging: draer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC9PN5"
client.print ("Inhoudlengte:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
///////////////////////////////////////////////////////// bediener //////////////////////
Serial.print ("Wag vir reaksie");
terwyl (! client.available ()) {
vertraging (50); //
Serial.print (".");
}
/ * indien data beskikbaar is, ontvang en druk dit dan na Terminal */
terwyl (client.available ()) {
char c = client.read ();
Reeks.skryf (c);
}
/ * as die bediener ontkoppel het, stop die kliënt */
as (! client.connected ()) {
Serial.println ();
Serial.println ("bediener ontkoppel"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// THE END ///////////////////// ");
vertraging (3000);
}
}
Stap 4: UITSET
Dit is die staafgrafiek voorstelling van die waardes wat deur die sensor gelees word in die thingsai, io wolkplatform,
Stap 5: Grafiek
Dit is die grafiese voorstelling van die waardes van die sensor. Uit die grafiek hierbo kan ons die toepassing van die sensor ontleed. Dankie
Aanbeveel:
DHT -monitering van temperatuur en humiditeit met behulp van die ESP8266 en die AskSensors IoT -platform: 8 stappe
DHT -monitering van temperatuur en humiditeit met behulp van die ESP8266 en die AskSensors IoT -platform: In 'n vorige instruksie het ek 'n stap -vir -stap -gids aangebied om aan die gang te kom met die ESP8266 -nodeMCU en die AskSensors IoT -platform. In hierdie tutoriaal verbind ek 'n DHT11 -sensor na die nodus MCU. Die DHT11 is 'n algemeen gebruikte temperatuur en humidi
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: 4 stappe
Beheer oor die hele wêreld met behulp van internet met behulp van Arduino: Hallo, ek is Rithik. Ons gaan 'n internetbeheerde LED maak met u telefoon. Ons gaan sagteware soos Arduino IDE en Blynk gebruik. Dit is eenvoudig, en as u daarin geslaag het, kan u soveel elektroniese komponente beheer as wat u wil
Monitor versnelling met behulp van Raspberry Pi en AIS328DQTR met behulp van Python: 6 stappe
Monitering van versnelling met behulp van Raspberry Pi en AIS328DQTR Gebruik van Python: Versnelling is eindig, volgens ek volgens sommige wette van die fisika.- Terry Riley 'n Jagluiperd gebruik ongelooflike versnelling en vinnige spoedveranderinge wanneer hy jaag. Die vinnigste wesens aan wal gebruik af en toe sy hoogste tempo om prooi te vang. Die
Bewegingsdetektor met behulp van NodeMCU: 5 stappe
Bewegingsdetektor met behulp van NodeMCU: in hierdie projek kan u die teenwoordigheid van enige mens of dier in hierdie projek opspoor. En op die platform met die naam thingsio kan u die datum en tyd waarop die teenwoordigheid opgespoor is, monitor
Monitering van waterkwaliteit met behulp van MKR1000 en ARTIK Cloud: 13 stappe (met foto's)
Monitering van waterkwaliteit met behulp van MKR1000 en ARTIK Cloud: Inleiding Die hoofdoel van hierdie projek is om MKR1000 en Samsung ARTIK Cloud te gebruik om die pH en temperatuurvlakke van swembaddens te monitor. alkaliniteit a