Skip to content

Latest commit

 

History

History
45 lines (35 loc) · 1.38 KB

README.md

File metadata and controls

45 lines (35 loc) · 1.38 KB

Wireless Multihop Network

An implementation of a network:

  • Wireless (Using Bluetooth)
  • Decentralized (the full network topology is eventually known at every node)
  • Multi-hop (no direct connection required between end-users, a path is sufficient)
  • Auto network discovery (for joining) & disconnection handling (updating the state of the network and informing the network)
  • Routing & forwarding using Dijkstra Shortest Path (all connection assumed the same weight)

The demonstration application is a chatting application that supports a dynamic number of users. The project is a part of the postgraduate course at the GUC (CSEN 1066: Selected Topics in Communication Networks project)

Requirements

System Dependancies

sudo apt-get install libbluetooth-dev

Python packages

pip install pybluez pexpect inquirer

Configuration

To allow the use of 'services' in bluetooth, edit /etc/systemd/system/dbus-org.bluez.service and change:

ExecStart=/usr/lib/bluetooth/bluetoothd

To

ExecStart=/usr/lib/bluetooth/bluetoothd --compat

Then restart the bluetooth:

sudo systemctl daemon-reload
sudo systemctl restart bluetooth

You'll need to run the application as sudo for the correct permissions.