Continuous update UI from Service - service

I'd be very grateful if somebody can help me. (I'm absolute beginer with Android).
There's a lot of code in the web, but I couldn't find anything suitable for my application.
I've an installation with some sensors connected to Arduino. All input data are collected in a String, and this String is sent via Bluetooth to an Android device every 1~2 seconds (depending on data availability from sensors). Is to be used for hours.
I made an App that receives the data (via Bluetooth) and shows all data in real time update in one layout, with the Bluetooth code in the MainActivity. Works well.
What I need is an App with three different Activities, all using the same String data from Bluetooth, and real time updated.
My question is how to build the App:
-Bluetooth running in a Service, and Activities connected to it?
-Which is a good way for real time update in any of the three Activities?
A similar example could be a weather station, an Android device receiving data via Bluetooth, showing the same weather data in three different layouts, with continous update.
Thanks in advance

Related

How do I send data using low bluetooth energy in flutter

I have a Project to send data from flutter to Arduino to do some tasks, I was working with HC -05 and 'serial Bluetooth communication library' but I found that isn't support Low energy Bluetooth, so I have to work with 'flutter_blue' and I can't find exactly how just send data like "1"
if someone has already work with something like that, help me and thanks
method to how can I send data with this library "Flutter blue"
'how can I send data with this library "Flutter blue"?'
There is an example there in flutter blue page (https://pub.dev/packages/flutter_blue) on how to get and send data to a BLE device.
await c.write([0x12, 0x34])
There are initial steps before the app can read and write data to the BLE device. Basically, the steps consists of scanning, connecting, and discovering services. After that, the app can start reading and writing data. Data are written(or read) to (or from) a 'characteristics'. The app can also subscribe to a characteristics so it can receive data from the notification. These are just a general guide for communicating with BLE devices. You must know the details from the documentation of the specific device.

How can I get real-time heart rate data in a progressive web app for phones?

I'm building a progressive web application (target is smart phones for now). The app needs to be able to access heart rate and heart rate variability, ideally in real-time. While it seems totally asinine, I'm open to using REST calls to some remote server if that is the only way. I'm also fine with restricting the app to only work with certain hardware if necessary. In this case, the ideal hardware would be some sort of earbud that uses optics to scan for heart rate, but at this point, I'm open...
The best that I have thought up is to find a heart rate monitor that converts the direct signal into audio and use the microphone web API. That seems like a lot more work than ideal, so I'm hoping someone has a better idea. Any ideas are welcome. Please, no one downvote anyone if it doesn't solve all my constraints. I've been working on this for a bit and I'm not sure that there is a clean and perfect solution yet. Thanks in advance!
If the sensor can speak Bluetooth, the Web Bluetooth API can perhaps help: https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API
https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web
How about use a Web Bluetooth that lets you control any Bluetooth Low Energy device like heart rate monitors. It will read the Service Location Characteristics (which tells your where the sensor is placed - which body part) and subscribe to notifications from the Heart Rate Characteristics, meaning you will get an event whenever the device performs a new measurement. Then use a service worker that will define the behavior of the app to mimic native app capabilities like offline support and notifications.
It's like a Physical Web that you can send a link to your website from a Bluetooth beacon to a user's device and with PWA, that link can be to your web app that looks, feels and functions like a native app. Then with Web Bluetooth, you can then speack to the device. Visit this blog post for more details.

iBeacon: Is possible send small data to track from transmit?

I am going to start a project code for iBeacon with iOS 7 and bluetooth 4.0.
http://www.appcoda.com/ios7-programming-ibeacons-tutorial/
Readied above link, i have coded it and tested . it is working fine .
Created two apps. One for transmit beacon and another for track beacon.
How can send small data to track beacon from transmit beacon. Small data is a ID of room.
Is possible send small data to track from transmit?
You cannot send any other data from a device transmitting as a beacon to another device via the iBeacons protocol. However, if only want to know a room ID, then you should set this as either the major or minor value of the beacon (or a combination of those two values).
As an example, a large retailer might set:
UUID: A single UUID for the retailer
Major ID: Identifies the specific store that a beacon is located in
Minor ID: Identifies the department that the beacon is in
If you wish to transmit more substantial data between two iOS devices, you'll probably want to look at something like Apple's Multipeer Connectivity framework.
https://github.com/DavidSahakyan/LGBluetooth
here is a framework which will help you to work bluetooth 4

Share text between iPhone and other phones using wifi

Is it possible to send and receive data between iPhone and other phones such as blackberry or android over wifi. I am on the move it to create an iPhone app with the above functionality. Can any one has previous experience in this, or any sample codes to do this. I have searched a lot but couldn't find anything relevant.
you can do this by using a server application. So the iphone pushes the data to the server and the other devices are either getting push notifications or something similar or simply poll for the data.
Without a server, you have the trouble of finding the other devices. If its safe to assume they are all on the same subnet, then you could use a UDP broadcast to do this.
There's many ways of doing this, every one with its own pitfalls. So there's no generic answer to this question without knowing in more detail what's the purpose of it.

iphone app communication without using webservices

I want to send some Text plus a image from one iphone application to other iphone app but restriction is I should not use a web server in between communication,Is there any way to fulfill it ?
Details: There are two independent devices and could be far enough say out of network. My requirement one app adds some text with a image and sends it to another iphone which can be at any long distance , and the app installed in another iphone will read that info and image into itself.
Actually there is a solution that meets your needs — and that fits to bbums answer:
Create a HTTP-Server on the iPhone, using cocoahttpserver. than you will ask some webservice like whatismyip.com for your public ip. with this your iPhone can be connected worldwide.
But very likely ur wifi-network is not forwarding your port to the iPhone. Ash.
And even if: Now it gets difficult. How to publish your ip from one phone to the other? hmmm... — I got it: I will exchange the information in a centralized space! In the web!
... wait — that would be a Webserver.
You see: Without any kind of server in the Web the users would need to exchange ip manually and have full admin power and knowledge about the local network.
So IMHO bbums answer is the only way to go.
PS: I am working with http server running on iPhones. In local network that works great, especially with bonjour. And you can use them over distance network — but only with reconfiguration of your router — something you shouldn't force your user to do
There is far from enough information to provide a specific answer.
two apps on two different devices?
are the two devices on the same network?
are the two devices both on WiFi?
do you need the user to receive a notification or something if the app isn't running?
If on same device, you can define a custom URL handler in the destination app and then openURL: in the source app to pass the data over. Encode your image and text into the URL, but be careful of size limitations.
If on different devices, there are many possible solutions, but answering the above questions will be critical to actually knowing what solution is appropriate.
Given your comment -- two apps, different devices, arbitrary networks -- then you are going to have to have some kind of server in between. Note that the recently added Game Center does have the ability to rendezvous two users, but it has a very particular user experience that may not be appropriate to your needs.
I would suggest that you investigate using push notifications to notify the receiving user of the availability of content. As for moving the content between, no direct connection is possible and you will have to have some kind of store-and-forward server in between. And, yes, a web server is going to be the easiest possible solution simply because HTTP is ubiquitous these days.
If there's no network of any kind available, but both parties have amateur radio licenses, then hooking the two devices up to HF packet radios might work.
THIS is super EASY.
I would code up some software that can turn data into modem signal, like the good old dial up modem. The device would actually make those annoying buzzing sounds.
You get the phone number for your friends nearest landline and call him.
He places his iPhone near the phones receiver in listen mode and you connect to his phone using your audible modem.
Bingo, via the power of sounds you have sent data which is decoded on his device and all for the very cheap price of a phone call, there are pretty cheap these days especially if you use Skype.
Easy Way (relatively speaking)
A way two apps on different networks can communicate without setting up a web server of some sort is as follows.
Use an existing third party storage system like DropBox.
Each app would need the login and password for your DropBox. Then both apps can read and write files that the other app can see.
An existing app that does this is a shopping list app called ShopShop.
The app on my phone and my wife's phone both link to the same DropBox account and the app keeps the shopping list synced up when one of us adds something to the list.