Tartalomjegyzék:
- 1. lépés: ALKOTRÉSZEK
- 2. lépés: KAPCSOLATOK:
- 3. lépés: KÓDOLÁS:
- 4. lépés: EREDMÉNY:
- 5. lépés: Teljes tutorial:
Videó: Közelségmérés: 5 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 az eszköz közelségének mérését, és az értékek közzétételét a Thingsai, io felhőplatformon a hall -érzékelő és az esp32 fejlesztőtábla segítségével.
A Hall -effektus érzékelő egy olyan eszköz, amelyet a mágneses mező nagyságának mérésére használnak. Kimeneti feszültsége egyenesen arányos a rajta keresztül mágneses térerővel. A Hall -effektus -érzékelőket közelségérzékelésre, helymeghatározásra, sebességérzékelésre és áramérzékelő alkalmazásokra használják.
1. lépés: ALKOTRÉSZEK
Hardver alkatrészek:
1. Hall -érzékelő
2. esp32 fejlesztőtábla
3. Jumper vezetékek
Szoftverösszetevők:
1. Arduino IDE
2. ThingsIO. AI
2. lépés: KAPCSOLATOK:
Hall-érzékelő ---------------------- esp32
Körülbelül ------------------------------ vp
Gnd ----------------------------- Gnd
Vcc ------------------------------ 3V3
3. lépés: KÓDOLÁS:
#befoglalni
#befoglalni
#befoglalni
int szám = 0, i, m, j, k;
int mérés;
int outputpin = A0; // ds18b20
//////////////////////////////////////////////////////// MINDEN NYILATKOZAT
a CLOUD //////////////////////////////
const char* host = "api.thingsai.io"; // VAGY gazdagép =
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;
/////////////////////////////////////// IDŐBÉLYEG
SZÁMÍTÁS funkció ///////////////////////////////////////
int GiveMeTimestamp ()
{
aláíratlan hosszú
timeout = millis ();
// WiFiClient kliens;
míg
(client.available () == 0)
{
ha (millis () -
időtúllépés> 50000)
{
client.stop ();
visszatérés 0;
}
}
míg (client.available ())
{
Karakterlánc =
client.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);
// Kezdjük azzal
csatlakozás 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);
{
/////////////////////////////////////////////////////////////-
FOGADJA A VÁLASZOT ///////////////////////
int mérés
= 0;
mérés =
hallRead ();Serial.print ("Hall -érzékelő mérése:");Soros.println (mérés);
késleltetés (1000);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");
ha
(! 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 értettemclient.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élyegző 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 / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + időbélyeg;
PostValue =
PostValue +", \" adatok / ": {" proximity / ":" +mérés +"}" +"}";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");
ha
(! client.connect (szerver, 443)) {Serial.println ("A kapcsolat nem sikerült!");
} más {Serial.println ("Csatlakoztatva a szerverhez!");
/* HTTP létrehozása
kérés */
client.println ( POST
/devices/deviceData HTTP/1.1 ");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 ( Engedélyezés:
Hordozó eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKd5_97 "client.print ("Content-Length:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
//////////////////////////////////// Az adatok közzététele a
a felhő elkészült, és most megkapja a válasz formáját felhő szerver //////////////////
Serial.print ( Válaszra vár
);
míg
(! client.available ()) {
késleltetés (50);
//Soros.nyomtatás (".");
}
/* ha az adatok
elérhető, majd fogadja és nyomtatja a terminálra */
míg
(client.available ()) {
char c =
client.read ();Soros.írás (c);
}
/ * ha a szerver megszakadt, állítsa le az ügyfelet */
ha
(! client.connected ()) {Sorozat.println ();Serial.println ("A kiszolgáló leválasztva");client.stop ();
}
}
Serial.println ( ////////////////////// A VÉGE
///////////////////// );
késleltetés (3000);
}}
4. lépés: EREDMÉNY:
Az érzékelőből kiolvasott értékeket a rendszer sikeresen elküldi az IOT felhőbe, és a grafikon a proximity vs time szerint jön létre. Ezzel az érzékelő működését a szükséges alkalmazási területeknek megfelelően elemzik és használják.
5. lépés: Teljes tutorial:
Ez a teljes projekt egy eszköz közelségének mérésére az esp32 hall szenzor és a thingsai.io felhőplatform segítségével. Köszönöm
Ajánlott:
Távolság -közelségmérés APDS9960 gesztusérzékelővel: 6 lépés
Távolság -közelségmérés az APDS9960 gesztusérzékelővel: Ebben az oktatóanyagban megtanuljuk, hogyan kell mérni a távolságot az APDS9960, arduino és Visuino gesztusérzékelő segítségével. Nézze meg a videót
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő