前言:

树莓派有多种联网的方式,通过有线网或者通过无线网。通过有线网连接是比较简单的,在开启dhcp的路由器下,直接插上网线就可以联网,本文介绍树莓派无线联网的方式。再没联网的情况下,如果没有屏幕等外设,通过串口连接是一种比较简单有效的方式。

扫描WIFI:

使用如下命令可以扫描附近的无线网:

  1. sudo iwlist wlan0 scan

扫描结果如下:

  1. wlan0 Scan completed :
  2. Cell - Address: F0:B4::1F::F1
  3. ESSID:"00H Studio"
  4. Protocol:IEEE .11bgn
  5. Mode:Master
  6. Frequency:2.422 GHz (Channel )
  7. Encryption key:on
  8. Bit Rates: Mb/s
  9. Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
  10. IE: IEEE .11i/WPA2 Version
  11. Group Cipher : CCMP
  12. Pairwise Ciphers () : CCMP
  13. Authentication Suites () : PSK
  14. Quality=/ Signal level=/
  15. Cell - Address: ::9C::3F:7C
  16. ESSID:"QLU-2.4G"
  17. Protocol:IEEE .11bgn
  18. Mode:Master
  19. Frequency:2.412 GHz (Channel )
  20. Encryption key:off
  21. Bit Rates: Mb/s
  22. Quality=/ Signal level=/
  23. Cell - Address: D6::3F:0B::D1
  24. ESSID:""
  25. Protocol:IEEE .11bgn
  26. Mode:Master
  27. Frequency:2.422 GHz (Channel )
  28. Encryption key:on
  29. Bit Rates: Mb/s
  30. Extra:rsn_ie=30140100000fac040100000fac040100000fac020c00
  31. IE: IEEE .11i/WPA2 Version
  32. Group Cipher : CCMP
  33. Pairwise Ciphers () : CCMP
  34. Authentication Suites () : PSK
  35. IE: Unknown: DD180050F204104A00011010440001021049000600372A000120
  36. Quality=/ Signal level=/

这里的“00H Studio”是无线网的名称。IEEE 802.11i/WPA2 Version 1是加密的方式。加密的类型是WPA2类型的。

添加有密码的WIFI网络

通过配置wpa_supplicant.conf可以设置要连接的无线网。

  1. sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

在文件末尾出添加一下代码,并替换掉ssid_name以及password即可。

  1. network={
  2. ssid="ssid_name"
  3. key_mgmt=WPA-PSK
  4. psk="password"
  5. }

通过

  1. ifconfig wlan0

可以查看IP地址是否分配成功

  1. wlan0 Link encap:Ethernet HWaddr e8:4e:::f8:f5
  2. inet addr:192.168.9.177 Bcast:192.168.9.255 Mask:255.255.255.0
  3. inet6 addr: fdf5:a28:b70c:::52db:d822:14bd/ Scope:Global
  4. inet6 addr: fdf5:a28:b70c::6c5/ Scope:Global
  5. inet6 addr: fe80::ea4e:6ff:fe34:f8f5/ Scope:Link
  6. inet6 addr: fdf5:a28:b70c::ea4e:6ff:fe34:f8f5/ Scope:Global
  7. UP BROADCAST RUNNING MULTICAST MTU: Metric:
  8. RX packets: errors: dropped: overruns: frame:
  9. TX packets: errors: dropped: overruns: carrier:
  10. collisions: txqueuelen:
  11. RX bytes: (139.8 MiB) TX bytes: (2.9 GiB)

连接隐藏网络

如果要连接的是隐藏的网络,需要在配置文件中添加scan_ssid连接。需要添加的内容如下:

  1. network={
  2. ssid="yourHiddenSSID"
  3. scan_ssid=
  4. psk="Your_wifi_password"
  5. }

添加多个无线网络配置

  1. network={
  2. ssid="SchoolNetworkSSID"
  3. psk="passwordSchool"
  4. id_str="school"
  5. }
  6.  
  7. network={
  8. ssid="HomeNetworkSSID"
  9. psk="passwordHome"
  10. id_str="home"
  11. }

如果您有两个网络的范围,可以添加优先级选项来在它们之间进行选择。具有最高优先级的范围内的网络将是连接的网络。

  1. network={
  2. ssid="HomeOneSSID"
  3. psk="passwordOne"
  4. priority=
  5. id_str="homeOne"
  6. }
  7.  
  8. network={
  9. ssid="HomeTwoSSID"
  10. psk="passwordTwo"
  11. priority=
  12. id_str="homeTwo"
  13. }

添加没有密码的WIFI网络

添加没有密码的WIFI网络需要注意将key_mgmt设置为NONE

  1. network={
  2. ssid="ssid_name"
  3. key_mgmt=NONE
  4. }

IP的设置

  1. auto wlan0
  2. iface wlan0 inet static
  3. address 192.168.0.1
  4. netmask 255.255.255.0
  5.   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

错误的调试

如果出现连接不成功的情况,有很大的可能是由于配置文件配置错误的原因。

  1. sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0

通过wpa_supplicant的直接连接,如果配置文件出现问题,则会直接提示配置文件的错误详情。

如果出现一下结果,则一般代表配置文件没有问题

  1. Successfully initialized wpa_supplicant
  2. nl80211: Driver does not support authentication/association or connect commands
  3. wlan0: Failed to initialize driver interface

树莓派Raspberry命令行配置无线网络连接的更多相关文章

  1. mac命令行配置网络

    mac命令行配置网络今天终于找到了Mac OS X通过命令行修改ip的方式了,记录如下: 修改mac地址,重启后失效sudo ifconfig en0 lladdr d0:67:e5:2e:07:f1 ...

  2. centos6.5 命令行配置无线上网

    1.驱动下载地址: RTL8188无线网卡驱动下载 链接:https://pan.baidu.com/s/1ms-EbQCDxa76jPhYUPmr9Q 密码:r2vu 2.安装步骤: [root@c ...

  3. centos6.5配置无线网络

    由于安装的是服务器版,所以开机无法连接网络,以下这些情况都是针对驱动已经安装OK.按步骤操作如下(以下操作默认都是在超级管理员权限下进行): 1.测试电脑是否安装wpa_supplicant,测试方法 ...

  4. Virtualbox让kali虚拟机共享主机的无线网络连接

    今天在测试虚拟机下安装kali系统时,遇到一个问题,默认安装完kali系统后,虚拟机不能上网.虚拟机网络配置使用的是默认的网络地址转换(NAT)选项. 网上查了很多,都说使用NAT模式时虚拟机不用做任 ...

  5. 树莓派 Learning 002 必备的操作 --- 08 实现PC端 远程登入 树莓派 --- 法1 远程登入树莓派的命令行状态

    树莓派 必备的操作 - 实现PC端 远程登入 树莓派 - 法1 远程登入树莓派的命令行状态 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 ...

  6. 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

    命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来,我 ...

  7. 菜鸟入门【ASP.NET Core】5:命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options

      命令行配置 我们通过vs2017创建一个控制台项目CommandLineSample 可以看到现在项目以来的是dotnet core framework 我们需要吧asp.net core引用进来 ...

  8. 从命令行配置 Windows 防火墙

    从命令行配置 Windows 防火墙 高级用户可以使用命令行来配置 Windows 防火墙.您可以使用 netsh 命令行工具来进行配置. 下表中的 netsh 命令可用于 Microsoft Win ...

  9. Spring Boot 配置文件和命令行配置

    Spring Boot 属于约定大于配置,就是说 Spring Boot 推荐不做配置,很多都是默认配置,但如果想要配置系统,使得软件符合业务定义,Spring Boot 可以通过多种方式进行配置. ...

随机推荐

  1. js:获取节点相关的 nodeName,nodeType,nodeValue

    getElementById() getElementsByName() getElementsByTagName() hasChildNodes() nodeName nodeType=1元素节点/ ...

  2. [转]一千行MySQL学习笔记

    Shocker /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL ...

  3. 【LeetCode】64. Minimum Path Sum

    Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...

  4. automake安装出错

    automake命令出错 configure.ac:64: error: possibly undefined macro: AM_ICONV    If this token and others ...

  5. vi 删除全部内容

    非插入模式下删除所有内容 a.光标移到第一行,然后按10000后然后点dd b.光标移到第一行,按下dG   命令输入模式下删除所有内容 a.输入命令.,$d,回车 b.输入命令1,999dd,回车

  6. iOS - CFNetwork 的使用

    1.CFNetwork CFNetwork 是基于 OS 层 BSDSocket 封装(纯 C),用于网络通信,早期的网络请求框架 ASIHTTPRequest 就是基于 CFNetwork 进行的封 ...

  7. Accounting_会计电算化工作指南

    会计电算化工作指南 会计电算化实施的内容目标及原则 企业会计电算化的实施,也就是企业建立会计电算化的整个过程,是一项复杂的系统工程.在整个系统的实施过程中,包括会计电算化工作的规划,会计信息的建立与管 ...

  8. Linux中断 - 驱动申请中断API

    一.前言 本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threa ...

  9. I/O复用 - 各种不同的IO模型

    一.概述 我们看到上面的TCP客户同时处理两个输入:标准输入和TCP套接字.我们遇到的问题就是在客户阻塞于(标准输入上的)fgets调用期间,服务器进程会被杀死.服务器TCP虽然正确地给客户TCP发送 ...

  10. 深入浅出Node.js--数据通讯,NET模块运行机制

    互联网的运作,最根本的驱动就是信息的交互,NodeJS 在数据交互这一块做的很带感,异步编程让人很惬意,关于 NodeJS 的数据通信,最基础的两个模块是 NET 和 HTTP,前者是基于 TCP 的 ...