Mục lục:
- Bước 1:
- Bước 2:
- Bước 3:
- Bước 4:
- Bước 5:
- Bước 6:
- Bước 7:
- Bước 8:
- Bước 9:
- Bước 10:
- Bước 11:
- Bước 12:
- Bước 13:
- Bước 14:
- Bước 15:
- Bước 16:
Video: Nhận email thông báo khi kênh trên ThingSpeak không được cập nhật trong một thời gian: 16 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Câu chuyện nền
Tôi có sáu nhà kính tự động trải khắp Dublin, Ireland. Bằng cách sử dụng một ứng dụng điện thoại di động được tạo tùy chỉnh, tôi có thể theo dõi và tương tác từ xa với các tính năng tự động trong mỗi nhà kính. Tôi có thể mở / đóng cửa sổ theo cách thủ công khi nhiệt độ quá cao / thấp; Tôi có thể bắt đầu / ngừng tưới khi độ ẩm của đất quá thấp / cao; và tôi có thể khởi động / dừng quạt thông gió khi độ ẩm không khí quá cao / thấp. Hoặc tôi có thể chỉ cần chuyển hệ thống sang chế độ Tự động, và các loại rau sẽ được bộ não Arduino chăm sóc. Thông tin chi tiết về dự án này có thể được tìm thấy tại đây -
Kết nối từ xa với các bảng Arduino tại sáu nhà kính được thực hiện với sự trợ giúp của USB GPRS dongle, một ở mỗi vị trí (tôi đã mua thiết bị của tôi từ đâyhttps://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). Như trường hợp của kết nối dữ liệu di động (ít nhất là ở Dublin), nó giảm ngẫu nhiên, đôi khi trong vài phút, đôi khi có thể trong vài giờ. Nếu kết nối bị ngắt, Arduino được lập trình để đặt lại khóa USB sau mỗi 10 phút, để thử khởi tạo một kết nối mới. Tuy nhiên, đôi khi do (chưa) những lý do không xác định, ngay cả khi kết nối dữ liệu GPRS được bật trở lại, Arduino (và lá chắn Ethernet kèm theo) vẫn không thông báo về sự kiện này. Đây là thời điểm tôi cần đến vị trí cụ thể đó và thiết lập lại toàn bộ hệ thống theo cách thủ công.
Khi kết nối dữ liệu bị gián đoạn tại một số vị trí, tôi muốn được thông báo qua email càng sớm càng tốt, để tôi theo dõi vị trí cụ thể đó. Vì giao tiếp giữa ứng dụng điện thoại và Arduino diễn ra thông qua một dịch vụ trực tuyến do https://thingspeak.com cung cấp, cho đến gần đây (và đến ngày 31 tháng 3 năm 2019), điều này có thể thực hiện được bằng cách sử dụng một dịch vụ khác do https:// cung cấp. ifttt.com/discover và đặt ThingHTTP và React trên mỗi kênh, theo dõi thực tế là kênh cụ thể đó có được cập nhật trong một thời gian hay không. Tuy nhiên, theo email tôi nhận được từ Google, bắt đầu từ ngày 31 tháng 3 năm 2019, do không tuân thủ các yêu cầu cập nhật về bảo mật dữ liệu của họ (https://cloud.google.com/blog/products/g-suite/elerating-user -trust-in-our-api-systemss), quyền truy cập vào một số dữ liệu trong tài khoản Google của tôi sẽ không khả dụng đối với IFTTT nữa và như trong trường hợp của tôi, email là tài nguyên duy nhất mà IFTTT có quyền truy cập, tôi hiểu rằng thông báo dịch vụ được mô tả ở trên sẽ ngừng hoạt động.
Vì vậy, do đó, chúng tôi đang thực hiện một giải pháp thay thế để thông báo qua email tiếp tục đến khi kết nối dữ liệu tại các vị trí của tôi bị gián đoạn. Điều này vẫn sử dụng các tính năng ThingHTTP và React trên các kênh của tôi, chỉ có liên kết đến IFTTT được trỏ lại đến Google Drive. Vì vậy, ngoài phần cứng (trong trường hợp của tôi là Arduino), bạn có thể giao tiếp với tài khoản ThingSpeak của mình, bạn sẽ cần tạo một tài khoản Google, trong trường hợp bạn chưa có… và hãy bắt đầu!
Bước 1:
Trong Google Drive
Đầu tiên, trong Google Drive (https://drive.google.com), chúng ta cần tạo một bảng tính và một biểu mẫu đơn giản. Mở Google Drive của bạn và nhấp vào Mới - Google Trang tính - Bảng tính trống.
Bước 2:
Tôi đã đổi tên của mình là "Vị trí xuống bảng tính". Sau đó vào Công cụ - Tạo biểu mẫu.
Bước 3:
Tôi đã đổi tên biểu mẫu là "Vị trí xuống biểu mẫu" và thay đổi "Câu hỏi không có tiêu đề" thành "Trạng thái" và loại từ "Nhiều lựa chọn" thành "Câu trả lời ngắn".
Bước 4:
Sau đó, tôi đã loại bỏ tùy chọn thu thập địa chỉ email - nhấp vào "Thay đổi cài đặt" và bỏ chọn tất cả các tùy chọn trong cửa sổ hiển thị. Nhấp vào "Lưu".
Bước 5:
Đóng tab trình duyệt hiện tại chứa biểu mẫu của bạn và bạn sẽ quay lại tab Google Drive chính của mình, nơi bạn sẽ có cả biểu mẫu và bảng tính vừa tạo. Mở bảng tính và đi tới "Tệp - Chia sẻ…". Trong cửa sổ mới, nhấp vào "Nâng cao"
Bước 6:
Sau đó nhấp vào "Thay đổi…" bên cạnh nhãn "Riêng tư - Chỉ bạn mới có thể truy cập"
Bước 7:
và thay đổi thành "Bật - Bất kỳ ai có liên kết" và cũng thành "Có thể chỉnh sửa"
Bước 8:
Nhấp vào "Lưu" và "Hoàn tất" để quay lại bảng tính của bạn. Trong khi ở đó, nhấp vào "Tệp - Xuất bản lên web…", sau đó nhấp vào "Xuất bản" và "OK" cho cửa sổ hộp thoại. Đóng cửa sổ "Xuất bản lên web".
Khi vẫn ở trong bảng tính, hãy nhấp vào "Biểu mẫu - Chuyển đến biểu mẫu trực tiếp". Nhấp chuột phải bằng chuột của bạn (Tôi đang sử dụng trình duyệt Google Chrome) và chọn "Xem nguồn trang".
Bước 9:
Trong trang mới mở ra, tìm kiếm "hành động biểu mẫu" và sau đó tìm liên kết tương tự như https://docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse. Chọn liên kết đó, sao chép và dán nó vào một số tài liệu văn bản. Bạn sẽ sử dụng nó để tạo liên kết cuối cùng cần được nhập vào ThingHTTP cho ThingSpeak.
Bước 10:
Quay lại chế độ xem nguồn của biểu mẫu của bạn và bây giờ tìm kiếm "mục nhập". Định vị và chọn toàn bộ văn bản, chẳng hạn như "entry. XXXXX". Sao chép và dán nó vào cùng một tài liệu văn bản như trên. Bây giờ bạn có thể đóng chế độ xem nguồn của biểu mẫu Google của mình.
Bước 11:
Trong tài liệu văn bản mới (nơi bạn hiện có liên kết và mục nhập mà chúng tôi đã dán trước đó), hãy tạo liên kết cuối cùng, liên kết đó sẽ giống như
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION + NAME & submit = Gửi
Trong trường hợp của tôi, "VỊ TRÍ + TÊN" sẽ được thay thế bằng tên thực của từng vị trí cụ thể mà tôi cần theo dõi. Email thông báo mà tôi sẽ nhận được khi kết nối bị ngắt sẽ có dòng chữ này để tôi biết chính xác vị trí nào có vấn đề. Trên thực tế, văn bản này sẽ được gửi dưới dạng nội dung văn bản ngắn cho trường "trạng thái" trong biểu mẫu của Google. "& Submit = Submit" sẽ âm thầm gửi biểu mẫu mà không cần thêm bất kỳ hành động nào khi được ThingHTTP và React gọi ra.
Cuối cùng, chúng tôi cần thêm một tập lệnh sẽ tự động gửi thông báo qua email mỗi khi một mục nhập mới được thêm vào bảng tính. Mở bảng tính, sau đó nhấp vào "Công cụ - Trình chỉnh sửa tập lệnh". Trong cửa sổ mới mở ra, hãy thêm mã sau (với các thay đổi bắt buộc để phản ánh nhu cầu của bạn):
function newEntryNotification (e)
{
cố gắng
{
var timestamp = e.values [0];
var location = e.values [1];
var message = location + 'location is DOWN / n' + timestamp;
MailApp.sendEmail ("ĐỊA CHỈ EMAIL CỦA BẠN", "Chú ý, vị trí XUỐNG!", Tin nhắn);
}
bắt (e)
{
MailApp.sendEmail ("ĐỊA CHỈ EMAIL CỦA BẠN", "Lỗi - Chú ý, vị trí XUỐNG!", E.message);
}
}
Thay thế văn bản "ĐỊA CHỈ EMAIL CỦA BẠN" bằng địa chỉ email nơi thông báo sẽ được gửi đến và nội dung thông báo thực tế, nếu bạn muốn.
Bước 12:
Tập lệnh này cần được kích hoạt khi một mục mới được thêm vào bảng tính. Trong cùng một cửa sổ (với mã script ở trên), hãy nhấp vào biểu tượng "đồng hồ bấm giờ" trên thanh công cụ - "Trình kích hoạt của dự án hiện tại". Bạn sẽ được yêu cầu đặt tên cho dự án của mình (tôi đặt tên cho dự án của mình là "locationDown") và một tab trình duyệt khác sẽ mở ra, báo cáo rằng không tìm thấy kết quả nào (không có trình kích hoạt). Nhấp vào "tạo một trình kích hoạt mới".
Bước 13:
Trong cửa sổ mới, chọn "Từ bảng tính" cho "Chọn nguồn sự kiện"; "Trên biểu mẫu gửi" cho "Chọn loại sự kiện"; "Thông báo cho tôi ngay lập tức" đối với "Cài đặt thông báo không thành công". Nhấp vào "Lưu". Bạn sẽ được yêu cầu đăng nhập vào tài khoản Google của mình và "Cho phép" để trình kích hoạt này truy cập vào tài khoản của bạn khi được yêu cầu.
Bước 14:
Bây giờ bạn sẽ có một trình kích hoạt trong danh sách trình kích hoạt, sẽ được liên kết với tập lệnh mà chúng tôi đã tạo trước đó. Do đó, khi chèn dữ liệu mới vào bảng tính (sử dụng liên kết biểu mẫu tự động và phương pháp im lặng được mô tả ở trên), trình kích hoạt sẽ ngay lập tức gọi tập lệnh, tập lệnh này sẽ gửi thông báo đến địa chỉ email được cung cấp, chứa thông báo bạn đã chọn.
Chúng tôi đã hoàn thành về phía Google Drive và hiện chúng tôi đang chuyển sang ThingSpeak.
Bước 15:
Trong ThingSpeak Đăng nhập vào tài khoản của bạn (https://thingspeak.com/login), đi tới "Ứng dụng - ThingHTTP", sau đó nhấp vào "ThingHTTP mới". Đặt tên cho nó (tôi đã chọn tên thực của từng vị trí; "MyLocationName" cho mục đích của hướng dẫn này) và trong trường "URL", hãy dán liên kết từ tệp văn bản của bạn, liên kết trông giống như
docs.google.com/forms/d/e/XXXXXXXXXXXXXXXXXXXXXXXXXXX/formResponse?entry. XXXXX = LOCATION + NAME & submit = Gửi
Giữ nguyên tất cả các trường khác và nhấp vào "Lưu ThingHTTP".
Bước 16:
Sau đó đi tới "Ứng dụng - Phản ứng", và nhấp vào "Phản ứng mới". Đặt tên cho nó (một lần nữa, tôi đã chọn tên vị trí theo sau là từ "react", nhưng bạn có thể chọn bất kỳ tên nào bạn muốn); "Không Kiểm tra Dữ liệu" cho "Loại Điều kiện"; "10 phút một lần" cho "Tần suất kiểm tra"; tên kênh mà bạn muốn theo dõi để cập nhật, cho "Nếu Kênh"; thời gian kênh chưa được cập nhật (tôi đã chọn 15 phút), vì "chưa được cập nhật cho"; "ThingHTTP" cho "Hành động"; "MyLocationName" cho "sau đó thực hiện ThingHTTP"; "Chỉ thực hiện hành động khi điều kiện đầu tiên được đáp ứng", vì tôi chỉ muốn nhận được thông báo một lần. Điều này sẽ tự đặt lại khi kênh được cập nhật lại với dữ liệu mới đến. Nhấp vào "Save React" và bạn đã hoàn tất.
Kể từ bây giờ khi kênh của bạn chưa được cập nhật trong 15 phút (hoặc thời gian khác, tùy thuộc vào những gì bạn đã chọn), React sẽ bắt ngoại lệ đó sẽ kích hoạt ThingHTTP, từ đó sẽ âm thầm tạo một mục mới trong bảng tính. Trình kích hoạt và tập lệnh trên Bảng tính Google sẽ lấy nó từ đó, như đã được giải thích ở trên.
Đề xuất:
Chương trình MicroPython: Cập nhật dữ liệu về bệnh Coronavirus (COVID-19) trong thời gian thực: 10 bước (có hình ảnh)
Chương trình MicroPython: Cập nhật dữ liệu về bệnh do coronavirus (COVID-19) theo thời gian thực: Trong vài tuần qua, số trường hợp được xác nhận mắc bệnh do coronavirus (COVID 19) trên toàn thế giới đã vượt quá 100.000 và tổ chức y tế thế giới (WHO) đã tuyên bố đợt bùng phát viêm phổi do coronavirus mới trở thành đại dịch toàn cầu. Tôi đã rất
Trồng nhiều rau diếp trong ít không gian hơn hoặc Trồng rau diếp trong không gian, (nhiều hơn hoặc ít hơn).: 10 bước
Trồng nhiều rau diếp hơn trong ít không gian hơn hoặc … Trồng rau diếp trong không gian, (Nhiều hơn hoặc ít hơn): Đây là bài dự thi chuyên nghiệp cho Cuộc thi trồng trọt ngoài Trái đất, được gửi thông qua Huấn luyện viên. Tôi không thể vui mừng hơn khi được thiết kế cho sản xuất cây trồng vũ trụ và đăng Tài liệu hướng dẫn đầu tiên của mình. Để bắt đầu, cuộc thi yêu cầu chúng tôi
Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: 3 bước
Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: Sử dụng Arduino, chúng tôi có thể dễ dàng trang bị thêm chức năng email cơ bản vào hầu hết mọi cài đặt hệ thống bảo mật hiện có. Điều này đặc biệt thích hợp cho các hệ thống cũ hơn mà rất có thể đã bị ngắt kết nối khỏi dịch vụ giám sát từ lâu
Nhận dạng khuôn mặt trong thời gian thực: một dự án từ đầu đến cuối: 8 bước (có hình ảnh)
Nhận dạng khuôn mặt trong thời gian thực: một Dự án từ đầu đến cuối: Trong hướng dẫn cuối cùng của tôi khi khám phá OpenCV, chúng tôi đã học cách THEO DÕI ĐỐI TƯỢNG TẦM NHÌN TỰ ĐỘNG. Bây giờ, chúng tôi sẽ sử dụng PiCam của mình để nhận dạng khuôn mặt trong thời gian thực, như bạn có thể thấy bên dưới: Dự án này được thực hiện với " Thư viện Thị giác Máy tính Nguồn Mở tuyệt vời & qu
Làm thế nào để tải nhạc từ trang web ALMOST BẤT KỲ (Haha) (Miễn là bạn có thể nghe được thì bạn có thể nhận được nó Được thôi nếu nó được nhúng vào Flash mà bạn có thể không có khả năng) EDITED !!!!! Thông tin thêm: 4 bước
Làm thế nào để tải nhạc từ trang web ALMOST BẤT KỲ (Haha) (Miễn là bạn có thể nghe nó thì bạn có thể nhận được nó … Được thôi nếu nó được nhúng vào Flash mà bạn có thể không có khả năng) EDITED !!!!! Thông tin bổ sung: nếu bạn đã từng truy cập vào một trang web và nó phát một bài hát mà bạn thích và muốn nó thì đây là hướng dẫn cho bạn, không phải lỗi của tôi nếu bạn làm hỏng thứ gì đó (chỉ có cách là nếu bạn bắt đầu xóa nội dung mà không có lý do ) tôi đã có thể tải nhạc cho