Satura rādītājs:
- 1. darbība: sastāvdaļas
- 2. darbība: SAVIENOJUMI
- 3. darbība: kodēšana
- 4. solis: IZEJA
- 5. solis: grafiks
- 6. darbība. Šeit ir Breif skaidrojuma video
Video: Kustību detektors, izmantojot Thingsai.io Iot Cloud platformu: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šajā apmācībā es paskaidrošu par kustības noteikšanu, izmantojot PIR sensoru un Esp32 kopā ar IOT mākoņa platformu Thingai.io
1. darbība: sastāvdaļas
Aparatūras komponenti;
1. esp32 Attīstības padome
2. PIR sensors
3. Jumper vadi
PROGRAMMATŪRA:
1. Arduino IDE
2. Thingsai.io konts
2. darbība: SAVIENOJUMI
Savienojumi ir klusi vienkārši.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 uz esp32
GND ------------------ GND uz esp32
OUT ------------------- D22 uz esp32
3. darbība: kodēšana
Ielīmējiet šo kodu savā Arduino IDE, nedaudz atjauninot, jūsu kustības sensors nodrošinās izvadi nevainojami.
#iekļaut
#iekļaut
#iekļaut
int skaits = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////
const char* saimnieks = "api.thingsai.io"; // VAI saimniekdators = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VAI/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // tas ir laika zīmoga konvertēšana
const int httpPort = 80;
const int httpsPort = 443;
const char* serveris = "api.thingsai.io"; // Servera URL
simbolu laika zīmogs [10];
WiFiMulti WiFiMulti;
// Izmantojiet WiFiClient klasi, lai izveidotu TCP savienojumus
WiFiClient klients;
/////////////////////////////////////- ////////////////////////////////
int GiveMeTimestamp ()
{
neparakstīts ilgs taimauts = milis ();
// WiFiClient klients;
kamēr (client.available () == 0)
{
ja (milis () - noildze> 50000)
{
client.stop ();
atgriezties 0;
}
}
kamēr (client.available ())
{
String line = client.readStringUntil ('\ r'); // indexOf () ir funkcija smthng meklēšanai, tā atgriež -1, ja tā netiek atrasta
int pos = line.indexOf ("\" laika zīmogs / ""); // no atbildes sākuma meklējiet "\" timestamp / "" un pēc tam nokopējiet visus datus, tas būs jūsu laika zīmogs
ja (poz> = 0)
{
int j = 0;
par (j = 0; j <10; j ++)
{
laika zīmogs [j] = līnija [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
anulēts iestatījums ()
{
Serial.begin (115200);
kavēšanās (10);
pinMode (pin, INPUT);
// Mēs sākam, izveidojot savienojumu ar WiFi tīklu
WiFiMulti.addAP ("wifi_name", "Wifi_password");
Sērijas.println ();
Sērijas.println ();
Serial.print ("Pagaidiet WiFi …");
kamēr (WiFiMulti.run ()! = WL_CONNECTED) {
Sērijas nospiedums (".");
kavēšanās (500);
}
Serial.println ("");
Serial.println ("savienots WiFi");
Serial.println ("IP adrese:");
Serial.println (WiFi.localIP ());
kavēšanās (500);
}
tukša cilpa ()
{
int analogValue = analogRead (outputpin);
{
///////////////////////////////// ////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Noteikta klātbūtne");
}
kavēšanās (500);
}
Serial.print ("savienojums ar");
Serial.println (resursdators); // definēts otrādi:- resursdators = devapi2.thethingscloud.com vai 139.59.26.117
////////////////////////////////////////////////////////////////// LAIKAZĪMES KODA SNIPPETS ////////// ////////////////
Serial.println ("iekšā iegūt laika zīmogu / n");
ja (! client.connect (time_server, {
atgriešanās; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/timestamp HTTP/1.1"); // Ko dara šī daļa, es nesaņēmu
client.println ("Saimnieks: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Pastnieks-marķieris: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klients.println ();
GiveMeTimestamp (); // tas izsauks funkciju, kas no servera saņems atbildi uz laika zīmogu
Serial.println ("saņemts laika zīmogs");
Serial.println (laika zīmogs);
Serial.println ("iekšā ThingsCloudPost");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + laika zīmogs;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * izveidot WiFiClientSecure gadījumu */
WiFiClientSecure klients;
Serial.println ("Savienojuma izveide ar serveri, izmantojot portu 443");
ja (! client.connect (serveris, 443)) {
Serial.println ("Savienojums neizdevās!");
} vēl {
Serial.println ("Savienojums ar serveri!");
/ * izveidot HTTP pieprasījumu */
client.println ( POST/devices/deviceData
client.println ("Saimnieks: api.thingsai.io");
//klients.println ("Savienojums: aizvērt ");
client.println ("Satura tips: lietojumprogramma/json");
client.println ("cache-control: no-cache");
client.println ( Autorizācija: nesējs eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2kvk
client.print ("Content-Length:");
client.println (PostValue.length ());
klients.println ();
client.println (PostValue);
/////////////////////////////////////////////////?Hl=lv&hl=lv datu ievietošana mākonī ir pabeigta un tagad saņem atbildes mākoni serveris ////////////////////
Serial.print ("Gaida atbildi");
kamēr (! client.available ()) {
kavēšanās (50); //
Sērijas nospiedums (".");
}
/ * ja ir pieejami dati, saņemiet un drukājiet uz termināli */
while (client.available ()) {
char c = klients.lasīt ();
Serial.write (c);
}
/ * ja serveris ir atvienots, apturiet klientu */
ja (! client.connected ()) {
Sērijas.println ();
Serial.println ("Atvienots serveris"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// THE END //////////////////// ");
kavēšanās (3000);
}
}
4. solis: IZEJA
Šī ir joslu diagramma, kurā attēlotas vērtības, kas nolasītas no sensora lietā, io mākoņa platformā,
5. solis: grafiks
Šis ir sensora vērtību grafiskais attēlojums. No iepriekš redzamās diagrammas mēs varam analizēt sensora pielietojumu. Paldies
Ieteicams:
DHT temperatūras un mitruma uzraudzība, izmantojot ESP8266 un AskSensors IoT platformu: 8 soļi
DHT temperatūras un mitruma uzraudzība, izmantojot ESP8266 un AskSensors IoT platformu: Iepriekšējā pamācībā es piedāvāju soli pa solim norādījumus, lai sāktu darbu ar ESP8266 nodeMCU un AskSensors IoT platformu. Šajā apmācībā es pievienoju DHT11 sensoru uz mezglu MCU. DHT11 ir plaši izmantota temperatūra un mitrums
Ķirzakas terārija uzraudzība, izmantojot Adosia IoT WiFi kontrolieri + kustību noteikšana: 17 soļi (ar attēliem)
Ķirzakas terārija uzraudzība, izmantojot Adosia IoT WiFi kontrolieri + kustību noteikšanu: šajā apmācībā mēs parādīsim, kā izveidot vienkāršu ķirzakas terāriju saujai skink olu, kuras nejauši atradām un traucējām dārza darbos. Mēs vēlamies, lai olas izšķiļas droši, tāpēc viss, ko mēs darīsim, ir izveidot drošu telpu, izmantojot plastmasu
Kustību detektors, izmantojot NodeMCU: 5 soļi
Kustības detektors, izmantojot NodeMCU: Šajā projektā, vienkārši izmantojot kustības sensoru, jūs varat noteikt jebkura cilvēka vai dzīvnieka klātbūtni. Izmantojot platformu Thingsio, jūs varat uzraudzīt datumu un laiku, kad klātbūtne tika atklāta
LDR, izmantojot Thingsai Cloud: 13 soļi
LDR, izmantojot Thingsai Cloud: HEY ….. šodien mēs uzzināsim par gaismas intensitātes mērīšanu un vērtību ievietošanu THINGSAI IOT mākoņu platformā, izmantojot ESP32. Prasības šī projekta īstenošanai ir 1. ESP32 attīstības padome (esmu izmantojis ESP32 DEVKIT V1) 2. LD
Kustību detektors ar Blynk paziņojumiem (WeMos D1 Mini + HC-SR04): 4 soļi (ar attēliem)
Kustību detektors ar Blynk paziņojumiem (WeMos D1 Mini + HC-SR04): Lūdzu, BALSOJIET par šo projektu bezvadu konkursā. Paldies! Atjauninājums Nr. 2 - daži uzlabojumi (versija 2.2), jūs varat iestatīt sensoru (diapazonu un nosaukumu) tieši definīcijā. Turklāt dažreiz gadījās, ka sensors nolasīja nepareizas vērtības un nosūtīja paziņojumu