
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38

V tomto tutoriálu vysvětlím detekci pohybu pomocí PIR senzoru a Esp32 spolu s cloudovou platformou IOT Thingai.io
Krok 1: Součásti


HARDWAROVÉ KOMPONENTY;
1. Vývojová rada esp32
2. Čidlo PIR
3. Propojovací vodiče
SOFTWARE:
1. Arduino IDE
2. Účet Thingsai.io
Krok 2: PŘIPOJENÍ

Spojení jsou tichá jednoduchá.
PIR PINY ------------ ESP32 PINS
VCC ------------------- 3V3 na esp32
GND ------------------ GND na esp32
OUT ------------------- D22 na esp32
Krok 3: KÓDOVÁNÍ
Vložte tento kód do svého Arduino IDE s nějakou aktualizací, váš pohybový senzor poskytne výstup bezchybně.
#zahrnout
#zahrnout
#zahrnout
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
//////////////////////////////////////////// VŠE PROHLÁŠENÍ PRO CLOUD ////// //////////////////////////
const char* host = "api.thingsai.io"; // NEBO hostitel = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // NEBO/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // toto má převést časové razítko
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // URL serveru
časové razítko char [10];
WiFiMulti WiFiMulti;
// Pomocí třídy WiFiClient vytvořte připojení TCP
Klient WiFiClient;
///////////////////////////////////////////// VÝPOČET ČASOVÉHO RÁMCE //////// ///////////////////////////////////
int GiveMeTimestamp ()
{
nepodepsaný dlouhý časový limit = milis ();
// klient WiFiClient;
while (client.available () == 0)
{
if (millis () - timeout> 50 000)
{
client.stop ();
návrat 0;
}
}
while (client.available ())
{
Řetězec řetězce = client.readStringUntil ('\ r'); // indexOf () je funkce pro hledání něčeho, vrací -1, pokud není nalezena
int pos = line.indexOf ("\" časové razítko / ""); // vyhledejte "\" časové razítko / "" od začátku odpovědi a poté zkopírujte všechna data, bude to vaše časové razítko
if (poz> = 0)
{
int j = 0;
pro (j = 0; j <10; j ++)
{
časové razítko [j] = řádek [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
neplatné nastavení ()
{
Serial.begin (115200);
zpoždění (10);
pinMode (pin, INPUT);
// Začneme připojením k WiFi síti
WiFiMulti.addAP („název_wifi“, „heslo_Wifi“);
Serial.println ();
Serial.println ();
Serial.print ("Počkejte na WiFi …");
while (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
zpoždění (500);
}
Serial.println ("");
Serial.println ("WiFi připojeno");
Serial.println ("IP adresa:");
Serial.println (WiFi.localIP ());
zpoždění (500);
}
prázdná smyčka ()
{
int analogValue = analogRead (outputpin);
{
///////////////////////////////////////////// ODESLAT DOTAZ A ZÍSKAT ODPOVĚĎ //// /////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Přítomnost detekována");
}
zpoždění (500);
}
Serial.print („připojení k“);
Serial.println (hostitel); // definováno vzhůru nohama:- host = devapi2.thethingscloud.com nebo 139.59.26.117
/////////////////////////////////////////// TIMESTAMP CODE SNIPPET //////////// /////////////////
Serial.println ("uvnitř získat časové razítko / n");
if (! client.connect (time_server, {
vrátit se; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/timestamp HTTP/1.1"); // Co tato část dělá, jsem nepochopil
client.println ("Host: baas.thethingscloud.com");
client.println ("Řízení mezipaměti: bez mezipaměti");
client.println ("Pošťák-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // zavolá funkci, která získá odpověď časového razítka ze serveru
Serial.println ("časové razítko přijato");
Serial.println (časové razítko);
Serial.println („uvnitř ThingsCloudPost“);
Řetězec PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + časové razítko;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * vytvořit instanci WiFiClientSecure */
WiFiClientSecure klient;
Serial.println ("Připojit k serveru přes port 443");
if (! client.connect (server, 443)) {
Serial.println ("Připojení se nezdařilo!");
} else {
Serial.println („Připojeno k serveru!“);
/ * vytvořit požadavek HTTP */
client.println ( POST/zařízení/data zařízení
client.println ("Host: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Typ obsahu: aplikace/json");
client.println ("ovládání mezipaměti: bez mezipaměti");
client.println ("Autorizace: Nositel eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkxs"
client.print ("Délka obsahu:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
////////////////////////////////////// VYDÁVÁNÍ dat do cloudu je hotové a nyní získejte odpověď v cloudu server ////////////////////
Serial.print ("Čekání na odpověď");
while (! client.available ()) {
zpoždění (50); //
Serial.print (".");
}
/ * pokud jsou data k dispozici, přijměte je a vytiskněte na terminálu */
while (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * pokud se server odpojí, zastavte klienta */
if (! client.connected ()) {
Serial.println ();
Serial.println ("Server odpojen"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////////// KONEC /////////////////////////// ");
zpoždění (3000);
}
}
Krok 4: VÝSTUP

Toto je sloupcový graf znázornění hodnot načtených ze senzoru v cloudové platformě thingsai, io,
Krok 5: Graf

Toto je grafické znázornění hodnot ze snímače. Z výše uvedeného grafu můžeme analyzovat aplikaci senzoru. Děkuji
Doporučuje:
Sestavte si vlastní cloudovou lampu DYI!: 13 kroků

Sestavte si vlastní cloudovou lampu DYI !: Proč postavit cloudovou lampu? Protože to vypadá úžasně! Alespoň to lidé říkají … Hej! Jmenuji se Erick. Tento projekt vznikl při zvažování dárků pro mou 3letou sestru. Cloudová lampa je ozdobou i světlem, konkrétně
Automatický železniční přejezdový systém využívající integrovanou platformu založenou na Arduinu: 9 kroků

Automatický železniční přejezd využívající integrovanou platformu založenou na Arduinu: Vánoce jsou jen za týden! Všichni jsou zaneprázdněni oslavami a přijímáním dárků, což je mimochodem o to těžší získat s nekonečnými možnostmi všude kolem nás. Co takhle jít klasickým dárkem a přidat trochu DIY do
Detektor pohybu pomocí NodeMCU: 5 kroků

Detektor pohybu pomocí NodeMCU: V tomto projektu můžete jednoduše pomocí pohybového senzoru detekovat přítomnost jakéhokoli člověka nebo zvířete. A na platformě s názvem thingsio můžete sledovat datum a čas, kdy byla přítomnost detekována
Detektor pohybu aktivovaný Vanity Light: 6 kroků

Detektor pohybu aktivovaný Vanity Light: Koupil jsem na eBay infračervený detektor pohybu za 1,50 $ a rozhodl jsem se ho dobře využít. Mohl jsem si vyrobit vlastní desku detektoru pohybu, ale za 1,50 $ (která obsahuje 2 ozdobné hrnce pro nastavení citlivosti a časovač vypnutí) by to nevypadalo
Detektor kouře IOT: Aktualizujte stávající detektor kouře pomocí IOT: 6 kroků (s obrázky)

Detektor kouře IOT: Aktualizujte stávající detektor kouře pomocí IOT: Seznam přispěvatelů, Vynálezce: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Vedoucí: Dr. Chia Kim Seng Katedra mechatronického a robotického inženýrství, Fakulta elektrotechniky a elektroniky, Universiti Tun Hussein Onn Malajsie. Distribuovat