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

Select any filter and click on Apply to see results

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

Shortcut03 - Điều khiển Servo từ xa thông qua Button - INPUT_PULLUP

Đây là loạt bài vắn tắt chia sẻ kinh nghiệm giúp các bạn có thể sử dụng các mudule cũng như tiếp cận code một cách ngắn gọn và dễ hiểu hơn smiley

Mục đích bài viết: Hướng dẫn điều khiển một Servo trong các dự án robot từ xa thông qua module NRF24 bằng Button (sử dụng INPUT_PULLUPcool

Bài này cho phép bạn thay đổi góc của 1 servo từ xa nhờ 2 button, nhấn giữ để tăng giảm góc một cách dễ dàng devil

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

Hướng dẫn sử dụng YOLO (You Only Look Once) - Nhận dạng hình ảnh vật thể với Raspberry Pi sử dụng YOLO

Hôm nay mình sẽ giới thiệu cho các bạn một cách nhận dạng hình ảnh mới nhất và đang hot hiện nay trên máy tính :)  đó chính là YOLO (You only look once) YOLO là một hệ thống phát hiện vật thể thời gian thực hiện đại nhất, bộ dữ liệu đa dạng cho phép chúng ta làm các dự án liên quan như: đếm số người trong một khu vực, nhận dạng đông vật nuôi, đếm số phương tiện giao thông...

 Ở bài này chúng ta sẽ chạy thử nghiệm nó trên Raspberry Pi cho các dự án nhận dạng ảnh đơn giản và không yêu cầu về mặt thời gian :) vì YOLO chủ yếu dùng cho các hệ thống máy tính mạnh, cấu hình cao . Hãy thử build nó lên Raspberry xem sao nhé ;)

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