Hệ thống báo động không dây dựa trên Arduino. Hệ thống an ninh gia đình GSM dựa trên Arduino Arduino máy quét báo động ô tô uno

Hệ thống báo động không dây dựa trên Arduino. Hệ thống an ninh gia đình GSM dựa trên Arduino Arduino máy quét báo động ô tô uno

Trong thập kỷ qua, trộm ô tô đã chiếm một trong những vị trí quan trọng nhất trong cơ cấu tội phạm trên thế giới. Điều này không phải do mức độ nghiêm trọng cụ thể của loại trộm cắp này so với tổng số tội phạm, mà là do mức độ nghiêm trọng của thiệt hại gây ra do giá ô tô cao. Hiệu quả yếu kém của các biện pháp chống trộm xe được thực hiện vào cuối những năm 90 đã dẫn đến việc thành lập các nhóm ổn định chuyên thực hiện các tội ác này và sở hữu tính năng đặc biệt tội phạm có tổ chức; Có lẽ bạn đã từng nghe đến thuật ngữ "kinh doanh ô tô đen". Đội xe ô tô của các nước châu Âu hàng năm thiếu ≈ 2% số ô tô trở thành đối tượng của các cuộc tấn công tội phạm. Vì vậy, tôi đã nảy ra ý tưởng làm một thiết bị báo động GSM cho ô tô của mình trên Dựa trên Arduino Uno.

Hãy bắt đầu nào!

Chúng ta sẽ thu thập từ đâu?

Chúng ta cần chọn trái tim của hệ thống của chúng ta. Theo tôi, không có gì tốt hơn Arduino Uno để truyền tín hiệu như vậy. Tiêu chí chính là có đủ số lượng “chân” và giá cả.


Các tính năng chính của Arduino Uno

Vi Điều Khiển - ATmega328
Điện áp hoạt động - 5 V
Điện áp đầu vào (khuyến nghị) - 7-12 V
Điện áp đầu vào (giới hạn) - 6-20 V
Đầu vào/Đầu ra kỹ thuật số - 14 (6 trong số đó có thể được sử dụng làm đầu raPWM)
Đầu vào tương tự - 6
Dòng điện không đổi qua đầu vào/đầu ra - 40 mA
Dòng điện không đổi cho đầu ra 3,3V - 50mA
Bộ nhớ flash - 32 KB (ATmega328) trong đó 0,5 KB được sử dụng cho bộ nạp khởi động
RAM - 2 KB (ATmega328)
EEPROM - 1 KB (ATmega328)
Tần số đồng hồ - 16 MHz


Phù hợp!

Bây giờ bạn cần chọn mô-đun GSM, vì hệ thống báo động của chúng tôi phải có khả năng thông báo cho chủ xe. Vì vậy, bạn cần phải google nó... Đây, một cảm biến tuyệt vời - SIM800L, kích thước đơn giản là tuyệt vời.


Tôi nghĩ và đặt hàng từ Trung Quốc. Tuy nhiên, mọi thứ hóa ra không hề màu hồng như vậy. Cảm biến chỉ từ chối đăng ký thẻ SIM trên mạng. Mọi thứ có thể đã được thử - kết quả là con số không.
Có những người tốt bụng đã cung cấp cho tôi một thứ tuyệt vời hơn - Sim900 Shield. Bây giờ đây là một điều nghiêm trọng. Shield có cả micrô và giắc cắm tai nghe, khiến nó trở thành một chiếc điện thoại hoàn chỉnh.


Các tính năng chính của Sim900 Shield

4 chuẩn tần số hoạt động 850/ 900/ 1800/ 1900 MHz
GPRS đa khe loại 10/8
Trạm di động GPRS loại B
Tuân thủ GSM giai đoạn 2/2+
Loại 4 (2 W @850/ 900 MHz)
Lớp 1 (1 W @ 1800/1900 MHz)
Điều khiển bằng lệnh AT (GSM 07.07, 07.05 và lệnh AT mở rộng SIMCOM)
Tiêu thụ điện năng thấp: 1,5mA (chế độ ngủ)
Phạm vi nhiệt độ hoạt động: -40°C đến +85°C


Phù hợp!

Được rồi, nhưng bạn cần lấy số đo từ một số cảm biến để thông báo cho chủ sở hữu. Nếu ô tô bị kéo đi thì vị trí của ô tô rõ ràng sẽ thay đổi trong không gian. Hãy lấy một gia tốc kế và một con quay hồi chuyển. Tuyệt vời. Được rồi, bây giờ chúng tôi đang tìm kiếm một cảm biến.

Tôi nghĩ rằng GY-521 MPU6050 chắc chắn sẽ phù hợp. Hóa ra nó còn có cảm biến nhiệt độ. Chúng ta cũng nên sử dụng nó, sẽ có một “tính năng sát thủ” như vậy. Giả sử chủ nhân của chiếc ô tô đã đậu nó dưới nhà và rời đi. Nhiệt độ bên trong xe sẽ thay đổi “êm dịu”. Điều gì xảy ra nếu kẻ đột nhập cố gắng đột nhập vào xe? Ví dụ, anh ta sẽ có thể mở cửa. Nhiệt độ trong xe sẽ bắt đầu thay đổi nhanh chóng khi không khí trong cabin bắt đầu hòa trộn với không khí xung quanh. Tôi nghĩ nó sẽ hoạt động.


Các tính năng chính của GY-521 MPU6050

Con quay hồi chuyển 3 trục + mô-đun gia tốc 3 trục GY-521 trên chip MPU-6050. Cho phép bạn xác định vị trí và chuyển động của một vật thể trong không gian, vận tốc góc khi quay. Nó cũng có một cảm biến nhiệt độ tích hợp. Nó được sử dụng trong nhiều loại máy bay trực thăng và mô hình máy bay; một hệ thống ghi lại chuyển động cũng có thể được lắp ráp dựa trên các cảm biến này.

Chip - MPU-6050
Điện áp cung cấp - từ 3,5V đến 6V (DC);
Phạm vi con quay hồi chuyển - ±250 500 1000 2000°/s
Phạm vi gia tốc - ±2±4±8±16g
Giao diện truyền thông - I2C
Kích thước - 15x20 mm.
Trọng lượng - 5 g


Phù hợp!

Một cảm biến rung cũng sẽ có ích. Đột nhiên họ cố gắng mở xe bằng “vũ lực”, hoặc trong bãi đậu xe, một chiếc xe khác tông vào xe bạn. Hãy lấy cảm biến rung SW-420 (có thể điều chỉnh).


Đặc điểm chính của SW-420

Điện áp nguồn - 3,3 - 5V
Tín hiệu đầu ra - Cao/Thấp kỹ thuật số (thường đóng)
Cảm biến được sử dụng - SW-420
Bộ so sánh được sử dụng là LM393
Kích thước - 32x14 mm
Ngoài ra - Có điện trở điều chỉnh.


Phù hợp!

Vặn mô-đun thẻ nhớ SD. Chúng tôi cũng sẽ viết một tập tin nhật ký.


Đặc điểm chính của mô-đun thẻ nhớ SD

Mô-đun này cho phép bạn lưu trữ, đọc và ghi vào thẻ SD dữ liệu cần thiết cho hoạt động của thiết bị dựa trên bộ vi điều khiển. Việc sử dụng thiết bị có liên quan khi lưu trữ các tệp từ hàng chục megabyte đến hai gigabyte. Bảng mạch chứa hộp đựng thẻ SD, bộ ổn định nguồn thẻ và phích cắm đầu nối cho giao diện và đường dây nguồn. Nếu bạn cần làm việc với âm thanh, video hoặc dữ liệu quy mô lớn khác, chẳng hạn như để ghi lại các sự kiện, dữ liệu cảm biến hoặc lưu trữ thông tin máy chủ web, thì mô-đun thẻ nhớ SD cho Arduino sẽ giúp bạn có thể sử dụng thẻ SD cho những việc này. mục đích. Sử dụng mô-đun này, bạn có thể nghiên cứu các tính năng của thẻ SD.
Điện áp cung cấp - 5 hoặc 3,3 V
Dung lượng bộ nhớ thẻ SD - lên tới 2 GB
Kích thước - 46 x 30 mm


Phù hợp!

Và hãy thêm một bộ điều khiển servo; khi các cảm biến được kích hoạt, bộ điều khiển servo có đầu ghi video sẽ quay và quay video về sự cố. Hãy lấy ổ servo MG996R.


Các tính năng chính của Ổ đĩa servo MG996R

Ổn định và bảo vệ đáng tin cậy từ thiệt hại
- Ổ đĩa kim loại
- Vòng bi hai hàng
- Chiều dài dây 300 mm
- Kích thước 40x19x43mm
- Trọng lượng 55 g
- Góc quay: 120 độ.
- Tốc độ hoạt động: 0,17 giây/60 độ (4,8V không tải)
- Tốc độ hoạt động: 0,13 giây/60 độ (6V không tải)
- Momen khởi động: 9,4kg/cm ở nguồn điện 4,8V
- Momen khởi động: 11kg/cm ở nguồn điện 6V
- Điện áp hoạt động: 4,8 - 7,2V
- Toàn bộ bộ phận truyền động được làm bằng kim loại


Phù hợp!

Chúng tôi thu thập

Có một số lượng lớn bài viết trên Google về việc kết nối từng cảm biến. Và tôi không có mong muốn phát minh ra những chiếc xe đạp mới, vì vậy tôi sẽ để lại liên kết đến các phương án đơn giản và hiệu quả.

Dự án này liên quan đến việc phát triển và cải tiến hệ thống nhằm ngăn chặn/kiểm soát mọi nỗ lực xâm nhập của kẻ trộm. Thiết bị bảo mật được phát triển sử dụng hệ thống nhúng (bao gồm bộ vi điều khiển phần cứng sử dụng phần mềm nguồn mở và modem GSM) dựa trên công nghệ GSM (Hệ thống truyền thông di động toàn cầu).

Một thiết bị an ninh có thể được cài đặt trong nhà. Cảm biến giao diện cảnh báo xâm nhập cũng được kết nối với hệ thống an ninh dựa trên bộ điều khiển.
Khi có nỗ lực xâm nhập, hệ thống sẽ gửi một tin nhắn cảnh báo (ví dụ: tin nhắn) tới chủ sở hữu trên điện thoại di động hoặc tới bất kỳ điện thoại di động được cấu hình sẵn nào để xử lý thêm.

Hệ thống bảo mật bao gồm bộ vi điều khiển Arduino Uno và modem SIM900A tiêu chuẩn dựa trên GSM/GPRS. Toàn bộ hệ thống có thể được cấp nguồn bằng bất kỳ nguồn điện/pin 12V 2A nào.

Dưới đây là sơ đồ của một hệ thống bảo mật dựa trên Arduino.

Hoạt động của hệ thống rất đơn giản và không cần giải thích. Khi cấp nguồn cho hệ thống, hệ thống sẽ chuyển sang chế độ chờ. Khi các chân của đầu nối J2 bị chập, một thông báo cảnh báo được lập trình sẵn sẽ được gửi đến số điện thoại di động được yêu cầu. Bạn có thể kết nối bất kỳ thiết bị phát hiện xâm nhập nào (chẳng hạn như bộ phận bảo vệ ánh sáng hoặc cảm biến chuyển động) với đầu nối đầu vào J2. Lưu ý rằng tín hiệu hoạt động ở mức thấp (L) trên chân 1 của đầu nối J2 sẽ kích hoạt cảnh báo trộm.

Hơn nữa, một thiết bị “báo động cuộc gọi” tùy chọn đã được thêm vào hệ thống. Nó kích hoạt cuộc gọi điện thoại khi người dùng nhấn nút S2 (hoặc khi một thiết bị điện tử khác kích hoạt báo động). Sau khi nhấn nút “gọi” (S2), cuộc gọi có thể bị hủy bằng cách nhấn nút khác S3 – nút “kết thúc”. Tùy chọn này có thể được sử dụng để tạo cảnh báo “cuộc gọi nhỡ” trong trường hợp có sự xâm nhập.

Mạch rất linh hoạt nên nó có thể sử dụng bất kỳ modem SIM900A nào (và tất nhiên, bo mạch Arduino Uno). Vui lòng đọc kỹ tài liệu của modem trước khi bắt đầu lắp ráp. Điều này sẽ làm cho quá trình sản xuất hệ thống dễ dàng và thú vị hơn.

Danh sách các nguyên tố phóng xạ

chỉ định Kiểu Mệnh giá Số lượng Ghi chúCửa hàngsổ ghi chú của tôi
bo mạch Arduino

Arduino Uno

1 Vào sổ ghi chú
Modem GSM/GPRSSIM900A1 Vào sổ ghi chú
IC1 Bộ điều chỉnh tuyến tính

LM7805

1 Vào sổ ghi chú
C1 100uF 25V1 Vào sổ ghi chú
C2 Tụ điện10uF 16V1 Vào sổ ghi chú
R1 Điện trở

1 kOhm

1 Vào sổ ghi chú
LED1 Điốt phát sáng 1 Vào sổ ghi chú
S1 Cái nútVới sự cố định1

Xin chào bạn đọc thân mến! Bài viết hôm nay nói về việc tạo một hệ thống nhà an toàn khi sử dụng linh kiện có sẵn. Thiết bị nhỏ và rẻ này sẽ giúp bạn bảo vệ ngôi nhà của mình khỏi những kẻ xâm nhập bằng cách sử dụng Arduino, cảm biến chuyển động, màn hình và loa. Thiết bị có thể được cấp nguồn bằng pin hoặc cổng USB của máy tính.

Vì vậy, hãy bắt đầu!

Làm thế nào nó hoạt động?

Cơ thể của động vật máu nóng phát ra bức xạ hồng ngoại mà mắt người không thể nhìn thấy nhưng có thể được phát hiện bằng cảm biến. Những cảm biến như vậy được làm bằng vật liệu có thể tự phân cực khi tiếp xúc với nhiệt, giúp phát hiện sự xuất hiện của các nguồn nhiệt trong phạm vi của cảm biến.

Để có phạm vi rộng hơn, thấu kính Fresnel được sử dụng để thu bức xạ hồng ngoại từ nhiều hướng khác nhau và tập trung nó vào chính cảm biến.

Hình vẽ cho thấy thấu kính làm biến dạng các tia chiếu vào nó như thế nào.

Điều đáng chú ý là rô-bốt không có bộ phận đặc biệt nóng và rô-bốt máu lạnh phát ra rất ít bức xạ hồng ngoại, vì vậy cảm biến có thể không hoạt động nếu nhân viên hoặc bò sát của Boston Dynamics quyết định vây quanh bạn.

Khi có sự thay đổi về mức bức xạ hồng ngoại trong phạm vi, điều này sẽ được xử lý trên Arduino, sau đó trạng thái sẽ được hiển thị trên màn hình LCD, đèn LED sẽ nhấp nháy và loa sẽ phát ra tiếng bíp.

Chúng ta cần gì?

  1. (hoặc bất kỳ bảng nào khác).
  2. (16 ký tự trên hai dòng)
  3. Một đầu nối để kết nối vương miện với Arduino
  4. (mặc dù bạn có thể sử dụng loa thông thường)
  5. Cáp USB - chỉ để lập trình ( khoảng dịch: Nó luôn đi kèm với Arduino của chúng tôi!)
  6. Máy tính (một lần nữa, chỉ để viết và tải chương trình).

Nhân tiện, nếu bạn không muốn mua riêng tất cả các bộ phận này, chúng tôi khuyên bạn nên chú ý đến những bộ phận của chúng tôi. Ví dụ: mọi thứ bạn cần và thậm chí nhiều hơn thế nữa đều có trong bộ công cụ khởi đầu của chúng tôi.

Hãy kết nối!

Kết nối cảm biến chuyển động rất đơn giản:

  1. Chúng tôi kết nối chân Vcc với Arduino 5V.
  2. Chúng tôi kết nối chân Gnd với GND của Arduino.
  3. Chúng tôi kết nối chân OUT với chân kỹ thuật số số 7 từ Arduino

Bây giờ hãy kết nối đèn LED và loa. Ở đây chỉ đơn giản như vậy:

  1. Chúng tôi kết nối chân ngắn (trừ) của đèn LED với mặt đất
  2. Chúng ta nối chân dài (cộng) của đèn LED với đầu ra số 13 của Arduino
  3. Dây loa màu đỏ ra ngõ ra số 10
  4. Dây màu đen - nối đất

Và bây giờ phần khó khăn nhất là kết nối màn hình LCD 1602 với Arduino. Chúng tôi có màn hình không có I2C, vì vậy chúng tôi sẽ cần rất nhiều đầu ra Arduino, nhưng kết quả sẽ xứng đáng. Sơ đồ được trình bày dưới đây:

Chúng tôi chỉ cần một phần của mạch (chúng tôi sẽ không điều chỉnh độ tương phản bằng chiết áp). Vì vậy, bạn chỉ cần làm như sau:

Bây giờ bạn đã biết cách kết nối màn hình 1602 với Arduino UNO R3 (cũng như với bất kỳ phiên bản Arduino nào từ Mini đến Mega).

Lập trình

Đã đến lúc chuyển sang lập trình. Dưới đây là mã mà bạn chỉ cần điền vào và nếu bạn đã lắp ráp mọi thứ chính xác thì thiết bị đã sẵn sàng!

#bao gồm int ledPin = 13; // Chân LED int inputPin = 7; // Ghim mà cảm biến chuyển động được kết nối int pirState = THẤP; // Trạng thái hiện tại (không phát hiện gì lúc đầu) int val = 0; // Biến để đọc trạng thái đầu vào số int pinSpeaker = 10; // Chân kết nối loa. Yêu cầu màn hình LCD LiquidCrystal pin chân PLC (12, 11, 5, 4, 3, 2); // Khởi tạo màn hình LCD void setup() ( // Xác định hướng truyền dữ liệu trên các chân kỹ thuật số pinMode(ledPin, OUTPUT); pinMode(inputPin, INPUT); pinMode(pinSpeaker, OUTPUT); // Bắt đầu xuất thông tin gỡ lỗi thông qua cổng nối tiếp Nối tiếp .begin(9600); // Bắt đầu xuất ra màn hình LCD lcd.begin(16, 2); // Đặt chỉ mục trên các màn hình mà chúng ta sẽ bắt đầu xuất ra // (2 ký tự, 0 dòng); ) lcd.setCursor(2, 0) ; // Xuất ra màn hình LCD lcd.print("P.I.R Motion"); // Di chuyển lại lcd.setCursor(5, 1); ); // Tạm dừng để có thời gian đọc, độ trễ đầu ra là gì (5000); // Xóa lcd.clear(); // Tương tự như lcd.setCursor(0, 0); ); lcd.setCursor(3, 0); lcd.print("Đang chờ"); lcd.setCursor(3, 1); lcd.print("Chuyển động...."); Đọc cảm biến đọc val = digitalRead(inputPin); if (val == HIGH) ( // Nếu có chuyển động thì bật đèn LED và bật còi báo digitalWrite(ledPin, HIGH); playTone(300, 300); độ trễ (150); // Nếu không có chuyển động nào cho đến thời điểm này thì chúng tôi sẽ hiển thị một thông báo // rằng nó đã được phát hiện // Đoạn mã bên dưới chỉ cần ghi một thay đổi trạng thái và không in giá trị mỗi lần nếu (pirState == THẤP) ( Serial.println( "Đã phát hiện chuyển động!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Đã phát hiện chuyển động!"); pirState = CAO; ) else ( // Nếu chuyển động đã kết thúc digitalWrite(ledPin, LOW); playTone(0, 0); delay(300); if (pirState == HIGH)( // Cho biết đã có chuyển động, nhưng nó đã kết thúc Serial.println("Motion đã kết thúc! "); lcd.clear() ; lcd.setCursor(3, 0); lcd.print("Đang chờ"); lcd.setCursor(3, 1); lcd.print("Chuyển động......"); / Chức năng phát lại âm thanh. Thời lượng (thời lượng) - tính bằng mili giây, Freq (tần số) - tính bằng Hz void playTone(thời lượng dài, int freq) ( thời lượng *= 1000; thời gian int = (1.0 / tần số) * 100000; thời gian trôi qua dài = 0; while (elapsed_time< duration) { digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite(pinSpeaker, LOW); delayMicroseconds(period / 2); elapsed_time += (period); } }

Chào buổi chiều Một lần nữa, một bài đánh giá đa dạng về linh kiện điện tử Trung Quốc, như thường lệ về mọi thứ một chút, tôi sẽ cố gắng nói ngắn gọn, nhưng liệu nó có hiệu quả không? Vì vậy, đáp ứng hệ thống báo động GSM có giá lên tới 700 ₽. Hấp dẫn? Vui lòng sử dụng "cắt"!

Bắt đầu nào! Trước khi bắt đầu, tôi khuyên bạn nên xem cái này, ít thành phần hơn và khả năng tự chủ cao hơn. Vì vậy, “thông số kỹ thuật”, các yêu cầu cơ bản về tín hiệu:

1) Thông báo khi cảm biến được kích hoạt.
2) Trong trường hợp mất điện, phải cung cấp một số quyền tự chủ.
3) Kiểm soát báo động qua SMS và cuộc gọi.

Do quá trình tạo cảnh báo mất vài tháng và một số người bán không còn bán các thành phần đã mua từ họ nữa nên các liên kết sẽ được cập nhật tới các sản phẩm từ những người bán khác có số lượng sản phẩm bán ra tối đa hoặc gần với mức tối đa Và giá tốt nhất. Giá trong bài đánh giá là giá hiện tại kể từ ngày nó được viết.

Danh sách những gì bạn sẽ cần:

Danh sách thay đổi

GSM_03_12_2016-14-38.hex- đã sửa lỗi hoạt động của thiết bị với modem M590.
GSM_05_12_2016-13-45.hex- thêm lệnh console memtest, tối ưu hóa việc sử dụng RAM.
GSM_2016_12_06-15-43.hex- thêm đầu ra của kết quả lệnh vào bảng điều khiển, tối ưu hóa bộ nhớ. Chiếm dụng: 49% SRAM.
GSM_2016_12_07-10-59.hex- bây giờ số điện thoại đã được thêm và xóa một cách chính xác. Bận: 49% SRAM, 74% Bộ nhớ Flash.
GSM_2016_12_07-15-38.hex- thêm khả năng kết nối cảm biến chuyển động, được kết nối với chân A0 (trong trường hợp này, chân A0 được sử dụng làm chân kỹ thuật số). Đã thêm lệnh SMS PIROn, PIRTắt. Bận: 48% SRAM, 76% Bộ nhớ Flash.
GSM_2016_12_08-13-53.hex- Bây giờ sau thực hiện thành công lệnh không gửi tin nhắn SMS phản hồi, thiết bị sẽ nhấp nháy đèn LED màu xanh lam một lần. Bây giờ, sau khi thực hiện sai lệnh mà không gửi tin nhắn SMS phản hồi, thiết bị sẽ nhấp nháy đèn LED màu xanh lam hai lần. Bây giờ, sau khi khởi tạo các thông số của thiết bị, nếu bật chế độ “im lặng” (SendSms = 0), thiết bị sẽ nhấp nháy đèn LED màu xanh lam thường xuyên trong 2 giây. Đã sửa lỗi khiến số này không phải lúc nào cũng bị xóa khỏi bộ nhớ bằng lệnh DeletePhone. Bận: 48% SRAM, 78% Bộ nhớ Flash.
GSM_2016_12_11-09-12.hex- Đã thêm lệnh console AddPhone và DeletePhone, cú pháp tương tự như lệnh SMS. Tối ưu hóa bộ nhớ. Bận: 43% SRAM, 79% Bộ nhớ Flash.
GSM_2017_01_03-22-51.hex- Hỗ trợ đã được triển khai cho các bộ mở rộng cổng I/O tương tự trên chip PCF8574, để kết nối thêm 8 cảm biến, bao gồm cả công tắc sậy. Tự động tìm kiếm địa chỉ và cài đặt tự động mô-đun. Tên tiêu chuẩn của cảm biến và mức logic phản hồi của chúng được thay đổi bằng lệnh EditSensor. Nội dung của SMS cảnh báo cho cảm biến chính (chân D0) đã được thay đổi: “Báo động! Cảm biến chính! và cảm biến chuyển động (chân A0) “Báo động! Cảm biến PIR! Đã thêm lệnh EditSensor và I2CScan. Bận: 66% SRAM, 92% Bộ nhớ Flash.
GSM_2017_01_15-23-26.hex- Hỗ trợ modem A6_Mini. Giám sát sự hiện diện của nguồn điện bên ngoài (chân D7). Đã thêm lệnh SMS WatchPowerOn, WatchPowerOff. Đã thêm các lệnh console ListConfig, ListSensor. Bây giờ lệnh SMS EditSensor hoạt động chính xác. Đầu ra của thông tin gỡ lỗi tới màn hình cổng đã giảm đi một chút. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_01_16-23-54.hex- Bây giờ, trong tin nhắn phản hồi lệnh SMS “Thông tin”, trạng thái của cảm biến chuyển động cũng được báo cáo. Đã sửa lỗi đôi khi gửi tin nhắn SMS trả lời trống. Giờ đây, thiết bị không chỉ thông báo về việc tắt máy mà còn thông báo về việc nối lại nguồn điện bên ngoài. Tất cả các modem bắt đầu ít ồn ào hơn và giờ đây màn hình cổng đã sạch sẽ hơn một chút. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_02_04-20-23.hex- Đã sửa lỗi “Xem nguồn bật”. Bây giờ, sau khi vô hiệu hóa, “chân báo động” sẽ bị tắt. Bây giờ, sau khi xóa một số, thông tin chính xác sẽ được hiển thị trong bảng điều khiển. Có thể đã sửa lỗi do đôi khi các tin nhắn SMS trả lời trống được gửi đi. Bận: 66% SRAM, 90% Bộ nhớ Flash.
GSM_2017_02_14-00-03.hex- Lúc này tin nhắn SMS được gửi theo mặc định, thông số SendSms lại bằng 1. Lúc này, khi các điểm tiếp xúc của cảm biến sậy chính đóng (đóng cửa), thiết bị sẽ nhấp nháy đèn LED màu xanh lam trong 2 giây, báo hiệu hoạt động bình thường của cảm biến. Bận: 66% SRAM, 90% Bộ nhớ Flash.
GSM_2017_03_01-23-37.hex- Lệnh WatchPowerOn đã bị loại bỏ. Đã thêm lệnh bảng điều khiển WatchPowerOff, giống với lệnh SMS. Đã thêm lệnh WatchPowerOn1, WatchPowerOn2. WatchPowerOn1 - giám sát nguồn điện bên ngoài được bật nếu cảnh báo được kích hoạt, WatchPowerOn2 - giám sát nguồn điện bên ngoài luôn được bật. Chức năng kích hoạt và giải giáp bằng các thiết bị bên ngoài được thực hiện; các chân A1(D15) và A2(D16) được sử dụng cho việc này. Cảnh báo sẽ tắt/bật khi nó xuất hiện trên chân A1(D15) cấp độ cao+5V hoặc tại chân A2(D16) cấp thấp GND. Chân A1(D15) được kéo lên GND, chân A2(D16) được kéo lên +5V thông qua điện trở 20 (10) kOhm. Đã thêm các lệnh GuardButtonOn và GuardButtonOff. Bây giờ, sau khi kích hoạt, đèn LED màu đỏ sẽ nhấp nháy cho đến khi kiểm tra tính toàn vẹn của mạch công tắc sậy chính. Nếu mạch còn nguyên vẹn, đèn LED màu đỏ sẽ sáng lên. Chiếm: 66% SRAM, 95% bộ nhớ Flash.
GSM_2017_03_12-20-04.hex- Bây giờ bảng điều khiển thậm chí còn trở nên gọn gàng hơn, nhưng nếu chế độ kiểm tra “TestOn” được bật, thông tin bổ sung sẽ được hiển thị trong bảng điều khiển. Lỗi “Đã gửi!” đã được sửa; thông tin về việc gửi tin nhắn hiện được hiển thị chính xác trong bảng điều khiển. Đã sửa lỗi "gọi sai liên tục". Bây giờ yêu cầu số dư sẽ hoạt động chính xác trên tất cả các modem. Bận: 67% SRAM, 95% Bộ nhớ Flash.
GSM_2017_04_16-12-00.hex- Đã sửa. Bây giờ các lệnh Thông tin và Tiền sẽ luôn gửi SMS phản hồi. Lệnh GuardButtonOn đã được thay thế bằng lệnh GuardButtonOn1 và GuardButtonOn2. Chiếm: 67% SRAM, 99% bộ nhớ Flash.
GSM_2017_04_21-09-43.hex - không được khuyến nghị sử dụng, chỉ dành cho mục đích thử nghiệm, cảm ơn vì đã xác định lỗi :) - Bây giờ tham số sendms không ảnh hưởng đến việc gửi tin nhắn SMS để giám sát lưới điện. Đã thêm lệnh SMS DelayBeforeGuard chịu trách nhiệm về độ trễ khi kích hoạt, giá trị không thể vượt quá 255 giây. Đã thêm lệnh SMS DelayBeforeAlarm, chịu trách nhiệm trì hoãn việc gửi thông báo và bật “chân báo động” khi giá trị được kích hoạt không được vượt quá 255 giây; Lệnh ClearSMS đã bị xóa, tin nhắn giờ đây sẽ tự động bị xóa khi nhận được. Chiếm: 68% SRAM, 100% bộ nhớ Flash.
GSM_2017_04_22-20-42.hex- Đã sửa nhiều lỗi. Các lệnh ClearSMS lại xuất hiện trong phần sụn. Tối ưu hóa bộ nhớ. Bận: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_04_23-17-50.hex- Bây giờ yêu cầu số dư sẽ hoạt động chính xác trên tất cả các modem. Việc kích hoạt và giải giáp với các thiết bị bên ngoài hiện hoạt động chính xác. Tin nhắn phản hồi SMS từ lệnh Thông tin không được để trống. Tối ưu hóa bộ nhớ. Bận: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_04_24-13-22.hex- Hiện đang gửi lệnh console tới mô-đun GSM chỉ được thực hiện nếu chế độ kiểm tra được bật. Giờ đây không còn sự phân chia giữa lệnh SMS và lệnh bảng điều khiển; tất cả các lệnh hiện có có thể được truyền cả qua SMS và qua bảng điều khiển. Lỗi với lệnh Thông tin có thể đã được sửa. Tối ưu hóa bộ nhớ. Bận: 68% SRAM, 94% Bộ nhớ Flash.
GSM_2017_04_25-20-54.hex- Đã sửa lỗi lệnh ListConfig thay đổi giá trị của sự kiện cuối cùng. Giờ đây, khi nhập lệnh qua bảng điều khiển, các tin nhắn SMS không cần thiết sẽ không được gửi. Lỗi với lệnh Thông tin có thể đã được sửa. Tối ưu hóa bộ nhớ. Bận: 66% SRAM, 94% Bộ nhớ Flash.
GSM_2017_04_30-12-57.hex- Tạm thời kích hoạt đầu ra thông tin bổ sung tới bảng điều khiển khi gửi tin nhắn SMS và tạo phản hồi cho lệnh Thông tin. Lỗi với lệnh Thông tin có thể đã được sửa. Tối ưu hóa bộ nhớ. Bận: 66% SRAM, 92% Bộ nhớ Flash.
GSM_2017_05_06-11-52.hex- Đã sửa lỗi với chức năng DelayBeforeAlarm. Bận: 66% SRAM, 93% Bộ nhớ Flash.
GSM_2017_05_23-21-27.hex- Đầu ra thông tin trên bảng điều khiển đã được thay đổi một chút. Đã thêm hỗ trợ cho các mô-đun mở rộng cổng trên PCF8574A với các địa chỉ từ 0x38 đến 0x3f. Đã sửa lỗi c. Bây giờ thiết bị sẽ tự động khởi động lại sau các lệnh FullReset, ResetConfig, ResetPhone và nếu lệnh MemTest được thực thi thành công. Đã thêm lệnh WatchPowerTime. Giờ đây, bạn có thể đặt thời gian sau đó tin nhắn SMS sẽ được gửi cho biết nguồn điện bên ngoài đã tắt. Bận: 67% SRAM, 94% Bộ nhớ Flash.
GSM_2017_05_26-20-22.hex- Đã sửa lỗi khởi tạo bộ nhớ cảm biến bảng mở rộng. Cú pháp lệnh AddPhone đã được thay đổi. Đã thêm lệnh EditMainPhone. Nguyên lý hoạt động của hệ thống thông báo đã được thay đổi, khi kích hoạt cảm biến, tin nhắn SMS sẽ được gửi trước, sau đó sẽ thực hiện cuộc gọi thoại. Tin nhắn SMS báo động sẽ được gửi đến các số điện thoại có ký hiệu “S” (SMS). Cuộc gọi thoại sẽ được thực hiện tới các số có dấu “R” (Đổ chuông). Thông báo tắt/bật nguồn điện ngoài sẽ được gửi đến các số điện thoại có ký hiệu “P” (Nguồn). Đã thêm lệnh RingTime. Hiện tại có thể đặt thời lượng của cuộc gọi thoại báo động; tham số có thể có giá trị từ 10 đến 255 giây. Lệnh RingOn/RingOff giờ đây sẽ bật/tắt cảnh báo cuộc gọi thoại trên toàn cầu. Đã thêm lệnh ResetSensor. Chiếm: 68% SRAM, 99% bộ nhớ Flash.
GSM_2017_06_02-17-43.hex- Tham số “I” (Thông tin) đã được thêm vào lệnh AddPhone và EditMainPhone, có nhiệm vụ gửi thông báo SMS về việc kích hoạt hoặc vô hiệu hóa thiết bị. Bây giờ sau khi thêm số chính, thiết bị sẽ tự động khởi động lại. Bây giờ bạn có thể nhập các số giống nhau vào bộ nhớ của thiết bị. Khi thêm các số trùng lặp thứ hai và các số tiếp theo, các thuộc tính “M”, “S”, “P” và “I” sẽ tự động bị xóa khỏi chúng. Những số này sẽ được sử dụng cho các cuộc gọi thoại lặp đi lặp lại khi cảm biến được kích hoạt. Đã sửa lỗi đầu ra bảng điều khiển không chính xác sau khi thực hiện lệnh AddPhone; hiện tại thông tin không được hiển thị tự động sau khi thêm số. Đã thêm lệnh Khởi động lại. Chiếm: 69% SRAM, 99% bộ nhớ Flash.
GSM_2017_06_11-00-07.hex- Bây giờ, một lần nữa, khi các điểm tiếp xúc của cảm biến sậy chính đóng (đóng cửa), thiết bị sẽ nhấp nháy đèn LED màu xanh lam trong 2 giây, cho biết cảm biến hoạt động bình thường nhưng không tính đến việc thiết bị có được trang bị vũ khí hay không hoặc bị tước vũ khí. Lệnh RingOn/RingOff đã bị loại bỏ. Giờ đây, thiết bị có thể được tắt trong khi có cuộc gọi báo động; giờ đây chúng được thực hiện ở chế độ nền. Chiếm: 69% SRAM, 99% bộ nhớ Flash.
GSM_2017_07_04-21-52.hex- Bây giờ lệnh Tạm dừng không gửi SMS phản hồi. Các lệnh TestOn và TestOff đã bị xóa. Thuộc tính Quản lý đã bị xóa khỏi tất cả các số. Chiếm: 68% SRAM, 96% bộ nhớ Flash.
GSM_2017_07_24-12-02.hex- Đã thêm các lệnh ReedSwitchOn/ReedSwitchOff để theo dõi cảm biến sậy chính, giờ đây nó có thể được bật/tắt giống như cảm biến chuyển động. Đã sửa lỗi trong lệnh Thông tin. Các lệnh TestOn và TestOff lại xuất hiện trong phần sụn. Chiếm: 68% SRAM, 96% bộ nhớ Flash.
GSM_2017_07_26-10-03.hex- Đã thêm lệnh ModemID. Việc tự động phát hiện modem chỉ được thực hiện nếu giá trị của tham số này bằng 0. Sau khi đặt giá trị tham số thành 0, thiết bị sẽ tự động khởi động lại. Bận: 68% SRAM, 98% Bộ nhớ Flash.
GSM_2017_08_03-22-03.hex- Bây giờ báo thức có thể điều khiển các thiết bị bên ngoài. Để điều khiển, đầu ra analog A3 được sử dụng (D17 - được sử dụng làm kỹ thuật số). Mức đầu ra logic (+5V hoặc GND) có thể được thay đổi; sau khi thay đổi mức thông qua lệnh cấu hình, thiết bị sẽ tự động khởi động lại. Thời lượng của tín hiệu điều khiển thiết bị bên ngoài có thể được thay đổi. Đã thêm các lệnh ExtDeviceLevelLow, ExtDeviceLevelHigh, ExtDeviceTime, Open. Một số thay đổi về logic của các lệnh điều khiển. Tối ưu hóa bộ nhớ. Chiếm: 68% SRAM, 99% bộ nhớ Flash.
GSM_2017_08_10-12-17.hex- Các lệnh SmsOn/SmsOff, ReedSwitchOn/ReedSwitchOff, PIROn/PIROff và mọi thứ liên quan đến chúng đã bị xóa. Lệnh DelayBeforeAlarm đã được thay thế bằng các lệnh mở rộng. Đã thay đổi đầu ra của lệnh Thông tin. Đầu ra của lệnh ListConfig tới bảng điều khiển đã được tối ưu hóa. Giờ đây, bất kỳ cảm biến kỹ thuật số nào có mức phản hồi cao hoặc thấp, bao gồm cả công tắc sậy, đều có thể được kết nối với chân D6 và A0. Chân D6 và A0 phải được nối đất (GND) thông qua điện trở 10 (20) kOhm. Nếu cảm biến được đặt ở mức phản hồi thấp (được bật ở chế độ công tắc sậy), thì tính toàn vẹn của mạch sẽ được kiểm tra. Mức kích hoạt logic ở đầu vào D6 và A0 (+5V hoặc GND) có thể được thay đổi; sau khi thay đổi mức logic, thiết bị sẽ tự động khởi động lại. Đối với mỗi cảm biến (chính, phụ, bảng mở rộng PCF), khi được kích hoạt, thời gian riêng của cảm biến có thể được đặt, sau đó sẽ có thông báo (SMS và/hoặc cuộc gọi thoại). "Cảm biến PIR" đã được đổi tên thành "Cảm biến thứ hai". Đã sửa lỗi hoạt động của thẻ mở rộng, lỗi khiến thiết bị luôn thông báo khi cảm biến được kích hoạt, bất kể thiết bị có được trang bị vũ khí hay không. Bây giờ bạn có thể chọn chế độ hoạt động trong đó thiết bị có thể giám sát các cảm biến của thẻ mở rộng cả ở chế độ trang bị (GuardOn) và ở chế độ tắt (GuardOff). Đã thêm các lệnh PCFForceOn/PCFForceOff, MainSensorLevelHigh/MainSensorLevelLow/MainSensorLevelOff, SecondSensorLevelHigh/SecondSensorLevelLow/SecondSensorLevelOff, MainDelayBeforeAlarm, SecondDelayBeforeAlarm, PCFDelayBeforeAlarm. Chiếm: 68% SRAM, 99% bộ nhớ Flash.

*Các phiên bản phần sụn tiếp theo bao gồm những thay đổi so với các phiên bản trước.


Cổng Arduino Nano v3 được sử dụng

D4- đầu ra của chân “báo động”; khi cảm biến được kích hoạt, tín hiệu mức cao sẽ được đặt trên chân này
D5- đầu ra nghịch đảo của chân “báo động”; khi cảm biến được kích hoạt, tín hiệu mức thấp sẽ được đặt trên chân này

D6- cảm biến sậy. Bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex, mọi cảm biến kỹ thuật số có mức phản hồi cao hoặc thấp, bao gồm cả công tắc sậy, đều có thể được kết nối với chân D6. Chân D6 phải được kéo xuống đất (GND) thông qua điện trở 10 (20) kOhm.
D7- được kết nối với bộ chia điện áp từ nguồn điện + 5V bên ngoài. Cánh tay trên 2,2 kOhm, cánh tay dưới 3,3 kOhm.

Chia điện áp


D8- Modem TX
D9- Modem RX

D10- dẫn màu đỏ
D11- đèn LED màu xanh
D12- đèn LED màu xanh lá cây

Kết nối ngoại vi:
A0- Cảm biến chuyển động. Bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex, mọi cảm biến kỹ thuật số có mức phản hồi cao hoặc thấp, bao gồm cả công tắc sậy, đều có thể được kết nối với chân A0. Chân A0 phải được kéo xuống đất (GND) thông qua điện trở 10 (20) kOhm.

A1- Đầu vào để điều khiển bên ngoài. Cảnh báo sẽ bật/tắt khi mức +5V cao xuất hiện ở đầu vào.
A2- Đầu vào nghịch đảo cho điều khiển bên ngoài. Cảnh báo sẽ bật/tắt khi mức GND thấp xuất hiện ở đầu vào.

A3- Đầu ra (+5V hoặc GND) có thể định cấu hình để điều khiển các thiết bị bên ngoài. Khi nhận được lệnh điều khiển, giá trị ở đầu ra này sẽ thay đổi tùy thuộc vào giá trị được đặt trong một khoảng thời gian nhất định.

A4- SDA I2C
A5- SLC I2C
, để kết nối thêm 8 cảm biến.


Lệnh điều khiển cho phần mềm hex

Chú ý!Đội ngũ cống hiến in đậm chỉ có thể được thực thi từ số chính vì chúng chịu trách nhiệm về cấu hình thiết bị. Các lệnh khác có thể được thực thi từ các số có thuộc tính “Quản lý”.

SMS - lệnh điều khiển không phân biệt chữ hoa chữ thường:
Thêm số điện thoại- Thêm số điện thoại. Tổng cộng, không thể thêm quá 9 số + 1 số chính, số này sẽ tự động được lưu vào bộ nhớ trong lần đầu tiên bạn gọi đến thiết bị sau khi khôi phục cài đặt gốc bằng lệnh Đặt lại điện thoại hoặc Đặt lại hoàn toàn. Những thứ kia. Người đầu tiên gọi đến máy sau khi khôi phục cài đặt gốc là “chính”, số này được nhập vào ô nhớ đầu tiên và không thể thay đổi hoặc xóa qua SMS. Có thể thêm hai số giống hệt nhau, nhưng sau đó số trùng lặp sẽ tự động chỉ giữ lại thuộc tính “r” - dành riêng cho các cuộc gọi thoại lặp lại.
Lệnh ví dụ:



Cú pháp lệnh:

Thêm số điện thoại- đội
: - dấu phân cách
5 - ghi vào ô nhớ thứ năm
+71234567890 - số điện thoại
Lên đến phiên bản GSM_2017_05_26-20-22.hex:
a - Thông số “Báo động” - Tin nhắn SMS sẽ được gửi đến các số có thông số này - tin nhắn về việc kích hoạt cảnh báo và tin nhắn về việc kích hoạt hoặc giải giáp.
Bắt đầu từ phiên bản GSM_2017_05_26-20-22.hex:
m - Tham số “Quản lý” - quản lý cảnh báo được bật
s - Thông số “SMS” - một tin nhắn SMS sẽ được gửi khi cảm biến được kích hoạt
r - Thông số “Ring” - cuộc gọi thoại sẽ được thực hiện khi cảm biến được kích hoạt
p - Thông số “Nguồn” - tin nhắn SMS sẽ được gửi khi bật/tắt nguồn điện bên ngoài
i - Tham số “Thông tin” - một tin nhắn SMS sẽ được gửi khi kích hoạt hoặc giải giáp
Nếu thiếu các thông số “m”, “s”, “r”, “p”, “i”, điện thoại sẽ được lưu vào bộ nhớ nhưng không được sử dụng dưới bất kỳ hình thức nào.


XóaĐiện thoại- Xóa số điện thoại.
Lệnh ví dụ:

Cú pháp lệnh:

XóaĐiện thoại - lệnh
: - dấu phân cách
+71234567891 - số điện thoại


Chỉnh sửaĐiện thoại chính- Thay đổi các thông số “s”, “r”, “p”, “i” của điện thoại chính, số này được lưu ở ô nhớ đầu tiên.
Lệnh ví dụ:

Cú pháp lệnh:

EditMainPhone - lệnh
: - dấu phân cách
srpi - tham số


Số dưSố dư- Thay đổi số yêu cầu số dư và xử lý độ dài của phản hồi yêu cầu. Giá trị mặc định cho Beeline: #100#L22.
Lệnh ví dụ:

Cú pháp lệnh:

Số dư - lệnh
: - dấu phân cách
#103# - số yêu cầu số dư
L24 - Độ dài (len) của phản hồi được chuyển tiếp là 24 ký tự, chúng tôi đã loại bỏ thư rác khỏi yêu cầu số dư.


Chỉnh sửaCảm biến- Thay đổi tên cảm biến và mức phản hồi logic. Tổng cộng không thể có nhiều hơn 8 cảm biến bổ sung. Sau khi thay đổi các thông số, thiết bị phải được khởi động lại.
Lệnh ví dụ:
Chỉnh sửaCảm biến:1+Datchik dvizheniya v koridore#h

Cú pháp lệnh:

EditSensor - lệnh
: - dấu phân cách
1 - ghi vào ô nhớ đầu tiên
+ - dải phân cách
Datchik dvizheniya v koridore - tên của cảm biến, không được vượt quá 36 ký tự, kể cả dấu cách.
#h - Dấu hiệu mức logic cao từ cảm biến, khi nhận được tín hiệu này, cảnh báo sẽ được kích hoạt. Nếu thiếu "#h", cảnh báo sẽ được kích hoạt khi nhận được mức logic thấp từ cảm biến.


Giờ ngủ- Thời gian báo thức chuyển sang chế độ ngủ khi nhận được SMS - lệnh “Tạm dừng”, được biểu thị bằng phút. Giá trị mặc định: 15, không thể nhỏ hơn 1 hoặc lớn hơn 60.
Lệnh ví dụ:

Cú pháp lệnh:

Giờ ngủ - lệnh
: - dấu phân cách
20 - 20 phút “ngủ”.


Báo ĐộngPinThời Gian- Thời gian bật/tắt cảnh báo/chân nghịch đảo được biểu thị bằng giây. Giá trị mặc định: 60, không được nhỏ hơn 1 giây và lớn hơn 43200 giây (12 giờ).
Lệnh ví dụ:

Cú pháp lệnh:

AlarmPinTime - lệnh
: - dấu phân cách
30 - 30 giây để bật/tắt chốt báo động.


Trì hoãn trước khi bảo vệ- Thời gian trước khi kích hoạt thiết bị, sau khi nhận được lệnh tương ứng.
Lệnh ví dụ:

Cú pháp lệnh:

DelayBeforeGuard - lệnh
: - dấu phân cách
25 - 25 giây trước khi kích hoạt


Trì hoãn trước khi báo động- Khoảng thời gian sau đó thông báo SMS “báo động” sẽ được gửi nếu báo động không được tắt trong khoảng thời gian này. Được thay thế bằng các lệnh mở rộng bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex
Lệnh ví dụ:

Cú pháp lệnh:

DelayBeforeAlarm - lệnh
: - dấu phân cách
40 - 40 giây trước khi gửi thông báo “báo động”


XemQuyền LựcThời Gian- Thời gian tính bằng phút sau đó sẽ có tin nhắn SMS báo rằng nguồn điện bên ngoài đã tắt. Nếu nguồn điện bên ngoài được khôi phục trước khi hết thời gian đã đặt, tin nhắn sẽ không được gửi.
Lệnh ví dụ:

Cú pháp lệnh:

WatchPowerTime - lệnh
: - dấu phân cách
5 - 5 phút trước khi gửi tin nhắn SMS


chuông thời gian- Thời lượng của cuộc gọi thoại báo động, tham số có thể có giá trị từ 10 đến 255 giây.
Lệnh ví dụ:

Cú pháp lệnh:

RingTime - lệnh
: - dấu phân cách
40 - 40 thời lượng cuộc gọi sẽ là 40 giây, sau đó thuê bao tiếp theo sẽ được gọi.


ID modem- Buộc cài đặt model modem đang sử dụng. Các giá trị có thể có: 0 - tự động phát hiện modem, 1 - M590, 2 - SIM800l, 3 - A6_Mini.
Lệnh ví dụ:

Cú pháp lệnh:

ModemID - lệnh
: - dấu phân cách
2 - ID modem.


ExtThiết bịThời gian- Số giây mà mức tín hiệu ở đầu ra điều khiển của thiết bị bên ngoài sẽ thay đổi.
Lệnh ví dụ:

Cú pháp lệnh:

ExtDeviceTime- lệnh
: - dấu phân cách
5 - 5 giây


ExtThiết bịCấp độThấp- Thiết bị ngoại vi kết nối với đầu ra A3 được điều khiển bằng mức tín hiệu thấp (GND). Đầu ra sẽ mặc định ở mức cao +5V cho đến khi nhận được lệnh điều khiển từ thiết bị bên ngoài
ExtThiết bịCấpCao- Một thiết bị bên ngoài kết nối với đầu ra A3 được điều khiển bằng mức tín hiệu cao (+5V). Đầu ra sẽ mặc định ở mức GND thấp cho đến khi nhận được lệnh điều khiển thiết bị bên ngoài.

Đặt lạiCảm biến- thiết lập lại cảm biến mở rộng cổng

Đặt lại cấu hình- đặt lại cài đặt về cài đặt gốc

Đặt lại điện thoại- xóa tất cả khỏi bộ nhớ số điện thoại

Đặt lại hoàn toàn- đặt lại cài đặt, xóa tất cả số điện thoại khỏi bộ nhớ, khôi phục giá trị mặc định của lệnh BalanceNum.

Đổ chuông- bật thông báo bằng cách gọi đến số “chính” được ghi trong ô nhớ đầu tiên khi cảm biến được kích hoạt. Đã xóa bắt đầu từ phiên bản GSM_2017_06_11-00-07.hex
Tắt chuông- tắt thông báo bằng cách đổ chuông khi cảm biến được kích hoạt. Đã xóa bắt đầu từ phiên bản GSM_2017_06_11-00-07.hex

tin nhắn sms trên- bật thông báo SMS khi cảm biến được kích hoạt. Đã xóa bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex
tắt tin nhắn- tắt thông báo SMS khi cảm biến được kích hoạt. Đã xóa bắt đầu từ phiên bản GSM_2017_08_10-12-17.hex

PIROn- kích hoạt xử lý cảm biến chuyển động
PIRTắt- vô hiệu hóa xử lý cảm biến chuyển động

ReedSwitchBật- cho phép xử lý cảm biến sậy chính
ReedTắt- tắt xử lý cảm biến sậy chính

XemPowerOn- kích hoạt điều khiển nguồn điện bên ngoài, một tin nhắn SMS về việc tắt nguồn điện bên ngoài sẽ được gửi với điều kiện hệ thống báo động được trang bị. Đã xóa bắt đầu từ phiên bản GSM_2017_03_01-23-37.

XemPowerOn1- kích hoạt điều khiển nguồn điện bên ngoài, một tin nhắn SMS về việc tắt nguồn điện bên ngoài sẽ được gửi với điều kiện hệ thống báo động được trang bị.
XemPowerOn2- bật điều khiển nguồn điện bên ngoài, một tin nhắn SMS về việc tắt nguồn điện bên ngoài sẽ được gửi trong mọi trường hợp

XemTắt Nguồn- tắt điều khiển nguồn điện bên ngoài

Nút Bảo VệBật- điều khiển cảnh báo bằng thiết bị bên ngoài hoặc nút được bật. Đã xóa bắt đầu từ phiên bản GSM_2017_04_16-12-00.
Nút Bảo VệTrên1- chức năng thiết lập hoặc loại bỏ bảo vệ bằng thiết bị bên ngoài hoặc nút được kích hoạt
Nút Bảo VệOn2- chức năng chỉ sản xuấtđược trang bị bởi các thiết bị bên ngoài hoặc nút được bật; việc giải giáp được thực hiện bằng cách gọi đến thiết bị hoặc sử dụng lệnh SMS.
Nút Bảo VệTắt- điều khiển báo động bằng thiết bị bên ngoài hoặc nút bị vô hiệu hóa

PCForceBật- giám sát liên tục một nhóm tất cả các cảm biến mô-đun mở rộng
PCFBuộc Tắt- chỉ giám sát một nhóm gồm tất cả các cảm biến mô-đun mở rộng khi thiết bị được trang bị

ChínhCảm biếnMứcCao- thông báo cảnh báo sẽ được gửi khi tín hiệu mức cao (+5 V) xuất hiện ở đầu vào (D6) từ cảm biến
Cảm biến chínhMức độThấp- thông báo cảnh báo sẽ được gửi khi tín hiệu mức thấp (GND) xuất hiện ở đầu vào (D6) từ cảm biến
Cảm biến chínhCấp độTắt- xử lý đầu vào cảm biến (D6) bị tắt

Cảm biến thứ haiMức cao- thông báo cảnh báo sẽ được gửi khi tín hiệu mức cao (+5 V) xuất hiện ở đầu vào (A0) từ cảm biến
Cảm biến thứ haiMức độThấp- thông báo cảnh báo sẽ được gửi khi tín hiệu mức thấp (GND) xuất hiện ở đầu vào (A0) từ cảm biến
Mức độ cảm biến thứ haiTắt- việc xử lý đầu vào cảm biến (A0) bị vô hiệu hóa

ChínhĐộ trễTrướcBáo động- thời gian sau đó, thông báo SMS “báo động” sẽ được gửi khi cảm biến chính (D6) được kích hoạt, nếu cảnh báo chưa được tắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.
Thứ haiĐộ trễTrướcBáo động- thời gian sau đó thông báo SMS “cảnh báo” sẽ được gửi khi cảm biến bổ sung (A0) được kích hoạt, nếu cảnh báo chưa được tắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.
PCFDelayTrướcBáo động- thời gian sau đó thông báo SMS “báo động” sẽ được gửi khi cảm biến bảng mở rộng (PCF8574) được kích hoạt, nếu cảnh báo không được tắt trong khoảng thời gian này. Cú pháp giống như lệnh DelayBeforeAlarm.

GuardOn - cánh tay
GuardOff - loại bỏ bảo vệ

Lệnh mở - điều khiển thiết bị bên ngoài

Thông tin - kiểm tra trạng thái, để trả lời tin nhắn này, một SMS sẽ được gửi cùng với thông tin về số nào đã bật/tắt bảo mật

Tạm dừng - tạm dừng hệ thống trong khoảng thời gian được đặt bởi lệnh thời gian ngủ tính bằng phút; hệ thống không phản hồi với các kích hoạt cảm biến.

TestOn - chế độ kiểm tra được bật, đèn LED màu xanh lam nhấp nháy.
TestOff - chế độ kiểm tra bị tắt.

LedOff - tắt đèn LED chờ.
LedOn - bật đèn LED chờ.

Tiền - yêu cầu số dư.

ClearSms - Xóa tất cả tin nhắn khỏi bộ nhớ

Các lệnh trên bảng điều khiển (tối đa phiên bản GSM_2017_04_24-13-22.hex) - được nhập vào màn hình cổng Arduino IDE:

AddPhone - tương tự như lệnh sms AddPhone

DeletePhone - tương tự như lệnh sms DeletePhone

EditSensor - tương tự như lệnh sms EditSensor

ListPhone - xuất ra cổng giám sát danh sách các điện thoại được lưu trong bộ nhớ

ResetConfig - tương tự như lệnh sms ResetConfig

ResetPhone - tương tự như lệnh sms ResetPhone

FullReset - tương tự như lệnh sms FullReset

ClearSms - tương tự như lệnh sms ClearSms

WatchPowerOn1 - tương tự như lệnh sms WatchPowerOn1
WatchPowerOn2 - tương tự như lệnh sms WatchPowerOn2
WatchPowerOff - tương tự như lệnh sms WatchPowerOff

GuardButtonOn - tương tự như lệnh sms GuardButtonOn. Đã xóa bắt đầu từ phiên bản GSM_2017_04_16-12-00
GuardButtonOn1 - tương tự như lệnh sms GuardButtonOn1
GuardButtonOn2 - tương tự như lệnh sms GuardButtonOn2
GuardButtonOff - tương tự như lệnh sms GuardButtonOff

Memtest - kiểm tra bộ nhớ không thay đổi của thiết bị; tất cả các cài đặt của thiết bị sẽ được đặt lại, tương tự như lệnh FullReset.

I2CScan - tìm kiếm và khởi tạo các thiết bị được hỗ trợ trên bus I2C.

ListConfig - hiển thị cấu hình thiết bị hiện tại cho màn hình cổng.

ListSensor - xuất ra màn hình cổng của cấu hình cảm biến hiện tại.

CẬP NHẬT. Khi sử dụng cảm biến chuyển động, để tránh hiện tượng dương tính giả trong quá trình vận hành modem, cần thiết giữa ghim GNDA0 Arduino kháng cự, cảm ơn đồng chí
AllowPhone = (“70001234501”, “70001234502”, “70001234503”, “70001234504”, “70001234505”) - Các số được phép quản lý bảo mật.
AlarmPhone = (“70001234501”, “70001234502”) - Các số để gửi thông báo SMS khi cảm biến được kích hoạt và thông báo về việc giải giáp hoặc kích hoạt. Số đầu tiên trong danh sách sẽ được gọi khi cảm biến được kích hoạt nếu lệnh RingOn được thực thi; theo mặc định, tùy chọn này được bật. Điều này được thực hiện vì tin nhắn SMS có thể đến trễ đôi chút nhưng cuộc gọi sẽ được thực hiện ngay lập tức.

Nếu nhận được cuộc gọi từ số được ủy quyền hoặc tin nhắn SMS có lệnh GuardOn/GuardOff thì tùy thuộc vào tình trạng hiện tại bảo mật sẽ được gửi một tin nhắn SMS về việc kích hoạt hoặc vô hiệu hóa tới các số được liệt kê trong mảng AlarmPhone và một tin nhắn SMS cũng sẽ được gửi đến số mà cuộc gọi đến.

Khi cảm biến được kích hoạt Tin nhắn SMS được gửi đến tất cả các số từ mảng (danh sách) AlarmPhone và một cuộc gọi thoại được thực hiện đến số đầu tiên trong mảng này.

Chỉ báo ánh sáng:
Đèn LED sáng màu đỏ - nó được trang bị vũ khí.
đèn LED sáng lên màu xanh lá- vô hiệu hóa, bật/tắt bằng lệnh SMS LedOn/LedOff.
Đèn LED liên tục nhấp nháy màu xanh lam - nó báo hiệu rằng mọi thứ đều ổn với Arduino, bo mạch không bị đóng băng, nó được sử dụng riêng để gỡ lỗi, nó được bật/tắt bằng lệnh TestOn/TestOff SMS.
* Mã chứa hàm LedTest(), nó nhấp nháy với đèn LED màu xanh lam, nó được tạo ra chỉ để giám sát Arduino, nhấp nháy - nghĩa là nó đang hoạt động, không nhấp nháy - nó bị treo. Vẫn chưa cúp máy :)

Không liên quan!

Kết nối 2 cảm biến trở lên để mở firmware (chỉ áp dụng cho firmware sketch_02_12_2016.ino này)
Để kết nối các cảm biến sậy bổ sung, chúng tôi sử dụng các chân kỹ thuật số miễn phí D2, D3, D5 hoặc D7. Sơ đồ kết nối với cảm biến bổ sung trên D7.

Những thay đổi cần thiết trong phần sụn
... #define DoorPin 6 // Số đầu vào được kết nối với cảm biến chính int8_t DoorState = 0; // Biến lưu trữ trạng thái của cảm biến chính int8_t DoorFlag = 1; // Biến lưu trữ trạng thái của cảm biến chính #define BackDoorPin 7 // Số đầu vào được kết nối với cảm biến bổ sung int8_t BackDoorState = 0; // Biến để lưu trữ trạng thái của cảm biến bổ sung int8_t BackDoorFlag = 1; // Biến để lưu trữ trạng thái của cảm biến bổ sung...
void setup() ( ... pinMode(DoorPin, INPUT); pinMode(BackDoorPin, INPUT); ...
... void Detect() ( // Đọc giá trị từ cảm biến DoorState = digitalRead(DoorPin); BackDoorState = digitalRead(BackDoorPin); // Xử lý cảm biến chính if (DoorState == LOW && DoorFlag == 0) ( DoorFlag = 1; độ trễ (100); if (LedOn == 1) digitalWrite(GLed, LOW); if (DoorState == HIGH && DoorFlag == 1)( DoorFlag = 0; delay(100); ) // Đang xử lý cảm biến bổ sung if (BackDoorState == LOW && BackDoorFlag == 0) ( BackDoorFlag = 1; delay(100); if (LedOn == 1) digitalWrite(GLed, LOW); Alarm(); ) if (BackDoorState == HIGH && BackDoorFlag = = 1)( BackDoorFlag = 0; độ trễ(100); ) ) ...

Và một điều nữa:
1. Tốt hơn là sử dụng điốt định mức cho dòng điện 2 A, vì mô-đun mang dòng điện 1 A và chúng ta vẫn cần cấp nguồn cho Arduino và modem bằng thứ gì đó. Phiên bản này sử dụng điốt 1N4007; nếu chúng bị hỏng, hãy thay thế chúng bằng điốt 2 A.
2. Tôi đã sử dụng tất cả các điện trở cho đèn LED ở mức 20 kOhm để không chiếu sáng toàn bộ hành lang vào ban đêm.
3. Tôi cũng đặt một điện trở 20 kOhm trên cảm biến sậy giữa chân GND và chân D6.

Đó là tất cả cho bây giờ. Cám ơn vì sự quan tâm của bạn! :)

Mình đang định mua +207 Thêm vào mục yêu thích Tôi thích bài đánh giá +112 +243

Tác giả của nó muốn thực hiện một dự án tự chế để nó rẻ và không dây.
Sản phẩm tự chế này sử dụng cảm biến chuyển động PIR và thông tin được truyền bằng mô-đun RF.

Tác giả muốn sử dụng mô-đun hồng ngoại, nhưng vì nó có phạm vi hạn chế nên nó có thể hoạt động chỉ một tầm nhìn với máy thu, vì vậy anh ấy đã chọn một mô-đun RF mà anh ấy có thể đạt được phạm vi khoảng 100 mét.


Để thuận tiện hơn cho du khách khi xem cụm báo động, tôi quyết định chia bài viết thành 5 giai đoạn:
Giai đoạn 1: Tạo máy phát.
Giai đoạn 2: Tạo một máy thu.
Bước 3: Cài đặt phần mềm.
Giai đoạn 4: Kiểm tra các mô-đun đã lắp ráp.
Giai đoạn 5: Lắp ráp thùng máy và cài đặt mô-đun vào đó.

Tất cả những gì tác giả cần là:
- 2 bo mạch ARDUINO UNO/ARDUINO MINI/ARDUINO NANO cho bộ thu và phát;
- Mô-đun thu phát RF (433 MHZ);
- Cảm biến chuyển động PIR;
- Pin 9V (2 chiếc) và đầu nối cho chúng;
- Còi;
- Điốt phát quang;
- Điện trở có điện trở 220 Ohms;
- Bánh mỳ;
- Dây nhảy/dây nhảy;
- Bảng mạch;
- Đầu nối chân bo mạch;
- Công tắc;
- Vỏ máy thu và máy phát;
- Giấy màu;
- Băng gắn;
- Dao mổ sắp chữ;
- Súng bắn keo nóng;
- Mỏ hàn;
- Dụng cụ cắt dây/tước cách điện;
- Kéo kim loại.


Giai đoạn 1.
Hãy bắt đầu tạo máy phát.
Dưới đây là sơ đồ về cách hoạt động của cảm biến chuyển động.


Bản thân máy phát bao gồm:
- Cảm biến chuyển động;
- Bo mạch Arduino;
- Mô-đun máy phát.


Bản thân cảm biến có ba đầu ra:
- VCC;
- GND;
- NGOÀI.

Sau đó mình kiểm tra hoạt động của cảm biến


Chú ý!!!
Trước khi tải xuống chương trình cơ sở, tác giả đảm bảo rằng bo mạch hiện tại và cổng nối tiếp được đặt chính xác trong cài đặt Arduino IDE. Sau đó tôi tải lên bản phác thảo:

Sau này, khi cảm biến chuyển động phát hiện chuyển động trước mặt bạn, đèn LED sẽ sáng lên và bạn cũng có thể nhìn thấy thông báo tương ứng trên màn hình.


Theo sơ đồ dưới đây.


Máy phát có 3 chân (VCC, GND và Data), kết nối chúng:
- Đầu ra VCC > 5V trên bo mạch;
- GND > GND ;
- Dữ liệu > 12 chân trên board.

Giai đoạn 2.


Bản thân bộ thu bao gồm:
- Mô-đun thu RF;
- Bo mạch Arduino
- Còi (loa).

Mạch thu:


Bộ thu cũng giống như bộ phát, có 3 chân (VCC, GND và Data), kết nối chúng:
- Đầu ra VCC > 5V trên bo mạch;
- GND > GND ;
- Dữ liệu > 12 chân trên board.


Giai đoạn 3.
Tác giả đã chọn thư viện file làm cơ sở cho toàn bộ firmware. Tôi đã tải xuống và đặt nó vào thư mục thư viện Arduino.

Phần mềm máy phát.
Trước khi tải mã chương trình cơ sở lên bo mạch, tác giả đặt các tham số IDE sau:
- Board -> Arduino Nano (hoặc board bạn đang sử dụng);
- Cổng nối tiếp ->


Sau khi thiết lập các thông số, tác giả đã tải file firmware Wireless_tx và upload lên board:

Phần mềm thu
Tác giả lặp lại các bước tương tự cho bảng nhận:
- Board -> Arduino UNO (hoặc board bạn đang sử dụng);
- Cổng nối tiếp -> COM XX (kiểm tra cổng com mà bo mạch của bạn được kết nối).



Sau khi tác giả thiết lập xong các thông số thì tải file wireless_rx về và nạp vào board:


Sau đó, bằng cách sử dụng một chương trình có thể tải xuống, tác giả đã tạo ra âm thanh cho còi.

Giai đoạn 4.
Tiếp theo, sau khi tải phần mềm xuống, tác giả quyết định kiểm tra xem mọi thứ có hoạt động tốt không. Tác giả kết nối nguồn điện và đưa tay ra trước cảm biến, còi bắt đầu hoạt động, nghĩa là mọi thứ vẫn hoạt động như bình thường.


Giai đoạn 5.
Lắp ráp cuối cùng của máy phát
Đầu tiên, tác giả cắt bỏ các dây dẫn nhô ra khỏi bộ thu, bộ phát, bo mạch arduino, v.v.


Sau đó, tôi kết nối bo mạch arduino với cảm biến chuyển động và bộ phát RF bằng cách sử dụng các nút nhảy.


Tiếp theo, tác giả bắt đầu làm vỏ cho máy phát.

Đầu tiên, anh khoét một lỗ cho công tắc, cũng như một lỗ tròn cho cảm biến chuyển động, sau đó dán nó vào thân máy.




Sau đó tác giả cuộn một tờ giấy màu lại và dán vào bìa trước của bức ảnh nhằm giấu đi những bộ phận bên trong của sản phẩm tự chế.


Sau đó, tác giả bắt đầu chèn phần điền điện tử vào bên trong hộp bằng băng dính hai mặt.



Lắp ráp cuối cùng của máy thu
Tác giả quyết định kết nối bo mạch Arduino với bảng mạch bằng dây cao su, đồng thời lắp đặt một bộ thu RF.


Tiếp theo, tác giả khoét hai lỗ trên vỏ còn lại, một lỗ dành cho còi, lỗ còn lại dành cho công tắc.


Và dính nó.
lượt xem