Sisällysluettelo:
- Vaihe 1: Komponentit
- Vaihe 2: LIITÄNNÄT
- Vaihe 3: KOODAUS
- Vaihe 4: LÄHTÖ
- Vaihe 5: Kaavio
- Vaihe 6: Tässä on video Breifin selityksestä
Video: Liikeilmaisin Thingsai.io Iot -pilvialustan avulla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä opetusohjelmassa aion selittää liiketunnistuksen käyttämällä PIR -anturia ja Esp32: ta yhdessä IOT -pilvialustan Thingai.io kanssa
Vaihe 1: Komponentit
LAITTEISTON KOMPONENTIT;
1.esp32 Kehityslautakunta
2. PIR -anturi
3. Hyppyjohdot
OHJELMISTO:
1. Arduino IDE
2. Thingsai.io -tili
Vaihe 2: LIITÄNNÄT
Liitännät ovat yksinkertaisia ja hiljaisia.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 esp32: ssa
GND ------------------ GND esp32: ssa
OUT ------------------- D22 esp32: ssa
Vaihe 3: KOODAUS
Liitä tämä koodi Arduino IDE -laitteeseesi jonkin verran päivitystä, liikeanturi antaa ulostulon virheettömästi.
#sisältää
#sisältää
#sisältää
int -luku = 0, i, m, j, k;
int t, t1, t2, t3;
int nasta = 22;
///////////////////////////////////////////////////////////////////// KAIKKI ILMOITUKSET PILVILLE ////// /////////////////////////
const char* isäntä = "api.thingsai.io"; // TAI isäntä = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // TAI/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // tämä on aikaleiman muuntaminen
const int httpPort = 80;
const int httpsPort = 443;
const char* palvelin = "api.thingsai.io"; // Palvelimen URL -osoite
char -aikaleima [10];
WiFiMulti WiFiMulti;
// Käytä WiFiClient -luokkaa TCP -yhteyksien luomiseen
WiFiClient -asiakas;
///////////////////////////////////////////////////////////////////// AIKAISLEIMAN LASKELU -funktio //////// ////////////////////////////////
int GiveMeTimestamp ()
{
unsigned long timeout = millis ();
// WiFiClient -asiakas;
kun taas (client.available () == 0)
{
jos (millis () - aikakatkaisu> 50000)
{
client.stop ();
palauta 0;
}
}
kun taas (client.available ())
{
Merkkijono = client.readStringUntil ('\ r'); // indexOf () on smthng -hakutoiminto, se palauttaa -1, jos sitä ei löydy
int pos = line.indexOf ("\" aikaleima / ""); // etsi "\" aikaleima / "" vastauksen alusta ja kopioi kaikki tiedot sen jälkeen, se on aikaleimasi
jos (pos> = 0)
{
int j = 0;
(j = 0; j <10; j ++)
{
aikaleima [j] = rivi [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
mitätön asennus ()
{
Sarja.alku (115200);
viive (10);
pinMode (pin, INPUT);
// Aloitamme muodostamalla yhteyden WiFi -verkkoon
WiFiMulti.addAP ("wifi_nimi", "Wifi_salasana");
Sarja.println ();
Sarja.println ();
Serial.print ("Odota WiFi -yhteyttä …");
while (WiFiMulti.run ()! = WL_CONNECTED) {
Serial.print (".");
viive (500);
}
Serial.println ("");
Serial.println ("WiFi -yhteys");
Serial.println ("IP -osoite:");
Serial.println (WiFi.localIP ());
viive (500);
}
tyhjä silmukka ()
{
int analogValue = analogRead (outputpin);
{
////////////////////////////////////////////////////// LÄHETÄ KYSYMYS JA VASTAA VASTAUS ////////////////////
{
bool isDetected = digitalRead (pin);
if (isDetected) {
Serial.println ("Läsnäolo havaittu");
}
viive (500);
}
Serial.print ("yhdistäminen");
Serial.println (isäntä); // määritelty ylösalaisin:- isäntä = devapi2.thethingscloud.com tai 139.59.26.117
/////////////////////////////////////////////////////////////////////////////////////////////// ////////////////
Serial.println ("inside get timestamp / n");
if (! client.connect (aikapalvelin, {
palata; //*-*-*-*-*-*-*-*-*-*
}
client.println ("GET/api/aikaleima HTTP/1.1"); // Mitä tämä osa tekee, en saanut
client.println ("Isäntä: baas.thethingscloud.com");
client.println ("Välimuistin hallinta: ei välimuistia");
client.println ("Postimies-tunnus: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // se kutsuu funktion, joka saa aikaleiman vastauksen palvelimelta
Serial.println ("aikaleima vastaanotettu");
Serial.println (aikaleima);
Serial.println ("sisällä ThingsCloudPost");
Merkkijono PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
Postiarvo = Postiarvo + ", \" dts / ":" + aikaleima;
Postiarvo = Postiarvo +", \" data / ": {" PIR / ":" +nasta +"}" +"}";
Serial.println (PostValue);
/ * luo WiFiClientSecure -ilmentymä */
WiFiClientSecure -asiakas;
Serial.println ("Yhdistä palvelimeen portin 443 kautta");
if (! client.connect (palvelin, 443)) {
Serial.println ("Yhteys epäonnistui!");
} muuta {
Serial.println ("Yhdistetty palvelimeen!");
/ * luo HTTP -pyyntö */
client.println ( POST/devices/deviceData
client.println ("Isäntä: api.thingsai.io");
//asiakas.println ("Yhteys: sulje");
client.println ("Sisältötyyppi: application/json");
client.println ("cache-control: no-cache");
client.println ( Valtuutus: Siirtotie eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqs2f2x2x2X2K2KWDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
client.print ("Content-Length:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
////////////////////////////////////////////////// Tietojen julkaiseminen pilveen on valmis ja nyt saat vastauslomakkeen pilvi palvelin ////////////////////
Serial.print ("Odotetaan vastausta");
while (! client.available ()) {
viive (50); //
Serial.print (".");
}
/ * jos tietoja on saatavilla, vastaanota ja tulosta päätelaitteeseen */
while (client.available ()) {
char c = asiakas.luku ();
Serial.write (c);
}
/ * jos palvelimen yhteys katkeaa, pysäytä asiakas */
jos (! client.connected ()) {
Sarja.println ();
Serial.println ("Palvelin irrotettu"); javascript:;
client.stop ();
}
}
Serial.println ("////////////////////// LOPPU //////////////////// ");
viive (3000);
}
}
Vaihe 4: LÄHTÖ
Tämä on pylväsdiagrammi anturista luetuista arvoista Thingsai, io -pilvialustalla,
Vaihe 5: Kaavio
Tämä on graafinen esitys anturin arvoista. Yllä olevasta kaaviosta voimme analysoida anturin käyttöä. Kiitos
Suositeltava:
Hallitse talon valoja Google Assistantin avulla Arduinon avulla: 7 vaihetta
Hallitse talon valoja Google Assistantin avulla Arduinon avulla: (Päivitys 22.8.2020: Tämä ohje on 2 vuotta vanha ja perustuu joihinkin kolmansien osapuolien sovelluksiin. Kaikki heidän puolellaan tehdyt muutokset saattavat tehdä projektista toimimattoman. Se voi olla tai ei työskentele nyt, mutta voit seurata sitä viitteenä ja muokata sen mukaan
Useiden ESP-keskustelujen tekeminen ESP-NOW: n avulla ESP32: n ja ESP8266: n avulla: 8 vaihetta
Useiden ESP-keskustelujen tekeminen ESP-NYT: n avulla ESP32: n ja ESP8266: n avulla: Käynnissä olevassa projektissani tarvitsen useita ESP: itä puhuakseni keskenään ilman reititintä. Tätä varten käytän ESP-NOW-ohjelmaa langattoman viestinnän tekemiseen keskenään ilman ESP: n reititintä
Ihmisen ja tietokoneen käyttöliittymä: Function a Gripper (valmistaja Kirigami) ranneliikkeen avulla EMG: n avulla: 7 vaihetta
Ihmisen ja tietokoneen käyttöliittymä: Function a Gripper (valmistaja Kirigami) ranneliikkeen avulla EMG: n avulla: Joten tämä oli ensimmäinen kokeiluni ihmisen ja tietokoneen välisessä käyttöliittymässä. pythonin ja arduinon kautta ja käytti origamipohjaista tarttujaa
LDR Thingsai Cloudin avulla: 13 vaihetta
LDR Thingsai Cloudin avulla: HEI ….. tänään opimme mittaamaan valon voimakkuutta ja lähettämään arvot THINGSAI IOT -pilvialustalle ESP32: n avulla. Tämän projektin toteuttamiseen liittyvät vaatimukset ovat 1. ESP32 Development Board (olen käyttänyt ESP32 DEVKIT V1) 2. LD
Pienen kantaman liikeilmaisin: 5 vaihetta
Pienen kantaman liiketunnistin: Tämä ohje opettaa sinulle, kuinka tehdä pienen kantaman liiketunnistin halvoista osista, joita saat Radioshackilta. Tämän siistin projektin avulla voit muuttaa ilmaisimen kirkkautta. Tämä on ensimmäinen ohjeeni, joten ota huomioon yksinkertaisuus