Các thiết bị điều khiển chiếu sáng trong hệ thống nhà thông minh được tích hợp chip thông minh bên trong để thực hiện các lệnh điều khiển của hệ thống điều khiển trung tâm. Trước hết, bạn lựa chọn cho mình một hệ thống điều khiển chiếu sáng tương thích
với hệ thống điều khiển trung tâm của bạn, tiếp đó bạn lựa chọn phương thức truyền thông cho thiết bị của ngôi nhà bạn.
Hình 1. 16 Bóng đèn điện
• 3.5. Giới thiệu phần mềm • 3.5.1. Arduino IDE • 3.5.1. Arduino IDE
Arduino một nền tảng mã nguồn mở phần cứng và phần mềm. Phần cứng Arduino (các board mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, 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.
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng cross-platform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng cho ngôn ngữ lập trình xử lý (Processing programming language) và project Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động canh lề, cũng như compile(biên dịch) và upload chương trình lên board chỉ với một cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi là một sketch.
Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project Wiring gốc, có thể giúp các thao
tác input/output được dễ dàng hơn. Người dùng chỉ cần định nghĩa 2 hàm để tạo ra một chương trình vòng thực thi (cyclic executive) có thể chạy được:
Setup (): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết lập các cài đặt
Loop (): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
Hình 1. 17 Một mạch Arduino Uno
Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED và điện trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng dụng đơn giản. Đoạn code ở trên không thể đọc được bởi một compiler C++ chuẩn như là một chương trình đúng, vì vậy khi ta click vào nút "Upload to I/O board" trong IDE này, một bản copy của đoạn code này sẽ được ghi vào một file tạm với một extra include header ở phía trên cùng và một hàm main () đơn giản nằm ở phía đáy, để làm cho thân một chương trình C++ khả dụng.
Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch chương trình, và sử dụng avrdude để upload chương trình lên board.
Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi trường phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng có thể được sử dụng để làm phần mềm phát triển cho Arduino.
Altium Designer trước kia có tên gọi quen thuộc là Protel DXP, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay. Được phát triển bởi hãng Altium
Limited. Altium designer là một phần mềm chuyên ngành được sử dụng trong thiết kế mạch điện tử. Nó là một phần mềm mạnh với nhiều tính năng thú vị, tuy nhiên phần mềm này còn được ít người biết đến so với các phần mềm thiết kế mạch khác như orcad hay Proteus.
Altium Designer có một số đặc trưng sau:
- Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế.
- Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện. Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.
- Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
- Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…
- Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.
- Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D.
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại.
Từ đó, chúng ta thấy Altium designer có nhiều điểm mạnh so với các phần mềm khác như đặt luật thiết kế, quản lý đề tài mô phỏng dễ dàng, giao diện thân thiện…Việc thiết kế mạch điện tử trên phần mềm Altium designer có thể được tóm tắt gồm các bước như sau:
- Đặt ra các yêu cầu bài toán. - Lựa chọn linh kiện.
- Lựa chọn các chân linh kiện để chuyển sang mạch in Update mạch nguyên lý sang mạch in.
- Lựa chọn kích thước mạch in sắp sếp các vị trí các loại linh kiện như điện trở, tụ điện, IC...
- Đặt kích thước các loại dây nối. - Đi dây trên mạch.
- Kiểm tra toàn mạch.
• 3.5.3. App Blynk
Blynk là một ứng dụng chạy trên nền tảng iOS và Android để điều khiển và giám sát thiết bị thông qua internet, Blynk là phần mềm có mã nguồn mở được thiết kế cho các ứng dụng IoT (Internet of Things). Ứng dụng giúp người dùng điều khiển phần cứng từ xa, có thể hiển thị dữ liệu cảm biến , lưu trữ dữ liệu , biến đổi dữ liệu hoặc làm nhiều việc khác.
Bạn hãy thử tưởng tượng khi bạn ấn vào một nút nhấn trên phần mềm lập tức bóng đèn sáng lên và ngược lại.
Hình 1. 18 Nền tảng Blynk
- Blynk App: Ứng dụng Blynk cho phép khởi tạo giao diện cho các dự án của mình.
- Blynk Server: Chịu trách nhiệm giao tiếp qua lại hai chiều giữa điện thoại và phần cứng. Bạn có thể sử dụng server của Blynk nhưng sẽ bị giới hạn điểm Enegry. Trong các hướng dẫn sau này mình sẽ sử dụng Server riêng của mình! Và bạn cũng có thể sử dụng nó.
- BlynkLibrary: Thư viện chứa các nền tảng phổ biến , giúp việc giao tiếp phần cứng với Server dễ dàng hơn.
Những lý do chúng ta nên sử dụng Blynk:
- Dễ sử dụng: Quá đơn giản, chỉ việc vào store, cài đặt, sau đó đăng ký tài khoản và mất không quá 5 phút để làm quen.
- Đẹp và đầy đủ: Giao diện của Blynk quá tuyệt vời, sử dụng bằng cách kéo thả, bạn cần nút bấm, kéo thả nút bấm, bạn cần đồ thị, kéo thả đồ thị, bạn cần LCD, kéo thả LCD, tóm lại là bạn cần gì thì kéo thả cái đó.
- Không phải lập trình android hay ios: Nếu như không có kiên thức về làm app trên điện thoại thì việc điều khiển thiết bị từ chính smartphone của mình quả là điều vô
cùng khó khăn và phức tạp. Nhờ blynk thì chúng ta có thể bỏ qua bước lập trình tạo app. Có thể thử nhanh chóng và ứng dụng được dự án của mình vào thực tế.
- Thử nghiệm nhanh chóng, có thể điều khiển giám sát ở bất kỳ nơi nào có internet.
Tất nhiên ngoài những điểm lợi từ blynk thì còn có những cái hạn chế như phải mua energy để tạo được nhiều giao diện và chia sẻ giao diện cho người khác. Những cái này cũng không phải là vấn đề lớn lắm.