1 安装Ubuntu16系统
使用U盘安转Ubuntu 16 或者以上系统,该系统默认支持热点分享功能。安装教程:http://www.linuxidc.com/Linux/2016-04/130520.htm
2 创建无线热点
首先点击右上角的网络图标,然后拉到最下面,点击Edit Connections选项,进入如下界面:点击Add,进入如下界面:
选择Wi-Fi,点击Create,进入如下界面:
填写Connection name,SSID,Mode选择Hotspot,其他值如上图所示。切换到Wi-Fi Security,如下图所示:
Security选择WPA &WPA2 Personal,设置热点的Password,切换到IPV4 Setting,如下图所示:
按照上图设置,切换到IPv6 Settings,如下图所示:
按照上图设置之后,点击Save。
2.1 使用无线热点
先让电脑连接有线网络,然后点击右上角的网络图标,再点击Connect to Hidden Wi-Fi Network(连接到隐藏网络选项),如下图所示:Connection选择刚刚创建的Hotspot,点击Connect。
使用手机,如果能够搜索并连接到Hotspot,输入密码之后,如果能够正常上网,说明成功创建无线热点。
3 配置Facebook的ATC工具
3.1 安装pip命令行工具。
在terminal执行如下命令
sudo apt-get update //更新软件源,否则执行下面的命令可能报错,Unable to locate package
sudo apt-get install python-pip python-dev build-essential
sudo pip install --upgrade pip
3.2 安装ATC相关的软件
在terminal执行如下命令
sudo pip install atc_thrift atcd django-atc-api django-atc-demo-ui django-atc-profile-storage
3.3 使用Django创建一个Web应用
1 在terminal执行如下命令
django-admin startproject Hotspot
cd Hotspot //注意,以后所有操作目录都是Hotspot
2 打开Hotspot/setting.py,在INSTALLED_APPS后面添加如下内容:
INSTALLED_APPS = (
...
# Django ATC API
'rest_framework',
'atc_api',
# Django ATC Demo UI
'bootstrap_themes',
'django_static_jquery',
'atc_demo_ui',
# Django ATC Profile Storage
'atc_profile_storage',
)
为了能在手机浏览器访问该Django Web应用,在ALLOWED_HOSTS后面添加如下内容:
ALLOWED_HOSTS = ['localhost','192.168.1.55'] //192.168.1.55是电脑的IP地址,可以通过ifconfig命令获取
3 打开Hotspot/urls.py,添加如下内容
...
...
from django.views.generic.base import RedirectView
urlpatterns = [
...
# Django ATC API
url(r'^api/v1/', include('atc_api.urls')),
# Django ATC Demo UI
url(r'^atc_demo_ui/', include('atc_demo_ui.urls')),
# Django ATC profile storage
url(r'^api/v1/profiles/', include('atc_profile_storage.urls')),
url(r'^$', RedirectView.as_view(url='/atc_demo_ui/', permanent=False)),
]
4 更新Django数据库
在terminal执行如下命令
python manage.py migrate
3.4 添加常用网络类型的速度配置
ATC包含了常用的2G,3G,DSL等网络类型的速度配置,可以通过如下的方式添加到上节创建的Django Web应用。
1 安装git和curl
sudo apt-get install git
sudo apt-get install curl
2 下载ATC代码
git clone https://github.com/facebook/augmented-traffic-control.git
3 添加网络配置
cd augmented-traffic-control
utils/restore-profiles.sh localhost:8000
4 使用ATC和Django,在手机上模拟不同的网络
4.1 手机连接到无线热点
参考第2.1节,手机连接到无线热点,并且能够正常上网
4.2 运行ATC
在电脑的terminal执行如下命令。
sudo atcd --atcd-wan enp0s25 --atcd-lan wlp3s0
在Ubuntu 16上,enp0s25是有线网卡名称,wlp3s0是无线网卡名称,具体可以使用ifconfig命令查询。
成功运行ATC程序之后,Terminal上会出现Debug信息。
4.3 运行Django应用
新打开一个Terminal,进入Django Web应用(上节创建的Hotspot)所在的目录,启动Django应用,执行下面的命令
python manage.py runserver 0.0.0.0:8000
在电脑上的浏览器如果能够正常访问http://localhost:8000/,说明成功运行了Django应用。
在手机浏览器上,如果能够正常访问http://192.168.1.55:8000/(192.168.1.55是电脑的ip地址),就能通过该页面设置该手机使用不同类型的网络了。
参考文章
http://blog.csdn.net/hualusiyu/article/details/49332303:查看硬件
http://forum.ubuntu.org.cn/viewtopic.php?t=468943:支持Hotspot的网卡
创建热点
http://blog.csdn.net/ac_dao_di/article/details/71908444
ATC
https://yq.aliyun.com/articles/20452
http://blog.csdn.net/piscesq329a/article/details/50092633
http://blog.csdn.net/w263044840/article/details/46469285
http://blog.csdn.net/itfootball/article/details/46763731
https://www.cnblogs.com/coderzh/p/AugmentedTrafficControl.html