Automating the Configuration Process Of Beacons - ibeacon

I am working on a IoT Project, where I need to deploy 700 beacons in different parts of the country.
Whenever a user(assuming the required services are enabled on the user's phone), the user should get a silent notification of a link to a webapp and if there's an Android/iOS app(for registered users) it would display an update notification.
I have implemented this functionality, so that's already done.
My problem is I have to configure every single beacon manually, which I would like to get it done via a script or an API, because there's a possibility I may have to do the same for 1000+ beacons.
I am using RadBeacon Dot Beacons
Configuration Process Details:
Configuration Doc Of Beacons
Configuration through the Beacon App
Setup a Google Nearby Beacon
How can I automate the entire configuration process for both Android & iOS ?
Little guidance will be highly appreciated.
Thanks

I would email or call support at Radius Networks and ask if you can get access to a private SDK to configure your beacons for iOS, MacOS or Android.
If you can get your hands on such a SDK, you could build an iOS, MacOS or Android app that does all of these configuration steps. You will still, however, need to put each RadBeacon Dot into configuration mode one by one and wait for your custom configuration app to connect via bluetooth and configure the beacon. Since bluetooth connections can be a bit finicky, this might take 5 secs or more with retries. So best case scenario, you're talking 5 secs x 700 = one hour to get them all configured.
You'll also have to account for the time it takes you to write the config app and debug it until it is working reliably and as quickly as possible. I have lots of experience with these kinds of apps, and would expect it to take me at least 8 hours, probably much more. So the best case level of effort to get all beacons configured is 9 hours.
The alternative, of course, is to train an intern (or your little sister) to do this manually, and pay him or her for the trouble. If you can get all these manual steps done in 45 seconds, doing 700 of them will take a little less than 9 hours -- faster!

Related

Creating realtime alerts for stock quotes

I want to create a realtime stock alert app where users can subscribe to specific stock instrument with target price. Once that target price hit, The subscribed user will be notified over the app.
A good example of such platform is Tradingview.com
For stock API's I will be receiving realtime stock quotes from My API vendor over.
As far my knowledge is concern, I'm looking at this app as Web socket OR MQTT pub/sub platform where users can subscribe to that specific instrument topic and get notified once stock price is hit.
But my knowledge is limited when it comes to thousands of users subscribing to thousands of alerts.
What technologies must be going at the backend for such kind of apps ? What must be the data flow ?
Bit late answer to this, I was working on something similar with all custom NodeJS server and instruments you want to subscribe on. It is very simple server and you can find it here https://github.com/markosole/yahoo-node-streamer
I am working on desktop App built on top of Electron which is used for subscribing to instruments, monitoring multiple instruments and creating visual and sound alerts for every instrument individually. I have not release Electron app source to the public yet.
Creating mobile app will be harder as it would require backround data and best bet would be using Flutter and Google Firestore to send alerts. Well this is very top level.. I will eventually make flutter app and share it on Github
Overlooking the fact that there are literally thousands of apps out there that do all of this already....
Your best bet might be to do one of two things:
1) Just send out the stock price and let the client app figure out the alert, or
2) Have a back-end system that just sends out the alert to the specific customer when their price point is reached.
Option 1 is something that MQTT could easily do. Option 2 could be done using MQTT, but its something of an overkill IMHO. MQTT is built for applications where one node is publishing data, and many nodes are subscribing to that data -- hence Option 1 is more in line with what MQTT was built for.

Why do i need GCM or APN?

Why can't the individual app servers directly send notification to their mobile apps ? What is the benefit of having a centralized notification platform ?
From this thread, GCM is a service that helps developers send data from servers to their Android applications on Android devices. Same with APN which is a service for app developers to propagate information to iOS (and, indirectly, watchOS), tvOS, and macOS devices.
You may check these threads:
Why it is preferred to use GCM for push notifications?
Let's say you have 50 applications on your phone that do not use GCM. Each app developer decides it is appropriate to poll their respective backend once a minute.
Since these are all separate applications, each call will likely not happen at the same time as another api call. The biggest kill to battery is when the radio within an android device has to turn back on after being off to make an API call, so multiple calls happening with blocks of time in between drains battery faster (read this article on the radio state machine to better understand why this is https://developer.android.com/training/efficient-downloads/efficient-network-access.html)
In addition, each application will be hitting a separate endpoint. Each time you make an API call, you have to go through the connect process for a given server. With batched api requests or HTTP 2.0, multiple calls going to the same server can be optimized by not having to re-do a handshake or the connect process.
What are some advantages of push notifications?
Wide reach across internet users.
High conversion rates.
Real-time communication.
Push Notifications Explained
Hope this helps!

Manage Desktop program seting and features in the cloud

A program I have written has many modules we can turn on or off depending on the clients preference or if the client pays for the feature. Some features may be charged on a subscription basses and needs to expire after a given date
I am looking for a cloud based solution I could have like a dashboard and be able to see all the clients and what features are set and be able to control (Turn on Turn Off and set expiration dates) these features of my program in a central place.
Is there any such service out there or something I could easily tweak to do this?
What would be building blocks if I need to design on by myself for cheap?
It would be used by around 100-300 clients
I suggest you look for delphi BAAS cloud
Unfortunately I didn't try to show you some example, but have some videos on Youtube
https://www.youtube.com/watch?v=dqeFAuURBro

Access to Google Nexus 4 Secure Element (SE)

I’m working on technical part of a project for big bank and looking for information about using Secure Element (SE) that is embedded into Google Nexus 4.
What is a process to get access to SE?
I mean how to initiate a process with Google.
You may try to contact them directly, but Google will not give you access to (embedded) SE: they don't want competitors on their wallet application (specially on Android systems).
You can do this, current android version(4.0.4) has enabled access to SE without having support of platform vendor.
Please refere
http://nelenkov.blogspot.sg/2012/08/accessing-embedded-secure-element-in.html
Depends what your ambition is, can you elaborate ? Loading an application of your own onto the secure element will require crypto keys that only Google can provide, and they probably never will, for many reasons.
Alternatively, you should be able to do the same with a SIM. It only takes a few tools to load and configure an application on a test SIM (with test SIM), then you can fit it into a phone and access it through the Open Mobile API (see the SEEK for Android open source project) which is available on many devices.

broadcasting data to mobile devices

I working on a project were mobile users can receive alerts based on diferent factors, the server side will be implemented using the MVC framework.
My question is regarding the client side; what would be the most efficient way to send the alerts to the clients? is there any way to broadcast the alerts to each device or do I have to set up some system where each device pulls the data from the server on an interval of mins/seconds? I am afraid pulling the data every X secs/mins would create an unnesesary overhead on the mobile devices.
One way would be using SMS but SMS gateway services are expensive and not on my budget right now.
I haven't personally tried it, but this service might work for you:
http://www.airgramapp.com/api
It is free for limited use. Downside is it appears to be a separate install on the mobile device. This might means less control of the content of the message or its look. Upside is it looks quick and easy if you just need a proof of concept at this point.

Resources