Სარჩევი:
- Ნაბიჯი 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 10:15
ფონის ამბავი
მე მაქვს ექვსი ავტომატური სათბური, რომლებიც გავრცელებულია დუბლინში, ირლანდია. მობილური ტელეფონის აპლიკაციის გამოყენებით, შემიძლია დისტანციურად ვაკონტროლო და ვითანამშრომლო თითოეულ სათბურის ავტომატურ ფუნქციებთან. შემიძლია ხელით გავხსნა / დავხურო ფანჯრები, როდესაც ტემპერატურა ძალიან მაღალი / დაბალია; შემიძლია დავიწყო / შეწყვიტო მორწყვა, როდესაც ნიადაგის ტენიანობა ძალიან დაბალია / მაღალია; და შემიძლია დავიწყო / გავაჩერო სავენტილაციო ვენტილატორი, როდესაც ჰაერის ტენიანობა ძალიან მაღალია / დაბალი. ან შემიძლია უბრალოდ გადავიყვანო სისტემა ავტომატურ რეჟიმში და ბოსტნეულს მოვლის არდუინოს ტვინი. ამ პროექტის შესახებ უფრო დეტალური ინფორმაცია შეგიძლიათ იხილოთ აქ -
ექვს სათბურში არდუინოს დაფებთან დისტანციური კავშირი შესაძლებელი გახდა 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– ის მიერ გაწეული ონლაინ სერვისის საშუალებით, ბოლო დრომდე (და 2019 წლის 31 მარტამდე), ეს შესაძლებელი იყო სხვა სერვისის გამოყენებით https:// ifttt.com/discover და თითოეულ არხზე ThingHTTP- ისა და React- ის დაყენება, მონიტორინგი იმისა თუ არა ეს კონკრეტული არხი გარკვეული დროის განმავლობაში განახლებული. თუმცა, Google- ისგან მიღებული ელფოსტის თანახმად, 2019 წლის 31 მარტიდან, მათი განახლებული მონაცემების კონფიდენციალურობის მოთხოვნების შეუსრულებლობის გამო (https://cloud.google.com/blog/products/g-suite/elevating-user -trust-in-our-api-ecosystems), ჩემი Google ანგარიშის ზოგიერთ მონაცემზე წვდომა აღარ იქნება IFTTT– სთვის და, როგორც ჩემს შემთხვევაში, ელ.ფოსტა იყო ერთადერთი რესურსი, რომელზეც IFTTT– ს ჰქონდა წვდომა, მე მესმოდა, რომ შეტყობინება ზემოთ აღწერილი სერვისი შეწყვეტს მუშაობას.
ამრიგად, აქ ჩვენ განვახორციელებთ ალტერნატიულ გადაწყვეტას, რათა ელ.ფოსტის შეტყობინებები კვლავ მოვიდეს, როდესაც ჩემს საიტებზე მონაცემთა კავშირი მცირდება. ეს კვლავ იყენებს ThingHTTP და React მახასიათებლებს ჩემს არხებზე, მხოლოდ IFTTT– ს ბმული ხელახლა იყო მითითებული Google Drive– ზე. ასე რომ, აპარატურის გარდა (ჩემს შემთხვევაში Arduino) თქვენ შეიძლება გქონდეთ კომუნიკაცია თქვენს ThingSpeak ანგარიშთან, თქვენ დაგჭირდებათ Google ანგარიშის შექმნა, იმ შემთხვევაში თუ თქვენ უკვე არ გაქვთ … და დავიწყოთ!
Ნაბიჯი 1:
Google Drive- ში
პირველ რიგში, Google Drive- ში (https://drive.google.com) ჩვენ უნდა შევქმნათ ცხრილი და მარტივი ფორმა. გახსენით თქვენი Google Drive და დააწკაპუნეთ ახალზე - Google Sheets - ცარიელი ცხრილები.
ნაბიჯი 2:
ჩემს სახელს დავარქვი "მდებარეობა ცხრილში". შემდეგ გადადით ინსტრუმენტებზე - შექმენით ფორმა.
ნაბიჯი 3:
მე შევცვალე ფორმა, როგორც "ადგილმდებარეობა ქვემოთ ფორმაში", და შევცვალე "უსათაურო შეკითხვა" "სტატუსად" და ტიპი "მრავალჯერადი არჩევანისგან" "მოკლე პასუხი".
ნაბიჯი 4:
შემდეგ მე ამოვიღე ელ.ფოსტის მისამართების შეგროვების ვარიანტი - დააწკაპუნეთ "პარამეტრების შეცვლაზე" და მოხსნა ყველა ვარიანტი ფანჯარაში, რომელიც გამოჩნდა. დააწკაპუნეთ "შენახვაზე".
ნაბიჯი 5:
დახურეთ ბრაუზერის ამჟამინდელი ჩანართი, რომელიც შეიცავს თქვენს ფორმას და თქვენ უნდა დაუბრუნდეთ თქვენს მთავარ Google Drive ჩანართს, სადაც თქვენ უნდა გქონდეთ ფორმა და ცხრილი, რომელიც თქვენ შექმენით. გახსენით ცხრილი და გადადით "ფაილი - გაზიარება …". ახალ ფანჯარაში დააჭირეთ "მოწინავე"
ნაბიჯი 6:
შემდეგ დააწკაპუნეთ "შეცვლა …" ეტიკეტის გვერდით "პირადი - მხოლოდ შენ შეგიძლია წვდომა"
ნაბიჯი 7:
და შეცვალეთ "ჩართული - ნებისმიერს ბმულით" და ასევე "შეუძლია რედაქტირება"
ნაბიჯი 8:
დააწკაპუნეთ "შენახვაზე" და "შესრულებულია" თქვენს ცხრილში დასაბრუნებლად. იქ ყოფნისას დააწკაპუნეთ "ფაილი - გამოქვეყნება ინტერნეტში …" და შემდეგ დააწკაპუნეთ "გამოქვეყნებაზე" და "OK" დიალოგური ფანჯრისთვის. დახურეთ ფანჯარა "გამოქვეყნება ინტერნეტში".
სანამ ჯერ კიდევ ცხრილში ხართ, დააწკაპუნეთ "ფორმა - გადადით ცოცხალ ფორმაზე". დააწკაპუნეთ მაუსით მარჯვენა ღილაკით (მე ვიყენებ Google Chrome ბრაუზერს) და აირჩიეთ "გვერდის წყაროს ნახვა".
ნაბიჯი 9:
ახალ გვერდზე, რომელიც იხსნება, მოძებნეთ "ფორმის მოქმედება" და შემდეგ იპოვეთ ბმული, რომელიც ჰგავს https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse. შეარჩიეთ ეს ბმული და დააკოპირეთ და ჩასვით იგი ტექსტურ დოკუმენტში. თქვენ გამოიყენებთ მას საბოლოო ბმულის შესაქმნელად, რომელიც უნდა შეიყვანოთ ThingHTTP for ThingSpeak.
ნაბიჯი 10:
დაუბრუნდით თქვენი ფორმის წყაროს ხედს და ახლა მოძებნეთ "შესვლა". იპოვნეთ და შეარჩიეთ მთელი ტექსტი, მაგალითად "entry. XXXXX". დააკოპირეთ და ჩასვით იგი იმავე ტექსტურ დოკუმენტში, როგორც ზემოთ. ახლა შეგიძლიათ დახუროთ თქვენი Google ფორმის წყაროს ხედი.
ნაბიჯი 11:
ახალ ტექსტურ დოკუმენტში (სადაც ახლა გაქვთ ბმული და ჩანაწერი, რომელიც ადრე ჩავწერეთ), შექმენით საბოლოო ბმული, რომელიც ასე უნდა გამოიყურებოდეს
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & გაგზავნა = გაგზავნა
ჩემს შემთხვევაში, "LOCATION+NAME" შეიცვლება თითოეული კონკრეტული ადგილის რეალური სახელით, რომლის მონიტორინგიც მჭირდება. ელ.ფოსტის შეტყობინების ელ.წერილს, რომელსაც მივიღებ კავშირის გაწყვეტისას, შეიცავს ამ ტექსტს, რათა ზუსტად ვიცოდე რა ადგილს აქვს პრობლემა. ეს ტექსტი ფაქტობრივად წარედგინება როგორც მოკლე ტექსტური შინაარსი "სტატუსის" ველზე Google ფორმაში. "& წარდგენა = წარდგენა" ჩუმად წარუდგენს ფორმას, ყოველგვარი შემდგომი მოქმედების გარეშე, როდესაც ThingHTTP და React მოიხმობს.
დაბოლოს, ჩვენ უნდა დავამატოთ სკრიპტი, რომელიც ავტომატურად გამოაგზავნის ელ.ფოსტის შეტყობინებას ყოველ ჯერზე, როდესაც ცხრილში ახალი ჩანაწერი დაემატება. გახსენით ცხრილი და შემდეგ დააჭირეთ ღილაკს "ინსტრუმენტები - სკრიპტის რედაქტორი". ახალ ფანჯარაში, რომელიც იხსნება, დაამატეთ შემდეგი კოდი (საჭირო ცვლილებებით, რომელიც ასახავს თქვენს საჭიროებებს):
ფუნქცია newEntryNotification (e)
{
სცადე
{
var დროის ნიშნული = ე. ღირებულებები [0];
var მდებარეობა = e. ღირებულებები [1];
var შეტყობინება = მდებარეობა + 'მდებარეობა არის 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/XXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION+NAME & გაგზავნა = გაგზავნა
დატოვე ყველა სხვა ველი ისე, როგორც არის და დააწკაპუნეთ "Save ThingHTTP" - ზე.
ნაბიჯი 16:
შემდეგ გადადით "პროგრამები - რეაგირება" და დააწკაპუნეთ "ახალი რეაქცია". მიეცი მას სახელი (ისევ და ისევ, მე ავირჩიე ადგილმდებარეობის სახელი, რასაც მოჰყვება სიტყვა "რეაქცია", მაგრამ თქვენ შეგიძლიათ აირჩიოთ ნებისმიერი სახელი, რომელიც გსურთ); "მონაცემების შემოწმება" "მდგომარეობის ტიპი"; "ყოველ 10 წუთში" "ტესტის სიხშირისთვის"; არხის სახელი, რომლის მონიტორინგიც გსურთ განახლებებისთვის, "თუ არხი"; დრო, როდესაც არხი არ განახლებულა (მე ავირჩიე 15 წუთი), ამისთვის "არ განახლებულა"; "ThingHTTP" "მოქმედებისათვის"; "MyLocationName" for "then perform ThingHTTP" for; "გაუშვით მოქმედება მხოლოდ პირველად პირობის დაკმაყოფილებისას", რადგან მე მინდა მხოლოდ ერთხელ მივიღო შეტყობინება. ეს თავისთავად აღდგება, როდესაც არხი კვლავ განახლდება ახალი შემომავალი მონაცემებით. დააწკაპუნეთ "შენახვა რეაქციის" და თქვენ დასრულდება.
ამიერიდან, როდესაც თქვენი არხი არ განახლდება 15 წუთის განმავლობაში (ან სხვა დროს, თქვენი არჩევანის მიხედვით), React დაიჭერს იმ გამონაკლისს, რომელიც გამოიწვევს ThingHTTP- ს, რაც თავის მხრივ ჩუმად შექმნის ახალ ჩანაწერს თქვენს ცხრილი გამომწვევი და სკრიპტი Google ცხრილებში მიიღებს მას იქიდან, როგორც უკვე ავხსენი ზემოთ.
გირჩევთ:
როგორ გავაგზავნოთ ელ.წერილი დანართებით Arduino, Esp32 და Esp8266: 6 ნაბიჯი
როგორ გავაგზავნოთ წერილები Arduino– ს, Esp32– ის და Esp8266– ის დანართებით: აქ მინდა განვმარტო ჩემი ბიბლიოთეკის ვერსია 2 Email, დიდი ევოლუცია 1 ვერსიის მიმართ, Arduino– ს მხარდაჭერით w5100, w5200 და w5500 ethernet ფარით და enc28J60 კლონირებული მოწყობილობები და esp32 და esp8266 მხარდაჭერა. ახლა თქვენ შეგიძლიათ რეკლამა
Bedside MP3 მაღვიძარა წერილი საათი: 6 ნაბიჯი (სურათებით)
Bedside MP3 მაღვიძარა Letter Clock: ამ პროექტისთვის მინდოდა გამეკეთებინა მოსახერხებელი და სრულად ფუნქციონალური საწოლის მაღვიძარა სიტყვა საათი. საწოლთან მაღვიძარაზე ჩემი პირადი წინაპირობებია: იკითხება ნებისმიერ შუქზე, ღამით არ ბრმავდება MP3 მაღვიძარა იზიდავს
თქვენ გაქვთ წერილი: 4 ნაბიჯი
თქვენ გაქვთ ფოსტა: ფოსტის მომსახურება დღევანდელი ცხოვრების ნაწილია. არსებობს რამდენიმე განსხვავებული მიზეზი, რაც მიუთითებს საფოსტო სერვისის აუცილებლობაზე. ნომერ პირველი ყოველთვის იქნება ადამიანებთან დაკავშირების უნარის გამო. მეორე ნომერი ელექტრონული კომერცია, რომელიც ახლა
დროის კუბი - Arduino დროის თვალთვალის გაჯეტი: 6 ნაბიჯი
Time Cube - Arduino Time Tracking Gadget: მინდა შემოგთავაზოთ მარტივი, მაგრამ მართლაც სასარგებლო arduino პროექტი, რომ თვალყური ადევნოთ დროის მოვლენებს, ჭკვიანი კუბური გაჯეტის გადატრიალებით. გადაატრიალეთ " იმუშავე " > " ისწავლე " > " სამუშაოები " > " დაისვენე " გვერდით და დაითვლის
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის - Rc ვერტმფრენი - Rc თვითმფრინავი Arduino– ს გამოყენებით: 5 ნაბიჯი (სურათებით)
უკაბელო დისტანციური მართვის გამოყენებით 2.4Ghz NRF24L01 მოდული არდუინოსთან ერთად Nrf24l01 4 არხი / 6 არხი გადამცემი მიმღები კვადკოპტერისთვის | Rc ვერტმფრენი | Rc თვითმფრინავი Arduino– ს გამოყენებით: Rc მანქანის მართვა | ოთხკუთხედი | დრონი | RC თვითმფრინავი | RC ნავი, ჩვენ ყოველთვის გვჭირდება მიმღები და გადამცემი, დავუშვათ, რომ RC QUADCOPTER– ისთვის ჩვენ გვჭირდება 6 არხიანი გადამცემი და მიმღები და რომ TX და RX ტიპი ძალიან ძვირი ღირს, ამიტომ ჩვენ ვაკეთებთ ერთს ჩვენს