Clover gửi vào
- 9544 lượt xem
Xin chào các bạn, bài viết trước đây nhóm Clover đã hướng dẫn các bạn lập trình kéo thả với các thiết bị cơ bản sử dụng phần mềm CloverBlock. Nhân dịp iNut cung cấp 1000 firmware miễn phí đến mọi người, nhóm Clover xin hướng dẫn các bạn sử dụng iNut và CloverBlock để có thể nhanh chóng xây dựng các ứng dụng IoT. Với sự kết hợp của iNut và Clover, chúng ta sẽ được tiếp cận IoT hoàn toàn bằng 100% lập trình kéo thả. Series này sẽ gồm 2 bài viết chính:
- Hướng dẫn gửi dữ liệu từ thiết bị lên server sử dụng iNut và Clover.
- Hướng dẫn điều khiển thiết bị sử dụng server Node-RED kết hợp iNut và Clover.
Bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách gửi dữ liệu cảm biến từ thiết bị lên server để giám sát bằng điện thoại.
Chuẩn bị phần cứng.
Clover Alpha Board
Về cách sử dụng CloverBoard và phần mềm CloverBlock các bạn có thể tham khảo tại bài viết trước của Clover: Hướng dẫn lập trình kéo thả các thiết bị cơ bản với CloverBlock
Node-MCU đã được nạp firmware iNut
Hướng dẫn nạp firmware iNut vào KIT NodeMCU được iNut hướng dẫn chi tiết tại bài viết sau: Hướng dẫn kích hoạt ESP8266 sử dụng firmware của iNut Platform
Cable kết nối Clover và iNut
Cable Clover được thiết kế để hạn chế sự phức tạp về kết nối phần cứng theo chuẩn kết nối RJ11-6P. Do NodeMCU không tuân theo chuẩn này nên chúng ta cần có một chút hiệu chỉnh. Chúng ta cần tách cable của Clover thành Cable có một đầu là chuẩn RJ11-6P và 1 đầu là các jump cái. Kết quả sau một hồi vọc vạch như sau:
Cảm biến Nhiệt độ và Độ ẩm của Clover
Cảm biến nhiệt độ, độ ẩm của Clover đã được thiết kế tích hợp lên Board mạch và đầu ra tương thích với chuẩn RJ11-6P để kết nối với CloverBoard.
Phần cứng hoàn thiện
Sau khi đã chuẩn bị đầy đủ các dụng cụ chúng ta tiến hành kết nối các phần cứng lại với nhau theo các bước sau:
- Kết nối iNut với CloverBoard
iNut hỗ trợ giao tiếp với Board điều khiển trung tâm qua giao tiếp I2C. Với CloverBoard, giao tiếp I2C được thiết kế ở cổng số 3. Kết nối chi tiết theo các chân từ cable Clover đến NodeMCU chi tiết nằm ở bảng sau:
Sau khi tiến hành kết nối NodeMCU và Cable Clover chúng ta có kết quả như sau:
Sau đó kết nối phía còn lại của cable vào KIT Clover tại cổng số 3 của CloverBoard.
- Kết nối cảm biến nhiệt độ, độ ẩm với CloverBoard
Cảm biến nhiệt độ, độ ẩm của Clover được đánh dấu bằng màu vàng nghĩa là chúng ta có thể kết nối đến các cổng trên CloverBoard có màu vàng trên cổng. Như vậy, trừ cổng 3 đã được sử dụng để kết nối đến iNut chúng ta có thể sử dụng các cổng 1,2 hoặc 4 vì 3 cổng này đều được đánh dấu màu vàng. Ở đây, chúng ta chọn ngẫu nhiên và sử dụng cổng số 1 để kết nối với CloverBoard.
Sau khi hoàn thành các kết nối chúng ta có kết quả như sau:
Lập trình bằng kéo thả.
Tập các block của iNut được tích hợp trên CloverBlock có giao diện như sau:
Trong đó các block được mô tả chi tiết như sau:
Với các block đã có chúng ta xây dựng chương trình cập nhật dữ liệu lên server sử dụng iNut và Clover như sau:
Chương trình thực hiện định kỳ mỗi 10.000ms (10 giây) thì gửi dữ liệu nhiệt độ, độ ẩm từ cảm biến đọc ở cổng 1 và gửi lên server của iNut. Để thay đổi thời gian cập nhật dữ liệu lên server chúng ta chỉ cần thay đổi số ở mục định kỳ thực hiện.
Trước khi tiến hành nạp chương trình vào CloverBoard chúng ta cần kiểm tra lại kết nối đã thực hiện đúng chưa. Để kiểm tra lại kết nối phần cứng chúng ta có thể xem gợi ý kết nối tại mục “Arduino Source Code Area”:
Phần mềm gợi ý rằng chúng ta cần kết nối cảm biến nhiệt độ, độ ẩm vào cổng số 1 và iNut vào cổng số 3 đúng như phần cứng chúng ta đã kết nối ở trên. Với các dự án khác chúng ta có thể tận dụng tính năng này để đảm bảo hạn chế các sai xót về kết nối phần cứng.
Sau đó chúng ta tiến hành nạp chương trình vào vào KIT CloverBoard. Hướng dẫn nạp chi tiết có thể được tham khảo tại đây.
Cài đặt phần mềm Mobile và kết nối với thiết bị.
Sau khi nạp xong phần mềm chúng ta tiếp tục tiến hành cấu hình iNut để kết nối iNut với phần mềm trên điện thoại. Hướng dẫn chi tiết kết nối iNut với Wifi và với phần mềm điện thoại các bạn có thể tham khảo hướng dẫn sau:
[iNut]Cài đặt iNut vào mạng wifi trong nhà
Như vậy chúng ta đã hoàn tất quá trình chuẩn bị. Và bây giờ đã đến lúc chúng ta chiêm ngưỡng thành quả nào.
Thử nghiệm.
Tiến hành sử dụng phần mềm iNut trên điện thoại di động để quan sát dữ liệu đọc được cảm biến qua internet. Kết quả cho thấy dữ liệu từ cảm biến đã được đọc và gửi lên điện thoại thành công. Chúng ta có thể thử nghiệm tắt wifi và thử bằng 3G/4G để chứng minh khả năng giám sát từ mọi nơi sử dụng iNut. Các bạn cùng xem video thành quả nhé.
[iNut-Clover] Giám sát nhiệt độ và độ ẩm bằng điện thoại qua Internet
Chúng ta có thể thấy nhiệt độ được thay đổi ngay khi chúng ta nạp chương trình thành công để gửi dữ liệu lên server (Giây thứ 15) và khi có sự tác động nhiệt của máy sấy (Giây thứ 46 và giây thứ 60). Ở chương trình này chúng ta đang cài đặt chu kỳ cập nhật là 10 giây nên khi đưa máy sấy vào để thay đổi nhiệt độ thì thấy có sự thay đổi rất nhanh về nhiệt độ và độ ẩm. Nhưng trong điều kiện thực tế quá trình thay đổi nhiệt độ môi trường không quá nhanh nên chúng ta có thể sử dụng chu kỳ cập nhật thông số lớn hơn.
Tổng kết.
- Như vậy, với việc kết hợp sử dụng iNut và Clover chúng ta đã nhanh chóng đưa được dữ liệu từ thiết bị lên server và đến người dùng thông qua phần mềm iNut có giao diện rất đẹp và bắt mắt.
- Các thao tác lập trình để xây dựng chương trình điều khiển là 100% kéo thả. Với iNut và Clover, người không chuyên về lập trình cũng có thể tiếp cận Internet of Things một cách dễ dàng.
- Ngoài sử dụng cảm biến nhiệt độ, độ ẩm chúng ta hoàn toàn có thể thay thế bằng các loại cảm biến khác như: Cảm biến ánh sáng, cảm biến khí gas, cảm biến khoảng cách… tùy theo yêu cầu của người sử dụng. iNut có thể hỗ trợ tối đa đến 8 luồng cảm biến vì vậy chúng ta có thể xây dựng chương trình đo và truyền tải dữ liệu của 8 luồng cảm biến khác nhau rất tiện dụng.
- Ở bài này chúng ta đã đưa được dữ liệu từ thiết bị đến người dùng và ở bài kế tiếp chúng tôi sẽ tiếp tục hướng dẫn các bạn lập trình để điều khiển thiết bị thông qua Internet bằng iNut-Clover và bằng lập trình kéo thả 100%.
Mong nhận được sự đón đọc và ý kiến đóng góp của bạn đọc.