Sisukord:
- Samm: komponendid
- 2. samm: ÜHENDUSED
- 3. samm: KOODIMINE
- 4. samm: VÄLJUND
- Samm: graafik
- 6. samm: siin on Breifi selgituse video
Video: Liikumisandur, kasutades Thingsai.io Iot pilvplatvormi: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Selles õpetuses selgitan liikumistuvastust, kasutades PIR -andurit ja Esp32 koos IOT pilvplatvormiga Thingai.io
Samm: komponendid
RIISTVARA KOMPONENDID;
1. esp32 Arendusamet
2. PIR -andur
3. Jumper Traadid
TARKVARA:
1. Arduino IDE
2. Thingsai.io konto
2. samm: ÜHENDUSED
Ühendused on vaikselt lihtsad.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 esp32-l
GND ------------------ GND esp32-s
OUT ------------------- D22 esp32-l
3. samm: KOODIMINE
Kleepige see kood mõne ajakohastamisega oma Arduino IDE -sse, teie liikumisandur annab väljundi veatult.
#kaasake
#kaasake
#kaasake
int arv = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
/////////////////////////////////////////////////- /////////////////////////
const char* host = "api.thingsai.io"; // VÕI host = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // VÕI/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // see on ajatempli teisendamiseks
const int httpPort = 80;
const int httpsPort = 443;
const char* server = "api.thingsai.io"; // Serveri URL
sümboli ajatempel [10];
WiFiMulti WiFiMulti;
// Kasutage WiFi -kliendi klassi TCP -ühenduste loomiseks
WiFiClient klient;
///////////////////////////////////////////////////////////////////// AJATAMPI ARVUTAMISE funktsioon //////// ////////////////////////////////
int GiveMeTimestamp ()
{
allkirjastamata pikk ajalõpp = millis ();
// WiFiClient klient;
samas (client.available () == 0)
{
kui (millis () - ajalõpp> 50000)
{
client.stop ();
tagasitulek 0;
}
}
samas (client.available ())
{
Stringirida = client.readStringUntil ('\ r'); // indexOf () on funktsioon smthng otsimiseks, tagastab -1, kui seda ei leita
int pos = line.indexOf ("\" ajatempel / ""); // otsi vastuse algusest "\" ajatempel / "" ja kopeeri pärast seda kõik andmed, see on sinu ajatempel
kui (pos> = 0)
{
int j = 0;
jaoks (j = 0; j <10; j ++)
{
ajatempel [j] = rida [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
tühine seadistus ()
{
Seriaalne algus (115200);
viivitus (10);
pinMode (pin, INPUT);
// Alustame WiFi -võrguga ühenduse loomisest
WiFiMulti.addAP ("wifi_nimi", "Wifi_parool");
Serial.println ();
Serial.println ();
Serial.print ("Oota WiFi …");
samas (WiFiMulti.run ()! = WL_CONNECTED) {
Seeria.print (".");
viivitus (500);
}
Serial.println ("");
Serial.println ("WiFi ühendatud");
Serial.println ("IP -aadress:");
Serial.println (WiFi.localIP ());
viivitus (500);
}
tühine tsükkel ()
{
int analogValue = analogRead (outputpin);
{
////////////////////// ////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Kohalolek tuvastatud");
}
viivitus (500);
}
Serial.print ("ühenduse loomine");
Serial.println (host); // määratletud tagurpidi:- host = devapi2.thethingscloud.com või 139.59.26.117
///////////////////////////////////////////////////////////////// AJATAMPI KOODI SIPPET ////////// ///////////////
Serial.println ("inside get timestamp / n");
if (! client.connect (time_server, {
tagasipöördumine; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/ajatempel HTTP/1.1"); // Mida see osa teeb, ma ei saanud aru
client.println ("Host: baas.thethingscloud.com");
client.println ("Vahemälu kontroll: vahemälu puudub");
client.println ("Postimees-märk: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
klient.println ();
GiveMeTimestamp (); // see kutsub funktsiooni, mis saab serverilt ajatempli vastuse
Serial.println ("ajatempel saadud");
Serial.println (ajatempel);
Serial.println ("sees ThingsCloudPost");
String PostValue = "{" seadme_id / ": 61121695839, \" orja_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + ajatempel;
PostValue = PostValue +", \" andmed / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * looge WiFiClientSecure'i eksemplar */
WiFiClientSecure klient;
Serial.println ("Ühenda serveriga pordi 443 kaudu");
if (! client.connect (server, 443)) {
Serial.println ("Ühendus ebaõnnestus!");
} muud {
Serial.println ("Ühendatud serveriga!");
/ * loo HTTP päring */
client.println ( POST/seadmed/seadmeandmed
client.println ("Host: api.thingsai.io");
//client.println("Connection: close ");
client.println ("Sisu tüüp: rakendus/json");
client.println ("cache-control: no-cache");
client.println ( Autoriseerimine: kandja eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs22k2k2kvk
client.print ("Sisu-pikkus:");
klient.println (PostValue.length ());
klient.println ();
klient.println (PostValue);
///////////////////////////////////////////////// Andmete postitamine pilve on tehtud ja nüüd saate vastusvormi pilv server ////////////////////
Serial.print ("Vastust oodates");
while (! client.available ()) {
viivitus (50); //
Seeria.print (".");
}
/ * kui andmed on saadaval, siis võtke vastu ja printige terminali */
while (client.available ()) {
char c = klient.lugemine ();
Serial.write (c);
}
/ * kui server on lahti ühendatud, peata klient */
if (! client.connected ()) {
Serial.println ();
Serial.println ("Server on lahti ühendatud"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// LÕPP //////////////////// ");
viivitus (3000);
}
}
4. samm: VÄLJUND
See on tulpdiagramm asjade, io pilvplatvormi andurilt loetud väärtuste kohta,
Samm: graafik
See on anduri väärtuste graafiline esitus. Ülaltoodud graafiku põhjal saame analüüsida anduri rakendust. Aitäh
Soovitan:
Kaasaskantav liikumisandur: 4 sammu
Kaasaskantav liikumisandur: Tere, tegin kaasaskantava patareitoitega liikumisanduri, mida tahaksin teiega jagada. Mida vajate: Arduino Uno Keyes liikumisandur Juhtmed LED (punane, roheline sinine)
Liikumisandur Arduino Halloweeni kõrvits: 4 sammu
Liikumisandur Arduino Halloweeni kõrvits: Selle juhise eesmärk oli luua odav ja lihtne viis kodus Halloweeni kaunistuste tegemiseks ilma eelnevate oskuste ja väljamõeldud tööriistadeta. Kasutades Internetist hõlpsasti hankitavaid üksusi, saate ka ise luua lihtsa ja isikupärase
Liikumisandur voodivalguse all: 16 sammu (piltidega)
Liikumisandur voodivalgustuse all: Kas olete kunagi proovinud öösel vaikselt voodist välja tõusta, et ainult millegi otsa komistada ja kogu maja üles äratada? Teie voodi alla diskreetselt paigaldatud liikumistundlikud öövalgustid tagavad piisavalt nõrga valguse, et suunata teid mööda neid hulkuvaid LEGO klotse
Raspberry Pi liikumisandur IFTTT: 4 sammu
Vaarika Pi liikumisandur IFTTT: Tere. Olen neljanda klassi õpilane ja täna hakkame tegema IFTTT liikumisandurit
IoT traadita temperatuuri- ja liikumisandur: 11 sammu (piltidega)
IoT juhtmevaba temperatuuri- ja liikumisandur: Mind inspireerisid paljud Instructablesis asuvad IoT -projektid, nii et proovin õppimise käigus kombineerida mõnda kasulikku rakendust, mis on asjakohased. Kuna ma laiendasin oma varasemaid IoT temperatuurianduriga seotud juhiseid, siis nüüd