Mục lục:
- Bước 1: Những gì bạn cần…
- Bước 2: Bắt đầu với thiết lập phần cứng cảm biến BME 280
- Bước 3: Mã BME 280 Nodemcu ESP8266
- Bước 4: Thành công Thiết bị cảm biến BME280 + Khắc phục sự cố
- Bước 5: Thiết lập phần cứng Soilsensor
- Bước 6: Mã DS18B20 Nodemcu ESP8266
- Bước 7: Soilsensor thành công và khắc phục sự cố
- Bước 8: Kết thúc
Video: Cảm biến mở rộng Nodemcu ESP8266 cho Weewx: 8 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Đây là hướng dẫn để thêm Cảm biến vào phần mềm trạm thời tiết weewx.
Nếu bạn chưa weewx, bạn có thể tìm hiểu một số thứ trong hướng dẫn này.
bạn cần một số kiến thức cơ bản về mã Arduino và cách tải lên trên thiết bị.
Bạn tìm thông tin weewx tại đây:
Những gì bạn xây dựng là 2 Thiết bị:
1 Thiết bị gửi Nhiệt độ và Độ ẩm đến phần mềm weewx.
1 Thiết bị gửi Nhiệt độ đất ở các độ sâu khác nhau đến phần mềm weewx.
Thiết bị đầu tiên của chúng tôi là cảm biến BME 280.
Thiết bị thứ hai của chúng tôi là một chuỗi 3 cảm biến Temperatur DS18B20. (Có thể bổ sung thêm nếu thích).
Hãy bắt đầu:
Bước 1: Những gì bạn cần…
Weewx thiết lập và chạy + truy cập vào máy chủ weewx. (ví dụ một PI 3 mâm xôi).
2 mô-đun Nodemcu ESP8266
3 cảm biến DS18B20 trở lên
1 bộ cảm biến kết hợp BME 280
1 Ống nhôm hoặc loại tương tự có đường kính 10mm và 1mm độ dày thành và ca. Dài 1 mét
1 Vỏ chống thấm nước với đệm cáp và đai ốc khóa.
1 Nguồn điện 5V (Ví dụ: bộ tải di động).
Một số dây và vật hàn.
Bạn tìm cảm biến BME280 và các mô-đun Nodemcu trên ebay.
Đối với ống nhôm, tôi chọn một cửa hàng kim khí địa phương
Đối với DS18B20 và vỏ chống nước, tôi sử dụng www.reichelt.de
www.reichelt.de/DS-18B20/3/index.html?ACTI…
www.reichelt.de/EL-FK-110/3/index.html?ACT…
và nhóm dây cáp có đai ốc khóa
www.reichelt.de/Kabelverschraubungen-Bopla…
Đối với bme280, bạn có thể tùy chọn sử dụng hộp phân nhánh
www.reichelt.de/Installationsmaterial/EL-D…
Bước 2: Bắt đầu với thiết lập phần cứng cảm biến BME 280
Hàn dải trong BME280.
Sau đó kết nối BME với Nodemcu:
BME VIN đến 3,3V
BME GND sang GND
SCL đến D4
SDA đến D3
Nếu muốn, bạn có thể đặt Thiết bị trong một hộp, nhưng hãy đảm bảo rằng một số lỗ trong vỏ để các giá trị độ ẩm và nhiệt độ chính xác.
Bước 3: Mã BME 280 Nodemcu ESP8266
Đối với mã, bạn có thể sử dụng kho lưu trữ github của tôi:
github.com/Landixus/BME280_TO_SERVER_WEEWX
Tệp ino cần một số chèn từ bạn:
Địa chỉ IP của máy chủ weewx hoặc URL của bạn
và tuyến đường mà bạn có tệp php, hãy đảm bảo rằng khu vực đó có thể ghi được.
tôi chọn dir public_html vì nó là một máy chủ gia đình.
nếu bạn muốn sao chép kho lưu trữ git và đã cài đặt git trên máy chủ của mình, bạn có thể sao chép bằng lệnh:
"git clone" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
Bây giờ chúng ta cần thực hiện một số thứ trên máy chủ weewx của mình.
Bạn cần tạo đường dẫn đến cài đặt của mình!
trong
/ home / weewx / public_html
tạo một dữ liệu thư mục
trong thư mục dữ liệu, hãy tạo một bme.txt, ví dụ với:
nano bme.txt
tệp phải trống.
làm cho nó có thể ghi được với:
chmod -R 777 bme.txt
(bạn không bao giờ làm điều này trên máy chủ có thể truy cập internet!)
trong thư mục
/ home / weewx / public_html
bạn đặt bme.php của repo github của tôi.
Bí quyết là tệp INO gửi giá trị đến bme.php và bme.php ghi dữ liệu trong bme.txt
Tiếp theo, chúng tôi cần thêm dịch vụ vào weewx
đặt bme.py trong thư mục
/ home / weewx / bin / user
mở weewx.conf của bạn trong thư mục
/ home / weewx
luôn tốt để có một bản sao lưu trước khi chỉnh sửa tệp này!
đi xuống dòng Engine và làm cho dòng giống của tôi:
[Động cơ]
# Phần này chỉ định các dịch vụ sẽ được chạy. họ đang
# được nhóm theo loại và thứ tự dịch vụ trong mỗi nhóm
# xác định thứ tự mà các dịch vụ sẽ được chạy.
data_services = user.pond. PondService, user.bme.bme
khởi động lại weewx với:
sudo /etc/init.d/weewx dừng
sudo /etc/init.d/weewx start
với lệnh
tail -f / var / log / syslog
bạn có thể tìm lỗi hoặc thành công trong logfile, tìm kiếm một giá trị đầu ra bme: found của…
Hãy cho máy chủ của bạn vài phút để tạo, trong weewx.conf "của tôi" cứ sau 5 phút sẽ có một đầu ra.
Nếu bạn có thông báo lỗi, hãy kiểm tra đường dẫn của bạn.
Nếu bạn có các giá trị, bạn có thể đi đến hiển thị nó trên trang web:
mở skin.conf trong
/ home / weewx / skin / Standard
đi đến:
# Cái này có lẽ là dành riêng cho đài của tôi! Thêm
extraTemp3 = BME1 Nhiệt độ Độ ẩm1 = Độ ẩm BME1
lưu tệp và mở trong cùng một thư mục
index.html.tmpl
tìm một dòng:
#if $ day.extraTemp..
#end nếu
sau #end đầu tiên nếu bạn tìm thấy, hãy đặt Cảm biến BME của bạn với:
^^ xin lỗi nhưng không thể viết cái này thành văn bản được:(Lưu file và thoát.
không cần phải khởi động lại weewx.
Bây giờ bạn cần cung cấp NODEMCU ESP8266 với tệp Arduino.
Đừng quên thiết lập wifi và địa chỉ của bạn trong tệp.
Sau khi tải, hãy kiểm tra đầu ra nối tiếp để tìm lỗi.
Sau một thời gian ngắn, bạn sẽ thấy các giá trị trên trang web weewx của mình.
Bước 4: Thành công Thiết bị cảm biến BME280 + Khắc phục sự cố
Một số lời khuyên cho bạn:
Mở thêm 1 bảng điều khiển bằng putty
trên 1 bảng điều khiển thực hiện các thay đổi của bạn và trên bảng điều khiển khác đọc nhật ký hệ thống của bạn trực tiếp với:
tail -f / var / log / syslog
Nếu bạn gặp lỗi, hãy xem logfile của bạn trước.
Đầu ra của bạn sẽ giống với đầu ra của tôi:
Bước 5: Thiết lập phần cứng Soilsensor
Đối với Cảm biến DS18B20, chúng ta cần tạo Hệ thống bus với một số dây và hàn.
Kiểm tra DS18B20 của bạn
DATA, GND, VCC
Giữa VCC và DATA, bạn cần một Điện trở 4,7K. Nó là đủ nếu bạn có điện trở ở DS18B20 đầu tiên
Các DS18B20 còn lại mắc song song với nhau.
Đo chiều dài cho nhu cầu của bạn. Hàn một chuỗi lại với nhau, tôi đã cố định các chốt bằng ống co lại.
Đối với KIỂM TRA, bạn kết nối DATA với D3 và VCC với VCC (3.3V) và GND với GND.
Đối với tùy chọn ngủ sâu, bạn cần gắn một cầu nối giữa RST và D0 (GPIO16)
Bạn không nên đặt dây xích vào ống nhôm ngay bây giờ, hãy thực hiện các bài kiểm tra của bạn trước!
Bước 6: Mã DS18B20 Nodemcu ESP8266
Đối với mã, bạn có thể sử dụng kho GITHUB của tôi:
github.com/Landixus/multipleDS18B20WeeWX
Ngoài ra, tệp ino cũng cần bạn chèn thêm một số nội dung: Địa chỉ IP của máy chủ weewx hoặc URL của bạn và đường dẫn bạn đã đặt tệp php, hãy đảm bảo rằng khu vực có thể ghi được. Tôi chọn public_html dir vì nó là máy chủ gia đình.
Nếu bạn muốn sao chép kho lưu trữ git và đã cài đặt git trên máy chủ của mình, bạn có thể sao chép bằng lệnh git clone
Bây giờ chúng ta cần thực hiện một số thứ để tất cả đều hoạt động trên máy chủ weewx của chúng ta.
Bạn cần tạo đường dẫn đến cài đặt của mình trong
/ home / weewx / public_html
tạo một thư mục "dữ liệu" trong thư mục dữ liệu tạo một tệp ds18b20.txt, ví dụ: nano ds18b20.txt thì txt phải là emtpy. làm cho nó có thể ghi bằng chmod -R 777 ds18b20.txt (bạn không bao giờ làm điều này trên máy chủ có thể truy cập internet!) trong thư mục / home / weewx / public_html bạn đặt ground.php của đại diện github của tôi. Bí quyết là tệp INO gửi các giá trị đến ground.php và ground.php ghi dữ liệu trong ds18b20.txt, tiếp theo chúng ta cần thêm dịch vụ vào weewx đặt ds18b20.py trong thư mục / home / weewx / bin / người sử dụng
mở weewx.conf của bạn trong thư mục / home / weewx
luôn tốt để có một bản sao lưu trước khi chỉnh sửa tệp này!
xuống dòng:
[Động cơ]
# được nhóm theo loại và thứ tự dịch vụ trong mỗi nhóm
# xác định thứ tự mà các dịch vụ sẽ được chạy.
prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 thêm nội dòng sau dấu phẩy
"user.ds18b20.ds18b20" sẽ giống như dòng trên ^^
khởi động lại weewx với:
sudo /etc/init.d/weewx dừng
sudo /etc/init.d/weewx start
Với lệnh tail -f / var / log / syslog, bạn có thể tìm trong logfile để tìm lỗi hoặc tìm kiếm thành công để tìm đầu ra ds18b20: giá trị tìm thấy của Hãy cho máy chủ của bạn vài phút để tạo, trong weewx.conf của tôi cứ sau 5 phút sẽ xuất hiện đặt. Nếu bạn có thông báo lỗi, hãy kiểm tra đường dẫn của bạn. Nếu bạn có các giá trị, bạn có thể truy cập để hiển thị nó trên trang: mở
skin.conf trong / home / weewx / skin / Standard đi tới:
# Cái này có lẽ dành riêng cho trạm của tôi!
cộng
đấtTemp1 = DS18B201
đấtTemp2 = DS18B202
đấtTemp3 = DS18B203
lưu tệp và mở trong cùng một thư mục index.html.tmpl, hãy tìm một dòng:
#if $ day.extraTemp..…
#end nếu
sau #end đầu tiên nếu bạn thấy hãy đặt Cảm biến GroundSensor của mình với:
^^ xin lỗi nhưng không thể đặt nó dưới dạng văn bản: (lưu tệp và thoát. không cần khởi động lại weewx. Bây giờ bạn cần cung cấp NODEMCU ESP8266 cùng với tệp Arduino.
Đừng quên thiết lập wifi và địa chỉ của bạn trong tệp. Sau khi tải, hãy kiểm tra đầu ra nối tiếp để tìm lỗi.
Sau một thời gian ngắn, bạn sẽ thấy các giá trị trên trang web weewx của mình.
Bước 7: Soilsensor thành công và khắc phục sự cố
Nếu bạn đã làm việc và thấy các giá trị, sau đó đi ra ngoài và đặt ống nhôm xuống đất.
Một cách hay là bạn cho keo nóng vào 1 bên của ống rồi ép ống lại với nhau, sau đó bạn có phần đầu đẹp để mang xuống đất dễ dàng hơn.
Trước tiên, bạn hãy đặt đường ống của bạn xuống đất, bạn có thể dùng một tấm gỗ đóng búa mềm.
Nếu đường ống đủ sâu, bạn có thể đặt dây xích ds18b20 và dây cấp nguồn vào hộp chống thấm.
Đảm bảo rằng wifi của bạn đang hoạt động tại nơi này!
Nếu bạn không biết cảm biến sâu bao nhiêu, có 2 khả năng.
Tôi thử nghiệm giai đoạn đặt 1 ds18b20 giữa ngón tay của bạn, nhiệt độ tăng cao hơn cho cái này.
Khi đường ống đã được nối đất thì normaly là giá trị Cao nhất tại điểm sâu nhất.
Bước 8: Kết thúc
Chỉ là kết thúc
Đăng câu hỏi của bạn và thể hiện nhiệt độ cơ bản của bạn trong các bình luận!
Để được trợ giúp thêm, hãy tham gia Nhóm google weewx trên:
groups.google.com/forum/#!forum/weewx-user
Đề xuất:
Tự làm cảm biến hơi thở với Arduino (Cảm biến kéo giãn dệt kim dẫn điện): 7 bước (có hình ảnh)
Cảm biến hơi thở tự làm với Arduino (Cảm biến kéo giãn dệt kim dẫn điện): Cảm biến tự làm này sẽ có dạng một cảm biến kéo giãn dệt kim dẫn điện. Nó sẽ quấn quanh ngực / dạ dày của bạn và khi ngực / dạ dày của bạn giãn ra và co lại, cảm biến cũng sẽ như vậy, và do đó, dữ liệu đầu vào được cung cấp cho Arduino. Vì thế
Cảm biến nhiệt độ cho Arduino Được áp dụng cho COVID 19: 12 Bước (có Hình ảnh)
Cảm biến nhiệt độ cho Arduino Áp dụng cho COVID 19: Cảm biến nhiệt độ cho Arduino là yếu tố cơ bản khi chúng ta muốn đo nhiệt độ của bộ xử lý của cơ thể con người. Cảm biến nhiệt độ với Arduino phải tiếp xúc hoặc gần để nhận và đo mức nhiệt. Đó là cách t
Ăng-ten để mở rộng phạm vi mở rộng cổng: 6 bước (có hình ảnh)
Ăng-ten để mở rộng phạm vi mở rộng cổng: Khi tuyết rơi thực sự sâu trên Núi Hood, sẽ có rất nhiều trò chơi thú vị khi trượt tuyết, đi xe trượt tuyết, xây pháo đài bằng tuyết và ném những đứa trẻ xuống boong vào lớp bột sâu. Nhưng những thứ bóng bẩy không thú vị cho lắm khi chúng tôi cố gắng quay lại đường cao tốc và mở cổng để lấy
Gimbal cầm tay có thể mở rộng cho GoPro / SJ4000 / Xiaomi Yi / iLook: 9 bước (có hình ảnh)
Gimbal cầm tay có thể mở rộng cho GoPro / SJ4000 / Xiaomi Yi / iLook: Hướng dẫn này sẽ hướng dẫn bạn cách hack gậy tự sướng và Gimbal 2D để tạo một gimbal cầm tay có thể mở rộng có thể gắn các máy ảnh như GoPro SJ4000 / 5000/6000 Xiaomi Yi Walkera iLook. Gimbal là một cơ chế ổn định mà
CẢM BIẾN SUHU DENGAN LCD DAN LED (Tạo cảm biến nhiệt độ với LCD và LED): 6 bước (có hình ảnh)
CẢM BIẾN SUHU DENGAN LCD DAN LED (Chế tạo cảm biến nhiệt độ với LCD và LED): hai, saya Devi Rivaldi mahasiswa UNIVERSITAS NUSA PUTRA dari Indonesia, di sini saya akan berbagi cara membuat sensor suhu menggunakan Arduino dengan Output ke LCD dan LED. Ini adalah pembaca suhu dengan desain saya sendiri, dengan sensor ini anda