Can an iOS app control a phone call? - ios

My Mom's deaf. I typically talk to her using a TTY service and she has a TTY phone at her house. I've looked in to iOS TTY and all it ever says is about connecting a cable to the iPhone to use a physical TTY. TTY uses 50bit per second baud-dot code for communications it should be trival to write a program that generates it on the iPhone. Just a sequence of tones, at a relatively low baud rate. BUT I need to be able to control the phone functionality from an app... Then I could type messages like "txting" and have it send baud dot code to my mom's phone. (I've tried giving her a computer, but she's 86... Old dog... new tricks...)
Any ideas?

No, it not possible. The official iPhone SDK does not allow this kind of interaction with the phone.

You can't do this on the phone, but you could try to make a webservice that does it instead. Then have the app connect to the service to deliver the message.
TAPIComm on this page looks like a sample to work from
http://www.tapi.info/default.aspx/TAPI/PSDKSamples.html
You'd need to run it on a Windows machine with a modem.

I know you were looking for an iOS solution, but it another option might be to switch her to an android phone, since android gives you MUCH more access to basic, deep-down elements of the OS, including access to the voice data stream.

Related

How to send direct command from Google Home to custom smart device without app name?

I try to build my custom IoT device that will be controlled via Google Home device, and serve people with disabilities.
The device itself is Tiva C Launchpad, that I program from scratch, meaning I will have a full control on it.
In my vision, the user wil say something like: "Ok Google, press play button", and as a result, the Google Home device will send a direct command of press_play_button to the IoT device, preferably via the local network.
I found the Google Action SDK, alongside with the Local SDK extention, but if I understood correctly, I have to be in the app mode first ("OK Google, play {app_name}") before pronouncing the action I want, which is inconvenient.
Is there any way to achieve my requirement?
If not, I may give up on the local network control, and use sort of a webhook to send HTTP request to my smart device, and in that case I wonder if MQTT will be more suitable.
Thanks.
The Local SDK is an extension to the Smart Home API. If your device matches up with the device types and traits that the Smart Home API supports then you can use that to control your device.
It has support for media players so things like play/stop should be possible.
I have build generic Smart Home control using MQTT to reach the device, but you have to provide a HTTP endpoint for the Google System to interface with. This take a little thought as you have to map MQTT asynchronous approach to HTTP's synchronous nature.

Calling number with iPhone on External Signal

What I am trying to accomplish is to make ios app that listens to signal (not yet defined in which form) and then call the number specified in received message. I've found that is impossible when app is in background due to Apple privacy policy, but I want it to be possible only when in foreground.
I am wondering if it is possible to develop similar mechanism like when you connect iPhone to MAC so you can call using your MAC. But I want to use this funcionality from Windows too.
For example. Lets say that I have Windows app written in Java that stores contacts. I click call and the number is send to iPhone (like I said using not specified yet method) and then iPhone calls that number.
Is there any possibility to accomplish this. If yes, what the best way to send and receive message with number (for example bluetooth ).

How to make existing device IOT only?

For iOS application, IOT(Internet of thing) is a new things.and we can connect our device with other hardwares.
My question is , is there any way by which i can connect our existing devices like (Air Conditioner,Other ele. component) IOT only?
Here is one of the best example for connecting and controlling such devices like A.C., TV, etc with your iOS device.
It's Open Source so you can explore more.
IRKit:
http://getirkit.com/en/
(opensource infrared remote controller).
IRKit is a WiFi enabled Open Source Infrared Remote Controller device.
Home electronics with an infrared remote, like air conditioners, TVs, lights can be controlled using iPhone and iPad via IRKit.
IRKit works with IRKit's official app and you can easily create iOS apps to send IR signals to control home electronics using IRKit iOS-SDK .
You can create apps for example that does:
Use location, turns on air conditioner when you arrive near your home.
Press one button to turn off all your home electronics when you leave home.
Connect with Facebook, and automatically change your TV's channel to which your friend is watching.
Hope It will help.
If your component have any types of connectivity which is suitable for iOS devices the you can do this, like:
If your Air Conditioner has bluetooth connectivity and it can handle command like turn on/off or controlling temperature, then you can do it with any kind of device that can communicate with the electrical components.
I used to turn off my computer via internet. There was a process running in my computer that hits an URL, receive JSON data and if it gets shutdown flag yes, it turn itself off. I can set that flag from my mobile. The lacking was I could not turn on.
Edit:
Yes you can, but you have to do a lot of hardware related work. like: Bluetooth Relay Controller. Here is a video.

Iphone as a start button

I would like to develop an (personal) iphone app to use the iPhone as a controller for a small device such as a fan or for example a light bulb. Does anyone know if there is some kind of controllable iphone-dock to use for something like this. And are there some kind of methods to use with such a dock? For example the fan just needs a variable voltage for different rpm.
Thanks in advance,
EAAccessory requires that you become a Apple hardware partner, which is very expensive and not easy (this is why you only see large companies releasing hardware accessories for iOS devices).
There's a few ways around this. The easiest way is to have your app send OSC signals over WIFI to an OSC server. I've set this up before using TouchOSC on the iPhone and an Arduino connected to my desktop via USB. It's not hard at all, but it requires that you have an Arduino connected to a computer; it's not ideal.
Alternatively you can use audio output to send commands over the line output in the iPhone's dock connector, effectively turning the iPhone into a software modem.
Good luck and if you get this figured out, post the code on github. :-D
EAAccessory framework might not be what you want because of the requirement for you to have the license and hardware. You could better implement some sort of small webserver that runs an arduino or something similar. check this out for an example of that. on the arduino, you could just have a 5v relay to control the switch of whatever device and have the other pins of the relay connected to a hot (or cold depending on the relay state) standard 120v plug so you can plug anything into it. here is a good project for arduino controlled relay
for direct serial control, you could do something like this but it would require being jailbroken. i think for a personal app, doing it via wifi would be the best way unless you jailbreak and install the full bluetooth stack where you do not need EAAccessory stuff
Check out EAAccessory Framework. Used to handle external devices.
You could try using an ultrasound detector attached to your device, and playing an audio file at the appropriate frequency etc. on the iPhone.

Can an iPhone application running in the background transfer data via USB interface?

There are 2 iPhone applications. One application running in the foreground and the other running in the background. Is there any way to get the background application to send data over USB without coming into foreground? Ideally we want to keep the foreground app in the foreground, while the background app process some data. Once the data is processed it will inform the foreground app that the data has been processed.
No it cannot. It cannot even do this without the use of private frameworks, unless you're in the Made for iPhone program. If you are, then your organization will know, based on the documentation made available to you, what you can and cannot access, when and how.
Should you be in the Made for iPhone program, and are unclear as to what you have access to and when, contact the person in your organization who is the technical contact with Apple for this program, they will be able to give you the details.
If the task is started while the app is in the foreground and you call the appropriate beginBackgroundTask/endBackgroundTask methods, you should be able to have it continue running after the app is backgrounded.
Note that access to USB is restricted (see jer's answer) and that there's no officially sanctioned way to communicate between different apps on the same device. Also, you can only buy/download one app at a time in the App Store and I can't see Apple approving an app that required you to download a second app for it to work. So you may have bigger problems to solve first.
It would help significantly if you told us what you actually wanted to achieve. For example, "I want MyApp on the user's phone to communicate with MyApp on the user's computer".
The absolute easiest way is to send data between the phone and a computer is to require that they're both on the same Wi-Fi network. Several iPhone apps incorporate a web server (this was the easiest way of "file sharing" before OS 3.2), and many more iPhone apps connect to a computer running server software.
Your other options, more or less:
Reverse-engineer the Bluetooth side of GameKit and reimplement it on the computer-side. I'm not aware of anyone who's done this. Loosely, I think it's IP over Bluetooth PAN plus some sort of Bluetooth service discovery.
Audio input/output, e.g. the headphone jack or certain pins on the dock connector. I'm not entirely sure how the mic side works (the resistance was a bit high for a carbon mic when I checked), but you might get lucky and find a way to turn it into "line in" or find "line in" pins on the dock connector.
A webcam pointing at the iDevice screen (and the iDevice camera pointing at the computer screen). Ewwwww.
Join the MFi program.

Resources