+ Reply to Thread
Page 1 of 26 1234511 ... LastLast
Results 1 to 20 of 520

Thread: Programming Propellers from iPad

  1. #1

    Default Programming Propellers from iPad

    Hello,

    Parallax has been running educator's courses for instructors in Taiwan, China, Netherlands and USA in recent months. The purpose is to introduce the teachers and their students to the Propeller ActivityBot and C for Propeller as shown in Learn.parallax.com. The reception has been very good and we're now seeing some classroom use as a result of our efforts.

    We've also requested feedback from educators, like this http://www.parallax.com/news/oct23-2...-learn-program. Since last week, many educators have written us and requested iPad support. Between student-owned iPads and schools which are furnishing every student with an iPad this has become a very common request. No requests for Androids yet, only iPads. Even my own middler schooler is in a public school where iPads have been given to every single student (there's a funder who worked for Apple). They also want to program ActivityBots, but there's not a PC or Mac to be found in their building beyond the teacher's machines.

    I thought I should start with you, our customers and developers, to ask about how this might be achieved. It's a project I will take on myself in Parallax, but I don't know much about the iOS environment and what possibilities may exist for running our tools. In order to talk with developers I need to have a better idea about what's possible. These are some considerations I'm aware of:

    - programming interface: RS/232/USB via cable, WiFi, or Bluetooth
    - tool compatibility: Qt tools and SIDE, OpenSpin - can these tools be compiled for iOS?
    - running tools on iOS vs. externally on a server, with browser interface - is this possible?
    - where to find developers

    Anything you might be able to tell me about engineering issues, design considerations or alternatives would be appreciated. It is my hope to determine whether or not this is possible, and then to build a requirements document/specification so we could talk with contract developers.

    Thank you in advance.

    Ken Gracey

    Ken Gracey | Parallax Inc.| Direct
    : (916) 625-3010 | www.parallax.com

    Follow me on Twitter




  2. #2

    Default Re: Programming Propellers from iPad

    Qt for IOS is possible with Qt5.2 http://blog.qt.digia.com/blog/2013/0...r-ios-preview/

    It may be possible to migrate the existing SimpleIDE code to Qt5.2 ....
    Of course Qt5 has other attractive features like mucho-better serial port support

  3. #3

    Default Re: Programming Propellers from iPad

    Communications between an IOS device (iPhone or iPad) and a Propeller is difficult. Redpart makes a serial cable that plugs into an older iPad and provides a DB9 connection, but apps that use this cable are not allowed in the App Store. Apple's Bluetooth implementation does not allow SPP. It does allow low power Bluetooth though and you might look at what TechBasic does with that. The easiest way to provide a serial connection is with a WiFi connection. TechBasic also supports that and there are some terminal emulators that will work over a Telnet serial port. I've been able to program a Propeller running FemtoBasic using Mocha Telnet on an iPad or iPhone via a WiFly module on either a Propeller BOE or Propeller Activity Board running PropBOEBasic or FemtoBasic for the Activity Board. An IOS application could be written using the same download protocol used by PhiPi for the Propeller Backpack and download programs via some kind of WiFi module like the WiFly. Parallax would need to register as an IOS Developer and go through all the hoops Apple requires for its developers, but that's doable. By using WiFi for the serial link, you avoid having to fight with Apple. There is a pretty good program editor for the iPad that could be used for the code editing (Textastic). It might be possible to use that application as the code editor and use Dropbox as the communications link between the editor and the compiler / downloader. I envision editing using Textastic or some similar editor, having that store its program text on Dropbox, then send a notification to the Propeller compiler of the location to find the source program, then the compiler would run, compile the program and, if successful, allow the user to download the program via WiFi to the Propeller. On a compilation error, it could send a notification back to Textastic (or whatever) to position the editor to the point of error, maybe using the clipboard to hold the error message and text position. You'd have to talk to the Textastic people about that, but they'd probably be interested in adding that sort of feature.

    See this thread, post #10. Using FemtoBasic is a way to get started with this while more general solutions are being developed.

  4. #4

    Default Re: Programming Propellers from iPad

    As Jazzed states, it's quite possible to port code to iOS. The hard part is communicating from the iOS device to upload executables to the Propeller board.

    For communication between an iOS device and a microcontroller board, you're currently limited to:

    RedPark 30-pin or Lightening cables for serial comms
    Bluetooth Low Energy (BLE)
    WiFi

    The serial comms method with RedPark's cables is also limited by Apple's policies on what apps they'll allow in the App Store (which without jailbreaking is the only way to install iOS apps for non-iOS-developers). RedPark's site claims that Apple policy does not allow apps that communicate via the RedPark cables, yet!

    The only library-supported option for Bluetooth is for iPhone 4s and newer iOS devices. And that requires Bluetooth BLE (Bluetooth Low Energy) devices.

    WiFI could provide a solution. That would require support in the Propeller board similar to the XBee upload solutions discussed in the forums.


    Helpful URLs:
    RedPark cable/adapters: http://redpark.com

    Bluetooth Low Energy: http://en.wikipedia.org/wiki/Bluetooth_low_energy

    Having stated the above, an app that garners huge interest might warrant Apple's attention. If a large number of educator's have interest in an app that requires serial communication between iOS devices and educational electronics devices, things could change.

    dgately

  5. #5

    WBA Consulting's Avatar
    Location
    4.3 Light Years from Rigil Kentaurus
    Posts
    2,210
    Blog Entries
    26

    Default Re: Programming Propellers from iPad

    Any way to dump the whole USB concept altogether and go from the iPad to a Micro SD card? Then, you just need an SD bootloader loaded in the target device's EEPROM via USB once. Version 2 of my M44D40+ Module has uSD on it specifically to negate the need for a Prop Plug, thus a cost savings to the end user.
    Andrew Williams
    WBA Consulting

  6. #6

    Default Re: Programming Propellers from iPad

    What is the downside to using BLE?

  7. #7

    Default Re: Programming Propellers from iPad

    Nice idea Andrew.

    I think the problem with SD card is mechanical failure opportunity (low MTBF). A WiFi SD card would solve the mechanical issue though.

    Blue-tooth could be made to work in all environments with a little extra effort.

    In any case other than a direct connection via serial port or USB HID, a secondary loader running on Propeller would be required.

  8. #8

    Default Re: Programming Propellers from iPad

    I think the big disadvantage to using wifi is having to switch back and forth between networks.

    I am assuming that it would have to work much like the GoPro does. You have to disconnect from your internet wifi and then connect to the GoPro network to use it., then switch back to access the internet again.

  9. #9

    Default Re: Programming Propellers from iPad

    I can appreciate the frustration using Apple iOS vs. Android. On a recent project I'm working on we have to be able to communicate with iOS and Android via bluetooth. What I have looked into is the Blue Giga bluetooth radios (BLE112 & BLE113). Blue Giga has a knowledge base forum that has a "workaround" using bluetooth low energy in a "cable replacement mode". You might find this helpful. You may have to register to view their files.

    https://bluegiga.zendesk.com/entries...le-for-ble113-

    Standard bluetooth, as everyone knows here, has the SPP profile to use as a serial cable replacement but low energy does not offer that same profile. I have also been looking into "dual mode" bluetooth modules that have both the standard and low energy components in one device. They are relatively new to the market and the ones currently available are rather pricey.

    There is one that looks to be reasonably priced but is not available yet- the Panasonic PAN1026.

    Here's another from ConnectBlue @ Digikey- http://www.digikey.com/product-detai...058-ND/3837627

  10. #10

    Default Re: Programming Propellers from iPad

    My 2 cents... Look at hosting the editor which breaks OS dependency. There has already been work in HTTP base SPIN editors. If done right, you could end up with a social media Spin/C site where educators gather to share code and experiences. It will enhance your SEO...

    I need to put more thought in the programming aspect. I'd lean toward WiFi because there's a lot of WiFi out there in the world, at least in the US.

    I think the big disadvantage to using wifi is having to switch back and forth between networks.
    I'm not sure this is a constraint.
    Last edited by Mike G; 10-29-2013 at 11:21 AM.

  11. #11

    Default Re: Programming Propellers from iPad

    Good luck with that.

    The ipad is a fairly miserable content creation tool, even for spreadsheets and word processing. Besides the hardware interface lockdown (which can be overcome), you've then got the problem of the locked down file system which wont like accessing multiple folders of content like we do in spin or c.

    Historically, apple hasn't allowed programming apps they don't control. I remember they banned a commodore 64 emulator from the store because it had BASIC, though I don't know if they are still that strict. Even so, it might mean having to load things with the developer platform, which is a huge pain. Keep in mind that all these challenges are completely intentional on apple's part.

    Can you get an ide onto an iPad?? Probably. It might be easier to provide an android tablet or Linux/Chromebook netbook with a kit as part of a package. Either way, an iPad ide for programming wont be a great experience on an iPad. A graphical computing environment like nine blocks would be cool on the iPad, however.

    A big reason why we stayed away from the iPad for NATO and the army was that apple could shut us down at any time on a political whim. As a company, they can be pretty evil. I dont mean to be negative, you CAN do it.

    By the way, the schools wont let you jail break the iPad anyway. They want em locked down too.
    -----------------
    Thomas Talbot, MD - New Market, Maryland, USA

  12. #12

    Default Re: Programming Propellers from iPad

    Ok I was looking through copies of BYTE magazine from 1981 last night, don't ask why, and saw a trs-80 product that allowed one teacher to connect 16 trash 80s to one floppy drive and printer. Could you have one computer that is a WiFi web server based ide?? Each classroom propeller board is wired with its own xbee with custom address, so all the prop programming is done through safari but all the ide part is on the pc. The robots or props all program wirelessly. You sell this as an integrated product for big markup.
    -----------------
    Thomas Talbot, MD - New Market, Maryland, USA

  13. #13

    Default Re: Programming Propellers from iPad

    It sounds like everyone has hit on the connectivity issues and options and the proprietary issues Apple has with letting anything they consider a "programming language" onto the Apple. I'll add my two cents scattered around the field.

    The iPad (and tablets in general) are miserable text input devices. They are cool to carry around and open up amazing portals to the world for consuming content but they are really bad for creating content. They suffice for completing forms, filling in query boxes, writing forum comments and other small tasks with limited editing or cut/paste needs. If you get into creating any documents of more than one page or that require a lot of editing or that require you to view large parts of your document at a time, then the tablet is not the tool. These last few tasks describe the programming environment.

    The best options for programming Propellers from an iPad seem to be:

    1) use a graphical interface (like 12blocks or the S2 GUI)
    2) use an interpretive language running on the Propeller with a command line interface (telnet or serial) - this currently leaves you with a Basic on the Prop or Forth (Propforth or Tachyon)
    3) use a hosted IDE though a web browser. Something like Invento-O-Doc described.

    The best two hosted IDEs I've worked with are Cloud9 for the Beagles or Google Coder for the Raspberry Pi (it can actually be hosted on any desktop or server, also). Google Coder is currently targeted for HTMl/JavaScript/Node.js learning and development but the implementation is well executed and it could be adapted to using other backends to generate and deliver code. I would think delivery of executable packages to a Propeller would certainly be doable.

    A hosted IDE still leaves you with the basic text entry & editing issues of a tablet but it moves connectivity to the Propeller to a more open and better understood arena. The fact that it can be hosted on the Rasberry Pi gives you an inexpensive "programming module" that can be accessed from tablets or PCs. As a hosted application, it should also be scalable to larger platforms to support small groups or classrooms a s the needs change.

    Either way you end up going, it's a project with a lot of upside for schools and hobbyists.
    MOV OUTA, PEACE

    ... Rick


    I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!

    "Forth is FUN!"

    Introduction to TACHYON Forth


    PropFORTH Wiki

  14. #14

    Default Re: Programming Propellers from iPad

    @Rick,

    Is iPad coding (text entry) miserable with a bluetooth keyboard connected?

  15. #15

    Default Re: Programming Propellers from iPad

    @Rick and Brett: you make wonderful points about user interface considerations of using an iPad. These discussions come up internally quite a bit, too. There is a bit of impracticality to using an iPad with programming tools like we make, and perhaps a GUI-configured ActivityBot is a productive solution.

    But I've got another question for you: have you seen how iPads are being used in schools? Like a full computer. There are some serious advantages that guys who've been raised on computers won't readily understand until you see a middle schooler or high schooler show you what's possible. Starting with their integrated keyboard case, they're turning a tablet into something that resembles a full computer. Add to it the iTune University tools for managing homework and curriculum, AirDrop for file sharing (no router required!), the wireless video display capabilities, a Bluetooth mouse to make presentations/navigation/videos easier and quicker and these tools are darned effective! Nevermind that most of it can be done on Chromebooks for $250...few seem to care if you get three of them for the cost of an iPad.

    While I have trouble envisioning management of some of the current SIDE issues (where libraries are located, having multiple files, root directory location and naming) being managed on an iPad, I am also thankful for my naiveté on the whole subject because "what I don't know, I don't know". If I knew enough about the iPad technical/physical/OS/legal issues I'd probably be thankful for seeing Jeff, Steve, Roy, David, Eric, Chip, Andy and Stephanie spend another lifetime bound to Windows. But there's a tidal wave of iPad-wielding students coming, and we want them to program ActivityBots.

    Until discouraged or surrendered, I will be chasing this magic rabbit hopefully into the green forest (instead of down the hole).

    Ken Gracey | Parallax Inc.| Direct
    : (916) 625-3010 | www.parallax.com

    Follow me on Twitter




  16. #16

    Default Re: Programming Propellers from iPad

    Quote Originally Posted by jazzed View Post
    @Rick,

    Is iPad coding (text entry) miserable with a bluetooth keyboard connected?
    It depends on the keyboard, I guess.

    I'm not a touch typist, so I'm probably more adaptable to keyboards (real keys, membrane or virtual).

    At least with an external keyboard, you can reclaim the screen space used for the virtual keyboard and display more content. This way (depending on the app), you have a 9-10 inch screen comparable to a netbook. Of course, then you get to tote an extra keyboard around with you. (nothing is perfect.)

    I guess it depends on the app. A lot of times, if you need mouse support, cursor movement, etc., you need to poke and point at your screen which isn't as precise as mousing. I haven't tried a tablet with a bluetooth keyboard and mouse.
    MOV OUTA, PEACE

    ... Rick


    I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!

    "Forth is FUN!"

    Introduction to TACHYON Forth


    PropFORTH Wiki

  17. #17

    Default Re: Programming Propellers from iPad

    I thought I had used my mouse with my iPad. Maybe not!

    Even without a mouse, these kids manage to make it behave like a full PC.

    Ken Gracey | Parallax Inc.| Direct
    : (916) 625-3010 | www.parallax.com

    Follow me on Twitter




  18. #18

    Default Re: Programming Propellers from iPad

    I want to challenge the idea that iPads are miserable text input devices. For those of us who got skill before wide deployment of touch input, yes. Miserable.

    However, for many of those getting skill today, that isn't as true.

    They adapt how they input, and to some degree how they think and associate actions to characters. I very regularly see 20 something people rapidly inputting on phones and pads. They seem to be able to orient on the device well enough to input plenty fast enough to make sense for programming. Further, the idea of a context switch, as in needing to have another device, is a painful one! More or another device costs a lot of time, energy, headspace, and weight. Given those kinds of value judgements, the lack of an optimal input isn't a big deal, where to many of us it is!

    In my own experience, I found the transition to a laptop a similar kind of thing. There are many non optimal tradeoffs between laptops and desktops. None of them really mattered given the strong advantage being portable had. Secondly, Running something like Windows, even though I have greater skill in Linux, ended up the same way. I could just run the environment where it all worked, saving me many context changes, all of which add up to a significant period of time per day. In a basic sense, this is what the iPad queries is all about.

    Because of that, I believe a hosted thing would not make the best sense. One should be able to get it done with the pad, connection device, prop board, battery. That is optimal in that it all goes where the student does, gaining them hours, headspace, and freedom to do it when they can just as much as when they will.

    A wireless SD card would be very compelling. Prepping the Prop board with some loader isn't a big deal, nor is the setup.

    They will gladly jump through as many hoops as they have to in order to get the benefits of the device as they see them. They will also deal with some limits or less than optimal setup to do the same, simply adapting how they work.

    If this is done, the setup steps should not be too much of a worry. The primary goal should be consistent and robust operation of the pad, prop board, connection technology and battery. All else can and will be explored when necessary. IMHO, that is how they will think about it all, and it is much different from how many of us think about it.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another

    Parallax colors simplified: http://forums.parallax.com/showthrea...hics_Demo.spin
    PropGCC Mac OS 10.6.8 + https://www.dropbox.com/sh/pf1uulr4b...Xx0wYC?v=1mcis




  19. #19

    Default Re: Programming Propellers from iPad

    Quote Originally Posted by Ken Gracey View Post
    I thought I had used my mouse with my iPad. Maybe not!

    Even without a mouse, these kids manage to make it behave like a full PC.
    You probably did. Ether I didn't have a bluetooth mouse at the time or it didn't occur to me to use it (hey, it happens! )

    I don't doubt the dexterity of the kids or the capabilities of the iPad. I'm currently an Android tablet user (hey, you aren't going to support those kids with Android tablets?? ..or the one kid out there with a Surface? ) I guess it comes back to the openness or lack there of for some solutions. Yes, iPads are great, yes, they have a big penetration into Schools (some Schools that are well funded or have well funded boosters but other schools aren't so lucky, so it might be Cromebooks, or donated whatevers or even (gasp!) PCs. At the current price of iPads, I doubt my currently 6th grade daughter is going to have her own iPad in the near future but she will probably have an Android tablet.

    [soapbox]
    Maybe I'm getting old but I don't think educational opportunities should be branded or only benefit those that have the proper devices. One reason I don't like the Lego Mindstorm domination in schools when it comes to Robotics clubs. I understand the burden on places on the teacher to have an inconsistent environment but I also understand the burden it places on families and the opportunities the kids can miss out on just because they can't afford the solution some company donated to the school district.
    [/soapbox]

    I also think about the issues Parallax has had with initial programming tools for the Basic Stamp and the Propeller being Windows only. At the time, it made sense but as the landscape has and is changing with PCs and devices, care should be taken with looking any efforts into closed, proprietary platforms. (maybe I shouldn't have turned my soapbox off yet! )


    Anyway, just more stuff to consider. It's an interesting situation to be in and there are clearly a lot of exciting options to choose from.
    MOV OUTA, PEACE

    ... Rick


    I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!

    "Forth is FUN!"

    Introduction to TACHYON Forth


    PropFORTH Wiki

  20. #20

    Default Re: Programming Propellers from iPad

    If it is the one I am thinking of, I was peripherally involved with the trash-80 school project that Invent-O-Doc mentioned in post #12. The Tandy 100 came up with the cursor positioned over BASIC; what a great teaching tool.

    I use a Mac myself for most things including Prop programming. I've resisted tabletomania but I can see the allure. Teachers will want things to be super simple and reliable. Parallax can't ship Mike Green with every package to set up the labyrinth of post #3. Also, my own experience with bluetooth on the Mac and the iphone has been less than reliable, although that it probably me.

    I'd naively favor the wifi route. The idea of the SD card is intriguing. There was the recent thread on the FlashAir SD card. That or some similar link could go on an activityBot with some kind of bootloader. Programming IDE hosted either the locally (teacher's desk if not the iPad itself) or remotely.

    Ken, Good luck with that trip into the forest, watch out for crabapples, small, pretty, hard to eat.

+ Reply to Thread

Similar Threads

  1. [chatter] iPad+iPad mini+iPhone 5
    By erco in forum General Discussion
    Replies: 0
    Last Post: 07-10-2013, 03:54 PM
  2. Mac OSx with VMFusion running Windows Pro: programming Propellers. . . .
    By Ken Gracey in forum Propeller 1 Multicore Microcontroller
    Replies: 6
    Last Post: 04-18-2012, 11:10 PM
  3. Tip: Programming two Propellers at the same time
    By Chuck Rice in forum Propeller 1 Multicore Microcontroller
    Replies: 1
    Last Post: 03-08-2008, 11:02 AM
  4. I need a beta tester that is programming propellers
    By metron9 in forum Propeller 1 Multicore Microcontroller
    Replies: 1
    Last Post: 05-12-2007, 03:11 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts