Мазмұны:
- 1 -қадам: компоненттер
- 2 -қадам: Байланыс
- 3 -қадам: кодтау
- 4 -қадам: ШЫҒУ
- 5 -қадам: График
- 6 -қадам: мұнда Breif түсіндірмесінің бейнесі
Бейне: Thingsai.io Iot Cloud Platform көмегімен қозғалыс детекторы: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл оқулықта мен PIR сенсоры мен Esp32 көмегімен Thingai.io IOT бұлтты платформасымен қозғалысты анықтау туралы түсіндіремін.
1 -қадам: компоненттер
ЖАБДЫҚ ҚҰРАМДАРЫ;
1.esp32 дамыту кеңесі
2. PIR сенсоры
3. Өткізгіш сымдар
БАҒДАРЛАМА:
1. Arduino IDE
2. Thingsai.io шоты
2 -қадам: Байланыс
Қосылымдар қарапайым.
PIR PINS ------------ ESP32 PINS
Esp32 бойынша VCC ------------------- 3V3
Gp3 ------------------ GND esp32 бойынша
OUT ------------------- D22 esp32 бойынша
3 -қадам: кодтау
Бұл кодты Arduino IDE -ге жаңартумен қойыңыз, сіздің қозғалыс сенсоры шығуды мінсіз береді.
#қосу
#қосу
#қосу
int count = 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»; // НЕМЕСЕ/api/v2/thingscloud2/_table/data_ac
const char* time_server = «baas.thethingscloud.com»; // бұл уақыт белгісін түрлендіру
const int httpPort = 80;
const int httpsPort = 443;
const char* server = «api.thingsai.io»; // Сервердің URL мекенжайы
таңбаның уақыт белгісі [10];
WiFiMulti WiFiMulti;
// TCP қосылымдарын жасау үшін WiFiClient класын қолданыңыз
WiFiClient клиенті;
//////////////////////////////////////// TIMESTAMP CALCULATION функциясы //////// /////////////////////////////////
int GiveMeTimestamp ()
{
белгісіз ұзақ күту уақыты = millis ();
// WiFiClient клиенті;
while (client.available () == 0)
{
if (millis () - күту уақыты> 50000)
{
client.stop ();
қайтару 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);
pinMode (PIN, INPUT);
// Біз 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);
{
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ЖАПТАРЫН АЛУ //// /////////////////////
{
bool isDetected = digitalRead (түйреуіш);
if (isDetected) {
Serial.println («Болуы анықталды»);
}
кешіктіру (500);
}
Serial.print («қосылуда»);
Serial.println (хост); // жоғарыдан анықталған:- хост = devapi2.thethingscloud.com немесе 139.59.26.117
//////////////////////////////////////////////////// TIMESTAMP CODE SNIPPET /////////// ////////////////
Serial.println («ішінде уақыт белгісін алу / n»);
if (! client.connect (time_server, {
қайтару; //*-*-*-*-*-*-*-*-*-*-*
}
client.println («GET/api/уақыт белгісі 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 («Content-Type: application/json»);
client.println («кэшті басқару: кэшсіз»);
client.println («Авторизация: жеткізуші eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNT»)
client.print («Content-Length:»);
client.println (PostValue.length ());
client.println ();
client.println (PostValue);
/////////////////////////////////////////////// Бұлтты деректерді орналастыру аяқталды, енді бұлттың жауап формасын алыңыз сервер ///////////////////
Serial.print («Жауап күтілуде»);
while (! client.available ()) {
кешіктіру (50); //
Serial.print («.»);
}
/ * егер деректер бар болса, оны алыңыз және Терминалға басып шығарыңыз */
while (client.available ()) {
char c = client.read ();
Serial.write (c);
}
/ * егер сервер ажыратылса, клиентті тоқтату */
if (! client.connected ()) {
Serial.println ();
Serial.println («Сервер ажыратылды»); javascript:;
client.stop ();
}
}
Serial.println («/////////////////////// АЯҚ //////////////////// «);
кешіктіру (3000);
}
}
4 -қадам: ШЫҒУ
Бұл сенсордан иншай, io бұлтты платформасында оқылған мәндердің жолақ графигі.
5 -қадам: График
Бұл сенсордан алынған мәндердің графикалық көрінісі. Жоғарыдағы графиктен сенсордың қолданылуын талдай аламыз. Рақмет сізге
Ұсынылған:
NodeMCU көмегімен қозғалыс детекторы: 5 қадам
NodeMCU көмегімен қозғалыс детекторы: Бұл жобада қозғалыс сенсорының көмегімен кез келген адам мен жануардың болуын анықтауға болады. Ал нәрселер деп аталатын платформа арқылы сіз қатысудың анықталған күні мен уақытын бақылай аласыз
Қозғалыс детекторы қосылған жарық шамы: 6 қадам
Қозғалыс детекторы белсендірілген шам: Мен eBay -де инфрақызыл қозғалыс детекторын 1,50 долларға сатып алдым және оны тиімді пайдалануға шешім қабылдадым. Мен қозғалыс детекторларының тақтасын өзім жасай алар едім, бірақ 1,50 долларға (сезімталдығын реттеуге және таймерді өшіруге арналған 2 ыдыс кіреді) олай болмайды
Thingsai Cloud көмегімен LDR: 13 қадам
Thingsai Cloud көмегімен LDR: HEY ….. бүгін біз ESP32 көмегімен THINGSAI IOT бұлтты платформасына жарық қарқындылығын өлшеу және мәндерді енгізу туралы білетін боламыз. Бұл жобаны орындауға қойылатын талаптар 1. ESP32 әзірлеу тақтасы (мен ESP32 DEVKIT V1 қолдандым) 2. LD
Кіші ауқымды қозғалыс детекторы: 5 қадам
Кіші диапазондағы қозғалыс детекторы: Бұл нұсқаулық сізге Radioshack-те алуға болатын арзан бөлшектерден шағын ауқымды қозғалыс детекторын жасауды үйретеді. Бұл ұқыпты жобаның көмегімен сіз детектордың жарықтығын өзгерте аласыз. Бұл менің бірінші нұсқаулығым, сондықтан қарапайымдылыққа назар аударыңыз
Blynk хабарландырулары бар қозғалыс детекторы (WeMos D1 Mini + HC-SR04): 4 қадам (суреттермен)
Blynk хабарландырулары бар қозғалыс детекторы (WeMos D1 Mini + HC-SR04): сымсыз конкурста осы жобаға дауыс беріңіз. Рақмет! Жаңарту №2 - Бірнеше түзетулер (2.2 нұсқасы), сенсорды (диапазон мен атауды) дәл анықтамада орнатуға болады. Сондай -ақ, кейде сенсор дұрыс емес мәндерді оқыды және хабарландыру жіберді