Bạn có thể tìm thấy các nhà dự báo sốt cỏ khô xuất sắc trực tuyến dựa trên các yếu tố như nhiệt độ, gió và lượng mưa. Tuy nhiên, các đài phát hạt phấn này không tính đến loài thực vật, trong khi dị ứng thường xảy ra ở các loài cụ thể. Chúng tôi xây dựng một cảnh báo phấn hoa chỉ cảnh báo phấn hoa từ những cây bạn đã chọn với một số lượng nhất định.
Danh sách tạp hóa
Ví dụ tại Martoparts.nl
1 mô-đun NodeMCU (€ 10)
Ví dụ tại Conrad.nl
1 giảm căng M10 (€ 1, -)
1 PCB 80 × 50 mm (3,30 €)
1 Vỏ nhựa 85 × 56 × 39 mm (4,25 €)
1 đầu nối vít 2 cực (€ 0,20)
1 bộ đổi nguồn điện 5 V, 1 A (€ 6, -)
1 đèn LED đỏ (€ 0,10)
1 đèn LED xanh (0,10 €)
2 Điện trở 100 ohms (€ 0,10)
Các vật tư khác: mỏ hàn và thiếc hàn, máy cắt cạnh, tuốc nơ vít, máy khoan, giũa, keo siêu bền, dây một cực (30 cm), đồng hồ vạn năng (tùy chọn).
Tổng chi phí: khoảng 24,75 €
Trong 'mùa đông' vừa qua, nhiều bệnh nhân sốt cỏ khô đã phàn nàn. Bất cứ ai bị dị ứng với phấn hoa từ cây ô mai hoặc cây phỉ đều gặp phải tình trạng này vào đầu năm nay chưa từng có và có vẻ như chúng ta sẽ phải làm quen với các loại cây cỏ, cỏ cây nở hoa quanh năm. May mắn thay, hầu hết những người bị dị ứng phấn hoa chỉ thay phiên nhau trong thời gian một chủng cụ thể đang nở rộ. Do đó, báo động về phấn hoa chỉ có ý nghĩa nếu nó tính đến điều này.
Tất nhiên, nó bắt đầu với dữ liệu đáng tin cậy thu được từ việc phát hiện phấn hoa. Nguồn của chúng tôi là Trung tâm Y tế Đại học Leiden, nơi có Khoa Bệnh phổi phân tích các mẫu không khí hàng tuần. Đó là nghề thủ công truyền thống: các mẫu không khí bao gồm bảy dải băng dính (một dải cho mỗi ngày trong tuần) được kiểm tra dưới kính hiển vi! Kết quả đếm hàng tuần được công bố trên trang web LUMC.
Tất nhiên, số lượng này là cụ thể theo vị trí và số lượng hạt phấn được phát hiện ở Leiden có thể khác rất nhiều so với ở Limburg, chỉ cần nêu tên một số. Tuy nhiên, nó cho một dấu hiệu tốt và bằng cách thử nghiệm với các số lượng, dữ liệu cũng có thể được sử dụng cho những nơi khác. Chúng tôi sử dụng các con số từ bảng để xác định xem một nhà máy có vượt quá một tiêu chuẩn nhất định hay không. Nếu vậy, đèn LED màu đỏ sáng lên và cảnh báo được gửi qua email. Nếu giá trị giảm xuống dưới mức tiêu chuẩn một lần nữa, đèn LED màu đỏ sẽ tắt và một e-mail kèm theo thông báo rằng cảnh báo đã bị hủy bỏ.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5.jpg)
Phần cứng
Về phần cứng và nhà ở, dự án này vượt trội về sự đơn giản. Nó cần một bộ chuyển đổi nguồn điện, một vỏ nhỏ gọn và một bộ giảm căng thẳng, một mô-đun NodeMCU, hai đèn LED, hai điện trở và một bảng mạch để hàn toàn bộ. Do đó đây là một mạch rất phù hợp cho những người mới bắt đầu hàn.
Đèn LED màu xanh lá cây cho biết rằng hệ thống đang hoạt động và có khả năng truy xuất dữ liệu từ nguồn; đèn LED màu đỏ sáng khi vượt quá tiêu chuẩn phấn hoa cho các cây đã chọn. Mạch được cấp nguồn bằng bộ đổi nguồn đơn giản 5 vôn, ít nhất 1 amp. Đó cũng có thể là một có kết nối USB, trong trường hợp đó, bạn vẫn cần một cáp USB phù hợp. Toàn bộ được đặt trong một vỏ nhựa nhỏ gọn, tất nhiên bạn cũng có thể tự mình chế tạo hoặc tái sử dụng thứ gì đó. Cuối cùng, lực giảm căng thẳng ngăn không cho cáp nguồn bị kéo ra trong trường hợp có lực không chủ ý tác dụng vào nó.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-1.jpg)
Cài đặt môi trường phát triển
Mô-đun ESP dễ lập trình nhất bằng cách sử dụng môi trường phát triển Arduino (IDE). Bạn có thể tải xuống tại đây. Vì IDE này không chủ yếu dành cho mô-đun này, bạn sẽ cần cài đặt thêm một số thành phần cần thiết. Bấm vào Tệp / Tùy chọn và nhập trên tab Thể chế Con ong Bảng bổ sung Quản lý URL url //arduino.esp8266.com/stable/package_esp8266com_index.json trong. Chọn ngay bây giờ Công cụ / Hội đồng quản trị: / Hội đồng quản trị… và gõ esp. Bây giờ hãy chú ý: vui lòng cài đặt phiên bản 2.4.2 cho phiên bản thư của chương trình, do thư viện không tương thích sendemail.h với các phiên bản mới hơn. Đối với phiên bản không có thư, hãy chọn phiên bản mới nhất.
Chọn mô-đun qua Tools / Board / NodeMCU 1.0 (Mô-đun ESP-12E). Kết nối mô-đun ESP qua cáp USB và chọn đúng cổng trong Arduino IDE (Công cụ / Cổng, chọn cổng com có số cao nhất). Nếu mọi việc suôn sẻ, thiết lập của bạn đã sẵn sàng để bắt đầu lập trình.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-2.jpg)
Thay đổi mã
Bạn có thể tải xuống chương trình làm sẵn tại đây. Thậm chí có hai biến thể: đối với những người hài lòng với đèn LED cảnh báo và không thấy cần thiết phải nhận email, có một phiên bản rút gọn có sẵn. Điều này giúp bạn đỡ rắc rối khi tạo tài khoản với nhà cung cấp thư. Tải tập tin pollen.zip và giải nén nó vào bất kỳ thư mục nào. Mở tập tin pollen.ino cho phiên bản không có thư, hoặc pollenmail.ino đối với phiên bản có chức năng thư (bằng cách nhấp đúp vào tệp, tệp sẽ tự động mở trong Arduino IDE, xem thêm hộp 'Cài đặt môi trường phát triển'). Giải thích bên dưới dựa trên biến thể thư, vì về mặt logic, đó là phiên bản có nhiều điều để kể nhất.
Nạp tiền ssid và mật khẩu mở khóa Nhập tên và mật khẩu mạng không dây của bạn tương ứng. Mở //sec.lumc.nl/pollenwebextern trong trình duyệt và xác định số dòng của các loại cây bạn muốn theo dõi. Dòng đầu tiên của tên cột không được tính, vì vậy Hazel là dòng 1, Alder là dòng 2, v.v. Mã mẫu liệt kê các giá trị cho các loại cây khét tiếng nhất. Sẽ thuận tiện hơn nếu thay thế chúng bằng loài bạn muốn để mắt tới. Điền mã Flora [] nhập các số dòng tương ứng của bảng, được phân tách bằng dấu phẩy và tại ngưỡng [] giá trị của mỗi nhà máy. Xác định điều này là một vấn đề thử nghiệm: ở 0 mỗi hạt phấn của một loại cây cụ thể sẽ dẫn đến báo động và ở mức 100 thì có một ngưỡng đáng kể. Nếu bạn rất dị ứng với phấn hoa alder và ở mức độ nhẹ hơn với phấn hoa bạch dương, Flora [] giá trị {2, 8} và với ngưỡng [] ví dụ các giá trị {0, 20}. Đảm bảo số lượng các số trong cả hai hàng là như nhau.
Tải xuống một trong hai chương trình tạo sẵn từ pcmweb.nlThiết lập tài khoản thư
Bạn cần một máy chủ thư để gửi thư. Bạn có thể cài đặt nó trên mô-đun, nhưng gần như chắc chắn bạn sẽ gặp sự cố với nó. Bộ lọc thư rác làm mất lòng tin từ các nguồn không xác định và thư được gửi trực tiếp từ mô-đun sẽ không đến được với hầu hết người nhận. Vấn đề này có thể được khắc phục bằng cách sử dụng một nhà cung cấp (miễn phí), chẳng hạn như Mailjet.
Truy cập www.mailjet.com và tạo một tài khoản mới bằng cách nhấp vào Đăng kí miễn phí. Để sử dụng tài khoản mới, bạn phải xác nhận địa chỉ email của mình bằng cách nhấp vào nút hoặc liên kết trong email xác nhận.
Đăng nhập vào Mailjet và nhấp vào ở trên cùng Giao dịch / SMTP. phía dưới Thông tin xác thực bạn thấy đấy tên tài khoản và mật khẩu mở khóa, cả hai đều cần thiết trong chương trình của bạn. Sao chép chuỗi trong Người dùng tại server_login thay vì TÊN TÀI KHOẢN (giữa dấu ngoặc kép). Chuỗi dưới mật khẩu mở khóa tham gia dòng mật khẩu máy chủ thay vì MẬT KHẨU MỞ KHÓA. Máy chủ smtp (in-v3.mailjet.com) và số cổng (587) đã được điền vào. Điền vào vị trí của [email protected] Nhập địa chỉ email bạn sử dụng cho tài khoản Mailjet của mình.
Bạn cũng có thể gửi thư qua Gmail. Để sử dụng máy chủ smtp, bạn sẽ cần phải hạ thấp độ bảo mật của tài khoản. Nhấp vào biểu tượng tài khoản của bạn và sau đó Quản lý tài khoản Google của bạn / Bảo mật và chuyển đổi Truy cập bằng các ứng dụng kém an toàn hơn trong. Trong chương trình, bạn sử dụng địa chỉ người gửi và mật khẩu tương ứng của riêng mình, smtp.gmail.com Con ong Máy chủ lưu trữ Và cổng 465 Con ong cổng máy chủ.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-3.jpg)
Mã giải thích
Mã bắt đầu bằng cách nhúng hai thư viện: ESP8266WiFi.h và sendemail.h. Đầu tiên xử lý kết nối với mạng không dây và xử lý lưu lượng truy cập web. Nhờ chương trình này, mô-đun có thể được kết nối với mạng bằng một vài dòng mã và được sử dụng như một ứng dụng khách web. Thư viện thứ hai kiểm soát kết nối đến máy chủ thư, cho phép chương trình gửi thư.
Chúng tôi khai báo một số hằng và biến, những hằng số và biến quan trọng nhất đã được thảo luận trong các đoạn trên. Trong Xử lý dữ liệu, đèn LED bị tắt và mô-đun kết nối với WiFi. Nếu thành công, đèn LED màu xanh lá cây sẽ bật.
Xử lý dữ liệu
Chức năng nhận thông tin() là trung tâm của chương trình. Đây là nơi trang web chứa bảng được truy xuất và phân tích. Biến báo động phấn hoa nhận được giá trị sai và tôi nhận được giá trị 0. Miễn là cảnh báo phấn hoa là sai, trang web sẽ được đọc từng dòng, kiểm tra chuỗi tại một thời điểm tổng số phấn hoa xảy ra trong đó. Đó là cột cuối cùng của bảng, liệt kê tất cả các hạt phấn của thực vật đã được đếm trong tuần qua. Biến đổi tôi được tăng lên một và bây giờ có giá trị 1. Vòng lặp này đi qua các hàng của bảng. Biến đổi NS được khai báo và nhận giá trị 0. Đây là một phần của vòng lặp thứ hai trích xuất tất cả các phần tử từ Flora [] và ngưỡng [] được kết thúc.
Bây giờ các phần tử từ hàng Flora [] từng cái một so với tôi để xác định những cây nào có liên quan. Ngoài ra, hệ thực vật [0] cho phần tử đầu tiên trong hàng, vì vậy nếu có 1 (Hazel trong bảng) tất cả các điều kiện được đáp ứng trong ví dụ này. Sau đó, dòng tiếp theo được đọc, chứa các số. Chức năng toInt () phục vụ để lọc ra các khoảng trắng và các rác khác, chỉ để lại một số nguyên được gán cho biến phấn hoa. Nếu số đó lớn hơn giá trị tương ứng trong hàng ngưỡng [] (trong trường hợp này là giá trị đầu tiên trong hàng đó), cảnh báo phấn hoa trở thành true và chức năng dừng. Nếu không thì NS tăng một và các phần tử sau hết Flora [] và ngưỡng [] so sánh với tôi cho đến khi không còn phần tử nào nữa. Sau đó, trở thành tôi tăng lên một và các hàng sau được đọc từ bảng. Khi toàn bộ bảng đã được xử lý, dữ liệu biến bên trong sẽ nhận được trạng thái true và đèn LED màu xanh lục sẽ bật.
Cảnh báo hay không?
Các tính năng báo thức() và Không báo động() chỉ phục vụ để gửi thư, người đầu tiên thực hiện điều này với một báo thức mới. Chức năng email.send () cho một giá trị thật trả lại nếu gửi thành công và một giá trị sai nếu có gì đó sai. Cấu trúc đã sử dụng các bài kiểm tra cho điều đó và trả về biến báo động đã được gửi tình trạng thật. Khi báo động bị xóa, chức năng Không báo động() thực hiện theo cách tương tự. Nếu nó được chạy thành công, báo động đã được gửi tình trạng sai. Do đó, một email sẽ chỉ được gửi nếu trạng thái thay đổi, bất kể chức năng này được chạy thường xuyên như thế nào.
Có một cái nhìn mỗi giờ
Sau khi chạy nhận thông tin() hàm này xem xét các biến báo động phấn hoa, Dữ liệu trong và báo động đã được gửi. Nếu hai điều đầu tiên là đúng, có một báo động. Đèn LED màu đỏ sẽ bật và nếu chưa thực hiện, một thư báo động sẽ được gửi. Sau đó là một giờ nghỉ giải lao. Có Dữ liệu trong giá trị thật và phấn hoa báo động giá trị sai, sau đó không có báo động và đèn LED màu đỏ tắt. Có báo động đã được gửi giá trị thật (một e-mail báo thức đã được gửi), sau đó một e-mail sẽ theo dõi về việc hủy báo thức và bạn sẽ nhận được báo động đã được gửi tình trạng sai. Ngoài ra còn có một giờ giải lao. Có Dữ liệu trong tình trạng sai, sau đó đã xảy ra sự cố khi truy xuất dữ liệu. Đèn LED màu xanh lá cây tắt để cho biết rằng hệ thống (tạm thời) không hoạt động và sẽ tạm dừng một giờ, sau đó đi bộ() khởi động lại.
Tải lên và kiểm tra phần mềm
Nếu tệp pollen_mail.ino được tùy chỉnh trong môi trường phát triển Arduino và mô-đun NodeMCU được kết nối, quá trình tải lên có thể bắt đầu. Để kiểm tra xem nó có hoạt động hay không, bạn có thể tạm thời thêm một cây (hoặc cây) chắc chắn có phấn hoa vào bàn tại thời điểm đó. Mở màn hình nối tiếp bằng Ctrl + Shift + M và tải chương trình lên bằng Ctrl + U.
Sau khi quá trình tải lên hoàn tất, bạn sẽ thấy cách mô-đun kết nối với mạng không dây trước tiên và sau đó đến máy chủ web. Sau đó theo dõi nhà máy đầu tiên, giá trị ngưỡng áp dụng và giá trị đo được. Sau đó, các giá trị cho các cây sau đây. Nếu một trong các giá trị đo được vượt quá ngưỡng đã đặt cho nhà máy đó, thông báo. Sẽ xuất hiện Cảnh báo phấn hoa!, theo dõi bởi Thư có cảnh báo phấn hoa đã được gửi. Nếu tất cả các giá trị vẫn nằm dưới ngưỡng đã đặt, bạn sẽ chỉ thấy Không có báo động phấn hoa. Có phải tất cả đều hoạt động cho đến nay? Sau đó, bạn có thể ngắt kết nối mô-đun.
Để kiểm tra, bạn có thể tạm thời thêm một cây có phấn hoa trong bảngSự chuẩn bị
Đầu tiên, khoan ba lỗ trên vỏ: hai lỗ 5 mm cho đèn LED và một lỗ 10 mm để giảm căng thẳng. Nhỏ hơn cũng có thể, với một tập tin, bạn có thể tạo lỗ theo kích thước. Lắp đặt bộ giảm căng thẳng và kiểm tra xem các đèn LED có phù hợp không. Dán chúng vào vỏ bằng keo siêu dính. Đồng thời hàn dây vào đèn LED, để sau này bạn có thể hàn chúng vào bảng mạch in.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-4.jpg)
Xây dựng mạch
Theo ghi nhận, phần cứng của dự án này có giới hạn. Mô-đun NodeMCU, hai điện trở và thiết bị đầu cuối vít đi kèm trên PCB. Bắt đầu bằng cách khoan các lỗ 5 mm trên các góc của bảng mạch sao cho chúng vừa khít với các lỗ bắt vít của vỏ.
Bằng cách đặt các thành phần một cách khéo léo, chúng có thể được kết nối với nhau bằng vật hàn. Hãy nhớ rằng (tùy thuộc vào các làn trên bảng mạch) mô-đun có thể nằm chéo trong vỏ và có rất ít lề! Do đó, trước tiên hãy đặt mô-đun lên bảng mạch và xem liệu nó có vừa với vỏ hay không trước khi tiếp tục. Sau đó, cố định mô-đun bằng cách uốn cong các chốt ở mỗi góc ra ngoài một chút ở phía dưới, ví dụ như với đầu phẳng của tuốc nơ vít. Sau đó đặt các điện trở gần chân cắm D5 và D6 và cuối cùng là đầu cuối vít ở phía bên kia của mô-đun. Trong ví dụ, nó có bốn kết nối, nhưng chỉ cần hai kết nối. Các điện trở và đầu nối vít cũng ở vị trí tốt nhất nếu bạn uốn cong chân một chút. Bây giờ, cắt tất cả các chân (bao gồm cả chân của mô-đun) với chiều dài khoảng hai mm bằng máy cắt dây và hàn các bộ phận và chân được kết nối với nhau. Đồng thời, hàn bốn chân góc của mô-đun, trong đó chỉ có một chân được kết nối với đầu cuối vít bằng cách này. Để biết các mẹo về hàn, hãy xem hướng dẫn toàn diện này.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-5.jpg)
Liên kết
Việc hoàn thiện giờ đây trở nên dễ dàng hơn bao giờ hết, vì nhờ có nhà ở sẵn nên mọi thứ đều đã có sẵn. Tất cả những gì còn lại là kết nối bộ điều hợp nguồn và đèn LED. Để bắt đầu, hãy cắt phích cắm tròn khỏi cáp. Nếu bạn đang sử dụng bộ chuyển đổi nguồn USB, hãy cắt đầu nối micro-USB khỏi cáp USB. Dải các dây riêng lẻ trên chiều dài khoảng nửa cm và thiếc các đầu. Nếu bạn có đồng hồ vạn năng, bạn có thể kiểm tra cực tính (cộng và trừ) của các kết nối. Nếu không có, bạn có thể xem liệu có dấu vết trên (một trong các) dây hay không. Một khả năng khác là kết nối đèn LED với điện trở 220 ohm trên một trong các chân. Kết nối một trong các dây của bộ chuyển đổi với điện trở và dây còn lại với chân rảnh của đèn LED. Dây được kết nối với chân dài của đèn LED là điểm cộng. Đánh dấu chủ đề này. Chèn các đầu mạ thiếc qua bộ giảm căng thẳng từ bên ngoài và cố định chúng trong đầu nối vít trên PCB, với dây dương được bật KẾT THÚC đến và bảng suy nghĩ GND.
Cuối cùng, kết nối các đèn LED với các đoạn dây, các đầu của chúng được nhuộm màu. Kết nối các cực âm (chân ngắn) của cả hai đèn LED với GND, kết nối cực dương (chân dài) của đèn LED màu xanh lá cây với điện trở ở chân D5 và cực dương của đèn led màu đỏ trên điện trở tại D6.
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-6.jpg)
Chạy thử
Mạch và chương trình đã được kiểm tra, vì vậy bộ chuyển đổi có thể được cắm vào ổ cắm trên tường. Hiện không có màn hình nối tiếp, vì vậy bạn không thấy bất cứ điều gì xảy ra ban đầu. Đèn LED màu xanh lá cây sẽ sáng lên trong vòng vài giây. Nếu nó không xuất hiện sau một phút, có thể có sự cố với Wi-Fi và bạn sẽ cần di chuyển mạch đến gần điểm truy cập hơn.
Nếu vượt quá tiêu chuẩn phấn hoa được chỉ định trong mã, đèn LED màu đỏ cũng sẽ bật và bạn sẽ nhận được email cảnh báo. Mặc dù chương trình truy xuất dữ liệu mỗi giờ, nhưng thật tốt khi nhận ra rằng hiện tại chúng chỉ được làm mới mỗi tuần một lần (vào chiều thứ Ba) bởi LUMC. Tình trạng vẫn không thay đổi vào những ngày khác, tiếc là điều này không có gì khác biệt. Vì lý do đó, chắc chắn bạn không nên đặt ngưỡng quá cao để có thể nhận được cảnh báo trong thời gian thích hợp.
Hãy hy vọng một năm không có phấn hoa với ít email!
![](http://pic.washchrom.com/wp-content/uploads/how/1724/g9f4w5b7l5-7.jpg)