树莓派上可玩转各种模块,本文章讲解树莓派如何用3G模块实现上网功能。
一、硬件准备
1.树莓派(2代3代)
2.3G模块本(本人用华为e620模块)
3.一张可连接网络的SIM卡(电信联通移动均可)
4.如果你通过电脑串口连接树莓派,需要串口转usb工具
二、软件准备
1.将3G模块插入树莓派,树莓派会自动识别安装。
2.输入 lsusb命令,看3G模块是否安装成功。发现Bus 001 Device 004,安装成功。
pi@raspberrypi:/$ lsusb
Bus 001 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3.
#在linux上,3G网卡上电会被检测为storge设备,而要用它拨号上网,就需要把网卡从storge设备转为modem设备。linux下有个软件叫usb_modeswitch,通过这个软件将网卡从storge转化为modem,这是需要安装的第1个软件。
#为了简化pppd的拨号流程(传统方式要编写好几个脚本,调用几次pppd的命令),需要一个wvdial的软件,它将pppd的拨号流程简化为一个配置脚本,写好脚本,运行wvdial,它会先完成和modem的AT命令交互,待交互完成后,再调用pppd,完成拨号上网。这是需要安装的第2个软件(里面自行安装好了pppd)。所以我们不需要再次安装pppd。
注:安装此处两个软件时,如果出现问题,就将可上网的网线插在树莓派上,重新安装。
sudo apt-get install usb-modeswitch usb-modeswitch-data
sudo apt-get install wvdial
4.基本设置完成,继续配置usb-modeswitch的配置文件。
在/usr/share/usb_modeswitch/路径下有一个configPack.tar.gz的压缩包,解压它。
sudo tar -xzvf /usr/share/usb_modeswitch/configPack.tar.gz #解压
cd /usr/share/usb_modeswitch/ #转到本目录下
ls -al #打印本目录下所有的文件,会出现以下文件。
03f0:002a 0af0:d057 198a:0003
0408:f000 0af0:d058 198f:bccd
0421:060c 0af0:d155 19d2:0003
0421:0610 0af0:d157 19d2:0013
0421:061d 0af0:d255 19d2:0026
0421:0622 0af0:d257 19d2:0031
0421:0627 0af0:d357 19d2:0040
0421:062c 0b3c:c700 19d2:0053
0421:0632 0b3c:f000 19d2:0083
0421:0637 0cf3:20ff 19d2:0083:uPr=WCDMA
0471:1210:uMa=Philips 0d46:45a1 19d2:0101
0471:1210:uMa=Wisue 0d46:45a5 19d2:0103
0471:1237 0df7:0800 19d2:0110
0482:024d 0e8d:0002:uPr=MT 19d2:0115
04bb:bccd 0e8d:7109 19d2:0120
04e8:680c 0fce:d0cf 19d2:0146
04e8:689a 0fce:d0e1 19d2:0149
04e8:f000:sMo=U209 0fce:d103 19d2:0154
057c:84ff 0fd1:1000 19d2:0166
05c6:1000:sVe=GT 1004:1000 19d2:0169
05c6:1000:sVe=Option 1004:607f 19d2:0325
05c6:1000:uMa=AnyDATA 1004:613a 19d2:1001
05c6:1000:uMa=CELOT 1004:613f 19d2:1007
05c6:1000:uMa=DGT 1004:614e 19d2:1009
05c6:1000:uMa=Option 1004:6156 19d2:1013
05c6:1000:uMa=SAMSUNG 1004:6190 19d2:1017
05c6:1000:uMa=SSE 1004:61aa 19d2:1171
05c6:1000:uMa=StrongRising 1004:61dd 19d2:1175
05c6:1000:uMa=Vertex 1004:61e7 19d2:1179
05c6:2000 1004:61eb 19d2:1201
05c6:2001 1004:6327 19d2:1216
05c6:6503 1033:0035 19d2:1224
05c6:f000 106c:3b03 19d2:1514
05c7:1000 106c:3b05 19d2:1517
072f:100d 106c:3b06 19d2:1520
07d1:a800 106c:3b14 19d2:1523
07d1:a804 1076:7f40 19d2:1542
0922:1001 109b:f009 19d2:2000
0930:0d46 1199:0fff 19d2:bccd
0ace:2011 1266:1000 19d2:ffde
0ace:20ff 12d1:1001 19d2:ffe6
0af0:4007 12d1:1003 19d2:fff5
0af0:6711 12d1:1009 19d2:fff6
0af0:6731 12d1:101e 1a8d:1000
0af0:6751 12d1:1030 1a8d:2000
0af0:6771 12d1:1031 1ab7:5700
0af0:6791 12d1:1414 1b7d:0700
0af0:6811 12d1:1446 1bbb:000f
0af0:6911 12d1:1449 1bbb:00ca
0af0:6951 12d1:14ad 1bbb:f000
0af0:6971 12d1:14b5 1bbb:f017
0af0:7011 12d1:14b7 1bbb:f052
0af0:7031 12d1:14ba 1c9e:1001
0af0:7051 12d1:14c1 1c9e:6061
0af0:7071 12d1:14c3 1c9e:9200
0af0:7111 12d1:14c4 1c9e:9800
0af0:7211 12d1:14c5 1c9e:98ff
0af0:7251 12d1:14d1 1c9e:9e00
0af0:7271 12d1:14fe 1c9e:f000
0af0:7301 12d1:1505 1da5:f000
0af0:7311 12d1:151a 1dd6:1000
0af0:7361 12d1:1520 1de1:1101
0af0:7381 12d1:1521 1e0e:f000
0af0:7401 12d1:1523 1e89:f000
0af0:7501 12d1:1526 1edf:6003
0af0:7601 12d1:1553 1ee8:0009
0af0:7701 12d1:1557 1ee8:0013
0af0:7706 12d1:155b 1ee8:0040
0af0:7801 12d1:1c0b 1ee8:004a
0af0:7901 12d1:1c24 1ee8:0054
0af0:7a01 12d1:1d50 1ee8:0060
0af0:7a05 12d1:1da1 1f28:0021
0af0:8006 12d1:1f01 1fac:0032
0af0:8200 12d1:1f11 1fac:0130
0af0:8201 12d1:380b 1fac:0150
0af0:8300 1307:1169 1fac:0151
0af0:8302 1410:5010 2001:a80b
0af0:8304 1410:5020 201e:1023
0af0:8400 1410:5030 201e:2009
0af0:8600 1410:5031 2020:f00e
0af0:8700 1410:5041 2077:f000
0af0:8800 1410:5059 21f5:1000
0af0:8900 1410:7001 22de:6803
0af0:9000 148e:a000 22f4:0021
0af0:c031 148f:2578 230d:0001
0af0:c100 15eb:7153 230d:0007
0af0:d001 16d8:6281 230d:0101
0af0:d013 16d8:6803 2357:0200
0af0:d031 16d8:6804 8888:6500
0af0:d033 16d8:700a configPack.tar.gz
0af0:d035 16d8:700b
0af0:d055 16d8:f000
有一个文件为12d1:1001,里面存放的是所用的华为3g模块的配置信息
sudo nano 12d1:1001 #会显示配置信息
Huawei E169
TargetClass=0xff
HuaweiMode=1
复制此信息然后
sudo nano /etc/usb-modeswtich.conf
将刚才复制的信息粘贴进去,保存退出。
5.输入置换命令
usb_modeswitch -W -c /etc/usb_modeswitch.conf -I
转换成功后输入
sudo wvdialconf
看一下打印出来的tty,哪个可以使用(可使用的tty会列在末尾)
Found a modem on /dev/ttyUSB0.
Modem configuration written to /etc/wvdial.conf.
ttyUSB0: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
发现ttyUSB0可用。
6.进入wvdial配置文件,检查是否选定ttyUSB0,并更改配置文件
sudo nano /etc/wvdial.conf
按照下图修改配置文件
sudo wvdial
8.拨号成功后,ping网址,比如ping www.baidu.com
ping通就成功了。