如何使用SPAN [Smart Phone Ad-hoc Network] Framework建立Mesh Network?

How to use SPAN [Smart Phone Ad-hoc Network] Framework to establish a Mesh Network?

我正在开发一个基于 android 的应用程序,它将在紧急情况或灾难情况下用于帮助用户确定安全疏散的路径。因此,在这方面我需要在特定区域的用户之间建立网状网络。我必须在临时模式下工作才能使其成为可能。

您可能正在寻找的协议不方便标记为 "ad-hoc",它被称为 "Wifi P2P":

文档:developer.android.com/guide/topics/connectivity/wifip2p.html

WifiP2pManager mManager;
Channel mChannel;
BroadcastReceiver mReceiver;
...
@Override
protected void onCreate(Bundle savedInstanceState){
    ...
    mManager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
    mChannel = mManager.initialize(this, getMainLooper(), null);
    mReceiver = new WiFiDirectBroadcastReceiver(mManager, mChannel, this);
    ...
}

//obtain a peer from the WifiP2pDeviceList
WifiP2pDevice device;
WifiP2pConfig config = new WifiP2pConfig();
config.deviceAddress = device.deviceAddress;
mManager.connect(mChannel, config, new ActionListener() {

    @Override
    public void onSuccess() {
        //success logic
    }

    @Override
    public void onFailure(int reason) {
        //failure logic
    }
});

希望对您有所帮助

Meshkit https://www.opengarden.com/meshkit.html 是创建网状网络的框架。 他们有 "proof of concept" 一个很好而且很有名的应用程序,名为 "firechat" https://www.opengarden.com/firechat.html

据我所知,它不是开源的。

我发现类似的想法已经发布在 google 商店,即 Beamify。 也许你可以联系他们了解一些想法。