Một số hướng dẫn tôi thấy đã lỗi thời, nhưng câu trả lời sau có chứa một tập hợp các ghi chú tôi đã sử dụng để thiết lập kết nối không dây tại nhà, trường học (doanh nghiệp) và Ad-Hoc trên Raspberry Pi 3 của tôi.
Một số hướng dẫn tôi thấy đã lỗi thời, nhưng câu trả lời sau có chứa một tập hợp các ghi chú tôi đã sử dụng để thiết lập kết nối không dây tại nhà, trường học (doanh nghiệp) và Ad-Hoc trên Raspberry Pi 3 của tôi.
Câu trả lời:
Raspberry Pi 3 (nhân 4.14.30-v7 +)
Bài đăng này là một tập hợp các ghi chú và hướng dẫn tôi đã sử dụng để thiết lập kết nối không dây với Raspberry Pi.
Xin vui lòng cho tôi biết nếu bạn gặp bất kỳ vấn đề.
Raspbian hiện đang tìm trong phân vùng khởi động cho một vài tệp để cho phép thiết lập không đầu hoặc kết nối Raspberry Pi với mạng và thiết lập kết nối ssh từ máy bên ngoài mà không cần màn hình, màn hình hoặc chuột.
Sau khi bạn tải hệ điều hành Raspbian vào thẻ micro SD , Ubuntu command
:
unzip -p 2018-03-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress
Thêm hai tệp vào phân vùng khởi động trước khi di chuyển thẻ SD sang Pi.
Ví dụ "wpa_supplicant.conf" cho kết nối nhà:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="NETWORK_NAME"
psk="password"
}
Bây giờ địa chỉ IP của Pi là gì? Tìm kiếm địa chỉ MAC, tất cả RPi 3 đều có cùng một địa chỉ MAC. (Không hoạt động trên mạng doanh nghiệp, hãy hỏi quản trị viên về quyền riêng tư)
Ubuntu command
:
sudo nmap -sn 192.168.1.0/24 | grep -B 2 B8:27:EB
Tự động tắt trong khi khởi động ban đầu.
Kích hoạt với
sudo raspi-config
Sau đó chọn Interfacing Options
→ SSH
→Enable
sudo raspi-config
Chọn Network Options
→ Wi-fi
sau đó làm theo hướng dẫn trên màn hình.
Chỉnh sửa wpa_s repeatant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Thêm những điều sau:
network={
ssid="NETWORK_NAME"
psk="password"
}
Sau đó lưu tập tin
Đây là cách tôi kết nối với wifi trường đại học của tôi
Đầu tiên tạo mật khẩu băm và lưu vào tệp (giữ các dấu ngoặc đơn xung quanh mật khẩu của bạn):
echo -n 'YOUR_REAL_PASSWORD' | iconv -t utf16le | openssl md4 > hash.txt
Sau đó chỉnh sửa wpa_supplicant.conf
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Thêm những điều sau:
network={
ssid="NETWORK_NAME"
proto=RSN
key_mgmt=WPA-EAP
group=CCMP TKIP
identity="YOUR_USERNAME"
password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Để thêm mật khẩu băm:
ctrl
+ r
sau đó chèn tệp hash.txt
Xóa lịch sử bash của bạn
history -c
Xóa hàm hash.txt
rm hash.txt
Thêm cờ ưu tiên cho mỗi mạng trong wpa_supplicant.conf
ưu tiên mặc định = 0 (ưu tiên lớn nhất đi trước)
Ưu tiên wpa_supplicant.conf của tôi:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
priority=1
ssid="NETWORK_A"
psk="password"
}
network={
priority=2
ssid="NETWORK_B"
proto=RSN
key_mgmt=WPA-EAP
group=CCMP TKIP
identity="YOUR_USERNAME"
password=hash:5ac87xxxxxxxxxxxxxxxxxxetc
phase1="peaplabel=0"
phase2="auth=MSCHAPV2"
}
Có nhiều tùy chọn cấu hình hơn, chạy man wpa_supplicant.conf
cho thông tin.
Bạn muốn kết nối không dây với pi nhưng không có mạng không dây khả dụng. Sáng tạo của riêng bạn!
Raspberry Pi có thể được thiết lập để phát sóng mạng không dây. Mạng này cho phép bạn kết nối pi, nhưng sẽ không kết nối với internet.
Trên mỗi Rpi
Sao chép tập tin hiện tại để sao lưu
cp /etc/network/interfaces /etc/network/interfaces.old
Mở tệp để chỉnh sửa
sudo nano /etc/network/interfaces
Dòng duy nhất khác nhau trong tệp sau đây là address
mọi thứ khác phải giống hệt nhau. Và bạn có thể thay đổi tên mạng của mình hoặc thêm mật khẩu
Nối các mục sau vào Rpi A:
auto wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
wireless-channel 1
wireless-essid MYNETWORK
wireless-mode ad-hoc
Nối các Rpi B sau:
auto wlan0
iface wlan0 inet static
address 192.168.1.2 `
netmask 255.255.255.0
wireless-channel 1
wireless-essid MYNETWORK
wireless-mode ad-hoc
Lưu tệp và thoát khỏi trình chỉnh sửa
Nâng giao diện:
sudo ifup wlan0
Quét các mạng ad-hoc:
iwlist wlan0 scan
Bạn có thể thêm nhiều thiết bị vào mạng, bạn chỉ cần gán cho thiết bị một địa chỉ IP tĩnh mới khác.
Tần số / kênh hoạt động mặc định (2.412 GHz: kênh 1) thường xuyên bị tắc nghẽn. Hãy thử sử dụng một kênh khác trong trường hợp khó khăn.
Thay đổi wireless-channel
thành một số khác
Sử dụng sudo iwlist wlan0 scan
để tìm các kênh khác.
src: https://wiki.debian.org/WiFi/AdHoc
Phức tạp hơn nhưng sẽ kết nối với các mạng đã biết và tạo ad-hoc nếu không tìm thấy mạng nào.
Thực hiện theo hướng dẫn này (không có cầu nối ethernet, tôi đã sử dụng thành công này) http://www.raspberryconnect.com/network/item/331-raspberry-pi-auto-wifi-hotspot-switch-no-iNET-routing
hostname -I
Chạy cái này trên Pi, sau đó tôi kết nối từ địa chỉ IP thứ hai được liệt kê qua ssh pi @ [ipaddr] từ máy chủ Ubuntu của tôi.
Với cầu nối ethernet (tôi chưa thử nghiệm điều này, nhưng từ cùng một tinkerer như ↑) http://www.raspberryconnect.com/network/item/330-raspberry-pi-auto-wifi-hotspot-switch-iNET
Kết nối Ssh không thành công từ máy chủ đến Pi? chạy với đầu ra dài dòng:
ssh -vvvv pi@raspberrypi.local
Nếu các lệnh cuối cùng trước khi đóng là:
debug1: SSH2_MSG_KEXINIT sent
Connection closed by raspberrypi.local port 22
Hãy thử tạo lại các khóa máy chủ mà chúng có thể bị thiếu hoặc hỏng (thực hiện điều này trên Pi):
sudo rm /etc/ssh/ssh_host_*
sudo dpkg-reconfigure openssh-server
https://www.raspberrypi.org/forums/viewtopic.php?t=168310
man wpa_supplicant.conf
https://www.raspberrypi.org/forums/viewtopic.php?t=111100
https://www.doc.ic.ac.uk/~ajd/Robotics/RoboticsResource/wifi_setup.txt
nmap
, ví dụ sudo nmap -sn 192.168.10.0/24 | grep -B 2 B8:27:EB
cho hàng xóm.
bridging
. Xin lưu ý rằng bạn không thể thực sự kết nối wifi trên OSI lớp 2 với mức raspi vì giới hạn phần cứng / trình điều khiển.
Sử dụng chương trình dễ dàng này tôi tìm thấy trên Github: Rasp-Connect - Tập lệnh python dễ dàng để kết nối Raspbian với mạng Wifi bằng Python.
Đây là một tập lệnh Python dễ dàng cấu hình và thiết lập nó cho bạn, bạn chỉ cần chọn loại mã hóa và nhập SSID và mật khẩu. Nó hoạt động rất tốt và cũng hỗ trợ chạy công cụ qua SSH.