Cov txheej txheem:
- Kauj Ruam 1: QHOV TSEEB:
- Kauj Ruam 2: BLOCK DIAGRAM REPRESENTATION OF Esp32
- Kauj ruam 3: CODING:
- Kauj Ruam 4: QHOV TSEEB:
- Kauj Ruam 5: GRAPHS:
- Kauj Ruam 6:
Video: Kev Ntsuas Kub Siv Esp32 thiab Thingsio.ai Platform: 6 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:27
Hauv qhov kev qhia no kuv yuav piav qhia txog kev ntsuas qhov ntsuas kub hauv ib puag ncig los ntawm kev siv lub ntsuas ntsuas qhov ntsuas sov tam sim no hauv esp32 kev txhim kho pawg thawj coj. esp32 muaj ntau yam inbuilt sensors zoo li lub sensor sensor siv ua qhov sib thooj sensor, kov sensor, ntsuas kub. Hauv qhov kev qhia no peb yuav tham txog qhov ntsuas kub.
Kauj Ruam 1: QHOV TSEEB:
Kho vajtse:
1.esp32 pawg thawj coj loj
Software:
1. Arduino IDE
2. Thingsio.ai
Kauj Ruam 2: BLOCK DIAGRAM REPRESENTATION OF Esp32
Kauj ruam 3: CODING:
#suav nrog
#suav nrog
#suav nrog
#suav nrog
#suav nrog
#ifdef _cplusplus
extern "C" {
#ib
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#ib
int suav = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
////////////////////////////////////////// Txhua qhov kev ceeb toom
rau CLOUD ////////////////////////////////
const char* tus tswv = "api.thingsai.io"; // LOS YOG host =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
LOSSIS/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // qhov no yog los hloov lub sijhawm
const int httpPort = 80;
ua int httpsPort = 443;
const char* neeg rau zaub mov =
"api.thingsai.io"; // Neeg rau zaub mov URL
timestamp char [10];
WiFiMulti WiFiMulti;
// Siv chav kawm WiFiClient los tsim kev sib txuas TCP
WiFiClient tus thov kev pab;
/////////////////////////////////////// TIMESTAMP
CALCULATION muaj nuj nqi ///////////////////////////////////////
muab GiveMeTimestamp ()
{
tsis kos npe ntev
timeout = millis ();
// WiFiClient tus thov kev pab;
thaum
(client.available () == 0)
{
yog tias (millis () -
lub sij hawm> 50000)
{
client.stop (); cov.
rov 0;
}
}
thaum (client.available ())
{
Txoj hlua kab =
client.readStringUntil ('\ r'); // indexOf () yog qhov ua haujlwm los tshawb rau smthng, nws rov qab -1 yog tias tsis pom
int pos = np
line.indexOf ("\" timestamp / ""); // tshawb rau "\" timestamp / "" txij thaum pib teb tau txais thiab theej tag nrho cov ntaub ntawv tom qab ntawd, nws yuav yog koj lub sijhawm
yog (pos> =
0)
{
int j = 0;rau (j = 0; j <10; j ++)
{timestamp [j] = kab [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
void teeb tsa ()
{Serial.begin (115200);
ncua (10);
tzset ();
// Peb pib los ntawm
txuas mus rau WiFi networkWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();Serial.print ("Tos WiFi …");thaum (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
ncua (500);
}Serial.println ("");Serial.println ("Txuas nrog WiFi");Serial.println ("IP chaw nyob:");Serial.println (WiFi.localIP ());
ncua (500);
}
uint8_t temp_farenheit;
ntab temp_c Celsius;
char strftime_buf [64];
time_t tam sim no = 0;
txheej txheem tm sijhawm;
char kub [256];
void lub voj ()
{
// int analogValue =
analogRead (outputpin);
{
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Xa Xa cov lus nug thiab
YUAV TSUM TSHUAJ RESPONSE /////////////////////////
//
t1 = (analogValue/1024.0) *5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1/ 10);
//
Serial.print ("cov:");
//
Serial.println (t2);
/
/ t3 = ((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Serial.println (t3); // tawg;localtime_r (& tam sim no, & sijhawm sijhawm);strftime (strftime_buf, sizeof (strftime_buf), "%c", & sijhawm sijhawm info);sprintf (buf, "scan pib%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Serial.print
(kub);
temp_farenheit =
temprature_sens_read ();
temp_c Celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("° F");Serial.print (temp_c Celsius);Serial.println ("° C");
ncua (1000);
tam sim no ++;
Serial.print ( txuas
rau );Serial.println (tus tswv tsev); // txhais tau ib sab:- host = devapi2.thethingscloud.com lossis 139.59.26.117
///////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("sab hauv tau txais timestamp / n");
yog
(! client.connect (time_server, {
rov qab;
//*-*-*-*-*-*-*-*-*-*
}client.println ("Tau txais/api/timestamp HTTP/1.1"); // Qhov haujlwm no ua dab tsi, kuv tsis tau txaisclient.println ("Tus tswv tsev: baas.thethingscloud.com");client.println ("Cache-Control: tsis-cache");client.println ("Postman-Token: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println (); cov.
GiveMeTimestamp (); // nws yuav hu rau
muaj nuj nqi uas yuav tau txais lub sijhawm timestamp teb los ntawm server
Serial.println ("timestamp tau txais");
Serial.println (timestamp);Serial.println ("hauv ThingsCloudPost");
Txoj hlua PostValue =
"{" device_id / ": 61121695920, \" qhev_id / ": 2";
PostValue = Cov
PostValue + ", \" dts / ":" + timestamp;
PostValue = Cov
PostValue +", \" data / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);
/ * tsim qhov piv txwv ntawm WiFiClientSecure */
WiFiClientSecure tus neeg siv khoom;Serial.println ("Txuas rau server ntawm chaw nres nkoj 443");
yog
(! client.connect (neeg rau zaub mov, 443)) {Serial.println ("Kev sib txuas tsis tau ua tiav!");
lwm yam {Serial.println ("Txuas rau server!");
/* tsim
thov */client.println ("POST/pab kiag li lawm/deviceData HTTP/1.1");client.println ("Tus tswv: api.thingsai.io");//client.println("Connection: kaw ");client.println ("Cov ntsiab lus-Hom: thov/json");client.println ("cache-control: tsis-cache");client.println ("Kev tso cai: Tus neeg nqa khoom eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9Jy9j9"client.print ("Cov ntsiab lus-Ntev:");client.println (PostValue.length ());client.println (); cov.client.println (PostValue);
//////////////////////////////////// POSTING cov ntaub ntawv mus rau
huab tau ua tiav thiab tam sim no tau txais daim ntawv teb huab server //////////////////
Serial.print ( Tos
rau cov lus teb );
thaum
(! client.available ()) {
ncua (50);
//Serial.print (".");
}
/* yog cov ntaub ntawv
muaj ces tau txais thiab luam tawm rau Terminal */
thaum
(client.available ()) {
kab c =
client.read (); cov. Serial.write (c);
}
/* os
server txuas, nres tus neeg siv khoom */
yog
(! client.connected ()) {Serial.println ();Serial.println ("Cov neeg rau zaub mov raug txuas");
client.stop (); cov.
}
}
Serial.println ( ////////////////////// Qhov kawg
///////////////////// );
ncua (3000);
}
}
Kauj Ruam 4: QHOV TSEEB:
Nov yog qhov tso tawm ntawm qhov ntsuas kub nyeem los ntawm lub ntsuas.
Kauj Ruam 5: GRAPHS:
Cov duab sawv cev ntawm qhov tseem ceeb nyeem los ntawm qhov ntsuas kub hauv lub ntsuas.
Pom zoo:
Siv Smartphone Raws Li Tsis Siv Tus Kheej Ntsuas Kub / Tus Ntsuas Ntsuas Kub: 8 Kauj Ruam (nrog Duab)
Siv Smartphone Raws Li Tsis Siv Tus Kws Ntsuas Kub / Tus Ntsuas Kub Portable: Ntsuas lub cev kub nrog qhov tsis sib cuag / tsis sib cuag zoo li rab phom thermo. Kuv tsim txoj haujlwm no vim tias Thermo Gun tam sim no kim heev, yog li kuv yuav tsum tau txais lwm txoj hauv kev los ua DIY. Thiab lub hom phiaj yog ua nrog cov peev txheej qis .SuppliesMLX90614Ardu
Kev Ntsuas thiab Kev Ntsuas Kub Siv HIH6130 thiab Arduino Nano: 4 Cov Kauj Ruam
Kev Ntsuas thiab Kev Ntsuas Kub Siv HIH6130 thiab Arduino Nano: HIH6130 yog qhov ntsuas cua thiab ntsuas kub nrog cov zis digital. Cov ntsuas no muab qib raug ntawm ± 4% RH. Nrog kev lag luam-ua kom muaj kev ruaj ntseg mus sij hawm ntev, qhov tseeb kub-them nyiaj digital I2C, Kev lag luam ua rau muaj kev ntseeg siab, Kev siv hluav taws xob
Kev Ntsuas thiab Kev Ntsuas Kub Siv HTS221 thiab Arduino Nano: 4 Cov Kauj Ruam
Kev Ntsuas thiab Kev Ntsuas Kub Siv HTS221 thiab Arduino Nano: HTS221 yog lub ntsuas hluav taws xob me me uas muaj peev xwm ntsuas tau rau qhov txheeb ze thiab qhov kub thiab txias. Nws suav nrog lub hauv paus ntsiab lus thiab cov teeb liab sib xyaw daim ntawv thov tshwj xeeb kev sib txuas (ASIC) los muab cov ntaub ntawv ntsuas los ntawm cov lej
Kev Ntsuas thiab Kev Ntsuas Kub Siv HTS221 thiab Raspberry Pi: 4 Cov Kauj Ruam
Kev Ntsuas thiab Kev Ntsuas Kub Siv HTS221 thiab Raspberry Pi: HTS221 yog lub ntsuas hluav taws xob me me uas muaj peev xwm ntsuas tau rau qhov txheeb ze thiab qhov kub thiab txias. Nws suav nrog lub hauv paus ntsiab lus thiab cov teeb liab sib xyaw daim ntawv thov tshwj xeeb kev sib txuas (ASIC) los muab cov ntaub ntawv ntsuas los ntawm cov lej
ESP32 NTP Kev Ntsuas Kub Ua Haujlwm Kub Kub Nrog Steinhart-Hart Kho thiab Tswb Kub: 7 Kauj Ruam (nrog Duab)
ESP32 NTP Kev Ntsuas Kub Ua Haujlwm Ntsuas Kub nrog Steinhart-Hart Kev Kho thiab Tswb Kub: Tseem tab tom taug kev kom ua tiav "qhov haujlwm yuav los tom ntej", "ESP32 NTP Kev Ntsuas Kub Kev Ntsuas Kub Ua Noj Nrog Steinhart-Hart Kev Kho thiab Tswb Kub" yog Cov Ntawv Qhia qhia yuav ua li cas kuv ntxiv NTP ntsuas kub, piezo b