Innehållsförteckning:
- Steg 1: Komponenter
- Steg 2: ANSLUTNINGAR
- Steg 3: KODNING
- Steg 4: UTGÅNG
- Steg 5: Graf
- Steg 6: Här är en video med Breif -förklaring
Video: Rörelsedetektor med Thingsai.io Iot Cloud Platform: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
I denna handledning ska jag förklara rörelsedetektering med hjälp av en PIR -sensor och Esp32 tillsammans med en IOT -molnplattform Thingai.io
Steg 1: Komponenter
HARDWARE -KOMPONENTER;
1.esp32 Development Board
2. PIR -sensor
3. Bygeltrådar
PROGRAMVARA:
1. Arduino IDE
2. Thingsai.io -konto
Steg 2: ANSLUTNINGAR
Anslutningarna är tysta enkla.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 på esp32
GND ------------------ GND på esp32
UT ------------------- D22 på esp32
Steg 3: KODNING
Klistra in den här koden i din Arduino IDE med lite uppdatering, din rörelsesensor ger utgången felfritt.
#omfatta
#omfatta
#omfatta
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
/////////////////////////////////////////////////////// ////////////////////////////
const char* host = "api.thingsai.io"; // ELLER värd = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ELLER/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // detta är att konvertera tidsstämpel
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // Server -URL
rödstämpel [10];
WiFiMulti WiFiMulti;
// Använd WiFiClient -klass för att skapa TCP -anslutningar
WiFiClient -klient;
/////////////////////////// ////////////////////////////////////
int GiveMeTimestamp ()
{
osignerad lång timeout = millis ();
// WiFiClient -klient;
medan (client.available () == 0)
{
if (millis () - timeout> 50000)
{
client.stop ();
returnera 0;
}
}
medan (client.available ())
{
String line = client.readStringUntil ('\ r'); // indexOf () är en funktion för att söka efter smthng, den returnerar -1 om den inte hittas
int pos = line.indexOf ("\" tidsstämpel / ""); // sök efter "\" tidsstämpel / "" från början av svaret och kopiera all data efter det, det blir din tidsstämpel
om (pos> = 0)
{
int j = 0;
för (j = 0; j <10; j ++)
{
tidsstämpel [j] = rad [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{
Serial.begin (115200);
fördröjning (10);
pinMode (pin, INPUT);
// Vi börjar med att ansluta till ett WiFi -nätverk
WiFiMulti.addAP ("wifi_name", "Wifi_password");
Serial.println ();
Serial.println ();
Serial.print ("Vänta på WiFi …");
medan (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
fördröjning (500);
}
Serial.println ("");
Serial.println ("WiFi ansluten");
Serial.println ("IP -adress:");
Serial.println (WiFi.localIP ());
fördröjning (500);
}
void loop ()
{
int analogValue = analogRead (outputpin);
{
//////////////////////////////// /////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Närvaro upptäckt");
}
fördröjning (500);
}
Serial.print ("ansluta till");
Serial.println (värd); // definierad uppåt:- host = devapi2.thethingscloud.com eller 139.59.26.117
///////////////////////////////////// /////////////////
Serial.println ("inside get timestamp / n");
if (! client.connect (time_server, {
lämna tillbaka; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/tidsstämpel HTTP/1.1"); // Vad gör den här delen, jag förstod inte
client.println ("Värd: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // den kommer att ringa till funktionen som kommer att få tidsstämpelns svar från servern
Serial.println ("tidsstämpel mottagen");
Serial.println (tidsstämpel);
Serial.println ("inside ThingsCloudPost");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + tidsstämpel;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * skapa en instans av WiFiClientSecure */
WiFiClientSecure -klient;
Serial.println ("Anslut till servern via port 443");
if (! client.connect (server, 443)) {
Serial.println ("Anslutningen misslyckades!");
} annat {
Serial.println ("Ansluten till server!");
/ * skapa HTTP -begäran */
client.println ( POST/devices/deviceData
client.println ("Värd: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Innehållstyp: applikation/json");
client.println ("cache-control: no-cache");
client.println ( Auktorisation: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC9PN5s9x59y7j9y7s9y7j9j7j9j5j9j5jjjj9JyJjjj9JjjJjJjJjJjJjjjJjJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
///////////////////////////////////// server ////////////////////
Serial.print ("Väntar på svar");
medan (! client.available ()) {
fördröjning (50); //
Serial.print (".");
}
/ * om data finns tillgänglig, ta sedan emot och skriv ut till terminal */
medan (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * om servern kopplades bort, stoppa klienten */
if (! client.connected ()) {
Serial.println ();
Serial.println ("Server bortkopplad"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// END ///////////////////// ");
fördröjning (3000);
}
}
Steg 4: UTGÅNG
Detta är stapeldiagramrepresentationen för de värden som läses från sensorn i thingsai, io molnplattform,
Steg 5: Graf
Detta är den grafiska representationen av värdena från sensorn. Från grafen ovan kan vi analysera sensorns tillämpning. Tack
Rekommenderad:
Rörelsedetektor med NodeMCU: 5 steg
Rörelsedetektor med hjälp av NodeMCU: I det här projektet kan du genom att helt enkelt använda en rörelsessensor upptäcka närvaron av alla människor eller djur. Och genom plattformen som heter thingsio kan du övervaka datum och tid då närvaron detekterades
Rörelsedetektor aktiverat fåfängljus: 6 steg
Motion Detector Activated Vanity Light: Jag köpte en infraröd rörelsedetektorenhet på eBay för $ 1,50 och bestämde mig för att använda den. Jag kunde ha gjort min egen rörelsedetektortavla, men för 1,50 dollar (som inkluderar 2 trimkrukor för att justera känsligheten och avstängningstimern) skulle det inte
LDR med Thingsai Cloud: 13 steg
LDR Använda Thingsai Cloud: HEJ ….. idag lär vi oss att mäta ljusintensiteten och lägga upp värdena i THINGSAI IOT -molnplattformen med hjälp av ESP32. Kraven för att göra detta projekt är 1. ESP32 Development Board (jag har använt ESP32 DEVKIT V1) 2. LD
Rörelsedetektor för små avstånd: 5 steg
Rörelsedetektor för små avstånd: Den här instruerbara lär dig hur man gör en rörelsedetektor för små avstånd från billiga delar som du kan få på Radioshack. Med detta snygga projekt kan du variera ljusstyrkan på detektorn. Detta är min första instruerbara, så tänk på enkelheten
Rörelsedetektor med Blynk-meddelanden (WeMos D1 Mini + HC-SR04): 4 steg (med bilder)
Rörelsedetektor med Blynk-meddelanden (WeMos D1 Mini + HC-SR04): RÖSTA för detta projekt i den trådlösa tävlingen. Tack! Uppdatering nr 2 - Några tweaks (version 2.2), du kan ställa in din sensor (intervall och namn) direkt i definitionen. Det hände också ibland att sensorn läste fel värden och skickade meddelande