Სარჩევი:
- ნაბიჯი 1: კომპონენტები
- ნაბიჯი 2: კავშირები
- ნაბიჯი 3: კოდირება
- ნაბიჯი 4: გამოსავალი
- ნაბიჯი 5: გრაფიკი
- ნაბიჯი 6: აქ არის ვიდეო ბრეიფის ახსნის შესახებ
ვიდეო: მოძრაობის დეტექტორი Thingsai.io Iot Cloud პლატფორმის გამოყენებით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:18
ამ გაკვეთილში მე ვაპირებ ახსნას მოძრაობის გამოვლენის შესახებ PIR სენსორის და Esp32– ის გამოყენებით IOT ღრუბლოვანი პლატფორმის Thingai.io– სთან ერთად.
ნაბიჯი 1: კომპონენტები
HARDWARE კომპონენტები;
1.esp32 განვითარების საბჭო
2. PIR სენსორი
3. ჯუმბერის მავთულები
პროგრამული უზრუნველყოფა:
1. Arduino IDE
2. Thingsai.io ანგარიში
ნაბიჯი 2: კავშირები
კავშირები მშვიდი მარტივია.
PIR PINS ------------ ESP32 PINS
VCC ------------------- 3V3 esp32– ზე
GND ------------------ GND esp32– ზე
OUT ------------------- D22 esp32– ზე
ნაბიჯი 3: კოდირება
ჩასვით ეს კოდი თქვენს Arduino IDE– ში გარკვეული განახლებით, თქვენი მოძრაობის სენსორი შესანიშნავად მისცემს გამომავალს.
#ჩართეთ
#ჩართეთ
#ჩართეთ
int რაოდენობა = 0, i, m, j, k;
int t, t1, t2, t3;
int pin = 22;
//////////////////////////////////////// ყველა დეკლარაცია ღრუბლისთვის ////// //////////////////////////
const char* host = "api.thingsai.io"; // ან მასპინძელი = devapi2.thethingscloud.com
const char* post_url = "/devices/deviceData"; // OR/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"; // სერვერის URL
char დროის ნიშნული [10];
WiFiMulti WiFiMulti;
// გამოიყენეთ WiFiClient კლასი TCP კავშირების შესაქმნელად
WiFiClient კლიენტი;
//////////////////////////////////////// TIMESTAMP კალკულაციის ფუნქცია ///////// /////////////////////////////////
int GiveMeTimestamp ()
{
ხელმოუწერელი ხანგრძლივი ვადა = მილი ();
// WiFiClient კლიენტი;
while (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);
pinMode (pin, INPUT);
// ჩვენ ვიწყებთ 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);
{
//////////////////////////////////////// გაუგზავნეთ შეკითხვა და მიიღეთ პასუხი //// /////////////////////
{
bool isDetected = digitalRead (პინი);
თუ (აღმოჩენილია) {
Serial.println ("გამოვლენილია ყოფნა");
}
დაგვიანება (500);
}
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 შიგნით");
String PostValue = "{" device_id / ": 61121695839, \" slave_id / ": 2";
PostValue = PostValue + ", \" dts / ":" + დროის ნიშნული;
PostValue = PostValue +", \" data / ": {" PIR / ":" +pin +"}" +"}";
Serial.println (PostValue);
/ * შექმენით WiFiClientSecure მაგალითი */
WiFiClientSecure კლიენტი;
Serial.println ("სერვერთან დაკავშირება 443 პორტის საშუალებით");
if (! client.connect (სერვერი, 443)) {
Serial.println ("კავშირი ვერ მოხერხდა!");
} სხვა {
Serial.println ("დაკავშირებულია სერვერთან!");
/ * შექმენით HTTP მოთხოვნა */
client.println ( POST/devices/deviceData
client.println ("მასპინძელი: api.thingsai.io");
//client.println(" კავშირი: დახურვა ");
client.println ("შინაარსი-ტიპი: პროგრამა/json");
client.println ("ქეში-კონტროლი: არა-ქეში");
client.println ("ავტორიზაცია: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9PKy6_m9tdW5AG7ajfVlY");
client.print ("შინაარსი-სიგრძე:");
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
////////////////////////////////// მონაცემების განთავსება ღრუბელში დასრულებულია და ახლა მიიღეთ საპასუხო ფორმა ღრუბელში სერვერი ///////////////////
Serial.print ("ელოდება პასუხს");
ხოლო (! client.available ()) {
დაგვიანება (50); //
Serial.print (".");
}
/ * თუ მონაცემები ხელმისაწვდომია, მიიღეთ და დაბეჭდეთ ტერმინალში */
while (client.available ()) {
char c = client.read ();
სერიული. დაწერეთ (გ);
}
/ * თუ სერვერი გათიშულია, გააჩერეთ კლიენტი */
თუ (! client.connected ()) {
Serial.println ();
Serial.println ("სერვერი გათიშულია"); javascript:;
client.stop ();
}
}
Serial.println ("///////////////////// END //////////////////// ");
დაგვიანება (3000);
}
}
ნაბიჯი 4: გამოსავალი
ეს არის სენსორიდან წაკითხული მნიშვნელობების სვეტოგრაფიული გრაფიკა რამის, ღრუბლის პლატფორმაზე,
ნაბიჯი 5: გრაფიკი
ეს არის მნიშვნელობების გრაფიკული წარმოდგენა სენსორიდან. ზემოთ მოყვანილი გრაფიკიდან შეგვიძლია გავაანალიზოთ სენსორის გამოყენება. Გმადლობთ
გირჩევთ:
DHT ტემპერატურისა და ტენიანობის მონიტორინგი ESP8266 და AskSensors IoT პლატფორმის გამოყენებით: 8 ნაბიჯი
DHT ტემპერატურისა და ტენიანობის მონიტორინგი ESP8266 და AskSensors IoT პლატფორმის გამოყენებით: წინა სასწავლო ინსტრუქციაში მე წარმოვადგინე ეტაპობრივი სახელმძღვანელო ESP8266 nodeMCU და AskSensors IoT პლატფორმის დასაწყებად. ამ გაკვეთილში მე DHT11 სენსორს ვუკავშირებ კვანძამდე MCU. DHT11 არის ჩვეულებრივ გამოყენებული ტემპერატურა და ტენიანი
რკინიგზის გადაკვეთის ავტომატური სისტემა Arduino დაფუძნებული ჩამონტაჟებული პლატფორმის გამოყენებით: 9 ნაბიჯი
რკინიგზის გადაკვეთის ავტომატური სისტემა Arduino– ზე დაფუძნებული ჩამონტაჟებული პლატფორმის გამოყენებით: შობა მხოლოდ ერთი კვირის წინ არის! ყველა დაკავებულია დღესასწაულებით და საჩუქრების მიღებით, რაც, სხვათა შორის, კიდევ უფრო რთულდება ჩვენს გარშემო არსებული დაუსრულებელი შესაძლებლობებით. რას იტყვით კლასიკური საჩუქრით და დაამატეთ წვრილმანი ხელნაკეთობით
მოძრაობის დეტექტორი NodeMCU– ს გამოყენებით: 5 ნაბიჯი
მოძრაობის დეტექტორი NodeMCU– ს გამოყენებით: ამ პროექტში, მოძრაობის სენსორის გამოყენებით, თქვენ შეგიძლიათ აღმოაჩინოთ ნებისმიერი ადამიანის ან ცხოველის არსებობა. და პლატფორმით, რომელსაც ეწოდება რამსიო, შეგიძლიათ აკონტროლოთ თარიღი და დრო, როდესაც დაფიქსირდა ყოფნა
მაგიდის Pinball მანქანა Evive- Arduino დაფუძნებული ჩადგმული პლატფორმის გამოყენებით: 18 ნაბიჯი (სურათებით)
მაგიდის Pinball მანქანა გამოყენებით Evive- Arduino დაფუძნებული ჩადგმული პლატფორმა: კიდევ ერთი შაბათ, კიდევ ერთი საინტერესო თამაში! და ამჯერად, ეს სხვა არაფერია თუ არა ყველასთვის საყვარელი არკადული თამაში - პინბოლი! ეს პროექტი გაჩვენებთ როგორ გააკეთოთ თქვენი საკუთარი პინბოლის მანქანა ადვილად სახლში. ყველაფერი რაც თქვენ გჭირდებათ არის კომპონენტები ამომწურავიდან
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: 6 ნაბიჯი (სურათებით)
IOT კვამლის დეტექტორი: განაახლეთ არსებული კვამლის დეტექტორი IOT– ით: ავტორების სია, გამომგონებელი: Tan Siew Chin, Tan Yit Peng, Tan Wee Heng მეთვალყურე: დოქტორი ჩია კიმ სენგი მექანიკური და რობოტული ინჟინერიის განყოფილება, ელექტრო და ელექტრონული ინჟინერიის ფაკულტეტი, Universiti Tun ჰუსეინ ონნი მალაიზია. განაწილება