Mục lục:

Tự động hóa tại nhà dựa trên SMS của Android và Arduino: 5 bước (có hình ảnh)
Tự động hóa tại nhà dựa trên SMS của Android và Arduino: 5 bước (có hình ảnh)

Video: Tự động hóa tại nhà dựa trên SMS của Android và Arduino: 5 bước (có hình ảnh)

Video: Tự động hóa tại nhà dựa trên SMS của Android và Arduino: 5 bước (có hình ảnh)
Video: Đồ án tốt nghiệp BKĐN | Cánh Tay Robot 4 Bậc Tự do phân loại sản phẩm theo màu sắc | Robot arm 4 dof 2024, Tháng bảy
Anonim
Tự động hóa tại nhà dựa trên SMS của Android và Arduino
Tự động hóa tại nhà dựa trên SMS của Android và Arduino
Tự động hóa tại nhà dựa trên SMS của Android và Arduino
Tự động hóa tại nhà dựa trên SMS của Android và Arduino

! ! ! LƯU Ý ! ! !

Do tháp điện thoại di động cục bộ đang được nâng cấp trong khu vực của tôi, tôi không thể sử dụng mô-đun GSM này nữa. Tháp mới hơn không còn hỗ trợ thiết bị 2G. Vì vậy, tôi không thể hỗ trợ gì cho dự án này nữa

Gần đây, tôi đã nhận được một mô-đun Quad Band GSM / GPRS tương đối rẻ để chơi cùng. Nó là một mô-đun SIM800L và giao tiếp với bất kỳ vi mô nào thông qua một cổng nối tiếp. Nó hoàn chỉnh với một ăng-ten gắn trên bảng điều khiển.

Tôi quyết định xây dựng một hệ thống SMS Controller đơn giản sử dụng các lệnh của dịch vụ tin nhắn ngắn (SMS) để điều khiển các thiết bị và chỉ ra các cảnh báo.

Bước 1: Lệnh SMS

Lệnh SMS
Lệnh SMS

AS với bất kỳ hệ thống truyền thông nào, các lệnh cụ thể cần được gửi đến một thiết bị từ xa để yêu cầu thiết bị đó phải làm gì. Tương tự như vậy, thiết bị từ xa cần trả lời hoặc phản ứng trên các lệnh này. Dự án này bao gồm hai phần, Bộ điều khiển SMS và một điện thoại di động tiêu chuẩn.

Ý tưởng là tạo ra một Bộ điều khiển SMS đơn giản với bốn đầu ra kỹ thuật số. Tùy thuộc vào SMS nhận được, thiết bị phải có khả năng kiểm soát các đầu ra riêng lẻ.

Tôi cũng quyết định bao gồm bốn đầu vào kỹ thuật số. Điều này có thể được sử dụng để chỉ báo động hoặc thông tin khác.

Trước khi bắt đầu xây dựng, tôi quyết định tạo các lệnh cụ thể cho các chức năng cụ thể. 'Lệnh' này sẽ được gửi bằng SMS từ điện thoại di động.

Bộ điều khiển SMS Nhận lệnh:

o1: 1 - bật đầu ra 1 Bật

o1: 0 - tắt đầu ra 1

o1: p - đầu ra xung 1 Bật, sau đó Tắt

o2: 1 - bật đầu ra 2 Bật

o2: 0 - tắt đầu ra 2 Tắt

o2: p - đầu ra xung 2 Bật, sau đó Tắt

o3: 1 - bật đầu ra 3 Bật

o3: 0 - tắt đầu ra 3 Tắt

o3: p - đầu ra xung 3 Bật, sau đó Tắt

o4: 1 - bật đầu ra 4 Bật

o4: 0 - tắt đầu ra 4 Tắt

o4: p - đầu ra xung 4 Bật, sau đó Tắt

???? - Trạng thái yêu cầu của Đầu vào và Đầu ra

#### - Đặt lại hệ thống

Đối với phản hồi, Bộ điều khiển SMS phải phản hồi các lệnh đã nhận và trả lời bằng SMS. Tôi quyết định rằng SMS trả lời này phải bao gồm trạng thái của tất cả các chân I / O.

Lệnh phản hồi của bộ điều khiển SMS:

i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x

trong đó x là trạng thái I / O, 1 cho Bật, 0 cho Tắt.

Bước 2: Xây dựng Bộ điều khiển SMS

Xây dựng Bộ điều khiển SMS
Xây dựng Bộ điều khiển SMS
Xây dựng Bộ điều khiển SMS
Xây dựng Bộ điều khiển SMS
Xây dựng Bộ điều khiển SMS
Xây dựng Bộ điều khiển SMS

Thiết bị cần thiết:

Bất kỳ Arduino nào hoặc ATMEGA328p độc lập trên bảng mạch

Mô-đun SIM800L GSM / GPRS với một thẻ sim có khả năng gửi và nhận SMS

Bước xuống bộ chuyển đổi DC / DC

GHI CHÚ !!

Cần có bộ chuyển đổi DC / DC để cấp nguồn cho mô-đun SIM800L. Mô-đun này hoạt động giữa 3,7V và 5V, tùy thuộc vào phiên bản bạn có. Mô-đun này cũng yêu cầu nguồn điện có thể cung cấp tới 2A khi mô-đun truyền dữ liệu. Nó không thể được cấp nguồn trực tiếp từ Arduino Uno !!

Mạch khá đơn giản. Tôi đã lắp ráp và thử nghiệm nó trên breadboard.

Nguồn điện đến mạch thông qua bộ chuyển đổi DC / DC, với điện áp đầu ra được đặt thành 4,5V. Có bốn đèn LED để mô phỏng đầu ra kỹ thuật số và bốn nút cho đầu vào kỹ thuật số. SIM800L được kết nối với các chân Rx / Tx của ATMEGA328p.

Đèn LED thứ 5 được sử dụng để cho biết khi hệ thống đang bận gửi SMS.

Bước 3: Lập trình ATMEGA328p

Lập trình ATMEGA328p
Lập trình ATMEGA328p
Lập trình ATMEGA328p
Lập trình ATMEGA328p

Trước khi lập trình, hãy mở tệp INO và chỉnh sửa số điện thoại. Thay xxxxxxxxxx bằng số điện thoại di động của riêng bạn ở dòng 46. Biên dịch lại và tải tệp lên.

Ngoài ra, hãy đọc hướng dẫn về cách định cấu hình cổng Nối tiếp phần mềm trong tệp INO.

//=============================================================================//

//! ! ! GHI CHÚ ! ! !

// ================

//

// CHUYỂN ĐỔI TRONG THƯ VIỆN XÂY DỰNG PHẦN MỀM ĐỂ ĐƯỢC THAY ĐỔI THÀNH 200

//

// Để sử dụng Sê-ri phần mềm, người dùng cũng nên thay đổi Bộ chuyển tiếp nối tiếp phần mềm thành 200.

// Điều này phải được chỉnh sửa trong tệp sau:

//

// C: / Program Files / Arduino x.x.x / Hardware / Arduino / AVR / Libraries / SoftwareSerial / src / SoftWareSerial.h

//

// Thay đổi vùng đệm như sau:

//

// #ifndef _SS_MAX_RX_BUFF

// #define _SS_MAX_RX_BUFF 200

// Kích thước bộ đệm RX

// #endif

//

//=============================================================================

Tham khảo hướng dẫn này để lập trình ATMEGA328p trên breadboard bằng Arduino UNO.

www.instructables.com/id/Arduino-UNO-as-AtM…

Bước 4: Sử dụng Bộ điều khiển SMS

Sử dụng Bộ điều khiển SMS
Sử dụng Bộ điều khiển SMS

Sử dụng Bộ điều khiển SMS

Bộ điều khiển SMS sẽ tự động gửi SMS đến điện thoại của bạn nếu bất kỳ đầu vào nào trong số bốn đầu vào được kích hoạt. Các chi tiết của trình kích hoạt sẽ được chứa trong văn bản SMS.

Các tin nhắn SMS và lệnh có thể được chỉnh sửa theo yêu cầu của bạn trong tệp INO.

Kiểm tra đầu ra của bộ điều khiển SMS

Từ điện thoại di động của bạn, gửi các lệnh sau đến số thẻ sim SIM800L của bạn:

o1: 1, điều này sẽ bật đầu ra 1.

Trên điện thoại của bạn, bạn sẽ nhận được SMS sau:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0

01: 0, điều này sẽ tắt đầu ra 1.

Trên điện thoại của bạn, bạn sẽ nhận được SMS sau:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

01: p, điều này sẽ bật đầu ra 1 trong 1 giây, sau đó lại tắt đầu ra 1 (xung).

Trên điện thoại của bạn, bạn sẽ nhận được SMS sau:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Kiểm tra đầu vào của bộ điều khiển SMS

Trên Bộ điều khiển SMS, nhấn nhanh nút 1

Trên điện thoại của bạn, bạn sẽ tự động nhận được SMS sau:

i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Trên Bộ điều khiển SMS, nhấn nhanh nút 2

Trên điện thoại của bạn, bạn sẽ tự động nhận được SMS sau:

i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Trên Bộ điều khiển SMS, nhấn nhanh nút 3

Trên điện thoại của bạn, bạn sẽ tự động nhận được SMS sau:

i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Như có thể thấy trên SMS nhận được, kết quả đầu ra thay đổi theo các lệnh nhận được. Tuy nhiên, các đầu vào không thay đổi trở lại từ 1 thành 0 sau khi nhấn các nút. Vì tôi muốn có thể thấy bất kỳ thay đổi nào trên các đầu vào, tôi đã quyết định đóng dấu ở trạng thái đầu vào cho đến khi lệnh đặt lại được gửi đến Bộ điều khiển SMS.

Đặt lại báo thức

Để đặt lại trạng thái đầu vào, hãy gửi lệnh sau:

####, thao tác này sẽ đặt lại trạng thái đầu vào.

Trên điện thoại của bạn, bạn sẽ nhận được SMS sau:

i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0

Cập nhật trạng thái

Bạn cũng có thể yêu cầu trạng thái bất kỳ lúc nào bằng cách gửi lệnh sau:

????, điều này sẽ yêu cầu cập nhật trạng thái của I / Os.

Trên điện thoại của bạn, bạn sẽ nhận được SMS sau:

i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x

trong đó x cho biết trạng thái, 1 để bật, 0 cho tắt.

Bước 5: Ứng dụng Android

Ứng dụng Android
Ứng dụng Android
Ứng dụng Android
Ứng dụng Android
Ứng dụng Android
Ứng dụng Android

Sử dụng MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), tôi đã tạo một giao diện người dùng đơn giản cho điện thoại di động Android của mình. Ứng dụng này cho phép bạn tùy chỉnh mô tả của từng I / O. Nó cũng cho phép nhập số điện thoại.

Bốn nút được sử dụng để điều khiển các Đầu ra, trong khi các hộp kiểm cho biết trạng thái đầu vào.

Để chỉnh sửa ứng dụng, hãy tạo tài khoản MIT App Inventor 2 và nhập tệp AIA.

Để cài đặt ứng dụng trên điện thoại của bạn, hãy sao chép tệp APK vào điện thoại của bạn và cài đặt. Bạn sẽ phải bật cài đặt ứng dụng từ "Nguồn không xác định" trong cài đặt bảo mật của điện thoại.

Đề xuất: