Hướng dẫn cài đặt và sử dụng từ A-Z cho Orange Pi Lite - Cài Wiring OP + NodeJS và tiếp cận công cụ Node-RED cho dự án Iot

Mô tả dự án: 

Mục đích: Đây là loạt bài viết A-Z hướng dẫn các bạn cài đặt và sử dụng Orange Pi Lite để phát triển dự án Iot. 

Chủ đề: Hướng dẫn cài Wiring OP + NodeJS và tiếp cận công cụ Node-RED trên Orange Pi Lite, thử nghiệm một ví dụ cơ bản trên các chân GPIOs bằng cách kéo thả cực thú vị của Node-RED wink

Cài Wiring OP và NodeJS

Sau khi đăng nhập vào Orange Pi Lite các bạn tiến hành nhập các lệnh sau để cài Wiring OP và NodeJS nhé cool thường công đoạn này mất khoảng 15 phút

apt-get update && apt-get upgrade
git clone https://github.com/zhaolei/WiringOP.git -b h3
cd WiringOP
chmod +x ./build
sudo ./build
# Cài đặt Node.js v0.12 nè 
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

Cài đặt thư viện Node-RED

Vậy Node-RED là gì? và nó có ứng dụng như thế nào đối với việc phát triển các dự án Iot trên Orange Pi Lite? angel

 

Node - RED là một công cụ mã nguồn mở mạnh mẽ để xây dựng Internet of Things ( IOT ). Ứng dụng với mục tiêu đơn giản hóa các thành phần lập trình. cool

Nó sử dụng một lập trình trực quan cho phép bạn kết nối các khối mã , được gọi là các nút với nhau để thực hiện một nhiệm vụ. Các nút khi nối với nhau được gọi là dòng chảy.devil

Việc sử dụng Node-RED là một cách thức mới để "code" một chương trình với cách tiếp cận đơn giản là "kéo-thả", nếu bạn nào đã từng sử dụng App Inventor cũng tương tự, đây được xem là một xu hướng cho việc lập trình các dự án Iot trong tương lai. Vì sao? Vì nó cực kì dễ dàng, hiệu quả lại giảm tối đa thời gian xây dựng một dự án cho các bạn. Mình không nói nó hơn cách code truyền thống cheeky nhưng không thể phủ nhận sức mạnh của các "dòng chảy" mạng lại heart cụ thể hơn các cho các bạn về sức mạnh của Node-RED có thể làm được gì nhé:

  • Truy cập đến các GPIOs Orange Pi của bạn.
  • Thiết lập một kết nối với board khác (Arduino, ESP8266, vv) MQTT.
  • Tạo một giao diện người dùng đồ họa đáp ứng cho các dự án của bạn.
  • Giao tiếp với các dịch vụ của bên thứ ba (IFTTT.com, Adafruit.io, Thing Speak, Vv).
  • Lấy dữ liệu từ các trang web (dự báo thời tiết, giá cổ phiếu, email. Vv).
  • Tạo thời gian kích hoạt các sự kiện.
  • Lưu trữ và lấy dữ liệu từ cơ sở dữ liệu.

Okey, Les't Go! Tiến hành cài thư viện Node-Red cho Orange Pi Lite nào, tiến hành chạy các lệnh sau angel

npm install -g node-red
#thư viện serial port
npm install -g node-pre-gyp
npm install -g npm@3.x

#install node-red
cd /usr/lib/node_modules/node-red
npm install node-red-node-serialport@0.0.5 
cd /usr/lib/node_modules/node-red/node_modules/node-red-node-serialport  
#fix serialport
npm install serialport@1.7.4
cd /usr/lib/node_modules/node-red
#fix gpio
npm install node-red-contrib-gpio
sudo npm install -g johnny-five
cd /usr/lib/node_modules/johnny-five
npm install serialport
npm install -g npm@2.x

cd /usr/lib && npm install raspi-i2c
chmod 0777 /usr/lib/node_modules

 

Okey tới phầ này nó sẽ yêu cầu bạn đăn nhập vào tài khoản thứ cấp, chính là tài khoản bạn tạo lúc cài Armbian

​    

  su <vào tên tài khoản user thứ cấp> (ví dụ: su ndt)

 

cd /
npm install -g raspi-io
exit
wget https://raw.githubusercontent.com/ngohuynhngockhanh/kLaserCutterOrangePI/master/node_modules/raspi-io/node_modules/raspi-board/lib/index.js -O /usr/lib/node_modules/raspi-io/node_modules/raspi-board/lib/index.js
wget https://raw.githubusercontent.com/ngohuynhngockhanh/kLaserCutterOrangePI/master/node_modules/raspi-io/node_modules/raspi-led/lib/index.js -O /usr/lib/node_modules/raspi-io/node_modules/raspi-led/lib/index.js
wget https://raw.githubusercontent.com/ngohuynhngockhanh/kLaserCutterOrangePI/master/node_modules/raspi-io/node_modules/raspi-serial/lib/index.js -O /usr/lib/node_modules/raspi-io/node_modules/raspi-serial/lib/index.js

Thử nghiệm một ví dụ với Node-RED

Sau khi cài đặt xong Node-RED, bạn tiến hành chạy lệnh sau để tạo cổng giao tiếp trên trình duyệt web

node-red

Để ngắt kết nối

killall node-red

Tiếp theo bạn có thể kiểm tra các cài đặt bằng cách nhập địa chỉ IP của Orange Pi trong một trình duyệt web tiếp theo là số cổng 1880:

Ví dụ Orange Pi Lite của mình có địa chỉ IP: 192.168.0.100 thì chỉ cần nhập vào địa chỉ.

Okey sau khi đăng nhập vào Node-RED sẽ có giao diện như sau: 

Các chỉ mục chính trên giao diện Node-RED các bạn sẽ thấy

Những mục cụ thể ở các bài sau chúng ta sẽ vọc nát hết :) bây giờ ta thử test một ví dụ cơ bản trên chân GPIOs của Orange Pi Lite nhé , các bạn chuẩn bị các công cụ lặt vặt sau wink

Đăng nhập vào lại và chạy lệnh sau để xem tất cả các chân trên Orange Pi Lite:

gpio readall

Kết nối như hình sau để tiến hành chơi chân GPIOs 25 cool

Okey, ta tiến hành vào lại giao diện Node-RED trên trình duyệt các bạn tiến hành kéo thả các Nodes theo hình bên dưới hoặc xem video nhé cool

Bước 1: Click chuột vào inject và kéo thả vào màn hành Flow 1, chúng ta kéo 2 lần nhé để có thể gửi 2 lệnh riêng biêt bật/tắt chân GPIOs.

Bước 2: Click đúp chuột vào inject,  ở Payload chọn number tiến hành nhập vào số 1 cho inject thứ nhất, nhập 0 cho inject thứ hai để gửi lệnh đi , Topic các bạn đặt một tên bất kì cho chủ đề của node -> kết thúc Done

Bước 3: Kéo thả một GPIOs (ở mục OUTPUT) vào Flow, click đấp chuột ta sẽ thấy một tab edit gpio out node.

Bước 4: Ở Board chọn vào kí hiệu câu bút để edit, tiến hành chọn board là Raspberry Pi (Orange Pi cũng chọn board này), bên dưới là Name các bạn đặt tên tùy thích là được, Done để kết thúc.

Bước 5: Sau khi chọn Board xong ở mục Type các bạn Digital (0/1), ở Pin các bạn đánh chân GPIOs mà bạn đã kết nối với Led (dùng lệnh gpio readall để xem các chân như đã nêu ở trên) mình sẽ điền vào là 25, Name thì bạn đặt tên gì cũng được. Done để hoàn thành.

Bước 6: Các bạn dùng chuột tạo các kết nối dòng chảy giữa các node như hình và chọn vào Deploy để triển khai nhé devil

Bước 7: Tiến hành click vào phần đầu mỗi inject để gửi lệnh và kết quả là đèn đã bật/tắt đèn laugh

Bước 8: Để kết thúc trình Node-RED các bạn tổ hợp ctrl + z để về chế độ command và nhập lệnh:

killall node-red

Okey vậy là chúng ta đã hoàn thành việc cài đặt Wiring OP + NodeJS + Node-RED và tiến hành chơi thử 1 ví dụ đơn giản là bật/tắt led trên chân GPIOs của Orange Pi Lite cool ở các bài viết sau chúng ta sẽ tiến hành xây dựng một mô hình nhà thông minh (Home Automation System) với chi phí cực thấp 100$ nhé angel Cảm ơn bạn đã theo dõi!

 

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

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Hướng dẫn cài đặt và sử dụng từ A-Z cho Orange Pi Lite - Cài Armbian và kết nối wifi lần đầu

Mục đích: Đây là loạt bài viết A-Z hướng dẫn các bạn cài đặt và sử dụng Orange Pi Lite để phát triển dự án Iot. 

Chủ đề: Hướng dẫn cài hệ điều hành Armbian và thiết đặt mạng wifi lần đầu cho Orange Pi Lite. Les't Go wink

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

Chữa bệnh cho Arduino Nano khi bị cháy

Chắc hẳn các bạn khi làm các dự án với Ardunio đã từng sử dụng qua các board như Arduino Uno, Mega, Pro Mini hay Nano, các bạn thích một board mạch nhỏ gọn phù hợp thường chọn Ardunio Nano hơn vì nó tích hợp rất nhiều và vô cùng tiện lợi như con Uno R3. Nhưng một số vấn đề gặp phải ở board này là nó thường rất dễ bị cháy khi bị đoản mạch vì không có khả năng tự ngắt nguồn như Uno hay Pro Mini, bạn chỉ cắm nhầm dây một cái là nó sẽ về trời :) Đó là lý do tại sao nhiều bạn lại sợ và không còn giám sử dụng board mạch này.
Hôm nay mình sẽ hướng dẫn các bạn cách "chữa bệnh" cho Arduino Nano khi không may bạn làm nó hỏng do nguồn :) bắt đầu thôi nào

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