iOS usb/serial access and use

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

iOS usb/serial access and use

Mark Wieder via use-livecode
I've managed, with a lot of help from the community, to get the mergBLE commands and messages working very well between my LC iOS app and an arduino.  Now, for the next "component", I'd like to be able to communicate to and from the arduino to and from an iOS device (iPhone or iPad) via a "hardwire" connection... just in case BLE is disconnecting or generally unreliable in certain environments.

 

I done a fair bit of web searching but cannot find a way to reference the iOS USB via LC.  There's info on Linux, Windows and MacOS, but none (that I can find) on iOS.  Obviously LC *can* employ the USB on an iOS device.... it does it in its Development / "Test" and "Test Target" functionality to send an app to an attached iOS device.

 

I've seen a portion of Apple's USB development doc's and spec's ... since I'm not an XCode user, they don't make any sense to me and don't (seem) to indicate any "device name".  There are various mentions of "sandboxing" the app and then enabling various "entitlements" ... one of which is " Allow USB Access: com.apple.security.device.usb".  I'm totally clueless on this sort of reference.

 

(taken from LC forum: Re: Help extracting information from USB port data ... Post  by MaxV > Tue Jan 27, 2015 3:52 pm)

and translated from:  http://livecodeitalia.blogspot.it/2014/ ... porta.html

 

Windows:

*open* driver "COM2:" for binary update

 

while on Linux ports are tty (or something similar) into the folder / dev , then:

*open* driver "/ dev / tty2" for binary update

 

Mac is a bit more complicated, because the name and position changes with each version, however, for the rest it is like on Linux:

# Try one of these: /dev/cu.usbmodem2, /dev.tty.usbmodem2, /dev.cu.usbserial2,

*open* driver "/dev/cu.usbmodem2" for binary update

 

.... "missing" iOS ...

 

So ... anyone who can give me a push in the right direction would have my most sincere appreciation.  I haven't actually tried the Mac examples but since I'm fairly certain of the very significant differences between MacOS and iOS, I'm skeptical of even trying.... I will and report back here... but I'm not likely to have any success.

 

Cheers!

Doug

 

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: iOS usb/serial access and use

Mark Wieder via use-livecode
Hi Douglas

Unless something has changed recently iOS does not provide a public way to use the USB cable. It could be that there is a third party accessory that you can plug in to do this though. If so you could use mergAccessory to read and write to it.

Cheers

Monte

> On 16 Apr 2018, at 1:42 am, Douglas Ruisaard via use-livecode <[hidden email]> wrote:
>
> Now, for the next "component", I'd like to be able to communicate to and from the arduino to and from an iOS device (iPhone or iPad) via a "hardwire" connection...


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: iOS usb/serial access and use

Mark Wieder via use-livecode
In reply to this post by Mark Wieder via use-livecode
Thanks for the reply, Monte.  Well, that's disappointing but not surprising.  Kinda like "Dad" not letting you drive his car ... although I'm likely older than "Dad" and willing to take the "responsibility".  I guess it's on to XCode, then.  It's good to have a definitive answer to this question.  Fosters confidence in web searches ... even negative result ones.

It does somewhat bother me, though, that use of the USB to an iOS device *is* available "within" LC but not exposed as a function... I though the LC IDE was written in LC ... someone had that in a posting I read recently ... so, in principle, it "could" be made available to developers.  It's not as if LC doesn't allow us to access and use serial/USB devices in other OS's!  I'm sure in this age of wireless-ness, hardwire connectivity is a conceptual dinosaur but, for us die-hards, it remains a viable alternative.

Douglas Ruisaard
Trilogy Software
(250) 573-3935


Hi Douglas

Unless something has changed recently iOS does not provide a public way to use the USB cable. It could be that there is a third party accessory that you can plug in to do this though. If so you could use mergAccessory to read and write to it.

Cheers

Monte

> On 16 Apr 2018, at 1:42 am, Douglas Ruisaard via use-livecode <[hidden email]> wrote:
>
> Now, for the next "component", I'd like to be able to communicate to and from the arduino to and from an iOS device (iPhone or iPad) via a "hardwire" connection...




_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

RE: iOS usb/serial access and use

Mark Wieder via use-livecode
In reply to this post by Mark Wieder via use-livecode
Hmmm... I found an interesting and possibly an exploitable approach... possibly in combination with Monte's suggestion that "mergAccessory" may be a component.  In the link:
https://apple.stackexchange.com/questions/13605/how-to-get-started-with-interfacing-usb-devices-to-ipad

 ... there is discussion about using a MIDI device as an attachment to an iOS device.  I could easily get the arduino to appear to be a MIDI device, since that merely involves using a specific "protocol" for moving data AND there are many arduino project which use the arduino for MIDI processing, input and output.

Question is.. how would I go about "marrying" the two... a MIDI "device" and Monte's "mergAccessory" external?

Douglas Ruisaard
Trilogy Software
(250) 573-3935


-----Original Message-----
From: Douglas Ruisaard [mailto:[hidden email]]
Sent: Monday, April 16, 2018 7:14 AM
To: '[hidden email]'
Subject: Re: iOS usb/serial access and use

Thanks for the reply, Monte.  Well, that's disappointing but not surprising.  Kinda like "Dad" not letting you drive his car ... although I'm likely older than "Dad" and willing to take the "responsibility".  I guess it's on to XCode, then.  It's good to have a definitive answer to this question.  Fosters confidence in web searches ... even negative result ones.

It does somewhat bother me, though, that use of the USB to an iOS device *is* available "within" LC but not exposed as a function... I though the LC IDE was written in LC ... someone had that in a posting I read recently ... so, in principle, it "could" be made available to developers.  It's not as if LC doesn't allow us to access and use serial/USB devices in other OS's!  I'm sure in this age of wireless-ness, hardwire connectivity is a conceptual dinosaur but, for us die-hards, it remains a viable alternative.

Douglas Ruisaard
Trilogy Software
(250) 573-3935


Hi Douglas

Unless something has changed recently iOS does not provide a public way to use the USB cable. It could be that there is a third party accessory that you can plug in to do this though. If so you could use mergAccessory to read and write to it.

Cheers

Monte

> On 16 Apr 2018, at 1:42 am, Douglas Ruisaard via use-livecode <[hidden email]> wrote:
>
> Now, for the next "component", I'd like to be able to communicate to and from the arduino to and from an iOS device (iPhone or iPad) via a "hardwire" connection...




_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: iOS usb/serial access and use

Mark Wieder via use-livecode
In reply to this post by Mark Wieder via use-livecode


> On 17 Apr 2018, at 12:13 am, Douglas Ruisaard via use-livecode <[hidden email]> wrote:
> It does somewhat bother me, though, that use of the USB to an iOS device *is* available "within" LC but not exposed as a function... I though the LC IDE was written in LC ... someone had that in a posting I read recently ... so, in principle, it "could" be made available to developers.  It's not as if LC doesn't allow us to access and use serial/USB devices in other OS's!  I'm sure in this age of wireless-ness, hardwire connectivity is a conceptual dinosaur but, for us die-hards, it remains a viable alternative.

I think you are talking about mergDeploy here and that is a very specific use case of installing an app onto a device rather than general USB access. Indeed mergDeply uses private APIs to do what it does but that’s OK because we aren’t trying to release LiveCode via the App Store.

Cheers

Monte
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: iOS usb/serial access and use

Mark Wieder via use-livecode
In reply to this post by Mark Wieder via use-livecode


> On 17 Apr 2018, at 3:27 am, Douglas Ruisaard via use-livecode <[hidden email]> wrote:
>
> Hmmm... I found an interesting and possibly an exploitable approach... possibly in combination with Monte's suggestion that "mergAccessory" may be a component.  In the link:
> https://apple.stackexchange.com/questions/13605/how-to-get-started-with-interfacing-usb-devices-to-ipad
>
> ... there is discussion about using a MIDI device as an attachment to an iOS device.  I could easily get the arduino to appear to be a MIDI device, since that merely involves using a specific "protocol" for moving data AND there are many arduino project which use the arduino for MIDI processing, input and output.
>
> Question is.. how would I go about "marrying" the two... a MIDI "device" and Monte's "mergAccessory" external?

Unfortunately you need an official made for iOS device to use mergAccessory. It’s a special program that hardware manufacturers have to sign up to. Apple being Apple keep control of the ecosystem of hardware. Best bet is to look for a made for iphone thing that is designed as an interface to arduino or something.

Cheers

Monte
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode