Мазмуну:
- 1 -кадам: КОМПОНЕНТТЕР
- 2 -кадам: БАЙЛАНЫШТАР:
- 3 -кадам: КОД:
- 4 -кадам: ЖЫЙЫНТЫК:
- 5 -кадам: Толук үйрөткүч:
Video: Жакындыкты өлчөө: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул окуу куралында мен түзмөктүн жакындыгын өлчөө жана баалуулуктарды Thingsai, io булут платформасына зал сенсорун жана esp32 өнүктүрүү тактасын колдонуу менен жарыялоону түшүндүрөм.
Холл эффекти сенсору - бул магнит талаасынын чоңдугун өлчөө үчүн колдонулуучу аппарат. Анын чыгуу чыңалуусу магнит талаасынын күчүнө түз пропорционалдуу. Холл эффекти сенсорлору жакындыкты сезүү, жайгашуу, ылдамдыкты аныктоо жана учурдагы сезүү колдонмолору үчүн колдонулат.
1 -кадам: КОМПОНЕНТТЕР
Аппараттык компоненттер:
1. Холл сенсору
2. esp32 иштеп чыгуу тактасы
3. Өткөргүч зымдар
Программалык камсыздоо компоненттери:
1. Arduino IDE
2. ThingsIO. AI
2 -кадам: БАЙЛАНЫШТАР:
Зал сенсору ---------------------- esp32
Aout ------------------------------ vp
Гнд ----------------------------- Гнд
Vcc ------------------------------ 3V3
3 -кадам: КОД:
#кошуу
#кошуу
#кошуу
int count = 0, i, m, j, k;
int өлчөө;
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);
// Биз баштайбыз
WiFi тармагына туташуу
WiFiMulti.addAP ("wifi_name", "wifi_password");
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);
}
боштук цикл ()
{
int analogValue =
analogRead (outputpin);
{
////////////////////////////////////////// СУРОО ЖӨНӨТҮҮ ЖАНА
ЖООПТУ АЛЫҢЫЗ ///////////////////////
int өлчөө
= 0;
өлчөө =
hallRead ();Serial.print ("Холл сенсорунун өлчөөсү:");Serial.println (өлчөө);
кечигүү (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 / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + убакыт белгиси;
PostValue =
PostValue +", \" data / ": {" proximity / ":" +өлчөө +"}" +"}";Serial.println (PostValue);
/ * WiFiClientSecure экземплярын түзүү */
WiFiClientSecure кардары;Serial.println ("443 порт аркылуу серверге туташуу");
эгер
(! client.connect (сервер, 443)) {Serial.println ("Туташуу ишке ашкан жок!");
} башка {Serial.println ("Серверге туташты!");
/* HTTP түзүү
өтүнүч */
client.println ( POST
/түзмөктөр/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.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m) "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 -кадам: ЖЫЙЫНТЫК:
Сенсордон окулган баалуулуктар IOT булутуна ийгиликтүү жөнөтүлүүдө жана график убакытка жакындык катары түзүлүүдө. Муну менен сенсордун иштеши анализделет жана керектүү колдонуу чөйрөлөрүнө ылайык колдонулат.
5 -кадам: Толук үйрөткүч:
Бул esp32 залы сенсорунун жана thingsai.io булут платформасынын жардамы менен түзмөктүн жакындыгын өлчөө үчүн толук долбоор. Рахмат
Сунушталууда:
Ардуинонун жардамы менен мотор ылдамдыгын өлчөө: 6 кадам
Ардуинонун жардамы менен мотор ылдамдыгын өлчөө: Мотордун айлануусун өлчөө кыйынбы? Мен андай деп ойлобойм. Бул жерде бир жөнөкөй чечим бар. Сиздин комплектеги бир гана IR сенсору жана Arduino муну кыла алат. Бул постто мен IR сенсорунун жардамы менен ар кандай мотордун RPMин кантип өлчөө керектигин түшүндүргөн жөнөкөй окуу куралын берем
Убакытты өлчөө (Тасманын өлчөө сааты): 5 кадам (Сүрөттөр менен)
Убакытты өлчөө (Тасманын өлчөө сааты): Бул долбоор үчүн биз (Алекс Фиел & Анна Линтон) күнүмдүк өлчөөчү куралды алып, аны саатка айландырдык! Баштапкы план учурдагы рулетканы моторлоштуруу болгон. Муну жасоодо, биз өзүбүздүн кабыгыбызды түзүү оңой деп чечтик
Температураны өлчөө: 7 кадам
Температураны өлчөө: هو قياس
HC-SRF04 Ultrasonic Sensor менен аралыкты өлчөө (Акыркы 2020): 3 кадам
УЗИ сенсорунун жардамы менен аралыкты өлчөгүлө HC-SRF04 (Акыркы 2020): УЗИ сенсор деген эмне (аралык)? Элдер уга албаган жогорку деңгээлдеги толкундары бар УЗИ (Сонар). Бирок, табияттын бардык жеринде УЗИ толкундарынын бар экенин көрө алабыз. Жарганаттар, дельфиндер сыяктуу жаныбарларда УЗИ толкундарын колдонушат
Батарейканын ички каршылыгын өлчөө үчүн 4 кадам: 4 кадам
Батарейканын ички каршылыгын өлчөө үчүн 4 кадам: Бул жерде камырдын ички каршылыгын өлчөөгө жардам бере турган 4 жөнөкөй кадам