Съдържание:
- Етап 1:
- Стъпка 2:
- Стъпка 3:
- Стъпка 4:
- Стъпка 5:
- Стъпка 6:
- Стъпка 7:
- Стъпка 8:
- Стъпка 9:
- Стъпка 10:
- Стъпка 11:
- Стъпка 12:
- Стъпка 13:
- Стъпка 14:
- Стъпка 15:
- Стъпка 16:
Видео: Получаване на имейл с известие, когато канал на ThingSpeak не се актуализира за известно време: 16 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
История на фона
Имам шест автоматизирани оранжерии, които са разпространени в Дъблин, Ирландия. С помощта на персонализирано приложение за мобилен телефон мога да наблюдавам дистанционно и да взаимодействам с автоматизираните функции във всяка оранжерия. Мога ръчно да отварям / затварям прозорците, когато температурата е твърде висока / ниска; Мога да стартирам / спирам напояването, когато влажността на почвата е твърде ниска / висока; и мога да стартирам / спирам вентилатора, когато влажността на въздуха е твърде висока / ниска. Или просто мога да превключа системата в автоматичен режим и зеленчуците ще се грижат за мозъка на Arduino. Повече подробности за този проект можете да намерите тук -
Отдалечената връзка с дъските Arduino в шестте оранжерии става възможна с помощта на USB GPRS ключове, по един на всяко място (аз си купих моя от тук https://www.aliexpress.com/item/Unlocked-New-Huawei-E353 -E353s-2-With-Antenna-3G-USB-Modem-21-6-Mbps-HSPA-Mobile/32979630201.html? Spm = a2g0s.9042311.0.0.44cb4c4dzVUThU). Както е случаят с връзката за мобилни данни (поне в Дъблин), тя случайно пада, понякога за няколко минути, понякога може да е за няколко часа. Ако връзката прекъсне, Arduino е програмиран да нулира USB ключа на всеки 10 минути, за да се опита да инициира нова връзка. Понякога обаче, поради (все още) неизвестни причини, дори ако връзката за данни за GPRS е отново включена, Arduino (и прикаченият Ethernet щит) не забелязват събитието. Това е моментът, в който трябва да отида на това конкретно място и ръчно да рестартирам цялата система.
Когато връзката за данни прекъсне на някое място, исках да бъда уведомен по имейл възможно най -скоро, за да следя това конкретно място. Тъй като комуникацията между телефонното приложение и Arduino се осъществява чрез онлайн услуга, предоставяна от https://thingspeak.com, доскоро (и до 31 март 2019 г.), това беше възможно с помощта на друга услуга, предоставена от https:// ifttt.com/discover и задаване на ThingHTTP и React за всеки канал, като се следи фактът дали този конкретен канал не е актуализиран от известно време. Според имейл, който получих от Google, считано от 31 март 2019 г., поради неспазване на техните актуализирани изисквания за поверителност на данните (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), достъпът до някои данни в профила ми в Google вече няма да е достъпен за IFTTT и тъй като в моя случай имейлът беше единственият ресурс, до който IFTTT имаше достъп, разбирам, че известието гореописаната услуга ще спре да работи.
Ето защо, ето ни, прилагаме алтернативно решение, за да могат известията по имейл да продължават да пристигат, когато връзката за данни на моите места прекъсне. Това все още използва функциите ThingHTTP и React в каналите ми, само връзката към IFTTT беше пренасочена към Google Диск. Така че освен хардуера (Arduino в моя случай) може да сте общували с вашия акаунт в ThingSpeak, ще трябва да създадете акаунт в Google, който в случай, че все още нямате такъв … и нека започнем!
Етап 1:
В Google Диск
Първо, в Google Диск (https://drive.google.com) трябва да създадем електронна таблица и прост формуляр. Отворете своя Google Диск и щракнете върху Ново - Google Таблици - Празна електронна таблица.
Стъпка 2:
Преименувах моя на „Таблица за местоположение надолу“. След това отидете на Инструменти - Създайте формуляр.
Стъпка 3:
Преименувах формуляра на „Форма за местоположение надолу“и промених „Въпрос без заглавие“на „Състояние“, а типа от „Множество възможности за избор“на „Кратък отговор“.
Стъпка 4:
След това премахнах опцията за събиране на имейл адреси - щракнете върху „Промяна на настройките“и премахнах отметката от всички опции в прозореца, който се появи. Кликнете върху „Запазване“.
Стъпка 5:
Затворете текущия раздел на браузъра, който съдържа формуляра ви, и трябва да се върнете към основния раздел на Google Диск, където трябва да имате както формуляра, така и електронната таблица, която току -що създадохте. Отворете електронната таблица и отидете на „Файл - Споделяне …“. В новия прозорец кликнете върху „Разширени“
Стъпка 6:
След това кликнете върху „Промяна …“до етикета „Частно - само вие имате достъп“
Стъпка 7:
и променете на „Вкл. - Всеки с връзката“, а също и на „Може да редактира“
Стъпка 8:
Кликнете върху „Запазване“и „Готово“, за да се върнете към електронната си таблица. Докато сте там, щракнете върху „Файл - Публикуване в мрежата …“, след което кликнете върху „Публикуване“и „OK“за диалоговия прозорец. Затворете прозореца „Публикуване в мрежата“.
Докато сте още в електронната таблица, кликнете върху „Формуляр - Отидете на жива форма“. Щракнете с десния бутон на мишката (използвам браузъра Google Chrome) и изберете „Преглед на източника на страница“.
Стъпка 9:
В новата страница, която се отваря, потърсете „действие с формуляр“и след това намерете връзката, която прилича на https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Изберете тази връзка, копирайте и я поставете в някакъв текстов документ. Ще го използвате за формиране на крайната връзка, която трябва да бъде въведена в ThingHTTP за ThingSpeak.
Стъпка 10:
Върнете се към изходния изглед на формуляра си и сега потърсете „запис“. Намерете и изберете целия текст, нещо като "entry. XXXXX". Копирайте и поставете в същия текстов документ, както по -горе. Вече можете да затворите изходния изглед на формуляра си в Google.
Стъпка 11:
В новия текстов документ (където вече имате връзката и записа, който сме поставили преди), създайте крайната връзка, която трябва да изглежда така
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit
В моя случай „LOCATION+NAME“ще бъде заменено с действителното име на всяко конкретно местоположение, което трябва да наблюдавам. Имейлът за известие по имейл, който ще получа, когато връзката прекъсне, ще съдържа този текст, така че да знам точно на кое място има проблеми. Този текст всъщност ще бъде изпратен като краткотрайно съдържание за полето „състояние“във формуляра на Google. „& Submit = Submit“ще изпрати безшумно формуляра, без да са необходими допълнителни действия, когато бъде извикан от ThingHTTP и React.
И накрая, трябва да добавим скрипт, който автоматично ще изпраща известие по имейл всеки път, когато се добави нов запис в електронната таблица. Отворете електронната таблица и след това кликнете върху „Инструменти - редактор на скриптове“. В новия прозорец, който се отваря, добавете следния код (с необходимите промени, за да отразят вашите нужди):
функция newEntryNotification (д)
{
опитвам
{
вар времева марка = e.values [0];
var location = e.values [1];
var message = location + 'location is DOWN / n' + времева марка;
MailApp.sendEmail ("ВАШИЯ ИМЕЙЛ АДРЕС", "Внимание, местоположение НАДОЛУ!", Съобщение);
}
улов (д)
{
MailApp.sendEmail („ВАШИЯТ ИМЕЙЛ АДРЕС“, „Грешка - Внимание, местоположение НАДОЛУ!“, E.message);
}
}
Заменете текста „ВАШИЯТ ИМЕЙЛ АДРЕС“с имейл адреса, на който трябва да се изпрати известието, и действителното съобщение за известие, ако желаете.
Стъпка 12:
Този скрипт трябва да се задейства, когато в електронната таблица е добавен нов запис. Докато сте в същия прозорец (с кода на скрипта по -горе), щракнете върху иконата "хронометър" в лентата с инструменти - "Тригери на текущия проект". Ще бъдете помолени да дадете име на вашия проект (аз нарекох моя „locationDown“) и ще се отвори друг раздел на браузъра, който съобщава, че не са намерени резултати (няма тригери). Кликнете върху „създаване на нов тригер“.
Стъпка 13:
В новия прозорец изберете „От електронна таблица“за „Избор на източник на събитие“; „При изпращане на формуляр“за „Избор на тип събитие“; „Извести ме незабавно“за „Настройки за известия за грешка“. Кликнете върху „Запазване“. Ще бъдете помолени да влезете в профила си в Google и да разрешите на този тригер достъп до вашия акаунт, когато е необходимо.
Стъпка 14:
Сега трябва да имате тригер в списъка с тригери, който ще бъде свързан със скрипта, който създадохме по -рано. Следователно, при вмъкване на нови данни в електронната таблица (използвайки автоматизираната връзка към формуляра и безшумния метод, описан по -горе), тригерът веднага ще извика скрипта, който ще изпрати известие на предоставения имейл адрес, съдържащ избраното от вас съобщение.
Свършихме в Google Drive и сега преминаваме към ThingSpeak.
Стъпка 15:
В ThingSpeak Влезте във вашия акаунт (https://thingspeak.com/login), отидете на „Приложения - ThingHTTP“и след това кликнете върху „New ThingHTTP“. Дайте му име (избрал съм действителното име на всяко местоположение; "MyLocationName" за целите на този урок) и в полето "URL" поставете връзката от текстовия си файл, този, който изглежда като
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & submit = Submit
Оставете всички останали полета такива, каквито са, и кликнете върху „Save ThingHTTP“.
Стъпка 16:
След това отидете на „Приложения - React“и кликнете върху „New React“. Дайте му име (отново съм избрал името на местоположението, последвано от думата „реагирам“, но можете да изберете всяко име, което искате); „Без проверка на данни“за „Тип състояние“; „На всеки 10 минути“за „Честота на тестване“; името на канала, който искате да следите за актуализации, за „If Channel“; времето, през което каналът не е актуализиран (избрал съм 15 минути), за „не е актуализиран за“; "ThingHTTP" за "Действие"; "MyLocationName" за "след това изпълнете ThingHTTP"; „Изпълнявайте действие само при първото изпълнение на условието“, тъй като искам да получа известие само веднъж. Това ще се нулира, когато каналът се актуализира отново с нови входящи данни. Кликнете върху „Запазване на реакция“и сте готови.
Отсега нататък, когато вашият канал не е актуализиран в продължение на 15 минути (или друг път, в зависимост от това, което сте избрали), React ще улови това изключение, което ще задейства ThingHTTP, което от своя страна безшумно ще създаде нов запис във вашия електронна таблица. Задействането и скриптът в електронната таблица на Google ще го вземат оттам, както вече беше обяснено по -горе.
Препоръчано:
Симулирано получаване на ЕКГ сигнал чрез LTSpice: 7 стъпки
Симулирано получаване на ЕКГ сигнал чрез LTSpice: Способността на сърцето да изпомпва е функция на електрическите сигнали. Клиницистите могат да прочетат тези сигнали на ЕКГ, за да диагностицират различни сърдечни проблеми. Преди сигналът да бъде правилно подготвен от клиницист, той трябва да бъде правилно филтриран и амплифициран
ESP32 Xiaomi Hack - Получаване на данни безжично: 6 стъпки (със снимки)
ESP32 Xiaomi Hack - Получавайте данни безжично: Скъпи приятели, добре дошли в друг Instructable! Днес ще научим как да получим данните, които този монитор за температура и влажност на Xiaomi предава, използвайки Bluetooth функционалността на платката ESP32. Както виждате, използвам платка ESP32
Получаване на време от интернет с помощта на ESP8266 - Проект за NTP часовник с ESP8266 Nodemcu: 5 стъпки
Получаване на време от интернет с помощта на ESP8266 | NTP Clock Project с ESP8266 Nodemcu: В този урок ще видим как да спечелим време, използвайки ESP8266/nodemcu с Arduino IDE. Получаването на време е особено полезно при регистриране на данни за отбелязване на вашите показания. Ако вашият проект ESP8266 има достъп до интернет, можете да получите време, използвайки Network T
Лесен начин за получаване на данни от вашия автомобил: 4 стъпки
Лесен начин за получаване на данни от вашия автомобил: Тук представяме лесен начин за получаване на данни от конектора OBD-II на вашия автомобил, както и GPS данни. OBD-II, втората бордова диагностика, е автомобилен термин, отнасящ се до способността за самодиагностика и отчитане на автомобила. OBD системите дават
Известие по имейл за открито движение за DVR или NVR: 4 стъпки
Известие за имейл с открито движение за DVR или NVR: В тази инструкция ще ви покажем как да настроите известия за имейл, открити при движение на вашия DVR или NVR. Почти всеки, който проникне във всяка сграда, знае, че хората са прибягнали до инсталиране на системи за видеонаблюдение, за да защитят собствеността си