Hướng Dẫn Test Gửi Từ iNut-Node-RED-IDE Đến MQTT Broker Trên Raspberry

Chào các bạn, ở bài trước mình đã hướng dẫn các bạn cách setup 1 MQTT-Broker trên con raspberry-Pi rồi, qua đó các bạn cũng đã nắm được các thao tác setup cơ bản cũng như cách sử dụng remote cho pi. Các bạn xem lại ở đây nha.

Ở bài viết này mình sẽ hướng dẫn các bạn cách gửi data từ iNut-Node-RED-IDE để xem nó hoạt động như thế nào nhé, mình sẽ chỉ các bạn cách setup và lấy thông số có sẵn để test luôn nha. Bắt tay vào làm thôi.

I. Chuẩn Bị

  • Raspberry-Pi (mình xài 3+)
  • Setup sẵn như bài trước tại đây.
  • Máy tính cài sẵn iNut-Node-RED-IDE. Các bạn có thể xem cách cài đặt tại link này: http://arduino.vn/cc
  • Nguồn ổn định cho raspbery-Pi

II. MQTT là gì

    MQTT (Message Queuing Telemetry Transport) là một giao thức gửi dữ liệu (Bằng chuỗi ký tự) thông qua hình thức Gửi - Đăng ký nhận dữ liệu về một Chủ đề nào đó.

Mô hình hoạt động của MQTT

    Trong đó:

  • Có 1 máy chủ (gọi là MQTT broker) và nhiều thiết bị kết nối vào máy chủ (gọi là MQTT client, gọi tắt là client) (Trong hình xanh lá là broker, xanh dương là client)

  • Client được chia làm 2 nhóm: Nhóm gửi dữ liệu gọi là publisher, hành động gửi dữ liệu gọi là publish và nhóm nhận dữ liệu gọi là subscriber, hành động đăng ký nhận dữ liệu từ broker gọi là subscribe (Trong ảnh, publisher là cảm biến nhiệt độ, còn điện thoại và máy tính là 2 subscriber).

  • Chủ đề hay topic chính là thứ giúp publishersubscriber nhận ra nhau để có thể gửi/nhận dữ liệu với nhau. Ví dụ Arduino gắn cảm biến ánh sáng gửi dữ liệu đến broker với topic “Độ sáng phòng khách” và app iNut cần biết độ sáng trong phòng khách nên sẽ đăng ký nhận dữ liệu từ topic “Độ sáng phòng khách” của broker.

  • Broker có chức năng là nhận dữ liệu từ các publisher, phân loại dữ liệu theo topic và phân phối dữ liệu đến các subscriber theo các topic đó.

    Để dễ hình dung, các bạn cứ tưởng tượng youtube là Broker, người làm video và người xem là Client. Giả sử kênh video là “Bà Tân Vlog”, thì “Bà Tân Vlog” chính là Topic, còn người làm video ví dụ bà Tân đóng vai trò là một Publisher. Còn người xem khi subscribe Topic “Bà Tân Vlog” và bật chuông thông báo thì họ đã trở thành một subscriber của Topic “Bà Tân Vlog”. Khi bà Tân đăng video mới lên youtube thì người xem đã đăng ký và nhấn chuông sẽ nhận được thông báo về video mới này. Tương ứng với việc Publisher đã Publish dữ liệu vào Topic “Bà Tân Vlog” trên Broker, khi đó Broker sẽ gửi dữ liệu đến tất cả các subscriber của Topic này.

    Ưu điểm của MQTT là khả năng được sử dụng trong mạng lưới không ổn định với băng thông thấp và độ tin cậy cao.

    Một số lưu ý:

  • Một client chỉ có thể là subscriber hoặc là publisher đối với một topic. Do đó khi một client vừa cần gửi dữ liệu vừa cần nhận dữ liệu từ một client khác thì nó phải tương tác với 2 topic khác nhau.
  • Cấu trúc của topic có thể gồm các trường topic cách nhau bởi dấu “/”, mục đích của các trường này là giúp phân nhóm dữ liệu dễ dàng hơn. Ví dụ: “phongkhach/nhietdo”, “phongkhach/anhsang”, “phongngu/nhietdo”, “phongngu/anhsang”,.....

iNut Node RED IDE và iNut Cảm Biến tại đây.

III. Gửi Dữ Liệu Từ iNut-Node-RED-IDE

Bước 1: Truy cập từ xa với từ máy tính vào Raspberry-Pi

Tiếp theo mình nhập username và password mình đã setup sẵn để truy cập vào, mình xài remote desktop connection để truy cập từ xa vào Pi, các bạn cứ lên google search sẽ ra rất nhiều cách truy cập từ xa cho Pi nha.

sau khi truy cập xong các bạn mở Terminal lên nhé.

Bước 2: khởi động broker

mosquitto_sub -d -u MOSQUITTO_USERNAME -P MOSQUITTO_PASSWORD -t dev/test

các bạn sửa lại username và password là password bạn đã setup ở bài trước nhé, nếu bạn nào chưa hiểu về password tại sao nó như vậy thì xem lại bài viết trước ở đây nhé.

enter và khởi động broker.

Bước 3: Khởi động iNut-Node-RED-IDE, các bạn mở winđow command prompt lên, bạn nào chưa biết về iNut-Node-RED-IDE thì đọc bài viết này nha :http://arduino.vn/cc

 

tiếp theo các bạn gõ lệnh để khởi động iNut-Node-RED-IDE

cd iNut-Node-RED-IDE

(sau đó enter, sau đó gõ tiếp lệnh dưới)

npm start

 

Tiếp theo là truy cập vào iNut-Node-RED-IDE theo địa chỉ mặc định của nó.

Mở trình duyệt lên và truy cập vào địa chỉ trên.

Bước 4: Setup các thông số trên các block trên iNut-Node-RED-IDE

đầu tiên mình sẽ kéo khối MQTT ra, các bạn nhớ là mình dùng khối OUTPUT nhé.

 

Mình click vào khối MQTT đó để setup nha.

Sau đó các bạn click vào cái icon hình cây bút, 

Truy cập vào, sau đó chọn phần connection và setup địa chỉ server, và Port của bạn. 

địa chỉ server này là địa chỉ của con Pi trong mạng nhà bạn, vì nó là local, ở đây mình phát wifi ra và cho con Rasp kết nối vào máy tính của mình, bên địa chỉ con Rasp như hình dưới, các bạn nhớ đó là địa chỉ trong mạng nội bộ của mình nhé.

Ở bên iNut-Node-RED-IDE các bạn tiếp tục vào mục Security, nhập username và password lúc nãy các bạn tạo và chọn update.

sau khi nhấn update, các bạn phải set 1 cái topic như hình phía dưới, QoS lấy theo broker bạn set ban đầu, cụ thể bạn xem lại hình phía dưới lúc bạn nhập lệnh

mosquitto_sub -d -u MOSQUITTO_USERNAME -P MOSQUITTO_PASSWORD -t dev/test 

sau khi bạn nhấp update, tiếp theo sẽ nhấn deploy, nếu thấy khối MQTT hiện trạng thái connected là chính xác nhé.

Terminal, các bạn kéo lên lại sẽ thấy 1 đoạn trong ngoặc là: (Mid: 1, topic: mqttt/test, QoS: 0); đây là những thông tin bạn phải lưu ý để điền vào chỗ trống phía trên lúc nãy đó, các bạn nhớ lưu ý chỗ này nhé, dễ sai lắm đó.

 

Tiếp theo, trên iNut-Node-RED-IDE các bạn kéo cục inject ra.

Bấm vào cục timestamps và setup như hình phía dưới, sau đó chọn Done.

sau đó kết nối các khối lại với nhau, sau đó deploy

Bước 5: Test thử thành quả, các bạn click vào phần dư ra của cục inject này

sẽ thấy noti hiện lên như thế này

Mở Terminal của con Pi nên để thấy kết quả

Nếu những bước làm trên còn làm khó bạn, đừng lo, hãy xem video này và thực hiện theo nha.

IV. Lời Kết.

Tuy các bước thực hiện khá dài nhưng đơn giản phải không nào, kết hợp bài trước và nài này lại các bạn đã thành công trong việc bắt đầu sử dụng MQTT Broker dưới dạng local rồi đó, từ đây các bạn có thể thoải mái sáng tạo dự án theo cách bạn, ở bài viết sau mình sẽ hướng dẫn các bạn kết nối thiết bị vô để làm một dự án demo về Internet Of Things nhé. Ở bài tiếp theo, mình sẽ hướng dẫn cách tự làm cho mình 1 cái webapp để điều khiển và theo dõi thay cho app iNut nhé (Hiểu nôm na webapp là cái web có giao diện và tương tác như app điện thoại, vì là web nên có thể dùng trên mọi nền tảng hehe). Tạm biệt, chúc các bạn thành công!

 

 

lên
4 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Tài Liệu Kỹ Thuật Bỏ Túi Để Xây Dựng – Vận Hành – Quản Lý Một Dự Án Internet Of Things Với iNut Platform

Kính chào quý vị và các bạn!

Lập trình Internet of Things được biết đến là một thứ vô cùng khó khăn và phức tạp. Nơi này, trước đây không phải dành cho tất cả mọi người. Nhưng, để đưa Việt Nam trở thành một cường quốc về công nghệ cao và đi tắt đón đầu nhờ cuộc cách mạng công nghệ 4.0 thì bài toán Internet of Things phải được giải quyết bằng chính trí tuệ của tất cả mọi người. Cuối cùng, để giải quyết được đồ thị Đa dụng và Dễ sử dụng, iNut Node-red IDE đã ra đời, giải pháp cung cấp một phương pháp sáng tạo, cho phép người dùng lập trình ứng dụng IoT bằng những khối lệnh kéo thả với những ví dụ ngay trong app. Ngay cả một học sinh tiểu học học STEM cũng có thể làm được. Hãy cùng khám phá nhé!

Mặc dù trên http://arduino.vn/ đã có rất nhiều bài viết về iNut nhưng chưa có một bài viết nào cụ thể dành cho các bạn newbie khi mới mua một bộ iNut cảm biến về thì phải làm như thế nào, bắt đầu từ đâu, các bước thực hiện như thế nào….? Bài viết này sẽ tổng hợp lại và hướng dẫn các bạn thực hiện setup từng bước một và demo 1 ví dụ cụ thể để các bạn có thể biết các iNut cảm biến vận hành thế nào nha. Ở mỗi mục mình sẽ trích dẫn link bài viết liên quan để các bạn tham khảo thêm, từ đó có cái nhìn tổng quát nhất khi mới bắt đầu sử dụng iNut cảm biến.

lên
7 thành viên đã đánh giá bài viết này hữu ích.

HƯỚNG DẪN SỬ DỤNG INUT CẢM BIẾN VỚI MODULE 2 RELAY, CẢM BIẾN NHIỆT ĐỘ DS18B20 VÀ ĐIỀU KHIỂN THÔNG QUA INTERNET

Làm cách nào để theo dõi nhiệt độ trong một không gian nhỏ ví dụ như nhà của bạn? làm cách nào để bạn có thể điều khiển các thiết bị trong nhà bật tắt theo ý muốn của bạn thông qua internet?

Inut cảm biến sẽ giúp bạn giải quyết vấn đề này. Hôm này tụi mình sẽ cùng bạn làm một dự án nhỏ là giám sát nhiệt độ và điều khiển đóng mở qua internet nha,bạn có thể tùy biến thêm,lần này mình dùng 2 cảm biến nhiệt độ DS18B20 và module 2 relay.

lên
8 thành viên đã đánh giá bài viết này hữu ích.