Mục lục:

Trạm thời tiết trên Tweet: 8 bước (có hình ảnh)
Trạm thời tiết trên Tweet: 8 bước (có hình ảnh)

Video: Trạm thời tiết trên Tweet: 8 bước (có hình ảnh)

Video: Trạm thời tiết trên Tweet: 8 bước (có hình ảnh)
Video: Dữ liệu được truyền qua không khí như thế nào? Giải thích siêu đơn giản 2024, Tháng mười một
Anonim
Trạm thời tiết trên Tweeting
Trạm thời tiết trên Tweeting

Bạn đã bao giờ muốn theo dõi Điều kiện thời tiết hiện tại, Dấu chân Carbon, Mức độ tiếng ồn và ô nhiễm của thành phố? Bạn có muốn trở thành Nhà Thập tự chinh Biến đổi Khí hậu hay thiết lập Trạm thời tiết trên Tweet của riêng mình và chia sẻ điều kiện thời tiết địa phương của bạn với thế giới?

Gặp gỡ Trạm IoT thời tiết Tweeting hay còn gọi là TWIST - Nền tảng thu thập dữ liệu khí tượng và giám sát môi trường nguồn mở tự làm. Mục đích của TWIST là để các cá nhân và cộng đồng có thể thu thập dữ liệu về những gì đang thực sự xảy ra trong môi trường của họ và chia sẻ dữ liệu này trên các phương tiện truyền thông xã hội như Twitter.

  • TWIST là một nền tảng hỗ trợ Internet of Things (IoT).
  • Bộ não của TWIST là một Intel Edison Board.
  • TWIST tương thích với nhiều loại cảm biến.
  • Tất cả mã, tệp thiết kế (sơ đồ & bố cục PCB) đều là Mã nguồn mở. Điều này có nghĩa là bất kỳ ai cũng có thể đóng góp cho nền tảng TWIST bằng cách chia sẻ mã và sơ đồ cho các cảm biến khác nhau.

TWIST bao gồm ba lớp công nghệ:

Lớp đầu tiên là một bảng phần cứng chứa tất cả các cảm biến thời tiết và môi trường được gọi là 'Bảng cảm biến'. Như tên cho thấy, nó mang các cảm biến đo thành phần không khí, nhiệt độ, độ ẩm, mưa. Các cảm biến bổ sung hoạt động likeseismic, chỉ số UV, áp suất khí quyển, độ cao, lux (độ sáng), mức âm thanh, tốc độ và hướng gió, v.v. cũng có thể được thêm vào. Sau khi được thiết lập, Bảng cảm biến có thể truyền dữ liệu do cảm biến đo được sang lớp thứ hai. Lớp thứ hai là Intel Edison Board nhận dữ liệu từ Bo mạch cảm biến, xử lý và gửi đến lớp tiếp theo. Lớp thứ ba kết nối Bảng Edison của bạn với Internet qua Wi-Fi bằng cách sử dụng mô-đun không dây trên bảng Edison và Tweet là Điều kiện thời tiết & môi trường hiện tại.

Nguồn điện cho thiết bị có thể được cung cấp bởi tấm pin năng lượng mặt trời hoặc Bộ đổi nguồn AC.

Kho lưu trữ được kiểm soát phiên bản

Cả ba lớp công nghệ của TWIST đều là Mã nguồn mở, và do đó tất cả các tệp chúng tôi sử dụng để viết mã, phát triển PCB, thiết kế cơ khí, v.v. đều có sẵn trên kho lưu trữ Github của chúng tôi.

Bài dự thi

Intel IoT Invitational

Tôi muốn cảm ơn Intel + Consultuctables đã cung cấp cho tôi Bảng mạch Intel Edison. Tôi dự định tạo ra nhiều Sách hướng dẫn liên quan đến IoT hơn bằng cách sử dụng bảng Edison.

#iotweatherstn

Nếu bạn thực hiện TWIST, đừng quên tweet tình hình thời tiết bằng cách sử dụng #iotweatherstn. #iotweatherstn có thể là thẻ bắt đầu bằng # được sử dụng bởi tất cả các Trạm thời tiết trên Tweet được hỗ trợ bởi IoT.

Bước 1: Các bộ phận và vật liệu

Bộ phận và Vật liệu
Bộ phận và Vật liệu
Bộ phận và Vật liệu
Bộ phận và Vật liệu
Bộ phận và Vật liệu
Bộ phận và Vật liệu

QuantityPartDetails 1

Intel Edison

với Arduino Breakout Board

1

Cảm biến khí cháy MQ2

1

YL-83

Cảm biến mưa

1

SL-HS-220

Cảm biến nhiệt độ & độ ẩm

1

Điện trở

32 nghìn

4,7 nghìn

3 Chân đế kim loại 1 inch

1

Điện trở

32 nghìn

4,7 nghìn

2

Tấm gỗ khổ A4

Sau đó có thể được cắt kích thước

3

Kim loại Standoff

1 inch

Bước 2: Thiết kế điện

Quyền lực

Toàn bộ hệ thống được cấp nguồn từ nguồn 5V 1A. Các cảm biến (Nhiệt độ, Độ ẩm, Mưa, Khí) lấy ra khoảng 200 mA, Edison khoảng 500 mA, Vì tổng dòng điện yêu cầu nhỏ hơn 1amp, nguồn cung cấp 1 amp sẽ hoạt động tốt. Đèn LED xanh tích hợp sẵn trên chân số 13 của Edison Board được sử dụng để hiển thị trạng thái nguồn.

ControlAn Intel Edison chạy chương trình cho TWIST. Edison được gắn trên bảng đột phá Arduino, giúp dễ dàng đọc tín hiệu kỹ thuật số và tín hiệu tương tự từ các cảm biến. Edison được kết nối với đường ray 5V thông qua cáp micro USB. Edison có đài Wi-Fi tích hợp, cho phép nó kết nối với Twitter mà không cần thêm bất kỳ phần cứng nào.

Đồng hồ thời gian thực (RTC)

Vì việc đóng dấu thời gian được Twitter tự động thực hiện cho mỗi tweet có độ phân giải giới hạn trong tổng số ngày kể từ thời điểm đăng Tweet, đồng hồ thời gian thực được sử dụng để đánh dấu thời gian chính xác ngày và giờ trong Giờ-Phút- Định dạng thứ hai. Đồng hồ thời gian thực được sử dụng trong nền tảng TWIST là mô-đun DS-1307 RTC.

Thiết lập cơ bản nhất của hệ thống này có bốn cảm biến (Nhiệt độ, Độ ẩm, Mưa, Khí) kết nối với Edison. Có thể bổ sung thêm các cảm biến khác như Tiếng ồn, Gió,… Mỗi cảm biến được cấp nguồn trực tiếp từ đường ray 5V và có chân tín hiệu của nó được kết nối tương ứng với các chân analog A0 đến A2 và chân số 2 trên bảng đột phá Edison. Các cảm biến cũng có một chiết áp điều chỉnh độ nhạy được gắn trên mỗi bảng cảm biến; MQ-2 là một cảm biến khí dễ cháy (khí hóa lỏng, propan, hydro và mêtan) tạo ra một điện áp tương tự tỷ lệ với nồng độ của khí theo phần triệu. SL-HS-220 có một điện trở nhiệt cung cấp giá trị nhiệt độ. Vì đầu ra của nhiệt điện trở là phi tuyến tính, bảng nhiệt độ tương ứng được đưa ra trong kho cảm biến. Nhiệt điện trở yêu cầu một mạch phân áp khi được kết nối với Edison Board như trong sơ đồ mạch. SL-HS-220 cũng có một ẩm kế sẵn có để đo độ ẩm và xuất ra một điện áp tương tự tương ứng với một giá trị độ ẩm cố định. Bảng điện áp độ ẩm cũng được cung cấp trong kho cảm biến. Một sự thay thế phổ biến cho SL-HS-220 là cảm biến DHT11. Cảm biến mưa / cảm biến nước có chiết áp được điều chỉnh để đưa ra đầu ra kỹ thuật số cho một lượng mưa nhất định mà người dùng có thể điều chỉnh độ nhạy.

Weather Station.fzz

Bước 3: Thiết kế cơ khí

Phần thân của TWIST được làm từ hai tấm gỗ. Mặc dù tôi đã sử dụng ván ép 1/4 ", nhưng thiết kế có thể được lắp ráp từ bất kỳ vật liệu tấm nào vì khoảng cách (được duy trì bằng khung nhôm 1") là yếu tố quan trọng duy nhất. Tôi đã đính kèm các tệp vectơ để tải xuống ở trên.

Sự cắt bằng tia la-ze

Đối với tất cả những người muốn cắt laser hai tấm, tôi đã đính kèm các tệp máy cắt laser để tải xuống bên dưới. Nó cũng bao gồm một cảm biến chất lượng không khí bổ sung trong thiết kế của nó. Vì vậy, bạn có thể sử dụng mô-đun cảm biến MQ2 hoặc mô-đun cảm biến chất lượng không khí tùy thuộc vào sự lựa chọn của bạn.

Bước 4: Lắp ráp khung: Mặt & Cơ sở

Mặt nạ

Cảm biến phù hợp với các lỗ và vết cắt phù hợp của chúng và có thể được cố định bằng vít hoặc keo.

Tấm đế

Các chân đế của bảng Edison được vặn vào Tấm đế. Bộ chuyển đổi tương tự-kỹ thuật số (ADC) được kết nối với cảm biến mưa cũng có thể được vặn vào tấm đế.

Các thành phần bổ sung như bộ rung hoặc mạch điều chỉnh điện áp cho đầu vào năng lượng mặt trời cũng có thể được vặn vào tấm đế.

Cả tấm đế và tấm mặt đều cách nhau 1 inch.

Bước 5: Lắp ráp điện tử & cảm biến

Quyền lực

Nguồn điện cho hệ thống được cung cấp bởi bộ chuyển đổi gắn tường với giắc cắm thùng tiêu chuẩn được kết nối trực tiếp với đầu nối Thùng của Edison. Hệ thống cũng có thể được cấp nguồn thông qua cổng USB trên bo mạch Edison. Bạn cũng có thể cấp nguồn cho bảng từ bảng điều khiển Năng lượng mặt trời bên ngoài.

Cảm biến

Các cảm biến được gắn vào bảng đột phá có tiêu đề nam và do đó chúng có thể được kết nối trực tiếp với Edison thông qua dây nhảy nam sang nữ.

Bước 6: Cấu hình Twitter

Inorder to Tweet, chúng tôi đang sử dụng một ứng dụng của bên thứ ba do NeoCat phát triển để lấy mã thông báo Twitter mà bạn cần để Tweet với hội đồng quản trị Edison của mình. Token cũng có thể được lấy từ trang web Nhà phát triển của Twitter.

Vì vậy, để bắt đầu, hãy truy cập trang web của NeoCat, làm theo hướng dẫn của anh ấy / cô ấy để lấy thư viện twitter và mã thông báo twitter của bạn. Như NeoCat đã đề cập trên trang web của họ, vui lòng không lạm dụng dịch vụ. Giữ cho các tweet của bạn thưa thớt. Nếu bạn cần thứ gì đó tweet cứ sau 6 giây, bạn nên thiết lập máy chủ và ứng dụng twitter của riêng mình và do đó mã mà tôi đã viết đảm bảo rằng máy chủ của NeoCat không bị quá tải (TWIST tweet cứ sau 6 giờ).

Thư viện sử dụng trang web của NeoCat này làm máy chủ proxy cho nội dung OAuth. Tweet của bạn có thể không được áp dụng trong quá trình bảo trì trang web của NeoCat này. Twitter dường như từ chối các tweet lặp lại với cùng một nội dung (trả về lỗi 403).

Mã thông báo Twitter

Thư viện Tweet Arduino

Bước 7: Phần mềm & Cấu hình

Làm theo hướng dẫn thiết lập của Intel cho Intel Edsion trước khi bạn bắt đầu viết mã.

Chương trình là một bản phác thảo Arduino chạy trên Edison. Tôi đã giải thích từng khối mã chính bên dưới.

Mã bao gồm một số hằng số được xác định trước, khai báo pin và một vài câu lệnh in nối tiếp giúp khắc phục sự cố.

Độ trễ Tweet

Vì Twitter lọc ra các tweet có cùng nội dung và được tweet trong khoảng thời gian ngắn giữa mỗi tweet, độ trễ tiêu chuẩn 3 giờ (10800000 mili giây) giữa mỗi tweet đã được thiết lập.

tweetMessage ();

chậm trễ (10800000);

Loại Đúc

Rất nhiều bài đọc mà chúng tôi nhận được từ các cảm biến nằm trong kiểu dữ liệu 'int' hoặc 'float'. Nhưng vì chúng tôi đang tweet các giá trị này, chúng tôi cần chuyển đổi chúng thành một kiểu dữ liệu 'Chuỗi'. Đối với điều này, chúng tôi sử dụng một kỹ thuật đúc kiểu đặc biệt.

char * dtostrf (val kép, chiều rộng ký tự có dấu, ký tự không dấu, char * nam) {

char fmt [100]; sprintf (fmt, "%%% d.% df", width, prep); sprintf (nam, fmt, val); quay trở lại phía nam; }

Mã thông báo Twitter

Mã thông báo twitter được tạo trên trang web của NeoCat và phải được dán vào không gian mã thông báo tại đây.

void tweetMessage () {

Twitter twitter ("NHẬP TWITTER TOKEN TẠI ĐÂY");

Giá trị cảm biến tweet

Để tweet giá trị cảm biến, trước tiên chúng ta bao gồm loại Cảm biến; Ví dụ: "Độ ẩm". Tiếp theo là khai báo ký tự và một dòng mã cần thiết để đánh máy. Tiếp theo, chúng tôi thêm một câu lệnh cho đơn vị đo lường; Ví dụ: "% RH". Chúng tôi cũng có thể tiếp tục thêm các giá trị của các cảm biến khác theo cách tương tự.

độ ẩm (); nổi ẩm ướt;

// Thông báo Twitter String stringMsg = "Humidity:"; char tmp [10]; dtostrf (ẩm, 1, 2, tmp); stringMsg + = tmp; stringMsg + = "% RH";

Vị trí trạm thời tiết & gắn thẻ

Tiếp theo, chúng tôi gắn thẻ vị trí (Thành phố, Địa phương, v.v.) và các thẻ khác như #iotweatherstn.

stringMsg + = "#Mumbai #Bandra #iotweatherstn";

Đồng hồ thời gian thực (RTC)

Như đã giải thích trước đó, TWIST cũng có thể Tweet dữ liệu đồng hồ thời gian thực. Dưới đây là một ví dụ về khối tham số 'ngày' của mã RTC. Tính năng Đồng hồ thời gian thực là tùy chọn trong nền tảng TWIST vì mô-đun đi kèm riêng. Do đó, có một nhánh riêng biệt được tạo trong kho lưu trữ TWIST cho mã và sơ đồ của nhánh Đồng hồ thời gian thực.

TwistDateTime (); DateTime now = rtc.now (); int twistday, twistmonth, twistyear, twisthour, twistmin, twistsec; Chuỗi stringMsg = ""; char ds1307day [10]; dtostrf (thứ sáu, 1, 0ds1307ngày); stringMsg + = ds1307ngày; stringMsg + = "/";

Giới hạn 140 ký tự

Khối mã này bao phủ mảng chuỗi thành mảng 140 ký tự sẵn sàng để tweet.

msgstr [140];

stringMsg.toCharArray (msg, 140);

Gỡ rối tin nhắn & kết nối

Khối mã này in ra một vài dòng văn bản trong Serial Monitor để giúp người dùng kiểm tra trạng thái tin nhắn và tweet.

// Tweet điều đó thật tệ hại!

if (twitter.post (msg)) {int status = twitter.wait (); if (status == 200) {Serial.println ("OK."); Serial.println ("Tin nhắn đã Tweet"); } else {// Kiểm tra kết nối Serial.print ("fail: code"); Serial.println ("Tin nhắn không được Tweet"); Serial.println (trạng thái); }} else {Serial.println ("kết nối không thành công."); Serial.println ("Tin nhắn không được Tweet"); }

Tất cả các khối mã khác chỉ đơn giản là chuyển đổi số đọc tương tự hoặc kỹ thuật số từ các cảm biến thành dữ liệu có thể sử dụng được.

Mã có thể được tải xuống từ đây hoặc từ kho lưu trữ chính:

Weather Station.ino

Bước 8: Đóng góp vào Kho lưu trữ cảm biến

Bạn là lập trình viên, kỹ sư hoặc nhà thiết kế có ý tưởng tuyệt vời cho một tính năng mới trong TWIST? Có thể bạn có một ý tưởng hay cho một bản sửa lỗi? Hãy lấy mã, sơ đồ & tệp CAD của chúng tôi từ Github và mày mò với nó.

TWIST GitHub

Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational
Intel® IoT Invitational

Giải nhì cuộc thi Intel® IoT Invitational

Đề xuất: