Hello world !
Qua một thời gian tìm hiểu về lĩnh vực smart home mình thấy giải pháp sử dụng mã nguồn mở OPENHAB là ổn định và dễ sử dụng nhất. Để cho các bạn mới làm quen tìm hiểu về smart home đỡ tốn thời gian và công sức, mình đã tổng hợp các thông tin cần thiết để các bạn có thể bắt tay vào xây dựng giải pháp smart home (tự chế) cho riêng mình. Có thời gian rỗi mình sẽ viết tutorial hướng dẫn từng bước cho các bạn.
Đầu tiên là chúng ta sẽ tìm hiểu về các phần mềm, giao thức đã sử dụng trong smart home project.
SOFTWARE :
1. Raspiban OS for Raspberry Pi
Raspbian là phiên bản hệ điều hành phổ biến nhất trên Raspberry Pi, nó dễ sử dụng và được sự hỗ trợ của cộng đồng trên toàn thế giới. Raspbian là phiên bản dựa trên Debian Wheezy – một phiên bản Linux ưa thích của cộng đồng mã nguồn mở.
Raspbian là nền tảng rất tốt cho những người mới bắt đầu làm quen với Raspberry Pi và hệ điều hành Linux. Raspbian cũng bao gồm các ứng dụng multimedia và đồ họa, soạn thảo văn bản, trình duyệt internet ... Nếu cần thêm ứng dụng gì bạn chỉ việc down nó về, cài đặt và sử dụng. Thật tuyệt phải không nào :D
Chi tiết các bạn tìm hiểu site https://www.raspberrypi.org/downloads/raspbian/
2. Openhab :
OpenHAB là phần mềm miễn phí nguồn mở có chức năng làm bộ điều khiển trung tâm để giao tiếp với rất nhiều các loại thiết bị khác nhau(kể cả các thiết bị thương mại) của rất nhiều hãng sản xuất vào trong một hệ thống Smart Home hoàn chỉnh.
OpenHAB được cài đặt dưới dạng một website, có thể chạy trên rất nhiều platform (Windows, Linux, ARM...), nó được viết bằng ngôn ngữ Java. Vì vậy các thiết bị có hỗ trợ JVM (Java Virtual Machine) là có thể cài đặt được Openhab. Chúng ta có thể quan sát và điều khiển các thiết bị trong căn nhà của mình từ các thiết bị như PC, smart phone hay tablet...,
Một chức năng rất hay của OpenHAB là có một engine quản lý và thực thi các rules(thiết lập ngữ cảnh) giúp cho căn nhà thông minh hơn bằng cách tự động điều chỉnh khi trạng thái các cảm biến thay đổi.
Chi tiết các bạn tìm hiểu site : http://www.openhab.org/
3. MQTT
MQTT (Message Queuing Telemetry Transport) là một giao thức gởi dạng publish/subscribe sử dụng cho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định.
Giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng M2M và IoT
4. Mosquitto
Mosquitto là một phần mềm mã nguồn mở MQTT broker sử dụng giao thức MQTT version 3.1 và 3.1.1. Nó đóng vai trò trung gian để tiếp nhận, xử lý và chuyển tiếp các message đến các thiết bị trong hệ thống của chúng ta. Data được truyền và nhận thông qua các topic (hay còn gọi là channel). Với các channel, ta có thể gửi data tới đó hoặc đăng ký nhận bất kỳ dữ liệu nào gửi tới nó.
Chi tiết các bạn tìm hiểu site: http://mosquitto.org/
5. Arduino IDE
Arduino IDE là phần mềm hỗ trợ phát triển tích hợp IDE (Integrated Development Environment) dùng để soạn thảo, biên dịch code và nạp chương cho board arduino và các module vi điều khiển khác. Trình biên dịch Arduino IDE sử dụng phiên bản đơn giản hóa của ngôn ngữ C++.
Chi tiết các bạn tìm hiểu site: https://www.arduino.cc/en/Main/Software
6. Library for code
Trong quá trình viết code, chúng ta sẽ sử dụng lại các thư viện có sẵn để khỏi mất thời gian viết lại từ đầu. Trong project này tôi đã sử dụng lại các thư viện sau :
Pubsubclient --- Chi tiết: https://github.com/knolleary/pubsubclient
ESP8266WiFi --- Chi tiết https://github.com/ekstrand/ESP8266wifi
Ticker --- Chi tiết https://github.com/esp8266/Arduino/tree/master/libraries/Ticker
Bounce2 --- Chi tiết https://github.com/thomasfredericks/Bounce2
PIGPIO --- Chi tiết http://abyz.co.uk/rpi/pigpio/
..............
Nếu các bạn cần sử dụng những library khác để viết code, có thể google với keyword : "ten_thu_vien library arduino"
7. Motion
Motion là một chương trình theo dõi các tín hiệu video từ camera. Nó có khả năng phát hiện chuyển động và thực thi các hành động tương ứng với sự kiện xảy ra. Bạn có thể tạo ra rất nhiều kịch bản cho nó. Ví dụ: khi phát hiện chuyển động nó sẽ chụp lại hình, quay video và gửi email cho bạn biết, bạn cũng có thể cấu hình cho nó upload dữ liệu camera ghi lại được lên đám mây sử dụng các API của các cloud đó.
Chi tiết các bạn tìm hiểu site: http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
8. MotionEye
motionEye là một web frontend cho motion deamon, nó được viết bằng ngôn ngữ Python. Bạn có thể dùng nó để cấu hình, giám sát và điều khiển camera cho căn nhà của bạn trên giao diện Web thay cho cấu hình qua dòng lệnh trong file motion.config.
Chi tiết các bạn tìm hiểu site: https://github.com/ccrisan/motioneye/wiki
Tiếp theo là phần
HARDWARE
Trong project này tôi đã sử dụng các thiết bị phần cứng sau (nếu các bạn sử dụng board mạch, các module điều khiển khác vui lòng nghiên cứu tài liệu của nó, vì tôi không có sản phẩm để test)
Tất nhiên, trái tim của smart home sẽ là
1. Raspberry Pi (tôi đang sử dụng Pi 2 model B +)
2. Board Arduino Uno R3
3. Cảm biến nhiệt độ DHT22
4. Module Camera cho Pi
5. Board Relay wifi esp8266
6. Mạch nạp firmware cho Esp8266
7. Breadboard
8. Dây nhảy
Bonus :
9. Một máy tính bảng 7 inch, 10 inch bất kỳ làm DASHBOARD (bảng điều khiển thiết bị)
Bạn có thể sử dụng thêm 1 điện trở 1kQ cho DHT22, tôi không sử dụng đấu chân trực tiếp vào Pi.
Tất cả các sản phẩm trên bạn có thể mua tại :
Hà Nội : http://raspberrypi.vn/
HCM : hshop.vn
Đà Nẵng : http://www.dientuvietduc.vn/
Các bạn chờ phần tiếp theo nhé !
Nice day !
hay.
ReplyDeletetiếp tục đi ạ.
ReplyDeleteThoi gian nay minh ban qua se co gang viet,ban cho nhe
DeleteThoi gian nay minh ban qua se co gang viet,ban cho nhe
DeleteĐề tài hay, đợi bài viết tiếp theo của bạn.
ReplyDeleteHay quá. Thanks ad của bài viết.
ReplyDelete