NDT gửi vào
- 45500 lượt xem
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
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é 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?
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.
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.
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 nhưng không thể phủ nhận sức mạnh của các "dòng chảy" mạng lại 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
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
- Orange Pi Lite
- Breadboard
- Điện trở 330 ôm
- Đèn Led
- Dây cắm
Đă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
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é
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é
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
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 ở 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é Cảm ơn bạn đã theo dõi!