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ả

Shortcut01 – Truyền thông số giữa hai module RF 315Mhz

Đâ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 cách truyền các truyền và nhận giá trị từ cảm biến hoặc một biến số thay đổi giữa hai mạch 315Mhz (433Mhz) cool

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

Làm dự án xe với module điều khiển động cơ L293D

Chắc hẵn từ lúc mới đầu nghiên cứu Arduino đến nay bạn đã từng có suy nghĩ muốn làm một dự án nho nhỏ nào đó để thỏa lòng đam mê hay tò mò của mình và dự án được đa số bạn thích thú hướng đến có lẽ là xe, xe điều khiển, xe dò đường... hay là một dự án to bự như kBot của admin Ngô Huỳnh Ngọc Khánh (ksp) ^^. Vậy làm thế nào để có thể điều khiển được các bánh xe, servo, động cơ bước cho "chiến xa" trong khi board arduino chỉ cho phép bạn xuất các tín hiệu điện HIGH, LOW! Ở bài này mình xin giới thiệu đến các bạn một công cụ cực chất đó là shield điều khiển động cơ l293d, giúp bạn dễ dàng trong việc xử lý các thao tác điều khiển độc lập các motor của mình, nào ta bắt đầu thôi :)   

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