Სარჩევი:
- ნაბიჯი 1: კომპონენტები
- ნაბიჯი 2: კავშირები:
- ნაბიჯი 3: კოდირება:
- ნაბიჯი 4: შედეგი:
- ნაბიჯი 5: სრული გაკვეთილი:
ვიდეო: სიახლოვის გაზომვა: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ სახელმძღვანელოში მე ვაპირებ აგიხსნათ მოწყობილობის სიახლოვის გაზომვისა და ღირებულებების გამოქვეყნების შესახებ Thingsai, io ღრუბლის პლატფორმაზე დარბაზის სენსორისა და esp32 განვითარების დაფის გამოყენებით.
ჰოლის ეფექტის სენსორი არის მოწყობილობა, რომელიც გამოიყენება მაგნიტური ველის სიდიდის გასაზომად. მისი გამომავალი ძაბვა პირდაპირ პროპორციულია მაგნიტური ველის სიძლიერეზე. ჰოლის ეფექტის სენსორები გამოიყენება სიახლოვის გამოვლენის, პოზიციონირების, სიჩქარის გამოვლენისა და მიმდინარე ზონდირების პროგრამებისთვის.
ნაბიჯი 1: კომპონენტები
აპარატურის კომპონენტები:
1. ჰოლის სენსორი
2. esp32 განვითარების დაფა
3. ჯუმბერის მავთულები
პროგრამული კომპონენტები:
1. Arduino IDE
2. რამ IO. AI
ნაბიჯი 2: კავშირები:
ჰოლის სენსორი ---------------------- esp32
Aout ------------------------------ vp
გნდ ----------------------------- გნდ
Vcc ------------------------------ 3V3
ნაბიჯი 3: კოდირება:
#ჩართეთ
#ჩართეთ
#ჩართეთ
int რაოდენობა = 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* დროის_სერვერი =
"baas.thethingscloud.com"; // ეს არის დროის ნიშნულის გარდაქმნა
const int httpPort = 80;
const int httpsPort = 443;
const char* სერვერი =
"api.thingsai.io"; // სერვერის URL
char დროის ნიშნული [10];
WiFiMulti WiFiMulti;
// გამოიყენეთ WiFiClient კლასი TCP კავშირების შესაქმნელად
WiFiClient კლიენტი;
//////////////////////////////////////// TIMESTAMP
კალკულაციის ფუნქცია ///////////////////////////////////////
int GiveMeTimestamp ()
{
ხელმოუწერელი გრძელი
დროის გასვლა = მილი ();
// WiFiClient კლიენტი;
ხოლო
(client.available () == 0)
{
თუ (მილი () -
დროის გასვლა> 50000)
{
client.stop ();
დაბრუნება 0;
}
}
ხოლო (client.available ())
{
სიმებიანი ხაზი =
client.readStringUntil ('\ r'); // indexOf () არის smthng– ის ძებნის ფუნქცია, ის აბრუნებს -1 თუ არ არის ნაპოვნი
int pos =
line.indexOf ("\" დროის ნიშნული / ""); // მოძებნეთ "\" დროის ნიშნული / "" პასუხის დასაწყისიდან და დააკოპირეთ ყველა მონაცემი ამის შემდეგ, ეს იქნება თქვენი დროის ნიშნული
თუ (pos> =
0)
{
int j = 0;for (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 …");ხოლო (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 ("ქეში-კონტროლი: არა-ქეში");client.println ("ფოსტალიონი-ჟეტონი: ea3c18c6-09ba-d049-ccf3-369a22a284b8");
client.println ();
GiveMeTimestamp (); // ის დარეკავს ფუნქციას
რომელიც მიიღებს სერვერის დროის ნიშნულს
Serial.println ("მიღებულია დროის ნიშნული");
Serial.println (დროის ნიშნული);Serial.println ("ThingsCloudPost შიგნით");
სიმებიანი PostValue =
"{" device_id / ": 61121696007, \" slave_id / ": 2";
PostValue =
PostValue + ", \" dts / ":" + დროის ნიშნული;
PostValue =
PostValue +", \" data / ": {" სიახლოვე / ":" +გაზომვა +"}" +"}";Serial.println (PostValue);
/ * შექმენით WiFiClientSecure მაგალითი */
WiFiClientSecure კლიენტი;Serial.println ("სერვერთან დაკავშირება 443 პორტის საშუალებით");
თუ
(! client.connect (სერვერი, 443)) {Serial.println ("კავშირი ვერ მოხერხდა!");
} სხვა {Serial.println ("დაკავშირებულია სერვერთან!");
/* შექმენით
მოთხოვნა */
client.println ( POST
/devices/deviceData HTTP/1.1 ");client.println ("მასპინძელი: api.thingsai.io");//client.println(" კავშირი: დახურვა ");client.println ("შინაარსი-ტიპი: პროგრამა/json");client.println ("ქეში-კონტროლი: არა-ქეში");
client.println ( ავტორიზაცია:
მატარებელი eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m6d;client.print ("შინაარსი-სიგრძე:");client.println (PostValue.length ());
client.println ();client.println (PostValue);
//////////////////////////////////// მონაცემების განთავსება
ღრუბელი დასრულებულია და ახლა მიიღეთ პასუხის ფორმა ღრუბლოვანი სერვერი ///////////////////
Serial.print ( ველოდები პასუხს
);
ხოლო
(! client.available ()) {
დაგვიანება (50);
//Serial.print (".");
}
/* თუ მონაცემები არის
ხელმისაწვდომია შემდეგ მიიღეთ და დაბეჭდეთ ტერმინალში */
ხოლო
(client.available ()) {
char c =
client.read ();სერიული. დაწერეთ (გ);
}
/ * თუ სერვერი გათიშულია, გააჩერეთ კლიენტი */
თუ
(! client.connected ()) {Serial.println ();Serial.println ("სერვერი გათიშულია");client.stop ();
}
}
Serial.println ( ////////////////////// ბოლო
///////////////////// );
დაგვიანება (3000);
}}
ნაბიჯი 4: შედეგი:
სენსორიდან წაკითხული მნიშვნელობები წარმატებით იგზავნება IOT ღრუბელში და გრაფიკი იქმნება სიახლოვისა და დროის მიმართ. ამით სენსორის მუშაობა გაანალიზებულია და გამოიყენება განაცხადის საჭირო სფეროების მიხედვით.
ნაბიჯი 5: სრული გაკვეთილი:
ეს არის სრული პროექტი მოწყობილობის სიახლოვის გასაზომად დარბაზის სენსორის esp32 და thingsai.io ღრუბლოვანი პლატფორმის გამოყენებით. Გმადლობთ
გირჩევთ:
Raspberry Pi - TMD26721 ინფრაწითელი ციფრული სიახლოვის დეტექტორი Java სამეურვეო პროგრამა: 4 ნაბიჯი
Raspberry Pi-TMD26721 ინფრაწითელი ციფრული სიახლოვის დეტექტორი Java Tutorial: TMD26721 არის ინფრაწითელი ციფრული სიახლოვის დეტექტორი, რომელიც უზრუნველყოფს სიახლოვის გამოვლენის სრულ სისტემას და ციფრულ ინტერფეისის ლოგიკას ერთ 8 პინზე ზედაპირის სამონტაჟო მოდულში. სიახლოვის გამოვლენა მოიცავს სიგნალ-ხმაურის გაუმჯობესებას და სიზუსტე. პრო
Visuino როგორ გამოვიყენოთ ინდუქციური სიახლოვის სენსორი: 7 ნაბიჯი
Visuino როგორ გამოვიყენოთ ინდუქციური სიახლოვის სენსორი: ამ სახელმძღვანელოში ჩვენ გამოვიყენებთ ინდუქციური სიახლოვის სენსორს და Arduino UNO- სა და Visuino- სთან დაკავშირებულ LED- ს ლითონის სიახლოვის დასადგენად. უყურეთ სადემონსტრაციო ვიდეოს
შექმენით სიახლოვის სენსორი Magicbit [Magicblocks] - ით: 6 ნაბიჯი
შექმენით სიახლოვის სენსორი Magicbit [Magicblocks]: ეს გაკვეთილი გასწავლით Magicbit– თან სიახლოვის სენსორის გამოყენებას Magicblocks– ის გამოყენებით. ჩვენ ვიყენებთ magicbit– ს, როგორც განვითარების დაფას ამ პროექტში, რომელიც დაფუძნებულია ESP32– ზე. ამიტომ ნებისმიერი ESP32 განვითარების დაფა შეიძლება გამოყენებულ იქნას ამ პროექტში
მანძილის სიახლოვის გაზომვა ჟესტური სენსორით APDS9960: 6 ნაბიჯი
მანძილის სიახლოვის გაზომვა ჟესტების სენსორით APDS9960: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა გავზომოთ მანძილი ჟესტური სენსორის გამოყენებით APDS9960, arduino და Visuino. უყურეთ ვიდეოს
საჰაერო პიანინო IR სიახლოვის სენსორის, სპიკერის და Arduino Uno– ს გამოყენებით (განახლებული/ნაწილი 2): 6 ნაბიჯი
საჰაერო პიანინო IR სიახლოვის სენსორის, სპიკერისა და არდუინო უნოს გამოყენებით (განახლებული/ნაწილი 2): ეს არის საჰაერო ფორტეპიანოს წინა პროექტის განახლებული ვერსია?. აქ მე გამოვიყენე JBL სპიკერი, როგორც გამომავალი. მე ასევე შევიტანე შეხების მგრძნობიარე ღილაკი რეჟიმების შესაცვლელად მოთხოვნების შესაბამისად. მაგალითად- მყარი ბასის რეჟიმი, ნორმალური რეჟიმი, მაღალი