Mündəricat:

ThingSpeak -dəki bir kanal bir müddət yenilənmədikdə bir bildiriş e -poçtu alın: 16 addım
ThingSpeak -dəki bir kanal bir müddət yenilənmədikdə bir bildiriş e -poçtu alın: 16 addım

Video: ThingSpeak -dəki bir kanal bir müddət yenilənmədikdə bir bildiriş e -poçtu alın: 16 addım

Video: ThingSpeak -dəki bir kanal bir müddət yenilənmədikdə bir bildiriş e -poçtu alın: 16 addım
Video: Блог. Home Assistant - Rest sensor, взаимодействие основного и резервного серверов автоматизаций. 2024, Iyul
Anonim
ThingSpeakdakı Kanal Bir müddət Yenilənmədikdə Bildiriş E -poçtu Alın
ThingSpeakdakı Kanal Bir müddət Yenilənmədikdə Bildiriş E -poçtu Alın

Fon hekayəsi

İrlandiyanın Dublin şəhərində yayılmış altı avtomatlaşdırılmış istixanam var. Xüsusi hazırlanmış bir cib telefonu tətbiqindən istifadə edərək, hər bir istixananın avtomatik xüsusiyyətlərini uzaqdan izləyə və onlarla əlaqə qura bilərəm. İstilik çox yüksək / aşağı olduqda pəncərələri əl ilə aça / bağlaya bilərəm; Torpağın nəmliyi çox aşağı / yüksək olduqda suvarmaya başlaya / dayandıra bilərəm; və havanın rütubəti çox yüksək / aşağı olduqda ventilyasiya fanını işə sala / dayandıra bilərəm. Və ya sadəcə sistemi avtomatik rejimə keçirə bilərəm və tərəvəzlərə Arduino beyni baxacaq. Bu layihə haqqında daha ətraflı məlumatı burada tapa bilərsiniz -

Altı istixanadakı Arduino lövhələrinə uzaqdan qoşulma, hər yerdə bir ədəd olan USB GPRS donglelarının köməyi ilə mümkündür (mənimki buradan aldımhttps://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-Antenli-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Mobil məlumat bağlantısında olduğu kimi (ən azı Dublində) təsadüfi olaraq düşür, bəzən bir neçə dəqiqə, bəzən də bir neçə saat ola bilər. Bağlantı kəsilərsə, Arduino hər 10 dəqiqədə bir USB bağlamasını sıfırlayacaq və yeni bir əlaqə qurmağa çalışacaq. Bəzən, (hələ) bilinməyən səbəblərə görə, GPRS məlumat bağlantısı yenidən açılsa belə, Arduino (və ona qoşulmuş Ethernet qalxanı) hadisəni nəzərə almır. Xüsusi bir yerə getməyim və bütün sistemi əl ilə sıfırlamağım lazım olan an budur.

Məlumat bağlantısı bir yerə düşdükdə, ən qısa zamanda e -poçtla xəbərdar olmaq istədim ki, bu xüsusi yeri izləyim. Telefon tətbiqi ilə Arduino arasında ünsiyyət https://thingspeak.com tərəfindən təmin edilən bir onlayn xidmət vasitəsi ilə həyata keçirildiyindən, son vaxtlara qədər (və 31 Mart 2019 -a qədər) bu, https:// tərəfindən verilən başqa bir xidmətdən istifadə etməklə mümkün olmuşdur. ifttt.com/discover və hər bir kanalda bir ThingHTTP və Reaksiya quraraq, o kanalın bir müddətdir yenilənməməsini izləyir. Bununla birlikdə, Google-dan aldığım bir e-məktuba görə, 31 Mart 2019-cu ildən başlayaraq, yenilənmiş məlumatların məxfilik tələblərinə uyğun gəlməməsi səbəbindən (https://cloud.google.com/blog/products/g-suite/elevating-user) -güvən-api-ekosistemlər), Google hesabımdakı bəzi məlumatlara giriş artıq IFTTT-də mövcud olmayacaq və mənim vəziyyətimdə olduğu kimi IFTTT-in əldə etdiyi yeganə qaynaq e-poçt idi, başa düşdüm ki, bildiriş yuxarıda göstərilən xidmət işləməyəcək.

Buna görə də, yerlərimdəki məlumat bağlantısı kəsildikdə e -poçt bildirişlərinin gəlməsini davam etdirmək üçün alternativ bir həll tətbiq edirik. Bu hələ də kanallarımda ThingHTTP və React xüsusiyyətlərindən istifadə edir, yalnız IFTTT bağlantısı Google Diskə yönəldildi. ThingSpeak hesabınızla ünsiyyət qura biləcəyiniz avadanlıqdan başqa (mənim vəziyyətimdə Arduino), bir Google hesabı yaratmalı olacaqsınız ki, artıq hesabınız yoxdursa… və başlayaq!

Addım 1:

Şəkil
Şəkil

Google Diskdə

Birincisi, Google Diskdə (https://drive.google.com) bir elektron tablo və sadə bir forma yaratmalıyıq. Google Diskinizi açın və Yeni - Google Cədvəllər - Boş elektron tabloya vurun.

Addım 2:

Şəkil
Şəkil

Məni "Yerdən aşağı elektron tablo" adlandırdım. Sonra Alətlər - Forma yaradın.

Addım 3:

Şəkil
Şəkil

Formanın adını "Yer aşağı formu" olaraq dəyişdirdim və "Adsız sual" ı "Vəziyyət" olaraq, "Çoxlu seçim" dən "Qısa cavab" a dəyişdim.

Addım 4:

Şəkil
Şəkil

Sonra e -poçt ünvanlarını toplamaq seçimini sildim - "Ayarları dəyişdir" düyməsini basın və görünən pəncərədə bütün seçimləri yoxlayın. "Saxla" düyməsini basın.

Addım 5:

Şəkil
Şəkil

Formunuzu saxlayan cari brauzer nişanını bağlayın və həm forma, həm də yeni yaratdığınız elektron cədvələ sahib olmalı olduğunuz əsas Google Disk nişanına qayıtmalısınız. Cədvəli açın və "Fayl - Paylaş …" bölməsinə keçin. Yeni pəncərədə "Ətraflı" düyməsini basın

Addım 6:

Şəkil
Şəkil

Sonra "Şəxsi - Yalnız siz daxil ola bilərsiniz" etiketinin yanındakı "Dəyişdir …" düyməsini basın

Addım 7:

Şəkil
Şəkil

və "Açıq - Bağlantısı olan hər kəs" və "Düzəliş edə bilər" olaraq dəyişdirin.

Addım 8:

Şəkil
Şəkil

Cədvəlinizə qayıtmaq üçün "Saxla" və "Bitti" düyməsini basın. Orada olarkən "Fayl - Vebdə yayımla …" düyməsini basın və sonra "Yayımla" və informasiya qutusu üçün "Tamam" düyməsini basın. "Vebdə yayımla" pəncərəsini bağlayın.

Hələ elektron tabloda olarkən "Forma - Canlı formaya keç" düyməsini basın. Siçan ilə sağ vurun (Google Chrome brauzerindən istifadə edirəm) və "Səhifənin mənbəyinə bax" seçin.

Addım 9:

Şəkil
Şəkil

Açılan yeni səhifədə "forma hərəkəti" axtarın və sonra https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX /formResponse bənzər bir bağlantı tapın. Bu linki seçin və kopyalayın və hansısa mətn sənədinə yapışdırın. ThingSpeak üçün ThingHTTP -ə daxil edilməli olan son bağlantı yaratmaq üçün istifadə edəcəksiniz.

Addım 10:

Şəkil
Şəkil

Formanızın mənbə görünüşünə qayıdın və indi "giriş" axtarın. "İnput. XXXXX" kimi bir mətnin hamısını tapın və seçin. Kopyalayın və yuxarıdakı mətn sənədinə yapışdırın. İndi Google formanızın mənbə görünüşünü bağlaya bilərsiniz.

Addım 11:

Şəkil
Şəkil

Yeni mətn sənədində (indi bağlantınız və əvvəllər yapışdırdığımız girişə sahib olduğunuz yerdə) belə görünməli olan son bağlantı yaradın

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Göndərin

Mənim vəziyyətimdə, "MƏKAN+ADI" izləməyim lazım olan hər bir xüsusi yerin həqiqi adı ilə əvəz olunacaq. Bağlantı kəsildikdə alacağım e -poçt bildiriş e -poçtu, bu mətni ehtiva edəcək, beləliklə, hansı məkanda problem olduğunu dəqiq bilə bilərəm. Bu mətn əslində Google formasındakı "status" sahəsi üçün qısa mətnli məzmun olaraq təqdim ediləcək. "& Göndər = Göndər" ThingHTTP və React tərəfindən çağırıldıqda heç bir hərəkətə ehtiyac duymadan formanı səssizcə təqdim edəcək.

Nəhayət, elektron tabloya hər dəfə yeni bir giriş əlavə edildikdə avtomatik olaraq bir e -poçt bildirişi göndərəcək bir skript əlavə etməliyik. Elektron cədvəli açın və "Alətlər - Skript redaktoru" na basın. Açılan yeni pəncərədə aşağıdakı kodu əlavə edin (ehtiyaclarınızı əks etdirmək üçün lazımi dəyişikliklərlə):

newEntryNotification funksiyası (e)

{

cəhd edin

{

var zaman damgası = e.values [0];

var yeri = e.values [1];

var mesaj = yer + 'yeri AŞAĞIDIR / n' + zaman damgası;

MailApp.sendEmail ("E -poçt ünvanınız", "Diqqət, yer AŞAĞI!", Mesaj);

}

tutmaq (e)

{

MailApp.sendEmail ("E -poçt ünvanınız", "Xəta - Diqqət, yer AŞAĞI!", E -mesaj);

}

}

"E -poçt ünvanınız" mətnini bildirişin göndərilməli olduğu e -poçt ünvanı və istəsəniz faktiki bildiriş mesajı ilə əvəz edin.

Addım 12:

Şəkil
Şəkil

Bu skript elektron tabloya yeni bir giriş əlavə edildikdə işə salınmalıdır. Eyni pəncərədə olarkən (yuxarıdakı kod kodu ilə), alətlər çubuğundakı "saniyəölçən" simgesini - "Cari layihənin tetikleyiciləri" ni vurun. Sizdən layihənizin adını çəkməyiniz istənəcək (mən "locationDown" adlandırmışam) və başqa bir brauzer sekmesi açılacaq, heç bir nəticə (tətikçi) tapılmadığını bildirir. "Yeni bir tetikleyici yaradın" düyməsini basın.

Addım 13:

Şəkil
Şəkil

Yeni pəncərədə "Tədbir mənbəyini seçin" üçün "Elektron tablodan" seçin; "Hadisə növünü seçin" üçün "Forma göndərmə"; "Uğursuzluq bildiriş ayarları" üçün "Mənə dərhal xəbər ver". "Saxla" düyməsini basın. Google hesabınıza daxil olmağınız və bu tetikleyicinin lazım olduqda hesabınıza daxil olmasına icazə verin.

Addım 14:

Şəkil
Şəkil

İndi tətikçilər siyahısında əvvəllər yaratdığımız skriptlə əlaqəli bir tətik olmalıdır. Buna görə elektron tabloya yeni məlumatlar daxil edildikdə (avtomatlaşdırılmış forma bağlantısını və yuxarıda təsvir edilən səssiz metoddan istifadə edərək) tetikleyici, seçdiyiniz mesajı ehtiva edən e -poçt ünvanına bildiriş göndərəcək skriptə dərhal zəng edəcək.

Google Disk tərəfində işimiz bitdi və indi ThingSpeak -ə keçirik.

Addım 15:

Şəkil
Şəkil

ThingSpeak -də hesabınıza daxil olun (https://thingspeak.com/login), "Proqramlar - ThingHTTP" bölməsinə keçin və sonra "Yeni ThingHTTP" düyməsini basın. Buna bir ad verin (hər bir yerin həqiqi adını seçdim; bu dərs üçün "MyLocationName") və "URL" sahəsinə, mətn sənədinizdən bənzər bir bağlantı yapışdırın.

docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Göndərin

Bütün digər sahələri olduğu kimi buraxın və "ThingHTTP Saxla" düyməsini basın.

Addım 16:

Şəkil
Şəkil

Sonra "Tətbiqlər - Reaksiya" ya gedin və "Yeni Reaksiya" düyməsini basın. Bir ad verin (yenə də "reaksiya ver" sözünün ardınca yer adını seçdim, ancaq istədiyiniz hər hansı bir adı seçə bilərsiniz); "Vəziyyət Növü" üçün "Məlumat yoxlanışı yoxdur"; "Test Tezliyi" üçün "Hər 10 dəqiqədə"; "Əgər Kanal" üçün yeniləmələri izləmək istədiyiniz kanal adı; kanalın yenilənmədiyi vaxt (15 dəqiqə seçmişəm), çünki "üçün yenilənmədi"; "Fəaliyyət" üçün "ThingHTTP"; "Sonra ThingHTTP yerinə yetir" üçün "MyLocationName"; Yalnız bir dəfə bildiriş almaq istədiyim üçün "Şərt yalnız ilk dəfə yerinə yetirildikdə işə salın". Kanal yeni gələn məlumatlar ilə yenidən yenilənəndə bu, özünü sıfırlayacaq. "Reaksiyanı Saxla" düyməsini basın və işiniz bitdi.

İndiki vaxtdan etibarən kanalınız 15 dəqiqə (və ya seçdiyinizdən asılı olaraq başqa vaxt) yenilənmədikdə, React ThingHTTP -ni işə salan bu istisnanı tutacaq və bu da səssizcə kanalınızda yeni bir giriş yaradacaq. cədvəl Tetikleyici və Google Elektron Cədvəldəki skript, yuxarıda izah edildiyi kimi oradan götürəcəkdir.

Tövsiyə: