I am doing some feasibility research for a project and I am not an expert. I would like to control my smartwatch via Bluetooth Low Energy (BLE) from a device which is not a smartwatch. Nothing really fancy, no app running difficult tasks, no login/security, no external DB, just some controlling like: turning screen on, swiping back and forth, selecting and using basic functionalities embedded in every smartwatch let’s say by default (e.g. email, phone calls, sms, play music), and turning screen off. Basically, instead of interacting with the smartwatch via touchscreen, I want to interact to the smartwatch via BLE. Instead of using the smartwatch’s touchscreen as the source of inputs, I want to use another device as its source of inputs. Targeted OS is mostly Android (but any other is useful to know!).
1) Is there any smartwatch that allows developing such functionalities in the smartwatch itself, without developing in the smartphone (i.e. I deploy some APIs in the smartwatch that handle the BLE module and implement the tasks above mentioned)?
Can I pair my smartwatch with multiple devices also not necessarily smartphones?
I know that Pebble Time is highly developable and a solution like this one can be (or will be able to be) implemented, I am curious if there are any other models that can allow this amongst Android and iOS devices.
2) As I don’t expect many devices that allow what asked in 1, a smartphone app is to be implemented. All that I would like this app to do is bridging the BLE connection between a devices and the smartwatch. This means that I don’t want to implement a new email client app, or a new music player. I would like to use the apps present already in the smartphone/watch, but control them from another device via BLE (i.e. rather than via the smartwatch touchscreen). So basically the signals/controls will go from device to smartphone, and from smartphone to smartwatch (and from smartwatch back to smartphone, but due to the application that I am using). In short, I don’t want to develop a proper smartwatch app, but a smartphone app that controls a smartwatch (no app deployed in the smartwatch itself).
Are the APIs to do so from the smartwatch (swipe left, scroll down, select, etc. - basically the same exact APIs used by the smartwatch touchscreen driver) available for Android and/or iOS?
Your wisdom and ideas are more than welcome (please remember I am not a coding guru), thanks for reading!
Dan
I'm not familiar with the other smartwatch platforms, but I can speak for the Pebble.
Unfortunately, the things you want to accomplish aren't possible with the Pebble. We do have a private BLE SDK for developers that lets them write apps that can use BLE to talk to other devices, but we don't have any API's that let you simulate button clicks, controlling of system apps, etc.
Best of luck!
Related
Is there a way to purchase a low end smart watch, replace the os with android (not Wear OS) and develop a custom app for it? It is a single purpose device, so I don't need any of the extras that come with Wear OS, but I need much longer battery life and ability to pair w/multiple phones (not simultaneous connection, but quick switching). I need to pair the phone using bluetooth, connect to it from an app (either Android or iOS), send an image/text, initiate a vibration, and send back an ack, with info. Ideally send heart rate as well.
I'm really not sure how to get started. I know how to develop apps in android studio and Wear OS as well, but it's taking me a long time to figure this out and I was hoping somebody might have done it before.
This seemed promising, but it wasn't the exact use case. It would even be great to test on some non smart watch android device or board.
I would like to create an application where near phones/devices can send data between each other.
it should look like that all devices except one turn on some listening function. One device create game and add each of devices from list to game.
I know how to accomplish this task with use of intermediary server. But I would like to achieve this in a different way without server. For example I can create app which find near ibeacons and displays them in a list, and get data from them. Is it possible to make to way communication by bluetooth between phones with bluetooth?
Maybe other technologies? I do not want to use NFC, because range is to short.
Another limitation is that, this solution should be an cordova/phonegap plugin?
Edit:
I need to communicate between users devices. For example I want to make app where two users standing near each other chat together. Messages should be send between phones, without server.
It sounds like iBeacons is the perfect solution for what you're attempting to achieve. It doesn't require NFC or a server–only devices that have Bluetooth 4.0 LE (Low Energy).
If you're unhappy with iBeacons, I recommend the Multipeer Connectivity framework that also became available in iOS7:
https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/
Here's a good tutorial on AppCoda:
http://www.appcoda.com/intro-multipeer-connectivity-framework-ios-programming/
Another benefit to using the Multipeer Connectivity framework as opposed to iBeacons, is that it doesn't require Bluetooth 4.0 LE, which isn't available on iPad 2 and iPhone 4 devices.
I am planning a new application that I would like to put on the smartwatch. I would like to have it usable also when there is no phone nearby. The app needs no Internet connection to work, could synchronize data to the phone later and I do not need anything from the phone while the app is running. However I could use the phone no problem to install the app.
I have googled, there are some foggy talks on a web that this is not possible, Android watch must always be connected to the phone for apps to run. How much is it true?
With Android Wear 2.0 it is possible to now develop standalone applications and thus eliminates the need for a mobile 'companion' completely.
Please follow this link for more information: https://developer.android.com/wear/preview/index.html
As I am aware, the current Android Wear version always requires a companion app for installation purposes etc. But with 2.0 this is no longer necessary. It would probably make sense for you to start developing with 2.0 now. That being said, it is still in a development preview and can officially run on only two smart watches (Huawei Watch and LG Watch Urbane 2nd Edition)
Wearable apps are run directly on wearables and don't require presence of a phone except for installation or phone-provided features (voice recognition, SMS, internet connection etc.)
Note that some features are wearable-provided or phone-provided depending on the hardware configuration of the watch/wearable (eg. GPS).
Yes, it is most definitely possible. As long as the wearable app doesn't require any functionality from the phone then it can operate as a standalone device. It will require a companion app on the phone to install the app on the wear device.
There are several wear apps that work without the need to be tethered to the phone, including Google Play music. There is the possibility of designing wear apps for hardware on only a few wear devices - I know that Ghostracer has standalone functionality using GPS, but it requires the wear device to have a GPS chip (it is designed for the Sony SmartWatch 3).
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
The Challenge:
I'm working with a client to create a prototype for a fleet of touchscreen consumer point of sale kiosks. My first challenge is to create a touchscreen interface using a tablet that fulfills the following requirements:
The tablet must only give access to our web app. I assume this will be done with a web view within an app. I could also be swayed into building a native app using Cordova.
The tablet internet connection must be over ethernet/usb, no wifi/bluetooth can be used due to regulations. I plan to do this by connecting the tablet via usb to a raspberry pi with ethernet connected to it. The raspberry pi will also host a very simple local server and be a communication hub for a barcode scanner (for scanning products) and credit card scanner.
In the event of a power outage, I would really like to have the tablet power up and launch the app without any human intervention when power returns. This allows us to know the kiosk will always operate without any help from staff. The device will also likely be in a locked enclosure preventing anyone from reaching any of the physical buttons.
I am not an android developer by any means, however I know that iPad will not work because you can not supply network connection over USB easily and cannot auto launch an app after power cycle.
My questions:
What do I need to consider if I'm going to pull this off? Do I need to root each tablet and is that process going to be scalable for creating lots of these (~100) kiosks? I have found posts like this one regarding how to put an android tablet into "kiosk mode". Seems like a good start.
Is running this app in a web view a good approach or is a native app built with Cordova better approach. I am unlikely to build it in native SDK due to concerns with maintenance.
Is it possible to power the tablet up automatically when power is present or does someone have to physically push the power button?
Thanks in advance for your feedback!
The tablet must only give access to our web app. I assume this will be done with a web view within an app. I could also be swayed into building a native app using Cordova.
For your app to be the only accessible app on the tablet, look into the new "Kiosk Mode" new with API 21 (5.0 or Lollipop). If you are unable to use API 21, then you could potentially create a launcher app that disables the back button, the home button, and find a way to hide/disable the settings and notifications bars.
The tablet internet connection must be over ethernet/usb, no wifi/bluetooth can be used due to regulations. I plan to do this by connecting the tablet via usb to a raspberry pi with ethernet connected to it. The raspberry pi will also host a very simple local server and be a communication hub for a barcode scanner (for scanning products) and credit card scanner.
It's pretty straightforward to programmatically turn off all wireless network connectivity with Android's system services. For example:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
Is all that would be needed to turn off WIFI (with the correct app permissions).
In the event of a power outage, I would really like to have the tablet power up and launch the app without any human intervention when power returns.
As far as I know, the device turning back on without human intervention is impossible. You will be able to have the app launch at start up by listening for the android.intent.action.BOOT_COMPLETED intent. If your app is the default launcher app, your app will be shown on startup.
In terms of rooting the device, this would be helpful as you would get more access to system level APIs. For example, you could install your app as a system app and let it reboot the device automatically if it encounters major problems.
I just need some initial directions as I am new when it comes to electronic hardware and android phone/app interaction. I am comfortable in both domains within their boundaries.
I have a black box electronic circuit. To simplify things lets assume all it does is, send binary 1 or 0 i.e. electric On or Off pulse. I need to connect this circuit to the android phone via USB(either Host/accessory mode) and want my android app to react to this pulse.
If possible - start the app when the phone receives 1/ON signal
OR display an "Switched ON" dialog message while the app is running in background as a service
Please dont worry too much about the electronics part. I'm aware that this is a software/programming forum.
e.g. black box : a electronic thermometer that sends a pulse/1/On signal if the temperature goes to 100 degrees Centigrade OR anything similar that's on a simple circuit board(no processor or programming language/architecture dependent) and could trigger a signal that could be sent to the android phone to inform my app that the event occurred.
another even simpler example, an earphone that has a connect/disconnect call button connected to audio jack of the android phone. i just need to replicate this functionality. instead or ear phone, my electronic BB and instead of phone call program, a custom android app.
Links, DIY projects, Tuts anything will be really helpful
This is a big open question. I'm guessing what you are asking for is a "real-world <=> Android" USB interface. This requires some hardware and some software. You may want to have a look here:
http://www.yoctopuce.com/EN/products/usb-sensors/yocto-knob
http://www.yoctopuce.com/EN/article/sample-applications-for-android
You may also want to have a look at the competition
www.phidgets.com
Be aware that making a USB device working with an Android device is not as straight forward as it sounds: you will need a Android device able to work in host mode, the Android image used in the device must support USB devices and you may have a power problem if the device is supposed to be powered from the USB port you are planning to use.
The experience shows that the cheapest an Android device is, the more unlikely it will work with exotic USB devices.