Mục lục:

Cuộc gọi đánh thức tuyết tự động: 6 bước (có hình ảnh)
Cuộc gọi đánh thức tuyết tự động: 6 bước (có hình ảnh)

Video: Cuộc gọi đánh thức tuyết tự động: 6 bước (có hình ảnh)

Video: Cuộc gọi đánh thức tuyết tự động: 6 bước (có hình ảnh)
Video: Say Xỉn Ngủ Gật Nhưng Lúc Nào Cũng Được 100 Điểm || Review Phim 2024, Tháng bảy
Anonim
Cuộc gọi báo động tuyết tự động
Cuộc gọi báo động tuyết tự động
Cuộc gọi đánh thức tuyết tự động
Cuộc gọi đánh thức tuyết tự động

Ra khỏi nhà vào buổi sáng có thể là một loạt hoạt động sau khi một vài inch chất trắng lắng đọng qua đêm. Thật tuyệt khi thức dậy sớm hơn một chút vào những ngày đó để giải tỏa căng thẳng vào buổi sáng phải không? Dự án này thực hiện điều đó!

Dự án này sử dụng Arduino, cảm biến khoảng cách và IFTTT (một trang web dễ sử dụng) để tự động báo thức cho điện thoại của bạn nếu tuyết rơi qua đêm. Sau khi đã sẵn sàng, bạn sẽ đặt thiết bị bạn đã chế tạo ở một điểm cao (ví dụ: trên giá ba chân) và hướng thiết bị xuống dưới mặt đất. Từ đó nó sẽ liên tục đo khoảng cách giữa bản thân và mặt đất. Khi tuyết rơi, "mặt đất" di chuyển lên phía nó, vì vậy khoảng cách mà nó đo được sẽ giảm đi. Nếu có sự chênh lệch đủ lớn giữa buổi tối và buổi sáng, thiết bị sẽ cảnh báo bạn rằng trời có tuyết rơi!

Các thiết bị điện tử được kết nối đơn giản và tôi sẽ cung cấp mã, vì vậy hãy bắt tay ngay vào!

Quân nhu

  1. Một vi mạch tương thích với Arduino đã kích hoạt Wifi. Đối với dự án này, tôi giả sử bạn sẽ sử dụng Bảng phát triển NodeMCU ESP8266, tôi khuyên bạn nên sử dụng vì nhiều lý do:

    • Nó có tích hợp Wifi.
    • Nó để lộ khá nhiều ghim mà bạn có thể muốn.
    • Nó cung cấp một giao diện USB dễ dàng để lập trình.
    • Nó xử lý việc đặt lại bảng khi tải lên mã và hiển thị các nút đặt lại để gỡ lỗi.
  2. Một cảm biến phạm vi TF Mini Lidar.

    Lưu ý rằng có những cảm biến siêu âm rẻ hơn như HC-SR04, nhưng những tấm chắn tuyết mềm đủ âm thanh để chúng không hoạt động cho điều này

  3. Một breadboard mini.
  4. Giá ba chân hoặc bất kỳ giải pháp nào để gắn cảm biến cao hơn tuyết vài feet.
  5. Một cáp micro usb.
  6. Một cáp mở rộng.
  7. Một bộ sạc usb.
  8. Một hộp nhựa.

Lưu ý, bạn có thể mua vật phẩm từ 5 trở lên tại Dollar Tree khá dễ dàng.

Giá cả khác nhau, nhưng tôi đã có thể thực hiện dự án này với giá khoảng 50 đô la (không tính giá ba chân) bằng cách mua các bộ phận đơn giản tại Dollar Tree. Bộ phận đắt tiền nhất cho đến nay là cảm biến Lidar, chắc chắn có thể được sử dụng lại cho các dự án khác.

Bước 1: Điện tử (Phần cứng)

Điện tử (Phần cứng)
Điện tử (Phần cứng)
Điện tử (Phần cứng)
Điện tử (Phần cứng)
Điện tử (Phần cứng)
Điện tử (Phần cứng)

Các thiết bị điện tử cho dự án này sẽ được lắp ráp khá nhanh chóng. Chỉ cần kết nối Cảm biến Khoảng cách Lidar TF Mini với chip. Các dây phải kết nối như được mô tả trong hướng dẫn SparkFun tuyệt vời này.

Đây là một bản tóm tắt nhanh:

Cảm biến -> ESP8266

Màu xanh lá cây -> D2 (hay còn gọi là GPIO 4, chúng tôi sẽ sử dụng làm RX của mình)

Trắng -> D1 (hay còn gọi là GPIO 5, chúng tôi sẽ sử dụng làm TX của mình)

Đỏ -> Vin

Đen -> Gnd

Bước 2: Điện tử (Phần mềm)

Điện tử (Phần mềm)
Điện tử (Phần mềm)

Quyết định gửi cho bạn một cuộc gọi đánh thức sẽ được thực hiện bởi vi mạch của bạn, vì vậy chúng tôi cần phải lập trình nó một cách thích hợp! Để lập trình chip của bạn, chúng tôi sẽ sử dụng ngôn ngữ gọi là Arduino mà bạn có thể tải lên chip của mình bằng Arduino IDE (phần mềm chạy trên máy tính của bạn).

1. Tải xuống phần mềm Arduino tại đây. Hướng dẫn này sẽ tham chiếu đến các menu Arduino Desktop IDE, vì vậy hãy tiếp tục và tải xuống trừ khi bạn thực sự hài lòng với Web IDE.

2. Thiết lập Arduino Desktop IDE của bạn để hoạt động với vi mạch ESP8266. Hướng dẫn cho điều đó có thể được tìm thấy ở đây. Về sau, hướng dẫn này giả định rằng bạn có đèn LED nhấp nháy và biết cách tải tập lệnh lên ESP8266.

3. Tải xuống tập lệnh để tải lên vi mạch của bạn từ https://github.com/robertclaus/snowalert. Không cần chỉnh sửa kịch bản. Mọi thứ bạn cần định cấu hình sẽ có thể định cấu hình sau khi bạn tải lên mã.

4. Mở tập lệnh trong Arduino và cài đặt các thư viện mà nó phụ thuộc vào hệ thống của bạn. Ở đầu IDE, nhấp vào: Phác thảo -> Bao gồm Thư viện -> Quản lý Thư viện

Sau đó, tìm kiếm và cài đặt các thư viện này:

  • WifiManager của tzapu (phiên bản 0.14.0)
  • ArduinoJson của Benoit Blanchon (phiên bản 6.14.1)
  • TFminiArduino bởi hideakitai (phiên bản 0.1.1)
  • NTPClient của Fabrice Weinberg (phiên bản 3.2.0)
  • ESP_DoubleResetDetector của Khôi Hoàng (phiên bản 1.0.1)

5. Định cấu hình bảng của bạn cho dự án này. Ở đầu IDE, nhấp vào Công cụ và điều chỉnh các cài đặt này:

  • Kích thước Flash - 4M (1M SPIFFS) - Điều này dự trữ dung lượng để lưu cấu hình của chúng tôi.
  • Xóa Flash - Tất cả nội dung - Điều này đảm bảo không có dữ liệu trước đó trên chip.

    Lưu ý, nếu bạn cần cập nhật mã, cài đặt này thành Chỉ phác thảo sẽ giữ nguyên cấu hình của bạn

6. Đảm bảo rằng vi mạch ESP của bạn được cắm vào máy tính của bạn và có một cổng được chỉ định. Chọn đúng cổng trong IDE và tải lên!

7. Mở Serial Monitor (Tools -> Serial Monitor) trong Arduino IDE. Sau đó nhấp vào nút Đặt lại trên chip của bạn. Xác nhận rằng bạn nhận được văn bản hiển thị trong Serial Monitor

Bước 3: Cấu hình IFTTT

Cấu hình IFTTT
Cấu hình IFTTT
Cấu hình IFTTT
Cấu hình IFTTT
Cấu hình IFTTT
Cấu hình IFTTT

Bây giờ Arduino của bạn đang chạy, chúng tôi cần phải cấu hình nó để làm những gì chúng tôi muốn. Đối với hướng dẫn này, chúng tôi sẽ sử dụng một dịch vụ có tên IFTTT cho phép chúng tôi dịch một thông điệp đơn giản từ Arduino của chúng tôi sang các hành động phức tạp hơn.

Ví dụ: nếu Arduino của chúng tôi nói "Tuyết rơi!" thì IFTTT sẽ gọi đến điện thoại di động của chúng tôi bằng một cuộc gọi đánh thức.

1. Bạn sẽ cần một tài khoản IFTTT miễn phí, bạn có thể tạo tài khoản này tại

2. Để tạo Applet mới sử dụng logic này, hãy điều hướng đến Tạo hoặc chỉ theo liên kết sau:

3. Nhấp vào Đây -> Tìm kiếm và chọn Webhooks -> Nếu nó yêu cầu bạn làm như vậy, hãy nhấp vào Kết nối -> Nhập snow_alert vào hộp.

4. Nhấp vào That -> Search và chọn Phone Call (US Only) -> Nếu nó yêu cầu bạn làm như vậy, hãy nhấp vào Connect -> Nếu bạn nhận được một cửa sổ bật lên, hãy làm theo lời nhắc -> Nhập một thông báo như Nó có tuyết rơi đêm qua! mà bạn muốn cuộc gọi điện thoại đọc cho bạn.

5. Nhấp vào Hoàn tất để kích hoạt applet của bạn.

6. Kiểm tra Webhook của bạn bằng cách điều hướng đến cài đặt dịch vụ Webhooks của bạn trong IFTTT và tìm URL kiểm tra được liệt kê ở đó. Điều hướng đến URL đó và thay thế {event} bằng snow_alert. Sau đó nhấp vào Kiểm tra nó. Nếu mọi thứ đang hoạt động, bạn sẽ nhận được một cuộc điện thoại!

7. Trên trang thử nghiệm, lưu url về cuối trang. Bạn sẽ cần nó trong bước sau. Nó sẽ trông giống như thế này:

maker.ifttt.com/trigger/snow_alert/with/key/d-Y8rXge5kibp0dkdrCgxu

Đối với các vấn đề gỡ lỗi, người dùng cũng có thể muốn ghi lại chiều cao tuyết theo thời gian. Họ có thể định cấu hình một ứng dụng IFTTT riêng biệt chấp nhận webhook snow_measurement và ghi nhật ký vào Google Trang tính. Để thực hiện việc này, bạn chỉ cần lặp lại các bước trên nhưng thay snow_alert bằng snow_measurement trong bước Webhooks ở trên và thay thế bước Gọi điện bằng dịch vụ Google Trang tính -> Thêm hàng vào bảng tính.

Bước 4: Cấu hình SnowAlert

Cấu hình SnowAlert
Cấu hình SnowAlert

Tại thời điểm này, bước phần mềm cuối cùng là định cấu hình mã trên ESP của bạn để gửi thông báo đến ứng dụng IFTTT mới của bạn.

Đối với cấu hình này, tôi khuyên bạn nên làm theo hướng dẫn của SnowAlert trên Github vì các hướng dẫn ở đây có thể đã lỗi thời nếu SnowAlert có các tính năng mới.

Tại thời điểm viết các hướng dẫn này, bạn sẽ làm như sau.

Rất quan trọng, tất cả thời gian bạn định cấu hình cần phải ở múi giờ UTC và ở định dạng thời gian 24 giờ (không phải SA / CH).

  1. Quyết định thời gian bạn muốn nhận cuộc gọi vào buổi sáng. Đây là thời gian kết thúc của bạn.
  2. Quyết định thời gian bắt đầu đo vào buổi tối hôm trước. Đây là thời gian bắt đầu của bạn.
  3. Cắm ESP của bạn và mở Serial Monitor trong Arduino IDE như chúng ta đã làm trước đây.
  4. Kết nối với mạng Wi-Fi SnowMeasure trên máy tính của bạn. Bạn sẽ thấy một số hoạt động trong Serial Monitor khi bạn kết nối.
  5. Bạn sẽ tự động được chuyển đến trang thiết lập trong trình duyệt của mình sau vài giây.
  6. Nhấp vào Định cấu hình Wi-Fi
  7. Nhập các giá trị sau:

    1. SSID - Mạng wifi mà ESP sẽ kết nối với internet.
    2. Mật khẩu - Mật khẩu để kết nối với mạng wifi đó.
    3. Giờ bắt đầu - Giờ bạn muốn đo chiều cao tuyết vào buổi tối.
    4. Phút bắt đầu - Thành phần phút cho thời gian bạn muốn đo vào buổi tối.
    5. Giờ kết thúc - Giờ bạn muốn nó đo chiều cao tuyết vào buổi sáng (và có thể gọi cho bạn)
    6. Phút kết thúc - Thành phần phút cho thời gian bạn muốn đo vào buổi sáng.
    7. URL Alert Webhook - Đây phải là url bạn đã lưu ở bước trước trông giống như sau:
    8. URL đo lường Webhook - URL này phải giống như ở trên, nhưng thay thế snow_alert bằng snow_measurement

Bước 5: Gắn cảm biến

Gắn cảm biến
Gắn cảm biến
Gắn cảm biến
Gắn cảm biến
Gắn cảm biến
Gắn cảm biến

Tại thời điểm này, mọi thứ đã sẵn sàng. Bạn sẽ muốn khoét các lỗ trên hộp nhựa và gắn nó vào nơi cách mặt đất vài feet. Cách bạn lắp chính xác nó sẽ phụ thuộc vào các bộ phận và mục tiêu của bạn, nhưng dưới đây là một số khuyến nghị để bạn làm đúng.

  • Đảm bảo cảm biến của bạn hướng xuống một góc nhỏ. Bạn không muốn nó nhìn thẳng xuống vì hộp của bạn sẽ đổ bóng ở nơi tuyết không rơi xuống đất.
  • Bạn sẽ muốn cảm biến cách tuyết khoảng 2-3 feet.
  • Tuyết tan thành nước, vì vậy hãy đảm bảo thiết lập của bạn không thấm nước một cách hợp lý.
  • Hãy chắc chắn rằng bạn có quyền lực! Cáp USB dài hoặc dây mở rộng sẽ giúp bạn tránh xa mái nhà để đến một vị trí hữu ích. Dù bằng cách nào, hãy đảm bảo rằng nó an toàn bên ngoài.

Bước 6: Nhận cuộc gọi

Nhận cuộc gọi!
Nhận cuộc gọi!

Nếu mọi thứ diễn ra theo đúng kế hoạch, bạn nên nhận cuộc gọi vào buổi sáng nếu trời có tuyết. Nếu điều gì đó không hoạt động, hãy kiểm tra nhật ký khoảng cách của bạn trong Google Trang tính để xem những gì thực sự được đo.

Thử thách trên tuyết
Thử thách trên tuyết
Thử thách trên tuyết
Thử thách trên tuyết

Về nhì trong Thử thách tuyết

Đề xuất: