kMiniRouter - Kết nối Wifi từ cổng LAN cho máy tính nhúng Orange Pi, Raspberry Pi,...

Nhận thấy có rất nhiều bạn khó khăn khi mới bắt đầu với Orange Pi hay Raspberry Pi. Trong đó, vấn đề kết nối vào mạng wifi là vấn đề thường xuyên gặp phải. Nhất là trong các dự án yêu cầu phải thay đổi wifi thường xuyên. Nhận thấy vấn đề này, mình đã viết nên open source kMiniRouter để giúp các bạn kết nối mạng dễ dàng qua Wifi từ chính cổng LAN của máy tính nhúng.

kMiniRouter có khả năng gì?

kMiniRouter sẽ giúp bạn biến Orange Pi hay Raspberry Pi trở thành một client để thu sóng Wifi dành cho các dự án IOT. Ban đầu, mình tính làm router mini để phát wifi cho các dự án. Nhưng nhu cầu các bạn không nhiều nên chuyến hướng làm client hehe.

kMiniRouter sẽ giúp các bạn làm gì?

  • Dễ dàng kết nối wifi bằng cách xây dựng giao diện lựa chọn mạng trên nền web.
  • Dễ dàng kết nối tới máy tính nhúng thông qua cổng LAN mà không cần bật tính năng chia sẻ Internet từ máy tính phức tạp.

kMiniRouter phù hợp với các dự án nào?

  • Sử dụng máy tính nhúng Orange Pi, Raspberry Pi thu sóng wifi.
  • Làm nhà thông minh (dễ dàng setup mạng).
  • Điều khiển robot (setup mạng bằng cổng LAN).

kMiniRouter hoạt động như thế nào?

Ban đầu, cả cổng LAN và Wifi (nếu có) của các máy tính nhúng (Orange Pi, Raspberry Pi) đều được cài đặt ở dạng Client. Nghĩa là, chúng ta phải kết nối chúng vào một Router, sau đó Router sẽ cấp phát một địa chỉ IP cho Client. Nếu Router có đường đi ra Internet (được gọi là Access Point) thì thiết bị của bạn sẽ được kết nối vào Internet.

Khi kMiniRouter được cài vào máy tính nhúng của bạn. Nó sẽ sử dụng cổng LAN (eth0) để làm một router cực kỳ nhỏ (1 cổng thôi) và cấp phát địa chỉ IP động (DHCP) trên cổng LAN này. Đồng thời tạo một webserver ở port 80 (nếu bạn có dịch vụ nào đang chạy trên port này thì có thể xem phần điều chỉnh thông số ở dưới) để người dùng có thể truy cập cho mục đích kết nối mạng.

Cài đặt kMiniRouter

Yêu cầu

  • Bất kỳ loại máy tính nhúng nào dùng nhân hệ điều hành Debian hay Ubuntu.
    • Ví dụ: Raspbian trên Raspberry Pi, Armbian trên Orange Pi,...
  • NodeJS 0.12 trở lên
  • Máy tính nhúng của bạn có một cổng LAN
    • Như loại Orange Pi Lite không có cổng LAN thì kiếm một cái USB to LAN gắn vào là ok nha các bạn.
  • Máy tính nhúng của bạn có card wifi (support card dạng ra và wlan)
    • Thường các usb wifi trên thị trường đều hỗ trợ hết, loại rẻ nhất Việt Nam mình cũng hỗ trợ luôn. Các hãng trên thị trường mình tes đều là ra hoăc wlan cả nên các bạn không cần phải lo, loại nào cũng được. Không được thì comment phía dưới mình support riêng, ahjhj đồ ngốk.

Cài đặt NodeJS

Nếu bạn đã cài NodeJS cho máy tính nhúng của bạn thì hãy bỏ qua bước này.

Cài đặt NodeJS 0.12

curl -sL https://deb.nodesource.com/setup_6.x | sudo bash -
sudo apt-get install -y nodejs

Cài đặt kMiniRouter

wget https://raw.githubusercontent.com/ngohuynhngockhanh/kMiniRouter/master/interfaces -O /etc/network/interfaces
git clone https://github.com/ngohuynhngockhanh/kMiniRouter

cd kMiniRouter
./setup.sh

init 6 #để khởi động lại 

Tinh chỉnh port

Nếu bạn đang có một dịch vụ mạng đang chạy trên port 80 thì bạn cần chỉnh sang port khác cho kMiniRouter. Để thực hiện, bạn mở file index.js và sửa dòng:

const SERVER_PORT = 80;
thành
const SERVER_PORT = 6969; //ví dụ mình dùng port 6969 thay thế cho 80

Sau đó khởi động lại lại để mọi thứ được cập nhập

init 6

Tận hưởng thành quả

Các bạn chỉ việc kiếm một cái dây LAN gắn giữa máy tính của bạn với máy tính nhúng và truy cập vào địa chỉ http://wifi.arduino.vn hoặc http://192.168.42.1 là ok.

Hướng dẫn sử dụng kMiniRouter

Bước 1: Gắn dây LAN kết nối máy tính và máy tính nhúng.

Bước 2: Truy cập vào địa chỉ http://wifi.arduino.vn hoặc http://192.168.42.1 để cài đặt mạng

Bước 3: Nhấn tìm mạng

Nó ra danh sách

Bước 4: Người dùng chọn 1 mạng mà người dùng biết thông tin! (nhấn nút Connect trên hình)

Bước 5: Sau đó nhập pass rồi chờ tầm 10 – 90s.

Bước 6: Kết quả sẽ là địa chỉ IP, máy tính nhúng đã vào mạng và có thể kết nối được.

Kết luận

Mình đã dùng cái này cho rất nhiều dự án, cứ dự án nào cần kết nối wifi từ máy tính nhúng là mình sài thôi haha. Các bạn sẽ rất thich đó, mọi người có sử dụng thì cho mình một sao trên github nhé. Mình rất vui nếu có bạn nào fork dự án mình và phát triển thêm. Hãy đi xa hơn nữa nhé.

lên
9 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ả

Giao tiếp giữa hai mạch Arduino bất kỳ

Giao tiếp giữa mạch Arduino là rất quan trọng, vì có nhiều dự án phức tạp và việc lập trình trên 1 Arduino là điều không thể. Hôm nay, mình sẽ hướng dẫn bạn cách giao tiếp giữa 2 mạch Arduino bất kỳ bằng việc sử dụng thư viện Serial Command.

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

Kết nối điều khiển từ xa sử dụng ESP8266 và Arduino với hệ thống firmware iNut Cảm biến CloudMQTT - 1000 firmware miễn phí

Chuyện kể rằng, có 02 sinh viên Việt Nam, trong lúc làm đồ án đại học kết nối điều khiển từ xa qua Internet. Một người thì chọn phương án truyền thống sử dụng máy tính làm máy chủ và demo các tính năng theo yêu cầu đồ án. Người còn lại biết đến iNut Sensor và tìm cách tối ưu hóa phần mềm và phần cứng nhằm chau chuốt cho đồ án của mình trở nên "xịn" và "nhiều tính năng bá đạo". Đến lúc bảo vệ đồ án, cậu sinh viên 01 cảm thấy choáng ván với muôn vàn vấn đề từ việc nơi trình bày đồ án không có wifi, mạng chập chờn, máy tính mở không lên, đứt cáp biển,... Cuối cùng cũng bảo vệ được với điểm số không ưng ý lắm dù tốn rất nhiều thời gian và công sức. Cậu còn lại nhờ vào việc chau chuốt phần mềm, tối ưu hóa và comment kĩ từng lệnh trong dòng code, viết báo cáo bài bản chuẩn bị slide như ý, dùng điện thoại cài wifi, quét mã QRcode để chia sẻ quyền truy cập đến phần mềm rất chuyên nghiệp, mọi thứ cậu chủ động hoàn toàn mà không bị các vấn đề "học tài thi phận" bủa vây mà kết quả hết sức mĩ mãn, điểm số mĩ miều, kiến thức IoT được chuẩn hóa. Thực vậy, các dự án, đồ án sử dụng nền tảng iNut Platform bên dưới cho phép các bạn sinh viên làm các dự án hết sức hoàn hảo: từ xe điều khiển, bãi giữ xe thông minh, hệ thống máy lạnh, máy bơm, điều hòa thông minh,... do chinh các bạn tự làm nên đã đạt được những điểm số tốt và tuyệt đối. Cũng chính vì thế, iNut JSC (công ty chủ quản của iNut Platform) đã kết hợp với Khu Công nghệ phần mềm - ĐHQGHCM để tổ chức những khóa đào tạo ngắn hạn cho sinh viên Việt Nam sử dụng nền tảng IoT do iNut JSC phát triển. Và để mở con đường tri thức tiếp cận IoT trong nháy mắt, iNut JSC đã tạo ra một phiên bản firmware trị giá 50.000 đồng sử dụng clouding của CloudMQTT và tài trợ 1000 firmware cho tất cả các bạn học sinh, sinh viên Việt Nam có thể tiếp cận IoT một cách dễ dàng và nhanh chóng nhất!

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