Skip to content

The repository contain Digital Twin Framework for Federated Learning

Notifications You must be signed in to change notification settings

atifrizwan91/DT-for-FL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Publication

Rizwan, A., Ahmad, R., Khan, A. N., Xu, R., & Kim, D. H. (2023). Intelligent digital twin for federated learning in AIoT networks. Internet of Things, 100698.

Digital Twin For Federated Learning

Requirements

Install VS code and setup python environment. Install following python libraries.

  • django
  • zmq
    • ZeroMQ is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications.
  • tensorflow 1.6.0
  • h5py 3.1.0
  • pybind11
  • sklearn
  • pymysql
  • pandas
  • numpy 1.19.5

Open `DT' folder in VS code and run the following commands

  • cd DigitalTwin
  • python .\manage.py runserver

Setup OCF Iotivity

  1. First of all Raspberry Pi 4 is configured and Ubuntu OS is installed
  2. The Putty is used to access the IoT device from the IoT platform
  3. Ubuntu is preferred instead of raspbian operating system because we have lot of support for IoTivity for ubuntu
  • The card is then injected in the Raspberry pi to start the operating system

Installation of required software

Putty

  1. Install putty to connect with Raspberry pi 4 remotely.
  2. The putty initiate the SSH command which allow the IoT platform to send the instructions remotely
  3. There are some other software are also available to use the SSH request
  4. The windows terminal can also be sued to connect the IoT device with IoT Platform

WINSCP

  1. WinSCP is installed to move files from local system to Raspberry pi -Host name: IP address of Raspberry pi -Username and password entered -Hit Login Button
  2. The winSCP is a FTP based system which is used to sed the files from the platform to the devicen
  3. The device need some file like Iotivity 2.2.2 and some python scripts
  4. These files are transferred from the system to the device using Winscp

Build and Install IoTivity on device

  • Open Putty and connect it with device (Raspberry pi)
  1. Installed IoTivity version 2.2.2 from GitHub using git clone --recursive --depth 1 --single-branch --branch 2.2.2 https://github.com/iotivity/iotivity-lite.git iotivity-222
  2. Build and Run sample client and server
    • To build and run the sample execute the following commands.
    • ./build--server-lite.sh
    • ./run-server-lite.sh

Federated Learning

FL server

Run FL server form DT platform

FL Clients

Start FL clients from DT platform

Overall Architecture of DT

About

The repository contain Digital Twin Framework for Federated Learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published