Turinys:
- 1 veiksmas: „THINGSIO“platformos kūrimas ir prisijungimas
- 2 žingsnis: naujo projekto kūrimas
- 3 veiksmas: sukurkite naują įrenginį
- 4 žingsnis: Įrenginio parametro nustatymas
- 5 veiksmas: atnaujinkite įrenginį
- 6 žingsnis: kodavimas
- 7 žingsnis: valdybos ir kom porto pasirinkimas
- 8 žingsnis: grandinės jungtys
- 9 veiksmas: kompiliuokite ir įkelkite
- 10 veiksmas: serijinis monitorius
- 11 žingsnis: rodmenys
- 12 žingsnis: Grafinis vaizdavimas
- 13 žingsnis:
Video: LDR naudojant „Thingsai Cloud“: 13 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Sveiki ….. Šiandien mes išmoksime išmatuoti šviesos intensyvumą ir paskelbti vertes į THINGSAI IOT debesų platformą naudojant ESP32.
Reikalavimai šiam projektui įgyvendinti yra
1. ESP32 plėtros valdyba (naudojau ESP32 DEVKIT V1)
2. LDR jutiklis
3. Trumpieji laidai
4. Sąskaita THINGSAI IOT PLATFORM
1 veiksmas: „THINGSIO“platformos kūrimas ir prisijungimas
Prisijunkite prie „THINGS AI“paskyros. Jei esate naujas, prisiregistruokite prie paskyros paspausdami registracijos mygtuką ir užpildykite visus kredencialus. Jūsų paskyra bus sukurta ir nuo tada galėsite dirbti debesies platformoje ir kurti savo pasirinktinį projektą
2 žingsnis: naujo projekto kūrimas
Prisijungę prie paskyros, norėdami sukurti projektą, tiesiog spustelėkite naują projektą ir nurodykite projekto pavadinimą.
3 veiksmas: sukurkite naują įrenginį
sukūrę projektą, kitas dalykas, kurį turite padaryti, yra sukurti naują įrenginį. Nurodykite įrenginio pavadinimą ir įveskite įrenginio ID rankiniu būdu arba sukurtą sistemą.
4 žingsnis: Įrenginio parametro nustatymas
Nurodykite įrenginio parametrą ir pasirinkite parametro tipą
5 veiksmas: atnaujinkite įrenginį
Pasirinkite parametrą ir atnaujinkite įrenginį
6 žingsnis: kodavimas
Iš pavyzdinių kodų pasirinkite esp32 kodą, nukopijuokite jį, tada įklijuokite jį į arduino IDE ir atlikite reikiamus pakeitimus pagal reikalavimą. Žemiau pateikiau kodą
#įtraukti #įtraukti
#įtraukti
int skaičius = 0, i, m, j, k;
int t; int outputpin = A0; // ds18b20
int sensorvalue;
//////////////////////////////////////////////////////////////////// VISI DEKLARACIJOS DĖMESIAMS ////// /////////////////////////
const char* host = "api.thingsai.io"; // ARBA
šeimininkas = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // ARBA/api/v2/thingscloud2/_table/data_ac
const char* time_server = "baas.thethingscloud.com"; // tai yra laiko žymos konvertavimas
const int httpPort = 80;
const int httpsPort = 443;
const char* serveris = "api.thingsai.io"; // Serverio URL
char laiko žyma [10];
WiFiMulti WiFiMulti;
// Naudokite „WiFiClient“klasę, kad sukurtumėte TCP ryšius
„WiFiClient“klientas;
///////////////////////////////////////////////////- /////////////////////////////// int GiveMeTimestamp () {unsigned long timeout = millis (); // „WiFiClient“klientas;
tuo tarpu (client.available () == 0)
{
jei (milis () - skirtasis laikas> 50000)
{
client.stop (); grįžti 0;
}
}
o (client.available ())
{
Eilutės eilutė = client.readStringUntil ('\ r'); // indexOf () yra funkcija ieškoti smthng, ji grąžina -1, jei nerasta
int pos = line.indexOf ("\" laiko žyma / ""); // ieškokite "\" laiko žymos / "" nuo atsakymo pradžios ir nukopijuokite visus duomenis po to, tai bus jūsų laiko žyma
jei (poz> = 0)
{
int j = 0;
(j = 0; j <10; j ++)
{
laiko žyma [j] = eilutė [pos + 12 + j];
}
}
}
} ////////////////////////////////////////////////////////////////////////////////////////////////////////
negaliojanti sąranka ()
{
Serial.begin (115200);
vėlavimas (10);
// Pradedame prisijungdami prie „WiFi“tinklo
„WiFiMulti.addAP“(„wifi“, „pswrd“);
Serial.println ();
Serial.println ();
Serial.print („Palaukite„ WiFi “…“);
o (WiFiMulti.run ()! = WL_CONNECTED)
{
Serijinis atspaudas (".");
vėlavimas (500);
}
Serial.println ("");
Serial.println („WiFi prijungtas“);
Serial.println ("IP adresas:"); Serial.println (WiFi.localIP ());
vėlavimas (500);
}
tuštumos kilpa ()
{
int analogValue = analogRead (outputpin);
{/////////////////////////////////// /////////////////////
sensorvalue = analogRead (A0); // skaityti analoginį įvesties kaištį 0
sensorvalue = sensorvalue/100;
Serijinis atspaudas (jutiklio vertė, DEC); // spausdina perskaitytą vertę
Serial.print ("\ n"); // atspausdina tarpą tarp skaičių
vėlavimas (1000); // laukite 100 ms kito skaitymo
Serial.print ("prisijungimas prie"); Serial.println (priegloba); // apibrėžta aukštyn kojomis:- šeimininkas = devapi2.thethingscloud.com arba 139.59.26.117
///////////////////////// ///////////////
Serial.println ("viduje gauti laiko žymę / n");
if (! client.connect (time_server, {grįžti; //*-*-*-*-*-*-*-*-*-*}
client.println ("GET/api/laiko žymė HTTP/1.1"); // Ką daro ši dalis, aš negavau client.println ("Priimančioji: baas.thethingscloud.com");
client.println („Cache-Control: no-cache“);
client.println („Paštininkas-žetonas: ea3c18c6-09ba-d049-ccf3-369a22a284b8“);
klientas.println ();
GiveMeTimestamp (); // ji iškvies funkciją, kuri gaus serverio laiko žymės atsakymą Serial.println ("gauta laiko žyma");
Serial.println (laiko žyma);
Serial.println ("viduje ThingsCloudPost");
Eilutė PostValue = "{" device_id / ": 61121695844, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + laiko žymė;
PostValue = PostValue +", \" data / ": {" INTENSITY / ":" +\ sensorvalue +"}" +"}";
Serial.println (PostValue);
/ * sukurti „WiFiClientSecure“egzempliorių */ „WiFiClientSecure“klientą;
Serial.println („Prisijunkite prie serverio per 443 prievadą“);
if (! client.connect (serveris, 443))
{
Serial.println ("Nepavyko prisijungti!");
}
Kitas
{Serial.println ("Prisijungta prie serverio!"); / * sukurti HTTP užklausą */
client.println ( POST/devices/deviceData
client.println ("Priegloba: api.thingsai.io"); //client.println("Connection: close "); kl
ient.println ("Turinio tipas: programa/json");
client.println ("cache-control: no-cache");
client.println ("Autorizacija: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2Pj5kvkvk5k client.print ("Turinio ilgis:");
client.println (PostValue.length ());
klientas.println ();
client.println („PostValue“); //////////////////////////////////////////////// Duomenų SKELBIMAS į debesį baigtas ir dabar gaukite atsakymo formos debesį serveris ///////////////////
Serial.print („Laukiama atsakymo“);
while (! client.available ()) {
vėlavimas (50); //
Serijinis atspaudas (".");
} / * jei yra duomenų, gaukite ir atsispausdinkite į terminalą * /
o (client.available ())
{
char c = client.read ();
Serial.write (c);
}
/ * jei serveris atjungtas, sustabdykite klientą */
jei (! client.connected ())
{
Serial.println ();
Serial.println („Serveris atjungtas“);
client.stop ();
}
} Serial.println ("////////////////////// PABAIGA ////////////////// /");
vėlavimas (3000); }}
7 žingsnis: valdybos ir kom porto pasirinkimas
Iš įrankių pasirinkite lentą, tada pasirinkite „com“prievadą
8 žingsnis: grandinės jungtys
Kodavimas atliekamas, tada užmegzkite šiuos ryšius, kaip nurodyta toliau
JUNGTYS:
LDR jutiklio GND nuo esp32 iki GND
3V3 0f esp32 į LDR Vcc
Esp32 VP iki LDR A0
9 veiksmas: kompiliuokite ir įkelkite
surinkite ir įkelkite kodą į esp32, tada perskaitykite serijinio monitoriaus rodmenis. Tai parodytų tokį rezultatą
10 veiksmas: serijinis monitorius
Reikšmės gaunamos nuosekliajame monitoriuje ir tada siunčiamos į „THINGSAI IOT Cloud“platformą.
11 žingsnis: rodmenys
Tai rodo vertes, gautas iš esp32 plokštės.
12 žingsnis: Grafinis vaizdavimas
Tai yra grafinis gautų verčių atvaizdavimas. Tai pamokos pabaiga. Tikiuosi supratote. Ačiū
Rekomenduojamas:
Judesio detektorius naudojant „Thingsai.io Iot“debesies platformą: 6 žingsniai
Judesio detektorius naudojant „Thingsai.io“„Iot Cloud Platform“: šioje pamokoje aš paaiškinsiu apie judesio aptikimą naudojant PIR jutiklį ir „Esp32“kartu su IOT debesų platforma „Thingai.io“
„IOT Weather Cloud“- naudojant „OpenWeatherMaps“: 11 žingsnių (su paveikslėliais)
„IOT Weather Cloud“- naudojant „OpenWeatherMaps“: tai debesis, kabantis nuo kambario lubų ir atkuriantis tam tikrus modelius, remiantis rezultatu, gautu iš interneto. Jis nuskaito orų duomenis iš „OpenWeatherMaps“. Jis gali būti valdomas rankiniu būdu per žiniatinklio sąsają arba automatiškai
Kaip sukurti 2d simbolį naudojant simbolių valdiklį „Unreal Engine 4“naudojant „Visual Script for PC“: 11 žingsnių
Kaip sukurti 2d simbolį naudojant simbolių valdiklį „Unreal Engine 4“naudojant „Visual Script for PC“: Kaip sukurti 2d simbolį su simbolių valdikliu „Unreal engine 4“naudojant vizualų scenarijų kompiuteriui Sveiki, aš esu Jordan Steltz. Nuo 15 metų kūriau vaizdo žaidimus. Ši pamoka išmokys jus sukurti pagrindinį personažą su
„FoldTronics“: 3D objektų kūrimas naudojant integruotą elektroniką naudojant sulankstomas „HoneyComb“struktūras: 11 žingsnių
„FoldTronics“: 3D objektų kūrimas naudojant integruotą elektroniką naudojant sulankstomas „HoneyComb“struktūras: Šioje pamokoje pristatome „FoldTronics“-2D pjovimo pagrindu pagamintą gamybos metodą, skirtą integruoti elektroniką į 3D sulankstytus objektus. Pagrindinė idėja yra iškirpti ir perforuoti 2D lapą naudojant pjaustymo braižytuvą, kad jis būtų sulankstomas į 3D korio struktūrą
Vandens kokybės stebėjimas naudojant MKR1000 ir ARTIK Cloud: 13 žingsnių (su nuotraukomis)
Vandens kokybės stebėjimas naudojant MKR1000 ir ARTIK Cloud: Įvadas Pagrindinis šio projekto tikslas yra naudoti MKR1000 ir „Samsung ARTIK Cloud“, kad būtų galima stebėti baseinų pH ir temperatūros lygius. Matavimui naudosime temperatūros jutiklį ir pH arba vandenilio jutiklio galią. šarmingumas