Përmbajtje:
- Hapi 1: Përbërësit
- Hapi 2: LIDHJET
- Hapi 3: KODIMI
- Hapi 4: dalje
- Hapi 5: Grafikoni
- Hapi 6: Këtu keni një Video të Shpjegimit të Breif
Video: Detektori i Lëvizjes Duke Përdorur Thingsai.io Iot Cloud Platform: 6 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:19
Në këtë tutorial do të shpjegoj për zbulimin e lëvizjes duke përdorur një sensor PIR dhe Esp32 së bashku me një platformë cloud IOT Thingai.io
Hapi 1: Përbërësit
P CORBRSIT HARDWARE;
1.esp32 Bordi i Zhvillimit
2. Sensori PIR
3. Telat Jumper
SOFTUER:
1. Arduino IDE
2. Llogaria Thingsai.io
Hapi 2: LIDHJET
Lidhjet janë të qeta të thjeshta.
PINA PIR ------------ PINS ESP32
KQV ------------------- 3V3 në esp32
GND ------------------ GND në esp32
JASHT ------------------- D22 në esp32
Hapi 3: KODIMI
Ngjiteni këtë kod në Arduino IDE tuaj me një përditësim, sensori juaj i Lëvizjes do të japë daljen në mënyrë të përsosur.
#përfshi
#përfshi
#përfshi
int numërimi = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
///////////////////////////////////////// T ALL GJITH DEKLARATATA P CLR ROUN ////// //////////////////////////
const char* host = "api.thingsai.io"; // OSE host = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OR/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // kjo është për të konvertuar vulën kohore
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // URL e serverit
vula e kohës char [10];
WiFiMulti WiFiMulti;
// Përdorni klasën WiFiClient për të krijuar lidhje TCP
Klienti WiFiClient;
//////////////////////////////////////// Funksioni i KALIMIT TIMESTAMP ///////// /////////////////////////////////
int GiveMeTimestamp ()
{
timeout i panënshkruar i gjatë = millis ();
// klienti WiFiClient;
ndërsa (client.available () == 0)
{
nëse (millis () - timeout> 50000)
{
client.stop ();
kthimi 0;
}
}
ndërsa (klienti i disponueshëm ())
{
String line = client.readStringUntil ('\ r'); // indexOf () është një funksion për të kërkuar smthng, ai kthen -1 nëse nuk gjendet
int pos = line.indexOf ("\" afati kohor / ""); // kërko për "\" timestamp / "" që nga fillimi i përgjigjes mori dhe kopjo të gjitha të dhënat pas kësaj, do të jetë vula juaj kohore
nëse (pos> = 0)
{
int j = 0;
për (j = 0; j <10; j ++)
{
vula kohore [j] = rreshti [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup ()
{
Serial.filloj (115200);
vonesa (10);
pinMode (pin, INPUT);
// Fillojmë duke u lidhur me një rrjet WiFi
WiFiMulti.addAP ("emri wifi", "fjalëkalimi Wifi");
Serial.println ();
Serial.println ();
Serial.print ("Prisni për WiFi …");
ndërsa (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
vonesë (500);
}
Serial.println ("");
Serial.println ("WiFi i lidhur");
Serial.println ("Adresa IP:");
Serial.println (WiFi.localIP ());
vonesë (500);
}
lak void ()
{
int analogValue = analogRead (outputpin);
{
/////////////////////////////////////// Dërgo pyetjen dhe marrjen e përgjigjes //// /////////////////////
{
bool isDetected = digitalRead (pin);
nëse (është Zbuluar) {
Serial.println ("Prezenca u zbulua");
}
vonesë (500);
}
Serial.print ("lidh me");
Serial.println (host); // e përcaktuar me kokë:- host = devapi2.thethingscloud.com ose 139.59.26.117
////////////////////////////////////// TIMESTAMP KODI SNIPPET /////////// /////////////////
Serial.println ("brenda merrni vulën kohore / n");
nëse (! client.connect (server_ kohë, {
kthim; //*-*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/timestamp HTTP/1.1"); // Çfarë bën kjo pjesë, nuk e kuptova
client.println ("Pritësi: baas.thethingscloud.com");
client.println ("Cache-Control: pa-cache");
client.println ("Postier-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp (); // do të thërrasë funksionin i cili do të marrë përgjigjen e afatit kohor nga serveri
Serial.println ("vula kohore e marrë");
Serial.println (vula kohore);
Serial.println ("brenda ThingsCloudPost");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + vula kohore;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * krijoni një shembull të WiFiClientSecure */
Klient WiFiClientSecure;
Serial.println ("Lidhu me serverin përmes portit 443");
nëse (! client.connect (server, 443)) {
Serial.println ("Lidhja dështoi!");
} tjetër {
Serial.println ("I lidhur me serverin!");
/ * krijoni një kërkesë HTTP */
client.println ( POST/pajisje/pajisjeData
client.println ("Pritësi: api.thingsai.io");
//client.println("Lidhja: mbyll ");
client.println ("Lloji i përmbajtjes: aplikacion/json");
client.println ("cache-control: pa-cache");
client.println ("autorizimit Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY");
client.print ("Përmbajtja-Gjatësia:");
client.println (PostValue.length ());
klient.println ();
client.println (PostValue);
////////////////////////////////// POSTIMI i të dhënave në cloud është bërë dhe tani merrni formularin e përgjigjes cloud server ////////////////////
Serial.print ("Në pritje të përgjigjes");
ndërsa (! client.available ()) {
vonesë (50); //
Serial.print (".");
}
/ * nëse të dhënat janë të disponueshme, merrni dhe printoni në Terminal */
ndërsa (client.available ()) {
char c = client.read ();
Serial.shkruani (c);
}
/ * nëse serveri është shkëputur, ndaloni klientin */
nëse (! client.connected ()) {
Serial.println ();
Serial.println ("Serveri u shkëput"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// FUNDI ///////////////////// ");
vonesë (3000);
}
}
Hapi 4: dalje
Ky është paraqitja e grafikut me shirita të vlerave të lexuara nga sensori në platformën cloud things, io,
Hapi 5: Grafikoni
Ky është paraqitja grafike e vlerave nga sensori. Nga grafiku i mësipërm mund të analizojmë aplikimin e sensorit. Faleminderit
Recommended:
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Foton Particle: 4 Hapa
Gjurmimi i Lëvizjes duke Përdorur MPU-6000 dhe Foton Particle: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Boshtësh dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Arduino Nano: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër me 3 boshte dhe një xhiroskop me 3 boshte të ngulitura në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: 4 Hapa
Ndjekja e Lëvizjes duke Përdorur MPU-6000 dhe Raspberry Pi: MPU-6000 është një Sensor i Ndjekjes së Lëvizjes me 6 Aks, i cili ka një akselerometër 3-Bosht dhe një xhiroskop 3-Bosht të ngulitur në të. Ky sensor është i aftë të gjurmojë në mënyrë efikase pozicionin dhe vendndodhjen e saktë të një objekti në rrafshin 3-dimensional. Mund të punësohet në
Detektori i lëvizjes duke përdorur NodeMCU: 5 hapa
Detektori i lëvizjes duke përdorur NodeMCU: Në këtë projekt, thjesht duke përdorur një sensor lëvizjeje ju mund të zbuloni praninë e çdo njeriu ose kafshe. Dhe nga platforma e quajtur thingsio ju mund të monitoroni datën dhe kohën në të cilën u zbulua prania
LDR duke përdorur Thingsai Cloud: 13 hapa
LDR Duke përdorur Thingsai Cloud: HEY ….. sot do të mësojmë për matjen e intensitetit të dritës dhe postimin e vlerave në platformën cloud THINGSAI IOT duke përdorur ESP32. Kërkesat për të bërë këtë projekt janë 1. Bordi i Zhvillimit ESP32 (Unë kam përdorur ESP32 DEVKIT V1) 2. LD