Giter Club home page Giter Club logo

dmsl / anyplace Goto Github PK

View Code? Open in Web Editor NEW
685.0 61.0 314.0 135.86 MB

A free and open Indoor Navigation Service with superb accuracy!

Home Page: https://anyplace.cs.ucy.ac.cy/

License: MIT License

Java 20.37% C# 4.86% JavaScript 56.71% HTML 1.33% CSS 5.27% Python 0.73% Shell 0.84% Scala 4.14% Swift 1.62% Objective-C 0.01% C++ 0.83% C 0.01% CMake 0.13% PowerShell 0.01% Dockerfile 0.02% SCSS 2.73% Batchfile 0.21% Kotlin 0.05% Vue 0.12% TypeScript 0.02%

anyplace's Introduction

Anyplace


A free and open Indoor Navigation Service with superb accuracy!


Join the chat at https://gitter.im/dmsl/anyplace

0. CLONE THE CODE:

Cloning without the submodules:

git clone [email protected]:dmsl/anyplace.git anyplace

Cloning with the submodules:

  • Submodules are separate git repositories within this one
  • You cal also fetch those at a later stage (with relevant git command)
  • Needed when developing libraries or the android client apps.
  • core-lib: clients/core/lib:
    • core library, written in kotlin
    • communicates to an Anyplace Backend service using Retrofit2
    • can be used to create more generic libraries
    • it is used by the android-lib to build the Android clients
  • android-lib: clients/android-new/lib-android:
    • most of the kotlin code is here
    • some thin clients are created out of this (SMAS, Navigator)
git clone [email protected]:dmsl/anyplace.git anyplace --recurse-submodules


1. Server: [PLAY Framework]



2. Frontend apps:

  • Path: clients
  • Branch: develop-clients

Viewer: ap.cs.ucy.ac.cy/viewer: Viewer

Architect: ap.cs.ucy.ac.cy/architect: Architect

Developers: ap.cs.ucy.ac.cy/developers: Developers (API through Swagger)



3. Preface

Preface

Anyplace is a first-of-a-kind indoor information service offering GPS-less localization, navigation and search inside buildings using ordinary smartphones.

It is recommended to watch the video tutorials before proceeding with these instructions.

We hope that you find our Anyplace Indoor Information Service useful for your research and innovation activities. We would like to have feedback, comments, remarks, and, of course, any experience or test results from your own experimental setups. Currently, we can offer only limited support and assistance on the code, due to lack of resources, but we will try to get back to you as soon as possible. Questions and feedback may be sent to [email protected]

If you install Anyplace on your own servers, please record your URL here.

In case you have any publications resulting from the Anyplace platform, please cite the following paper(s):

  • The Anyplace 4.0 IoT Localization Architecture
    Paschalis Mpeis, Thierry Roussel, Manish Kumar, Constantinos Costa, Christos Laoudias, Denis Capot-Ray Demetrios Zeinalipour-Yazti
    Proceedings of the 21st IEEE International Conference on Mobile Data Management (MDM '20), IEEE Computer Society, ISBN:, pp. 8, June 30 - July 3, 2020, Versailles, France, 2020

  • The Anatomy of the Anyplace Indoor Navigation Service
    Demetrios Zeinalipour-Yazti and Christos Laoudias
    ACM SIGSPATIAL Special (SIGSPATIAL '17), ACM Press, Vol. 9, pp. 3-10, 2017

  • Internet-Based Indoor Navigation Services
    Demetrios Zeinalipour-Yazti, Christos Laoudias, Kyriakos Georgiou, Georgios Chatzimilioudis
    IEEE Internet Computing, vol. 21, no. , pp. 54-63, July 2017, doi:10.1109/MIC.2017.2911420

  • Anyplace: A Crowdsourced Indoor Information Service
    Kyriakos Georgiou, Timotheos Constambeys, Christos Laoudias, Lambros Petrou, Georgios Chatzimilioudis and Demetrios Zeinalipour-Yazti
    IEEE Mobile Data Management (MDM ’15), IEEE Press, Volume 2, Pages: 291-294, 2015



4. Source Code Components

4.1 Server:

  • Play Framework server
  • Written on scala
  • Branch: develop-server

4.2 Clients:



5. LATEST DEVELOPMENT VERSION

To test the latest development version you can fork the develop branch.

DEV Testing: ap-dev.cs.ucy.ac.cy



Contributors:

  • University of Cyprus (Cyprus)
  • University of Pittsburgh (USA)
  • University of Mannheim (Germany)
  • Alstom (France)
  • Infosys (India)


Links

anyplace's People

Contributors

ahadji09 avatar anyplaceucy avatar cachil01 avatar constambeys avatar costantinos avatar dzeina avatar gitter-badger avatar kapilsaini01 avatar kgeorgiou avatar laoudias avatar linshaodongsam avatar mangel033 avatar mikekaram avatar nicole-ptr avatar nneof avatar paschalis-mpeis avatar pdgorn avatar piiih avatar sreejith-ms avatar stweil avatar tzoiker avatar zgeorg03 avatar zuphilip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

anyplace's Issues

Stop user marker from jumping all over the place

As the title suggests, how do I prevent the marker from jumping around too much? It still jumps around even as I am standing still.
Does it do that every time it gets a Wi-Fi scan? If so, would it be possible to get the scans to get an average signal strength, from all the samples it obtained?

Anyplace PFM Jaén Spain

Hello my name is July'm a student at the University of Jaen in Spain.
The reason for the consultation is that my Master's Thesis will try positioning Inside and your application is one of those chosen for the job. I'm having some problems with it and do not really know what may be the reasons. I have two buildings of my university introduced with the plans of all plants, one called A3 (Building Engineering) as Enter some time in the practices of LBS subject, which if it appears perfectly but the second called A4 (Aulario Cesáreo Rodriguez Aguilera) can not get the planes appear in the mobile application to make the appropriate start wifi recorder. Any solution.
Thank you.

Sharing buildings or floors

Hi,

I have one question about the buildings and floors uploaded to the architect.

Is it possible to share them by two or more users?
In my opinion this would be necessary in order to not to depend on only one person.
If this person stops working on an institution, the buildings and floors would need to be duplicated and all the work redone by any other person.

Thanks in advance!

How many routers are needed for good fingerprint ?

Hello,

I have 20 fixed routers in the area which i try to fingerprint but still accuracy is not good. Its upto 10-15 meter.. anyplace can achieve upto 2 meter. So more routers are good or less routers are good ? Please Help.

Is the API backend source available?

Hi there,

I was wondering whether the source code of the API backend is available? At the moment I see that the server is hosted at anyplace.rayzit.com, but is it possible to self-host this?

Thanks
~cmdr2

to Replace the floor plan

I have take wifi finger print on one floor plan.. if i want to change the floorplan then wifi fingerprint will stay there or deleted ? please help

Which map mode is efficient

Hello.

Google map has 2 map mode satellite and map. if we go to satellite actual building is not coming accurately on the building which has shown in the map mode. Now which mode is right. i think satellite mode shows correct position of building. Please help.

Thanks.

Compilation error Symbol Class R Cannot be found

When compiling the project with android studio i receive the following error:
Error:(40, 25) java: cannot find symbol
symbol: class R
location: package com.dmsl.anyplace

Any point would be appreciated.
Thanks.

Log file in Navigator mode

I have been able to locate the rssi log file in logger mode, but have not been able to find any similar log/output file in Navigator mode where the lat/lon of the user's location can be viewed on an Android phone.

Many thanks

Mapping a single room

Hi
I'm trying to map out a single room. The room is 5x4.5m and has three wifi points within it.
I'm not sure how I am to go about mapping it. I've tried walking to all four corners and updating my position at each corner and I've also just tried walking around and around without updating my position.

Both times I collected about 20 readings. However when I try to navigate the point barely moves and also when I'm at the starting point, i.e. the room entrance the point on the map is about 3m away.

I'm guessing that the room is too small and also that I don't have enough wifi points. Would this be correct? If so what it the minimum room size and what would be the minimum number of wifi points required?

Thanks

inquiries

I am a student and I have some inquiries about the application, but my English is not quite good
and I want to help

Upload the WiFi Record

When I want to upload the WiFi Map created with Logger I get:

Error: username or password invalid.

I dont know which credential will work because I have a Google Account associated with Anyplace

Custom Wifi beacons

Hi.

Sorry for all of the questions.

For our hack day project we are going to be using the Anyplace API in a warehouse environment to help simplify stock movement where each stock bin will be a POI.

We are building custom wifi beacons to work with the Anyplace API with the goal of improving accuracy. What do you think would improve accuracy mostly? a stronger signal, a directional antenna or a more stable signal, i.e. one that doesn't fluctuate much? Anything other beacon qualities you can suggest that will improve the API accuracy would be helpful. At this stage I don't know how much as can achieve but we want to give this a good try.

We have complete freedom as to where the beacons will be placed and how many. So we'll be placing them in a such a way as to maximize line of sight and minimize obstructions. The environment in which are will be placed is unlikely to change, although the odd forklift might be driving around from time to time.

Android deprecated tools

Hi @kgeorgiou and @laoudias.

The library ActionBarSherlock was deprecated and no more development will be taking place. Their developers recommends to use Android AppCompat:
https://github.com/JakeWharton/ActionBarSherlock

Also Google announced that eclipse support ended. Anyplace should to be migrated Android Studio:
http://developer.android.com/intl/es/tools/help/adt.html

I would solved both issues and commit it but it implies a big files reformat. It better that your team solve the issues.

Greetings.

My building suddelnly removed from Archetiect

I've uploaded our building maps along with the RSS map and it was working perfectly, Except that i had one issue which is the floors of the building were not in the right order, we have four floors basement, ground, first floor and second floor i've ordered them respectively from 0 to 3 instead of -1 to 2 so i requested to edit the floor numbers via an email i've sent to you guys.
Now i can't find my building at all.
buid=building_cc6c953a-9ded-42fb-8c1f-6c697f670fcc_1464986495304
Any thoughts how and why it was removed ?

BLE Beancons

Just out of curiosity why did you choose to use wifi instead of beacons I understand that in some places already exists wifi infrastructure but what of a place where the is no wifi. I believe it may be cheaper to setup a beacon infrastructure in this case. Any reasons against using beacons and how easy is it to convert this to use beacons.

Get users current location

Hi Guys

In a new activity that I've added to the Anyplace App I'm wanting to know the users currently location within the indoor space, assume they are standing still. What class or classes do I need to get this information?

I've been looking through the UnifiedNavigationActivity but there is a lot going on so I'm hoping someone can just point me in the right direction.

I found a method called onNewLocation which seems to be what I need but I can't see where this is called from.

Basically a user will walk up to something and press a button on the app. On the button press I want to immediately start querying there current location and then use that position information to query a database. I may add continuous tracking later but for now pressing a button whenever they want to know what they are standing in front of will suffice.

Thanks

Fetching buildings

I can't see the building I've created in Architect from Android Viewer.
I made the building public, but still not showing.
When I try to fetch the buildings from the app I see a toast with the error:

Cannot connect to Anyplace service!

My building:
CODE: MUNI_OLAV
Title: Municipalidad de Olavarría
Description: Oficinas municipales

Can you give me a hint to solve it?

I have a question about the code

What role does the kalman filtering in the code? only for wifi data? is it a fuse wifi data and ImU data ? I am sorry ,my english is poor.

Viewer Navigation Bug

Viewer Navigation always selects the closest door without checking if that door can lead to the target. The below example shows the bug ...

image

image

Best Practices for producing WiFi Radiomap

Any best practice about how to produce an optimal WiFi radiomap would very much be appreciated. It seems that some mobile devices are not working equally good. Can you explain more what "4-directional WiFi acquisition" is?

ARCHITECT-WIFI MAPS

Dear All, Great Job !
Just one question.
Is it possible to completly erase the wifi map on a Floor without deleting the complete Floor (POI and itinary...)
Use case: I have uploaded a bad record wifi log (with mistakes) and i would like to make another fingerprinting. Is it possible to renew the wifimap ?

Best regards

Navigation routes not works

I am using android and i've uploaded the floor maps and the radio maps and everything is set but when i try to navigate, it says no valid path exists from your current position to the selected POI .
Could any one please help me.
Thanks in advance.

Incorrect data in Json Export

Hi Guys

I've exported the POI json data via the architect application but the vales I'm getting back seem wrong. That is, for every poi the coordinates_lat and coordinates_lon fields have the same value, and also is_building_entrance is true for all for all of them even though I have only one entrance. I've attached a copy of the json file. I haven't yet checked what data comes back from the

poi_json.txt

When I query the endpoint, https://anyplace.rayzit.com/anyplace/navigation/pois/id, the is_building_entrance field is set correctly but the lat and lon values still seem incorrect. Below are the results from the endpoint for two poi's at opposite ends of the room.

{
"is_building_entrance": "false",
"floor_number": "0",
"pois_type": "Other",
"buid": "building_9e72ac9e-4c08-4e4b-adc3-ee5024b64546_1468267872508",
"image": "url_to_pois_image",
"coordinates_lon": "174.7632873058319",
"url": "-",
"coordinates_lat": "-36.87109769062899",
"floor_name": "0",
"description": "-",
"name": "Test POI",
"is_door": "false",
"is_published": "true",
"puid": "poi_6b27388b-5fa3-403f-a9d4-dcf4345ad00d",
"geometry": {
"coordinates": [
-36.87109769062899,
174.7632873058319
],
"type": "Point"
},
"status": "success",
"message": "Successfully fetched Poi information!",
"status_code": 200
}

{
"is_building_entrance": "false",
"floor_number": "0",
"pois_type": "Other",
"buid": "building_9e72ac9e-4c08-4e4b-adc3-ee5024b64546_1468267872508",
"image": "url_to_pois_image",
"coordinates_lon": "174.763351008296",
"url": "-",
"coordinates_lat": "-36.87101937131593",
"floor_name": "0",
"description": "-",
"name": "czxczxc",
"is_door": "false",
"is_published": "true",
"puid": "poi_06aeb79b-56a1-4337-a22a-0eba58df424d",
"geometry": {
"coordinates": [
-36.87101937131593,
174.763351008296
],
"type": "Point"
},
"status": "success",
"message": "Successfully fetched Poi information!",
"status_code": 200
}

Thanks

Need GPS with Logger?

I have the Google Pixel, which does not have the GPS chip. Before I can "Start WiFi Recording" it says I must enable GPS. Isn't this "GPS-less"?

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process '...aapt" finished with non-zero exit value 1

Tried to import the Android project to Android Studio and met the following issue when 'gradle build' the anyplace module.

:anyplace:processDebugResources FAILED          

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':anyplace:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/jamesli/Development/adt-bundle-mac-x86_64-20140702/sdk/build-tools/23.0.2/aapt'' finished with non-zero exit value 1

* Try:        
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED  

Total time: 15.409 secs

I tried to run gradle with "--stacktrace", "--info" and "--debug" as suggested and found no more information. Anyone can help?

Thanks in advance.

Floor map is not loading in tracker and logger

I have create new building and followed all the required steps to create floor and POIs. I am not able to see floor map in the tracker. I can only see POIs but no floor map. Logger is also not showing floor map. I am not able to create radio map as I cannot see floor map.

I used this app earlier. I am facing this issue since last week when anyplace went from normal http to https.

Please help.

Thanks,
Shashank

Using the code in other apps

I'm sure this has been asked before but currently all of the functionality appears, although in distinct classes, seem to be tightly coupled to the app. In the future will this be separated out in to libraries that can be used to make other apps?

Can't get radio map

Hello, I'm new to this, so forgive me if I'm asking a stupid question here.

Suddenly became unable to download the radio map for a building I'm working on.
Getting errors like "No peer certificate", or timeouts. Weird as I've been using it for a few months now.

Markers in map (viewer) are displayed wrong

It looks for me that the markers in the map are displayed at some wrong positions, e.g.

anyplace1

Moreover, the offset (mainly in the horizontal direction) seems to be constant and not changing when zoomed in or out, cf.

anyplace2

POI filtering

Hi

Is it possible to get, from the API, a list of POIs within a given radius, say 1 or 2 meters, from where the user is standing? Or will I just need to download all of the POI locations and then have my own algorithm work this out?

Also does the API give the users orientation, i.e. which way they are facing? as I'd like to select POIs within 180 degrees instead of 360?

Localization, multiple languages

Is the localization of the app(s) and the web viewer planned? We could contribute a German localization, if there is any mechanism for that planned. This would involve all labels in the graphical interfaces but also the data entered for the points of interest could need to support several languages. The name of a building or even a room may be different in other languages.

Error from endpoint /navigation/route

Hi

I'm getting the following error page from endpoint https://anyplace.rayzit.com/anyplace/navigation/route

    </head>
    <body>
        <h1>Oops, an error occured</h1>
        <p id="detail">
        This exception has been logged with id 
            <strong>70pbblfab</strong>.

        </p>
    </body>

I'm posting this json
{
"access_token":"removed",
"pois_from":"poi_58bd6eed-1904-4b19-844b-1304431a592c",
"pois_to":"poi_6b27388b-5fa3-403f-a9d4-dcf4345ad00d"
}

POI Lon,Lat always the same

Hi, I have setup two maps for two different buildings in different parts of the city with each having several POI's. When I queried the POI's for both buildings "https://anyplace.rayzit.com/anyplace/mapping/pois/all_building" I noticed that the they have the same lon and lat values.
"coordinates_lat": "-36.795919302336834",
"coordinates_lon": "174.73552778363228",

Eventually I want to be able to select all POI with a radius from the users current location but cannot do this with correct POI coordinates.

So do these coordinates get updated to their correct values at some point?

I haven't put any connectors on and I think I may have (on at least one building anyway) placed the POI's after doing to logging. So could it be due to incorrect/incomplete setup?

Navigation on different devices

Do you have any reference device (vendor? model?), on which the navigation is working especially good? It seems for me that devices with a bad magnetic sensor or not working well in Anyplace navigation. Which sensors are influencing the navigation in Anyplace? I tried to find out about the sensors on my device with this app (and the result looked actually very similar):

Map is not loading in Android source

Hello.

When I deploy android source in Android studio then Google Map is not loading in Logger or Navigator. Please help me. In logger no option of start recording is comming. Waiting for your reply.

Thanks

Couchbase view required for starting Anyplace server

Hi,

I'm opening this issue more for tracking, not for pushing :-)

I tried setting up the Anyplace server, and it needed the couchbase views that you mentioned in #34 . I'd love to play around with any test versions of it, in order to get the server running.

Thanks
~cmdr2

With Logging something is wrong.

when i am recording wifi in logger part sampling is doing very fast not like shown in video on your website. And some time i have taken the sample of all floors then only few of the samples are coming on radiomap. and sometimes even I take sample of other part of that floor again then also after uploading rss logs it not showing new radio maps... how much time it will take to update radio maps on your server... can you please tell me the best combination of walking sensitivity and time interval of sample. and how fast should i walk while taking sample... please help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.