Skip to content

GeoFence indoor - A mobile application that captures wifi signals around the device to predict, via an artificial neural network, the area where you are located (https://www.udemy.com/course/practical-deep-learning-geolocalizzazione-indoor/?referralCode=5C6E709BE21F8F431E86)

Notifications You must be signed in to change notification settings

MaxDam/FenceIndoor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FenceIndoor

..explained in three simple steps:


Step 1:
Select the area you are in and capture all WiFi signals around device
Step 2:
Train the artificial neural network with the collected data
Step 3:
As you move the neural network will make a prediction of the area you are in, depending on the wifi signals caught around the device

Sceenshots:





Course:

To have more explanations about the code follow the project udemy course:
https://www.udemy.com/course/practical-deep-learning-geolocalizzazione-indoor

Installation:

Installation Mobile App:

From the project directory..

Build android app:

if you use AndroidStudio open project folder "FenceIndoorApp"

..otherwise use following command:

cd FenceIndoorApp
./gradlew build

Generate apk:

for generate apk still use gradle wrapper:

cd FenceIndoorApp
./gradlew assemble

made apk to the path:

./FenceIndoorApp/app/build/outputs/apk/app-release-unsigned.apk

rename it and transfer it into your mobile device

..if you want, you can download the apk directly here

grant wifi scans permissions on android:
Android 7 Android 8 Android 8.1

Start server in the local machine:

prerequisites:

  • mongodb
  • python3 and pip

install following python packages:

pip install flask
pip install waitress
pip install pymongo
pip install numpy
pip install sklearn
pip install petl
pip install h5py
pip install tensorflow
pip install tensorboard
pip install keras

start mongodb (default is localhost:27017)

sudo mongod

Start the server

cd FenceIndoorServer
python main.py

Init database

You can go to the browser and open the url

http://localhost:8090/init 

to reset and initialize the database (calling this command remove the datas)

See tensorboard results

run command (into the project path)

tensorboard --logdir ./FenceIndoorServer/logs

You can go to the browser and open the url

http://localhost:6006/

Build and start server by docker compose:

prerequisites:

  • docker (1.6.0 or above)
  • docker-compose (1.3.1+)
  • python 3.0 or above

set configuration:

into the config.yml file, set property:

#docker configuration
docker:True

build and start the docker containers:

start docker and execute following commands from the project directory:

docker-compose build
docker-compose up

You can go to the browser and open the url

http://localhost:8090/ping 

to see the "it works" message into browser

Start server by docker:

start docker image from dockerhub image called maxdam/fenceindoor

prerequisites:

  • docker (1.6.0 or above)

Start docker images:

start docker and execute following commands:

docker run -it -p 27017:27017 --name db -h db mongo:3.0.2  mongod
docker run -it -p 8090:8090 --name fenceindoor -h fenceindoor --link db:db maxdam/fenceindoor python -u main.py

You can go to the browser and open the url

http://localhost:8090/ping 

to see the "it works" message into browser

About

GeoFence indoor - A mobile application that captures wifi signals around the device to predict, via an artificial neural network, the area where you are located (https://www.udemy.com/course/practical-deep-learning-geolocalizzazione-indoor/?referralCode=5C6E709BE21F8F431E86)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published