Мазмуну:
- 1 -кадам: КОМПОНЕНТТЕР:
- 2 -кадам: Esp32нин BLOCK DIAGRAM ӨКҮЛДҮГҮ
- 3 -кадам: КОД:
- 4 -кадам: ЧЫГУУ:
- 5 -кадам: ГРАФИКТЕР:
- 6 -кадам:
Video: Esp32 жана Thingsio.ai платформасын колдонуу менен температураны өлчөө: 6 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Бул үйрөткүчтө мен esp32 иштеп чыгуу тактасында камтылган температура сенсорун колдонуу менен айланадагы температураны өлчөө жөнүндө айтып берейин. esp32 жакындык сенсору, тийүү сенсору, температура сенсору катары колдонулган зал сенсору сыяктуу көптөгөн орнотулган сенсорлорго ээ. Бул окуу куралында биз температура сенсору жөнүндө сүйлөшөбүз.
1 -кадам: КОМПОНЕНТТЕР:
Аппараттык:
1.esp32 өнүктүрүү тактасы
Программалык камсыздоо:
1. Arduino IDE
2. Thingsio.ai
2 -кадам: Esp32нин BLOCK DIAGRAM ӨКҮЛДҮГҮ
3 -кадам: КОД:
#кошуу
#кошуу
#кошуу
#кошуу
#кошуу
#ifdef _cplusplus
extern "C" {
#endif
uint8_t temprature_sens_read ();
// uint8_t g_phyFuns;
#ifdef _cplusplus
}
#endif
int count = 0, i, m, j, k;
int t, t1, t2, t3;
int outputpin = A0; // ds18b20
///////////////////////////////////////// БАРДЫК ДЕКЛАРАЦИЯЛАР
CLOUD үчүн ///////////////////////////////
const char* host = "api.thingsai.io"; // ЖЕ хост =
devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; //
ЖЕ/api/v2/thingscloud2/_table/data_ac
const char* time_server =
"baas.thethingscloud.com"; // бул убакыт белгисин которуу
const int httpPort = 80;
const int httpsPort = 443;
const char* сервер =
"api.thingsai.io"; // Server URL
char убакыт белгиси [10];
WiFiMulti WiFiMulti;
// TCP байланыштарын түзүү үчүн WiFiClient классын колдонуңуз
WiFiClient кардары;
///////////////////////////////////////// TIMESTAMP
Эсептөө функциясы /////////////////////////////////////////////////////////////////////////////////////////////
int GiveMeTimestamp ()
{
кол коюлбаган узун
күтүү убактысы = millis ();
// WiFiClient кардары;
ал эми
(client.available () == 0)
{
эгер (миллис () -
күтүү убакыты> 50000)
{
client.stop ();
return 0;
}
}
while (client.available ())
{
Сап сабы =
client.readStringUntil ('\ r'); // indexOf () -бул smthng издөө функциясы, ал табылбаса -1 кайтарат
int pos =
line.indexOf ("\" убакыт белгиси / ""); // "\" убакыт белгисин / "" издеп, жооптун башынан бери бардык маалыматтарды көчүрүп алыңыз, бул сиздин убакыт белгиси болот
эгер (pos> =
0)
{
int j = 0;үчүн (j = 0; j <10; j ++)
{убакыт белгиси [j] = сызык [pos + 12 + j];
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
жараксыз орнотуу ()
{Serial.begin (115200);
кечигүү (10);
tzset ();
// Биз баштайбыз
WiFi тармагына туташууWiFiMulti.addAP ("dlink_DWR-113", "madhukar66");
Serial.println ();
Serial.println ();Serial.print ("WiFi күтө туруңуз …");while (WiFiMulti.run ()! = WL_CONNECTED) {Serial.print (".");
кечигүү (500);
}Serial.println ("");Serial.println ("WiFi туташты");Serial.println ("IP дареги:");Serial.println (WiFi.localIP ());
кечигүү (500);
}
uint8_t temp_farenheit;
float temp_celsius;
char strftime_buf [64];
time_t now = 0;
struktur tm timeinfo;
char buf [256];
боштук цикл ()
{
// int analogValue =
analogRead (outputpin);
{
////////////////////////////////////////// СУРОО ЖӨНӨТҮҮ ЖАНА
ЖООПТУ АЛЫҢЫЗ ///////////////////////
//
t1 = (analogValue/1024.0) *5000;
//
Serial.print ("temp:");
// Serial.println (t1);
/
/ t2 = (t1/ 10);
//
Serial.print ("celc:");
//
Serial.println (t2);
/
/ t3 = ((t2 *
9)/5 + 32);
//
Serial.print ("fhrn:");
//
Serial.println (t3); // тыныгуу;localtime_r (& азыр, & timeinfo);strftime (strftime_buf, sizeof (strftime_buf), "%c", & timeinfo);sprintf (buf, "скандоону баштоо%02d:%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
Serial.print
(buf);
temp_farenheit =
temprature_sens_read ();
temp_celsius = (temp_farenheit - 32) / 1.8;Serial.print ("Temp onBoard");Serial.print (temp_farenheit);Serial.print ("° F");Serial.print (temp_celsius);Serial.println ("° C");
кечигүү (1000);
азыр ++;
Serial.print ( туташуу
чейин );Serial.println (кабыл алуучу); // тескери аныкталган:- хост = devapi2.thethingscloud.com же 139.59.26.117
///////////////////////////////////////////////////// TIMESTAMP CODE SNIPPET
/////////////////////////
Serial.println ("ичинде убакыт белгисин алуу / n");
эгер
(! client.connect (time_server, {
кайтуу;
//*-*-*-*-*-*-*-*-*-*
}client.println ("Get/api/timestamp HTTP/1.1"); // Бул бөлүк эмне кылып жатат, мен түшүнгөн жокмунclient.println ("Хост: baas.thethingscloud.com");client.println ("Cache-Control: no-cache");client.println ("Почтачы-Токен: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // аны чакырат
серверден убакыт белгисине жооп ала турган функция
Serial.println ("убакыт белгиси алынды");
Serial.println (убакыт белгиси);Serial.println ("ThingsCloudPost ичинде");
String PostValue =
"{" device_id / ": 61121695920, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + убакыт белгиси;
PostValue =
PostValue +", \" data / ": {" TEMP / ":" +temp_farenheit +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure экземплярын түзүү */
WiFiClientSecure кардары;Serial.println ("443 порт аркылуу серверге туташуу");
эгер
(! client.connect (сервер, 443)) {Serial.println ("Туташуу ишке ашкан жок!");
} башка {Serial.println ("Серверге туташты!");
/* HTTP түзүү
өтүнүч */client.println ("POST/devices/deviceData HTTP/1.1");client.println ("Хост: api.thingsai.io");//client.println("Байланыш: жабуу ");client.println ("Content-Type: application/json");client.println ("cache-control: no-cache");client.println ("Уруксат: алып жүрүүчү eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT")client.print ("Content-Length:");client.println (PostValue.length ());client.println ();client.println (PostValue);
////////////////////////////////////////////////////
булут бүттү жана эми булут серверинин жооп түрүн алыңыз /////////////////
Serial.print ( Күтүүдө
жооп үчүн );
ал эми
(! client.available ()) {
кечиктирүү (50);
//Serial.print (".");
}
/* эгер маалыматтар болсо
жеткиликтүү, анан алыңыз жана Терминалга басып чыгарыңыз */
ал эми
(client.available ()) {
char c =
client.read ();Serial.write (c);
}
/* Эгерде
сервер ажыратылды, кардарды токтотуу */
эгер
(! client.connected ()) {Serial.println ();Serial.println ("Сервер ажыратылды");
client.stop ();
}
}
Serial.println ( ////////////////////// АКЫРЫ
///////////////////// );
кечигүү (3000);
}
}
4 -кадам: ЧЫГУУ:
Бул жерде сенсордон окулган температуранын маанилеринин чыгышы.
5 -кадам: ГРАФИКТЕР:
Борттогу температура сенсорунан окулган маанилердин графикалык көрүнүшү.
Сунушталууда:
DHT ESP8266 жана AskSensors IoT платформасын колдонуу менен температура жана нымдуулукту көзөмөлдөө: 8 кадам
DHT ESP8266 жана AskSensors IoT Платформасын колдонуп, температураны жана нымдуулукту көзөмөлдөө: Мурунку көрсөтмөлөрдө мен ESP8266 nodeMCU жана AskSensors IoT платформасын баштоо үчүн этап -этабы менен көрсөтмө бергем. MCU түйүнүнө. DHT11 - бул көбүнчө температура жана нымдуу
HIH6130 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HIH6130 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HIH6130 - бул санариптик чыгышы бар нымдуулук жана температура сенсору. Бул сенсорлор ± 4% RH тактыгын камсыз кылат. Өнөр жайдын алдыңкы узак мөөнөттүү туруктуулугу, чыныгы температуранын ордун толтуруучу санариптик I2C, индустриянын алдыңкы ишенимдүүлүгү, энергияны үнөмдөө
HTS221 жана бөлүкчө фотонун колдонуу менен нымдуулукту жана температураны өлчөө: 4 кадам
HTS221 жана Particle Photon аркылуу нымдуулукту жана температураны өлчөө: HTS221 - салыштырмалуу нымдуулук жана температура үчүн өтө компакт сыйымдуу санарип сенсор. Бул санариптик серия аркылуу өлчөө маалыматын берүү үчүн сезгич элементти жана аралаш сигналдын атайын интегралдык схемасын (ASIC) камтыйт
Raspberry Pi колдонуу, MPL3115A2 менен бийиктикти, басымды жана температураны өлчөө: 6 кадам
MPL3115A2 менен Raspberry Pi, Бийиктикти, Басымды жана Температураны Өлчөө: Өзүңүзгө таандык нерсени билиңиз жана эмне үчүн ага ээ экениңизди билиңиз! Бул кызык. Биз Интернетти автоматташтыруу доорунда жашап жатабыз, анткени ал көптөгөн жаңы тиркемелерге кирет. Компьютер жана электроника ышкыбоздору катары биз Raspberry Pi a менен көп нерсени үйрөнүп жатабыз
Esp32 жана Thingsio.ai платформасын колдонуу менен топурактын нымдуулугун өлчөө: 6 кадам
Esp32 жана Thingsio.ai платформасын колдонуу менен топурактын нымдуулугун өлчөө: Бул окуу куралында мен esp32ди колдонуу менен топурактагы нымдуулукту окуп, анан баалуулуктарды thingsio.ai IoT булут платформасына жөнөтүүнү түшүндүрөм