Tartalomjegyzék:
- 1. lépés: Alkatrészek
- 2. lépés: KAPCSOLATOK
- 3. lépés: KÓDOLÁS
- 4. lépés: KIMENET
- 5. lépés: Grafikon
- 6. lépés: Itt egy videó a Breif magyarázatáról
Videó: Mozgásérzékelő a Thingsai.io Iot Cloud platform használatával: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ebben az oktatóanyagban elmagyarázom a mozgásérzékelést a PIR érzékelő és az Esp32 használatával, valamint a Thingai.io IOT felhőplatform segítségével
1. lépés: Alkatrészek
HARDVER ALKATRÉSZEK;
1. esp32 Fejlesztési Tanács
2. PIR érzékelő
3. Jumper vezetékek
SZOFTVER:
1. Arduino IDE
2. Thingsai.io fiók
2. lépés: KAPCSOLATOK
Csatlakozások egyszerűek.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 az esp32-en
GND ------------------ GND az esp32-en
OUT ------------------- D22 az esp32-en
3. lépés: KÓDOLÁS
Illessze be ezt a kódot az Arduino IDE -be némi frissítéssel, a mozgásérzékelő hibátlanul adja a kimenetet.
#befoglalni
#befoglalni
#befoglalni
int szám = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
////////////////////////////////////////////////////- /////////////////////////
const char* host = "api.thingsai.io"; // VAGY házigazda = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VAGY/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // ez az időbélyeg konvertálása
const int httpPort = 80;
const int httpsPort = 443;
const char* szerver = "api.thingsai.io"; // Szerver URL -címe
char időbélyeg [10];
WiFiMulti WiFiMulti;
// A WiFiClient osztály használata TCP kapcsolatok létrehozásához
WiFiClient kliens;
////////////////////////////////////////////////- ////////////////////////////////
int GiveMeTimestamp ()
{
unsigned long timeout = millis ();
// WiFiClient kliens;
míg (client.available () == 0)
{
if (millis () - timeout> 50000)
{
client.stop ();
visszatérés 0;
}
}
míg (client.available ())
{
Karakterlánc = ügyfél.readStringUntil ('\ r'); // Az indexOf () az smthng keresésére szolgáló funkció, -1 -et ad vissza, ha nem találja
int pos = line.indexOf ("\" időbélyeg / ""); // keresse a "\" időbélyeg / "" kifejezést a válasz elejétől, majd másolja le az összes adatot, ez lesz az Ön időbélyege
ha (pos> = 0)
{
int j = 0;
mert (j = 0; j <10; j ++)
{
időbélyeg [j] = sor [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
üres beállítás ()
{
Sorozat.kezdet (115200);
késleltetés (10);
pinMode (pin, INPUT);
// Kezdjük azzal, hogy csatlakozunk egy WiFi hálózathoz
WiFiMulti.addAP ("wifi_név", "Wifi_jelszó");
Sorozat.println ();
Sorozat.println ();
Serial.print ("Wait for WiFi …");
while (WiFiMulti.run ()! = WL_CONNECTED) {
Soros.nyomtatás (".");
késleltetés (500);
}
Serial.println ("");
Serial.println ("WiFi csatlakoztatva");
Serial.println ("IP -cím:");
Serial.println (WiFi.localIP ());
késleltetés (500);
}
üres hurok ()
{
int analogValue = analogRead (outputpin);
{
////////////////////////////////////////////////////////////////////////- ////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Jelenlét észlelve");
}
késleltetés (500);
}
Serial.print ("csatlakozás");
Serial.println (gazdagép); // definiált fejjel:- host = devapi2.thethingscloud.com vagy 139.59.26.117
//////////////////////////////////////////////////////TIMESTAMP CODE SNIPPET ///////////////
Serial.println ("inside get timestamp / n");
if (! client.connect (time_server, {
Visszatérés; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/időbélyeg HTTP/1.1"); // Mit csinál ez a rész, nem értettem
client.println ("Gazdagép: baas.thethingscloud.com");
client.println ("Cache-Control: no-cache");
client.println ("Postás-jelző: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // meghívja a függvényt, amely megkapja az időbélyeg -választ a szervertől
Serial.println ("időbélyeg érkezett");
Serial.println (időbélyeg);
Serial.println ("belül ThingsCloudPost");
Karakterlánc PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + időbélyeg;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * hozzon létre egy WiFiClientSecure példányt */
WiFiClientSecure kliens;
Serial.println ("Csatlakozás a szerverhez a 443 -as porton keresztül");
if (! client.connect (szerver, 443)) {
Serial.println ("A kapcsolat nem sikerült!");
} más {
Serial.println ("Csatlakoztatva a szerverhez!");
/ * HTTP kérés létrehozása */
client.println ( POST/devices/deviceData
client.println ("Gazdagép: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Tartalom-típus: application/json");
client.println ("cache-control: no-cache");
client.println ( Jogosultság: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22kvt5kvk
client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
//////////////////////////////////////////////// Az adatok közzététele a felhőbe megtörtént, és most megkapja a válaszfelvételi űrlapot szerver//////////////////
Serial.print ("Válaszra vár");
while (! client.available ()) {
késleltetés (50); //
Soros.nyomtatás (".");
}
/ * ha rendelkezésre állnak adatok, akkor fogadja és nyomtassa ki a terminálra */
while (client.available ()) {
char c = kliens.olvasás ();
Soros.írás (c);
}
/ * ha a szerver megszakadt, állítsa le az ügyfelet */
if (! client.connected ()) {
Sorozat.println ();
Serial.println ("A szerver leválasztva"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// A VÉG //////////////////// ");
késleltetés (3000);
}
}
4. lépés: KIMENET
Ez a sávdiagramon ábrázolja az érzékelő által leolvasott értékeket a Thingsai, io felhő platformon,
5. lépés: Grafikon
Ez az érzékelőből származó értékek grafikus ábrázolása. A fenti grafikonból elemezhetjük az érzékelő alkalmazását. Köszönöm
Ajánlott:
Mozgásérzékelő vízcsap Arduino és mágnesszelep használatával - DIY: 6 lépés
Mozgásérzékelő vízcsap az Arduino és a mágnesszelep használatával - DIY: Ebben a projektben megmutatom, hogyan lehet mozgásérzékelő vízcsapot építeni mágnesszelep segítségével. Ez a projekt segíthet a meglévő kézi vízcsap átalakításában csapnak, amelyet mozgásérzékelés alapján lehet vezérelni. Az infravörös érzékelő interfészének használata
DHT hőmérséklet és páratartalom monitorozás az ESP8266 és az AskSensors IoT platform használatával: 8 lépés
DHT hőmérséklet- és páratartalom -figyelés az ESP8266 és az AskSensors IoT Platform használatával: Egy korábbi utasításban lépésről lépésre ismertettem az ESP8266 nodeMCU és az AskSensors IoT platform használatának megkezdéséhez. Ebben az oktatóanyagban DHT11 érzékelőt csatlakoztatok az MCU csomóponthoz. A DHT11 általánosan használt hőmérséklet és páratartalom
IoT alap platform RaspberryPi -vel, WIZ850io: Platform eszközillesztő: 5 lépés (képekkel)
IoT alapplatform RaspberryPi -vel, WIZ850io: Platform eszközillesztő: Ismerem a RaspberryPi IoT platformot. A közelmúltban a WIZnet bejelentette a WIZ850io -t. Tehát egy RaspberryPi alkalmazást valósítottam meg Ethernet SW módosítással, mert könnyen tudok kezelni egy forráskódot. A RaspberryPi segítségével tesztelheti a platform eszközillesztőjét
Mozgásérzékelő a NodeMCU használatával: 5 lépés
Mozgásérzékelő a NodeMCU használatával: Ebben a projektben egyszerűen egy mozgásérzékelő használatával észlelheti bármely ember vagy állat jelenlétét. A thingsio nevű platformon pedig nyomon követheti a jelenlét észlelésének dátumát és időpontját
LDR a Thingsai Cloud használatával: 13 lépés
LDR A Thingsai Cloud használatával: Hé ….. ma megtanuljuk a fényintenzitás mérését és az értékek közzétételét a THINGSAI IOT felhőplatformon az ESP32 használatával. A projekt végrehajtásához szükséges követelmények a következők: 1. ESP32 Fejlesztési Tanács (az ESP32 DEVKIT V1 -et használtam) 2. LD