
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02

I denne opplæringen skal jeg forklare om bevegelsesdeteksjon ved å bruke en PIR -sensor og Esp32 sammen med en IOT -skyplattform Thingai.io
Trinn 1: Komponenter


MASKINKOMPONENTER;
1.esp32 Development Board
2. PIR -sensor
3. Jumper Wires
PROGRAMVARE:
1. Arduino IDE
2. Thingsai.io -konto
Trinn 2: TILKOBLINGER

Tilkoblingene er stille enkle.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 på esp32
GND ------------------ GND på esp32
UT ------------------- D22 på esp32
Trinn 3: KODING
Lim inn denne koden i din Arduino IDE med litt oppdatering, bevegelsessensoren gir utgangen feilfritt.
#inkludere
#inkludere
#inkludere
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
/////////////////////////////////////////////////////////' ////////////////////////////
const char* host = "api.thingsai.io"; // ELLER vert = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ELLER/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // dette er å konvertere tidsstempel
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // Server -URL
røye tidsstempel [10];
WiFiMulti WiFiMulti;
// Bruk WiFiClient -klassen til å opprette TCP -tilkoblinger
WiFiClient -klient;
///////////////////////////// ////////////////////////////////////
int GiveMeTimestamp ()
{
usignert lang tidsavbrudd = millis ();
// WiFiClient -klient;
mens (client.available () == 0)
{
hvis (millis () - timeout> 50000)
{
client.stop ();
retur 0;
}
}
mens (client.available ())
{
String line = client.readStringUntil ('\ r'); // indexOf () er en funksjon for å søke etter smthng, den returnerer -1 hvis den ikke blir funnet
int pos = line.indexOf ("\" tidsstempel / ""); // søk etter "\" tidsstempel / "" fra begynnelsen av svaret, og kopier alle dataene etter det, det vil være ditt tidsstempel
hvis (pos> = 0)
{
int j = 0;
for (j = 0; j <10; j ++)
{
tidsstempel [j] = linje [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
ugyldig oppsett ()
{
Serial.begin (115200);
forsinkelse (10);
pinMode (pin, INPUT);
// Vi starter med å koble til et WiFi -nettverk
WiFiMulti.addAP ("wifi_name", "Wifi_password");
Serial.println ();
Serial.println ();
Serial.print ("Vent på WiFi …");
mens (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
forsinkelse (500);
}
Serial.println ("");
Serial.println ("WiFi tilkoblet");
Serial.println ("IP -adresse:");
Serial.println (WiFi.localIP ());
forsinkelse (500);
}
hulrom ()
{
int analogValue = analogRead (outputpin);
{
////////////////////////////// ///////////////////////
{
bool isDetected = digitalRead (pin);
hvis (isDetected) {
Serial.println ("Tilstedeværelse oppdaget");
}
forsinkelse (500);
}
Serial.print ("koble til");
Serial.println (vert); // definert oppside:- host = devapi2.thethingscloud.com eller 139.59.26.117
/////////////////////////////////////// /////////////////
Serial.println ("inne få tidsstempel / n");
hvis (! client.connect (time_server, {
komme tilbake; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/tidsstempel HTTP/1.1"); // Hva denne delen gjør, skjønte jeg ikke
client.println ("Vert: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // det vil ringe funksjonen som vil få tidsstempelresponsen fra serveren
Serial.println ("tidsstempel mottatt");
Serial.println (tidsstempel);
Serial.println ("inside ThingsCloudPost");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + tidsstempel;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * opprett en forekomst av WiFiClientSecure */
WiFiClientSecure -klient;
Serial.println ("Koble til server via port 443");
if (! client.connect (server, 443)) {
Serial.println ("Tilkoblingen mislyktes!");
} annet {
Serial.println ("Koblet til server!");
/ * opprett HTTP -forespørsel */
client.println ( POST/devices/deviceData
client.println ("Vert: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Innholdstype: applikasjon/json");
client.println ("cache-control: no-cache");
client.println ( Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PTYX9J5YyJ9J5WyQs9y5y9y9y9c9y9c9y9c9p5x9y9c9y9c9p5c9p5g9c5p5g5b5bc5p5bc5p6c5p6p6p6p6p6p6p6p6p6p5g59c5pfb59c5g5b5b5b059b5b5b5b5b5b5b5b059b5b5b5b5b059b5b5b5b5b5b05fb05fb05b05b05b057b5b5b5b5b5b05fb05d05
client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
/////////////////////////////////// server ////////////////////
Serial.print ("Venter på svar");
mens (! client.available ()) {
forsinkelse (50); //
Serial.print (".");
}
/ * hvis data er tilgjengelig, motta og skriv ut til Terminal */
while (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * hvis serveren koblet fra, stopp klienten */
hvis (! client.connected ()) {
Serial.println ();
Serial.println ("Server frakoblet"); javascript:;
client.stop ();
}
}
Serial.println ("//////////////////////// END ///////////////////// ");
forsinkelse (3000);
}
}
Trinn 4: UTGANG

Dette er stolpediagramrepresentasjonen av verdiene som er lest fra sensoren i thingsai, io cloud -plattformen,
Trinn 5: Graf

Dette er den grafiske fremstillingen av verdiene fra sensoren. Fra grafen ovenfor kan vi analysere anvendelsen av sensoren. Takk skal du ha
Anbefalt:
Bevegelsesdetektor som bruker NodeMCU: 5 trinn

Bevegelsesdetektor ved hjelp av NodeMCU: I dette prosjektet kan du ved å bare bruke en bevegelsessensor oppdage tilstedeværelsen av mennesker eller dyr. Og ved plattformen kalt thingsio kan du overvåke dato og klokkeslett da tilstedeværelsen ble oppdaget
Bevegelsesdetektor aktivert servantskapslampe: 6 trinn

Motion Detector Activated Vanity Light: Jeg kjøpte en infrarød bevegelsesdetektorenhet på eBay for $ 1,50 og bestemte meg for å bruke den godt. Jeg kunne ha laget mitt eget bevegelsesdetektortavle, men for 1,50 dollar (som inkluderer 2 trimpotter for å justere følsomheten og slå av timeren) ville det ikke
LDR som bruker Thingsai Cloud: 13 trinn

LDR ved hjelp av Thingsai Cloud: HEY ….. i dag skal vi lære om å måle lysintensiteten og legge ut verdiene i THINGSAI IOT -skyplattformen ved å bruke ESP32. Kravene for å gjøre dette prosjektet er 1. ESP32 Development Board (jeg har brukt ESP32 DEVKIT V1) 2. LD
Hvordan lage en autonom basketballball som bruker en IRobot Lag som base: 7 trinn (med bilder)

Slik lager du en autonom basketballball som bruker en IRobot Lag som base: Dette er min oppføring for iRobot Create -utfordringen. Den vanskeligste delen av hele denne prosessen for meg var å bestemme hva roboten skulle gjøre. Jeg ønsket å demonstrere de kule funksjonene i Create, samtidig som jeg la til litt robo -teft. Alle mine
Bevegelsesdetektor for små områder: 5 trinn

Bevegelsessensor for små avstander: Denne instruktøren vil lære deg hvordan du lager en bevegelsesdetektor for små avstander fra billige deler du kan få på Radioshack. Med dette fine prosjektet kan du variere lysstyrken til detektoren. Dette er min første instruerbare, så vær oppmerksom på enkelheten