I'm sorry I can't give more help, but I'd also explore what happens when you tether an iphone to a Windows 10 computer to share the phones wireless connection. This requires only an ordinary charging cable and installing itunes on the windows machine. I believe it does something similar to rndis networking as well, but have not explored it.
good luck with your project and I hope you get something like this working - all of us could use it...
RNDIS is networking, but it only requires a USB connection between the two devices. Look it up. It's pretty slick! The only complication is that one device must be a host and the other a client.
For example, to connect a pi to an iPhone, you connect the lightning plug of an Apple camera connection kit adapter to the phone and then plug a standard USB type A to USB-c cable into it. Then you connect the other end of the cable into the PI, but it goes to the usb-c power connector, NOT the normal USB ports.
The connection is via IP networking, but no other network adapter is needed.
It acts like an Ethernet cable if you do it right, but you can turn off all other networking and it still works! I use it regularly.
Sorry, I can't help you sort out the details of the cabling and drivers you'd need for Windows, but if you get it right it definitely works.
Google RNDIS! It may do what you need.
P.S. I've looked into this a bit more, and while it should be possible to make this work (it's how tethering many phones to windows works!), the details appear to be hard to come by. Too bad - it works great between macOS/iOS and Linux machines that have fully supported USB-c.
It appears that you need a windows machine with USB OTG capable ports, the correct OTG driver for that port, and the standard RNDIS network stack and some inside information from MS to do this.
Sorry if it's not practical at this time with windows.
I've had good luck with using Pythonista for SSH interactions with other networked computers. I use the paramiko library that's pre-installed.
In cases where I can't use the internet, I use apple's Camera Connection Kit (a small dongle that allows USB devices to be plugged in to the iphone/ipad). It turns out that Apple supports RNDIS networking over USB with no configuration needed. It works great.
Hint: most people don't realize that SSHD hosts accept command lines as part of the initial connection that are executed by a shell and then exit after returning the results. It's almost painless and easy to debug, since every platform works this way...
I haven't used RNDIS for this purpose on windows, so I can't give you any advice on setting it up on Windows, but it's a Microsoft invention - so it can't be that complicated. I use it all the time between my iphone, ipad and raspberry pi boxes. It's very simple and reliable on that platform.
Windows 10 now supports SSH via their own SSHD installation that's an option in their program manager. I use it all the time, but haven't tried the above mentioned SSH "poor man's IPC" this way with windows.
Hope this gives you some ideas...
PS: Parmiko also works on almost any other host that supports python. I run the exact same python programs I wrote in Pythonista on my iPad on my Macbook Pro, Rasberry Pis and other computers to access my furnace monitoring system. It even works identically if you run the same programs under Pyto (if that's to your taste).
The PI Hardware is dual mode, but wasn't originally set up for BLE by default. I believe that the support package needed to do this is "BlueZ" and you may need to build a non-standard version and install it to play with this.There are some examples on YouTube and elsewhere.
I got as far as using pi shell commands to enable BLE, but never got it working reliably with other equipment and haven't had time to get back to it.
The situation is complicated now that the PI GUI takes over control of Bluetooth for its own uses. I don't know if you can get BLE working without disabling the Raspbian use of it for keyboards, mice, etc. which is now enabled at bootup.
Depending on what you are doing, you may also need to get it running as a "slave" instead of it's usual role as a master on the pi.
Try googling BlueZ and BLE and PI together. There's a lot info out there, but much of it is out-of-date...
hope this helps a little - it would be great to see it working, since the PI Zero is easy to work with for building very powerful peripherals...
For IOS direct and BLE connectivity, I'm playing with boards available from Adafruit and other vendors. I'm using the Adafruit ones and find they're very easy to use, work well and have a lot of support documentation and examples. Some are actually programmable in a python dialect called Circuit Python.
I have NOT, however tried them with the cb module, but there's no reason they shouldn't work.
The easiest way to do what you are trying to do is to skip cb and use HID interfacing to create actual keyboard devices. This way your python program can use regular keyboard IO.
In fact, I've even used HID USB interfacing with Apple's Camera Connection Kit adapter to connect this type of device via USB.
The Adafruit "ItsyBitsy M0 Express" is a tiny controller that can be powered and run directly from a USB connection. A trivial python program can be used to simulate keyboard codes from contact closures with no additional parts besides the switches. I'm playing with a "page turner" that uses a foot pedal to turn document pages this way.
I'm also playing with a similar project using BLE with a fancier board called the "Feather MO Bluefruit LE". It's based on the popular Arduino development support, but there are plenty of samples and documentation for doing this kind of thing. There are many more boards available from Adafruit and others at various price points with different BLE and hardware IO and programming support.
All the BLE boards also support general purpose "BLE GAP" programming if you want to use the "cb" module to communicate, but I haven't played with that approach very much.
Just google "Adafruit".
Hope this info helps....
( I have no connection with Adafruit - I'm just a satisfied customer...)
Yes and it had me scratching my head in SSH as well (I rely heavily on unix command line help options)!
It's easily fixed by going to Settings:General:Keyboard and turning off "Smart Punctuation".
I don't know if smart punctuation has always done this or not, since I normally turn it off to avoid problems with quote marks.
In any case, the update seems to have turned it on.
hope this helps...
Thanks very much for this - it's cute and looks very useful. As a new Python programmer, I'm amazed at the power of the Flask library and am studying its manual closely at the moment.
No problem installing and running the script on the latest Pythonista - I do have one practical problem using the script however:
The file downloaded on connection to my macbook pro running OSX 10.11.5 Safari takes on the name of the url of the connection - in my case "mpv-ipad.local", since the URL I used to connect used Bonjour.
I had to manually rename it with a .zip extension before it could be recognized and opened. Shouldn't there be an easy way to get the server to provide a header that results in the correct filetype (and hopefully filename as well) being downloaded?