Mundarija:
- 1 -qadam:
- 2 -qadam:
- 3 -qadam:
- 4 -qadam:
- 5 -qadam:
- 6 -qadam:
- 7 -qadam:
- 8 -qadam:
- 9 -qadam:
- 10 -qadam:
- 11 -qadam:
- 12 -qadam:
- 13 -qadam:
- 14 -qadam:
- 15 -qadam:
- 16 -qadam:
Video: ThingSpeak -dagi kanal bir muncha vaqt yangilanmaganida, elektron pochta xabarini oling: 16 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Fon hikoyasi
Menda Dublin, Irlandiya bo'ylab tarqalgan oltita avtomatlashtirilgan issiqxona bor. Maxsus tayyorlangan mobil telefon ilovasidan foydalanib, men har bir issiqxonadagi avtomatlashtirilgan funktsiyalarni masofadan turib kuzatib boraman. Harorat juda yuqori / past bo'lganda oynalarni qo'lda ochish / yopish mumkin; Tuproq namligi juda past / baland bo'lganda sug'orishni boshlashim / to'xtatishim mumkin; va havo namligi juda yuqori / past bo'lganda shamollatish foniyni ishga tushirish / to'xtatish mumkin. Yoki men tizimni avtomatik rejimga o'tkazsam bo'ladi, va sabzavotlarga Arduino miyasi qaraydi. Loyiha haqida batafsil ma'lumotni bu erda topishingiz mumkin -
Oltita issiqxonadagi Arduino taxtasiga masofadan ulanish USB GPRS donglesi yordamida amalga oshiriladi, har bir joyda (menikini bu erdan sotib oldim https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-antenna bilan-3G-USB-modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Mobil ma'lumot ulanishida bo'lgani kabi (hech bo'lmaganda Dublinda), u tasodifiy tushadi, ba'zida bir necha daqiqaga, ba'zan esa bir necha soatga cho'zilishi mumkin. Agar ulanish uzilib qolsa, Arduino har 10 daqiqada USB -dongle -ni qayta o'rnatib, yangi ulanishni boshlash uchun dasturlashtirilgan. Ba'zan, (hali) noma'lum sabablarga ko'ra, GPRS ma'lumot ulanishi qayta yoqilgan bo'lsa ham, Arduino (va unga ulangan Ethernet qalqoni) voqeani sezmay qoladi. Aynan shu joyga borib, butun tizimni qo'lda tiklashim kerak bo'lgan payt.
Ma'lumot ulanishi biron bir joyga tushib qolganda, men bu manzilni kuzatib turishim uchun elektron pochta orqali imkon qadar tezroq xabardor bo'lishni xohlardim. Telefon ilovasi va Arduino o'rtasidagi aloqa https://thingspeak.com tomonidan taqdim etilgan onlayn xizmat orqali amalga oshirilganligi sababli, yaqin vaqtgacha (va 2019 yil 31 martgacha), bu https:// tomonidan taqdim etilgan boshqa xizmat yordamida mumkin bo'ldi. ifttt.com/discover va har bir kanalda ThingHTTP va React -ni o'rnatish, bu kanalning bir muncha vaqt yangilanmaganligini tekshirish. Biroq, men Google-dan olgan xatga ko'ra, 2019 yil 31-martdan boshlab, ularning maxfiyligi to'g'risidagi ma'lumotlarning yangilangan talablariga rioya qilmaganligi sababli (https://cloud.google.com/blog/products/g-suite/elevating-user) -bizning api-ekosistemalarga ishonish), Google hisobimdagi ba'zi ma'lumotlarga kirish endi IFTTT uchun mavjud bo'lmaydi va mening holatimga ko'ra, IFTTT kirish imkoniga ega bo'lgan yagona manba elektron pochta edi, menimcha, bu xabarnoma. yuqorida ko'rsatilgan xizmat o'z faoliyatini to'xtatadi.
Shunday qilib, mana bu erda men joylashuvlarimdagi ma'lumotlar uzilishi to'xtab qolganda, elektron pochta xabarnomalari doimiy ravishda kelishi uchun muqobil echimni qo'llayapmiz. Bu hali ham kanallarimda ThingHTTP va React xususiyatlaridan foydalanadi, faqat IFTTT havolasi Google Diskda ko'rsatildi. Uskunadan tashqari (mening holatimda Arduino), siz ThingSpeak hisob qaydnomangiz bilan muloqotda bo'lishingiz mumkin, sizda Google hisobini yaratish kerak bo'ladi, agar sizda u yo'q bo'lsa … va boshlaylik!
1 -qadam:
Google Diskda
Birinchidan, Google Diskda (https://drive.google.com) biz elektron jadval va oddiy shakl yaratishimiz kerak. Google Diskni oching va Yangi - Google Sheets - Bo'sh elektron jadvalni bosing.
2 -qadam:
Men o'z manzilimni "Jadvaldagi joylashuv" deb o'zgartirdim. Keyin "Asboblar" bo'limiga o'ting - ariza yarating.
3 -qadam:
Men shaklni "Joylashuv formasi" deb o'zgartirdim va "Sarlavhasiz savol" ni "Vaziyat" ga o'zgartirdim va "Ko'p tanlov" dan "Qisqa javob" ga o'zgartirdim.
4 -qadam:
Keyin men elektron pochta manzillarini yig'ish variantini olib tashladim - "Sozlamalarni o'zgartirish" ni bosing va paydo bo'lgan oynada barcha variantlarni olib tashlang. "Saqlash" ni bosing.
5 -qadam:
Shaklingiz saqlanadigan brauzer yorlig'ini yoping, shunda siz Google Drive -ning asosiy yorlig'iga qaytishingiz kerak, u erda siz yangi shakl va elektron jadvalga ega bo'lishingiz kerak. Jadvalni oching va "Fayl - ulashish …" ga o'ting. Yangi oynada "Kengaytirilgan" ni bosing.
6 -qadam:
Keyin "Maxsus - faqat siz kira olasiz" yorlig'i yonidagi "O'zgartirish …" ni bosing
7 -qadam:
va "Yoqilgan - havolasi bo'lgan har bir kishi" ga, shuningdek "Tahrir qila oladigan" ga o'zgartiring.
8 -qadam:
Jadvalga qaytish uchun "Saqlash" va "Bajarildi" ni bosing. U erda bo'lganingizda, "Fayl - Internetda nashr etish …" tugmachasini bosing, so'ng dialog oynasi uchun "Nashr etish" va "OK" ni bosing. "Internetda nashr etish" oynasini yoping.
Hali ham elektron jadvalda bo'lganingizda "Forma - jonli shaklga o'tish" ni bosing. Sichqoncha bilan o'ng tugmasini bosing (men Google Chrome brauzeridan foydalanmoqdaman) va "Sahifa manbasini ko'rish" -ni tanlang.
9 -qadam:
Ochilgan yangi sahifada "ariza shakli" ni qidiring va https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX /formResponse ga o'xshash havolani toping. Havolani tanlang va nusxasini oling va uni matnli hujjatga joylashtiring. Siz ThingSpeak uchun ThingHTTP -ga kiritilishi kerak bo'lgan oxirgi havolani yaratish uchun foydalanasiz.
10 -qadam:
Formangizning manba ko'rinishiga qayting va "kirish" ni qidiring. "Entry. XXXXX" kabi butun matnni toping va tanlang. Nusxa oling va yuqoridagi matnli hujjatga joylashtiring. Endi siz Google shaklingizning manba ko'rinishini yopishingiz mumkin.
11 -qadam:
Yangi matnli hujjatda (bu erda siz ilgari joylashtirgan havola va yozuv mavjud), shunday bo'lishi kerak bo'lgan oxirgi havolani yarating.
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit
Mening holatimda, "JOYLIK+NOMI" o'rniga men kuzatishi kerak bo'lgan har bir joyning haqiqiy nomi qo'yiladi. Aloqa uzilganda men oladigan elektron pochta xabarnomasi bu matnni o'z ichiga oladi, shuning uchun men qaysi manzilda muammolar borligini aniq bilaman. Bu matn aslida Google shaklidagi "status" maydonining qisqa matnli tarkibi sifatida yuboriladi. "& Submit = Submit" ThingHTTP va React tomonidan chaqirilganda, boshqa harakatlarga hojat qoldirmasdan, shaklni jimgina yuboradi.
Nihoyat, elektron jadvalga har safar yangi yozuv qo'shilganda elektron pochta xabarini avtomatik ravishda yuboradigan skriptni kiritishimiz kerak. Elektron jadvalni oching va "Asboblar - skript muharriri" ni bosing. Ochilgan yangi oynada quyidagi kodni kiriting (sizning ehtiyojlaringizni aks ettiradigan o'zgartirishlar bilan):
newEntryNotification funktsiyasi (e)
{
harakat qilib ko'ring
{
var vaqt tamg'asi = e.values [0];
var location = e.values [1];
var message = location + 'manzil DOWN / n' + vaqt tamg'asi;
MailApp.sendEmail ("SIZNING E -POSTA MANZILINGIZ", "Diqqat, joylashuv DOWN!", Xabar);
}
ushlash (e)
{
MailApp.sendEmail ("SIZNING E -MAIL MANZILINGIZ", "Xato - Diqqat, joylashuv KO'RILDI!", E -xabar);
}
}
"E -pochta manzili" matnini xabarnoma yuborilishi kerak bo'lgan elektron pochta manziliga va agar xohlasangiz, haqiqiy xabarnoma xabariga almashtiring.
12 -qadam:
Bu skriptni elektron jadvalga yangi yozuv qo'shilganda ishga tushirish kerak. Xuddi shu oynada (yuqoridagi skript kodi bilan) asboblar panelidagi "sekundomer" belgisini bosing - "Joriy loyihaning tetiklari". Sizdan loyihangizga nom berishingiz so'raladi (men o'z joyimni "locationDown" deb nomladim) va boshqa brauzer yorlig'i ochiladi, natijada hech qanday natija (tetik) topilmadi. "Yangi tetik yaratish" ni bosing.
13 -qadam:
Yangi oynada "Voqealar manbasini tanlash" uchun "Elektron jadvaldan" -ni tanlang; "Hodisa turini tanlang" uchun "Formani topshirish"; "Xato xabari sozlamalari" uchun "Menga darhol xabar bering". "Saqlash" ni bosing. Sizdan Google hisobingizga kirishingiz so'raladi va kerak bo'lganda bu tetik sizning hisobingizga kirishiga "Ruxsat bering".
14 -qadam:
Triggerlar ro'yxatida siz ilgari yaratgan skript bilan bog'lanadigan tetik bo'lishi kerak. Shuning uchun, elektron jadvalga yangi ma'lumotlar kiritilgandan so'ng (avtomatlashtirilgan shakl havolasi va yuqorida tavsiflangan jim usul yordamida), ishga tushiruvchi darhol tanlangan xabarni o'z ichiga olgan elektron pochta manziliga xabar yuboradigan skriptni chaqiradi.
Biz Google Drive -da ish qildik va endi ThingSpeak -ga o'tmoqdamiz.
15 -qadam:
ThingSpeak -da hisobingizga kiring (https://thingspeak.com/login), "Ilovalar - ThingHTTP" -ga o'ting va "Yangi ThingHTTP" -ni bosing. Unga nom bering (men har bir joyning haqiqiy nomini tanladim; "MyLocationName" bu qo'llanma uchun) va "URL" maydoniga matnli faylingiz havolasini joylashtiring.
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit
Boshqa barcha maydonlarni avvalgidek qoldiring va "ThingHTTP -ni saqlash" -ni bosing.
16 -qadam:
Keyin "Ilovalar - Reaksiya" ga o'ting va "Yangi reaktsiya" ni bosing. Unga nom bering (yana, men manzil nomini tanladim, keyin "reaktsiya" so'zi, lekin siz xohlagan nomni tanlashingiz mumkin); "Vaziyat turi" uchun "Ma'lumot tekshiruvi yo'q"; "Test chastotasi" uchun "har 10 daqiqada"; yangilanishlarni kuzatmoqchi bo'lgan kanal nomi, "Agar kanal" uchun; kanal yangilanmagan vaqt (men 15 daqiqa tanladim), "yangilanmagan" uchun; "Harakat" uchun "ThingHTTP"; "Keyin ThingHTTPni bajarish" uchun "MyLocationName"; "Amalni faqat shart bajarilganda bajaring", chunki men faqat bir marta bildirishnoma olishni xohlayman. Agar kanal yangi kiruvchi ma'lumotlar bilan yangilansa, bu o'z -o'zidan tiklanadi. "Reaktsiyani saqlash" ni bosing va siz tugatdingiz.
Bundan buyon sizning kanalingiz 15 daqiqaga yangilanmagan bo'lsa (yoki siz tanlagan narsaga qarab boshqa vaqt), React ThingHTTP -ni ishga soladigan istisnoni aniqlaydi, bu esa o'z navbatida jimgina yangi yozuvni yaratadi. elektron jadval Trigger va Google elektron jadvalidagi skript, yuqorida aytib o'tilganidek, uni o'sha erdan oladi.
Tavsiya:
ESP8266 OLED - Internetdan vaqt va sanani oling: 8 qadam
ESP8266 OLED - Internetdan vaqt va sanani oling: Ushbu qo'llanmada biz ESP8266 OLED va Visuino yordamida NIST TIME serveridan sana va vaqtni olishni o'rganamiz, namoyish videosini tomosha qiling
IoT loyihalaringizdan elektron pochta xabarlarini oling: 6 qadam
IoT loyihalaringizdan elektron pochta xabarlarini oling: IoT loyihalarini Adafruit IO va IFTTT bilan bog'laydigan elektron pochta xabarnomalari. Men ba'zi IoT loyihalarini nashr qildim. Umid qilamanki, siz ularni ko'rgansiz, agar bo'lmasa, men sizni profilimga taklif qilaman va tekshiraman
Dasturni yozib oling va uni yozib oling: 8 qadam
O'qish dasturini yaratish uchun dasturni yaratish kerakmi ?: O'yin dasturining oxirgi versiyasi Texnologiyaning eng so'nggi bosqichi bo'lib o'tdi, shuning uchun u o'z dasturini yaratdi. Python va kutubxonachilarning vazifasi shundaki, ular hech qanday dasturga ega emas
Vaqt va sanani Internetdan oling - Qo'llanma: 9 qadam
Vaqt va sanani Internetdan oling - Qo'llanma: Ushbu qo'llanmada biz M5Stack StickC va Visuino yordamida NIST TIME serveridan sana va vaqtni olishni o'rganamiz, namoyish videosini tomosha qiling
Arduino yordamida uy xavfsizlik tizimidan elektron pochta xabarlarini oling: 3 qadam
Arduino -dan foydalanib, uy xavfsizlik tizimidan elektron pochta xabarlarini oling: Arduino -dan foydalanib, biz deyarli har qanday xavfsizlik tizimini o'rnatishda elektron pochtaning asosiy funksiyalarini osongina yangilay olamiz. Bu, ayniqsa, uzoq vaqtdan beri kuzatuv xizmatidan uzilgan eski tizimlar uchun mos keladi