CHƯƠNG 1. KIẾN THỨC CƠ SỞ 1. Kiến trúc và các thành phần của hệ thống tưới tiêu qua Internet 1. Đầu vào của hệ thống Cảm biến là bộ phận hết sức quan trọng, nó quyết định độ nhạy và sự chính xác của hệ thống.
Cảm biến là thiết bị điện tử cảm nhận những trạng thái hay quá trình vật lý hay hóa học ở môi trường cần khảo sát, và biến đổi thành tín hiệu điện để thu thập thông tin về trạng thái hay quá trình đó. Thông tin được xử lý để rút ra tham số định tính hoặc định lượng của môi trường, phục vụ các nhu cầu nghiên cứu khoa học kỹ thuật hay dân sinh và gọi ngắn gọn là đo đạc, phục vụ trong truyền và xử lý thông tin, hay trong điều khiển các quá trình khác. Cảm biến thường được đặt trong các vỏ bảo vệ tạo thành đầu thu hay đầu dò (Test probe), có thể có kèm các mạch điện hỗ trợ, và nhiều khi trọn bộ đó lại được gọi luôn là "cảm biến". Tuy nhiên trong nhiều văn liệu thì thuật ngữ cảm biến ít dùng cho vật có kích thước lớn.
Thuật ngữ này cũng không dùng cho một số loại chi tiết, như cái núm của công tắc bật đèn khi mở tủ lạnh, dù rằng về mặt hàn lâm núm này làm việc như một cảm biến. Có nhiều loại cảm biến khác nhau và có thể chia ra hai nhóm chính: ● Cảm biến vật lý: sóng điện từ, ánh sáng, tử ngoại, hồng ngoại, tia X, tia gamma, hạt bức xạ, nhiệt độ, áp suất, âm thanh, rung động, khoảng cách, chuyển động, gia tốc, từ trường, trọng trường, v. Cảm biến hồng ngoại ● Cảm biến hóa học: độ ẩm, độ PH, các ion, hợp chất đặc hiệu, khói, v. Cảm biến khói - Các đặc tính của cảm biến: độ nhạy, độ ổn định, độ tuyến tính.
Đầu ra của hệ thống a. Cơ cấu chấp hành - Relay điều khiển bơm nước b. Thông tin phản hồi - Trạng thái hoạt động của bơm nước c. Dữ liệu hiển thị - Thông tin nhiệt độ, độ ẩm, ánh sang, độ ẩm đất, trạng thái theo thời gian.
Dữ liệu lưu trữ - Thông tin nhiệt độ, độ ẩm, ánh sáng, độ ẩm đất, trạng thái các bơm(bật/tắt) - Đọc dữ liệu và hiển thị và điều khiển tự động và điều khiển bằng tay - Hiển thị và lưu trữ thông tin trên cloud (chế độ online/ IOT). - Ứng dụng vào thực tế, thay đổi thông số phù hợp. - Điều khiển và giám sát qua smartphone. - Cải tiến và nâng cấp.
Bo mạch Arduino 1. Tổng quan Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau.4 minh họa cho board mạch Arduino và phần mềm Arduino.
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduino bằng ngôn ngữ C hoặc C++. Arduino board Hình 1.
Chức năng của bo mạch adruino a. Đọc tín hiệu cảm biến cổng vào - Digital Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra. Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54.
- Analog Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10- bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0. Số lượng cổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560. Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer… b. Xuất tín hiệu điều khiển cổng ra - Digital output Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra.
Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54. 6 - PWM output Trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín hiệu điều chế xung PWM. Độ phân giải của các tín hiệu PWM này là 8-bit. Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560 là 14.
PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình. Chuẩn Giao tiếp - Serial Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch Arduino. Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chip thực hiện). Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện giao tiếp nối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cần phải viết code).
Mức tín hiệu của các cổng này là TTL 5V. Lưu ý cổng nối tiếp RS-232 trên các thiết bị hoặc PC có mức tín hiệu là UART 12V. Để giao tiếp được giữa hai mức tín hiệu, cần phải có bộ chuyển mức, ví dụ như chip MAX232. Số lượng cổng Serial cứng của Atmega328 là 1 và của Atmega2560 là 4.
Với tính năng giao tiếp nối tiếp, các bo Arduino có thể giao tiếp được với rất nhiều thiết bị như PC, touchscreen, các game console… - USB Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối với máy tính dùng cho việc tải chương trình. Tuy nhiên các chip AVR không có cổng USB, do đó các bo Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART. Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải là cổng USB tiêu chuẩn. - SPI Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây.
Với tính năng này các bo Arduino có thể kết nối với các thiết bị như LCD, bộ điều khiển video game, bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC… - TWI (I2C) Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây. Với tính năng này, các bo Arduino có thể giao tiếp với một số loại cảm biến như thermostat của CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âm 7 lượng cho một số loại loa… 1. Một số loại board mạch Arduino a. Arduino Uno Hình 1.
Arduino Uno Arduino Uno minh hoạ qua Hình 1. Đây là board cơ bản nhất cho người mới bắt đầu. Nó có 14 chân dữ liệu số, có thế cấu hình làm chân lấy tín hiệu vào hoặc xuất tín hiệu ra. 6 chân tương tự đầu vào 5V, độ phân giải 1024 mức.
Tốc độ 16MHz, điện áp vào từ 7~12V, chân số có thể cấp điện áp ra 5V và 1A,nếu điều khiển chân số ra tiêu tốn quá 1A thì Board sẽ bị hỏng. Kích thước board khoảng 5,5x7cm.5 minh họa borad mạch Arduino Uno. Arduino Micro Hình 1. Arduino micro Board Arduino micro được minh họa qua hình 1.6, có thiết kế nhỏ, dành cho các không gian lắp đặt nhỏ, nhẹ.
kích thước khoảng 5x2cm. Board này giống 8 với Arduino Uno. Có 20 chân số, trong đó có 7 chân có thể phát xung PWM. 12 chân tương tự.
Board mạch Arduino micro được minh họa qua hình 1. Arduino Pro/Pro Micro Hình 1. Arduino Pro Micro Arduino Pro Micro minh họa qua hình 1.7, dựa trên vi điều khiển Atmega32U4. Nó giống với Arduino Pro Mini nhưng ở đây nó sử dụng chip Atmega32U4 có hỗ trợ giao tiếp USB giúp nó linh hoạt hơn hẳn so với Pro Mini.
Nó có 4 kênh ADC 10 bit, 5 kênh PWM, 12 chân IO và ngõ giao tiếp Tx Rx. Board chạy ở 5V với tần số 16MHz, board này giống với loại Uno phổ biến. Có hỗ trợ điện áp tham chiếu trên board vì vậy có thể chấp nhận điện áp 12V cấp vào ADC. Chú ý: Nếu nguồn cấp lớn hơn 5V thì nên cấp vào chân Raw của board chứ không phải chân VCC.7 minh họa board mạch Arduino Pro Micro.
Arduino Nano Hình 1. Arduino Nano 9 Board Arduino Nano được mình họa qua hình 1.8, có kích thước nhỏ nhất, gồm 14 chân số (6 chân PWM) và 8 chân tương tự. Kích thước khoảng 2x4cm. Nhỏ gọn, dễ lắp đặt ở bất kỳ đâu.
* Một số board có thiết kế cao cấp hơn, được minh họa qua các hình 1. Arduino Mega Hình 1. Arduino Leonardo Hình 1. Arduino Due Hình 1.
Arduino Ethernet 10 Hình 1. Bảng so sánh thông số kỹ thuật của một số Arduino Board 1. Ứng dụng của Arduino trong đời sống - Với khả năng đọc các thiết bị cảm biến, điều khiển động cơ, v.v…Nên Arduino thường được dùng làm bộ xử lí trung tâm của nhiều loại thiết bị. - Arduino còn có thể tương tác với nút nhấn đa hướng – Joystick, màn hình, v.v…khi chơi các game như phá gạch, Super Mario, Tetrix.
- Ngoài ra, Arduino có thể điều khiển các thiết bị cảm biến như cảm biến âm thanh, cảm biến ánh sang, cảm biến nhiệt độ, các thiết bị đen led, đèn tín hiệu v. Bảo mật và bảo vệ mạng Wifi 1. Tổng quan về hệ thống bảo mật Bảo mật là mối quan tâm hàng đầu cho Internet of Things, nó quan trọng không kém gì vấn đề tối ưu năng lượng tiêu thụ, chi phí, cũng như khả năng kết nối không dây. Bảo mật là một trong những lĩnh vực mà hiện nay giới công nghệ thông tin khá quan tâm.
Một khi internet ra đời và phát triển, nhu cầu trao đổi thông tin trở nên cần thiết. Mục tiêu của việc nối mạng là làm cho mọi người có thể sử dụng chung tài nguyên từ những vị trí địa lý khác nhau. Cũng chính vì vậy mà các tài nguyên cũng rất dễ dàng bị phân tán, dẫn một điều hiển nhiên là chúng sẽ bị xâm phạm, gây mất mát dữ liệu cũng như các thông tin có giá trị.