Kết nối wifi cho Intel galileo bằng card wifi (cổng mini PCI) - LẬP TRÌNH ARDUINO

Banner quảng cáo

12/9/17

Kết nối wifi cho Intel galileo bằng card wifi (cổng mini PCI)

Giới thiệu

Với cổng mini PCI, chúng có thể làm rất nhiều thứ với Intel Galileo, có thể kể đến như kết nối wifi, gắn thêm card đồ họa để xuất màn hình,… Hôm nay, chúng ta sẽ tìm hiểu về cách kết nối wifi cho Intel Galileo thông qua cổng mini PCI này.

Bạn cần

  • Intel Galileo Gen 1 / 2
  • Full-sized mini PCI card wifi driver hoặc half-sized mini PCI card wifi driver (với một miếng đế half-sized). 
Full sized
Half sized

Tiến hành

Để dùng được card wifi, bạn cần cài hệ điều hành IOT Devkit tại bài viết [Intel Galileo] Cài đặt Linux Yocto (iot-devkit) lên Intel Galileo trước.
Sau đó, trong môi trường SSH, bạn chạy lệnh sau:
  1. $ lspci -k | grep -A 3 -i "network"
Nếu kết quả bạn nhận được có dạng dưới đây, thì con card wifi của bạn dùng được.
  1. 01:00.0 Network controller: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
  2. Subsystem: AzureWave AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card
  3. Kernel driver in use: ath9k
  4. Kernel modules: ath9k
Thường thì mã pci id của card wifi là 01:00.0. Trong danh sách driver wifi của IOT Devkit có rất nhiều dòng card wifi phổ biến. Nếu các bạn không nhận được driver card wifi của mình thì hãy bình luận ở dưới nhé (nhớ đảm bảo card wifi của bạn hoạt động tốt trong laptop nhé).
Trong Intel Galileo, hệ điều hành linux IOT Devkit hỗ trợ cho ta chương trình connman, chương trình này giúp chúng ta quản lý các kết nối wifi từ card wifi driver ở cổng mini PCI.
Bạn chạy các lệnh sau để tiến hành cài đặt kết nối wifi.
  1. $ connmanctl
  2. connmanctl> enable wifi
  3. Enabled wifi
  4. connmanctl> technologies
  5. /net/connman/technology/p2p
  6. Name = P2P
  7. Type = p2p
  8. Powered = True
  9. Connected = False
  10. Tethering = False
  11. /net/connman/technology/ethernet
  12. Name = Wired
  13. Type = ethernet
  14. Powered = True
  15. Connected = False
  16. Tethering = False
  17. /net/connman/technology/wifi
  18. Name = WiFi
  19. Type = wifi
  20. Powered = True
  21. Connected = True
  22. Tethering = False
  23. connmanctl> scan wifi
  24. Scan completed for wifi
  25. connmanctl> services
  26. *AO Wired ethernet_000000000000_cable
  27. <WiFi SSID1> wifi_<adapter MAC>_<hotspot 1 numeric SSID>_<type e.g. managed>_<encryption e.g. psk, or wep resp>
  28. <WiFi SSID2> wifi_<adapter MAC>_<hotspot 2 numeric SSID>_<type e.g. managed>_<encryption e.g. psk, or wep resp>
Chúng ta sẽ thiết đặt các câu lệnh sau để chỉnh chế độ auto connect vào mạng wifi và bật chế độ DHCP cho ipv4.
  1. connmanctl> config wifi_<MAC_a>_<MAC_h>_managed_psk --autoconnect yes --ipv4 dhcp
  2. Error wifi_<MAC_a>_<MAC_h>_managed_psk: Invalid service
  3. Service wifi_<MAC_a>_<MAC_h>_managed_psk Ethernet = [ Method=auto, Interface=wlp1s0, Address=<MAC>, MTU=1500 ]
  4. Service wifi_<MAC_a>_<MAC_h>_managed_psk IPv4.Configuration = [ Method=dhcp ]
Để kết nối với AP (access point  - bộ phát wifi) có đặt mật khẩu, thì ta làm thêm 2 câu lệnh sau:
  1. connmanctl> agent on
  2. Agent registered
  3. connmanctl> connect wifi_0cd2926de3ae_486f6d65574c414e_managed_psk
  4. Agent RequestInput wifi_0cd2926de3ae_486f6d65574c414e_managed_psk
  5. Passphrase = [ Type=psk, Requirement=mandatory ]
  6.  
  7. Connected wifi_0cd2926de3ae_486f6d65574c414e_managed_psk
  8. Passphrase? <passphrase goes here>
Ok, đến đây là bạn đã kết nối thành công đến mạng wifi nhà mình. Để kiểm tra IP, bạn gõ lệnh ifconfig và tìm tên mạng là wlp1s0 nhé.
Bây giờ bạn chỉ việc gỡ cổng LAN ra và kết nối bằng địa chỉ IP vừa nhận được thôi.

Không có nhận xét nào:

Đăng nhận xét

Post Bottom Ad

LIÊN HỆ VỚI LÝ ĐỂ ĐĂNG QUẢNG CÁO NHÉ