这个是在网上搜索的教程通过工具create_ap来进行操作。首先安装create_ap
运行 sudo git clone https://github.com/oblique/create_ap.git
运行 cd create_ap/
运行 sudo make install
安装依赖库运行:
sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq
修改/etc/dhcpcd.conf 文件
文件的最后面加入
interface eth0
static ip_address=192.168.0.10/24 (IP)
static routers=192.168.0.1 (网关)
static domain_name_servers=192.168.0.1 (DNS)
具体可以参考下面网址:
http://www.cnblogs.com/taojintianxia/p/6026225.html
运行:
sudo wget
https://pypi.python.org/packages/bc/ab/c49f97516f78c2b0cacb4f45873abc4ca9872942a9c4c19ded8052c8edda/python-wifi-0.6.1.tar.bz2
运行sudo tar xvjf python-wifi-0.6.1.tar.bz2
运行 cd python-wifi-0.6.1/
运行sudo python setup.py install安装
测试:
>>> from pythonwifi.iwlibs import Wireless
>>> wifi = Wireless('wlan0')
>>> wifi.getEssid()
'scream02'
>>> wifi.getMode()
'Managed'
执行命令 :sudo pip install wifi
参考:https://wifi.readthedocs.io/en/latest/
在使用这个编程的时候用cell = Cell.all('wlan0')对周围wifi进行扫描,经常出现wifi扫描不到,只能扫描到当前正在连接的wifi,后来用root权限运行的时候没有出现这个问题
这个是网上的一篇文章,内附下载地址
http://www.cnblogs.com/jkkkk/p/6386308.html
下载后解压,解压后需要做一些修改,如果从别的地方下载的话或许可以不用修改。文件/pywifi-msater/pywifi/iface.py需要将""""Get the name of the wifi interfacce."""这句话左边的引号去掉一个,不然程序无法正确运行。然后将文件夹拷贝到树莓派上
运行sudo python setup.py install安装
例程:
服务器端:
#!/usr/bin/env python
import socket
s=socket.socket()
host=socket.gethostname()
print host
port=12345
s.bind(("192.168.2.141",port)) (绑定地址和端口)
s.listen(5) (最大可连接数,一般为5,最少为1)
while True:
c,addr=s.accept() (阻塞的,一直在等待客户端)
print "client",addr
print c.recv(1024) (注意这里的句柄c ,这个是客户端的。)
客户端:
#!/usr/bin/env python
import socket
s = socket.socket()
port = 12345 (服务器的端口)
s.connect(("192.168.2.141", port))
s.send("1234567")
s.close()
详情参考:http://www.runoob.com/python/python-socket.html
关于端口的一些解释。端口是用来识别不同的服务的。在局域网中,各个主机可以通过端口来相互访问。端口是各个服务的入口。如下图所示,当客户端访问的时候,从外网看,其只能看到端口A1,A2,A3.。。。在路由器端,将计算机A,B,C上的服务器端口B1B2.....C1C2..D1D2..分别映射到了路由器的A1A2A3...上。例如B1和A1是映射关系,如果想通过外网访问服务端口B1,就只能去访问端口A1,因为在外网上智能看到B1的映射端口A1,看不到B1。
经过一天的测试研究,python-wifi 大部分函数都是对状态的获取,只适合wifi 的管理,不适合进行连接。而WIFI尝试进行连接不成功,每次进行连接后,wifi模块就会工作不正常。无法进行连接。最终决定用pywifi连接,wifi扫描
测试源码:https://github.com/IJustLoveMyself/Raspberry-Pi/blob/master/test3/wifi_test.py(需要网络调试助手配合)