Yes, exactly. That is what I mean when I harp on about the Cloud 9 IDE and/or ACE in browser editor.
I urge Parallax to check out Cloud 9 and ACE. (No idea if that Raspi IDE is based on Cloud 9 or not but it looks very similar)
Everyone should sign on to Cloud 9 and see how this works, https://c9.io/. I'm sure this is adaptable to Spin and C is already covered I believe.
I'm a proponent of the server and Rasberry Pi approach, too. I can't imagine stuffing a full set of tools on an iPad.
One tremendous benefit of the server concept is that you (our community) would contribute as much as possible, I'm sure. All of your support would be very important.
Question: would it make any sense to make a stripped-down Rasberry Pi/Arm computer exclusively for this purpose, or is there something cost-effective that we can buy off-the-shelf to avoid more manufacturing of hardware?
Can't you by the Pi off the shelf, I'm sure Element 14 would love to sell you hundreds?
I can't imagine stripping a Raspi down any more than it already is. As far as I know no body has yet managed to match the Pi on price, even with a stripped down Pi it would be tough to beat it.
Of course new boards are popping up all the time so who knows what will come down the pipe. Does Parallax really want to get into designing and building ARM boards against the like of the Pi and Texas Instruments?
The beauty of the plan of course is that it is not dependent on the Pi or any other board. Anything that runs Linux, preferably a Debian like Linux, will do.
Also I think there is a lot to me said for leaveraging the Raspi's fame, huge installed base and community.
There doesn't seem to be much reason to build your own board, at least initially. I'd take a page from the XP book and just make something. Come up with a prototype using as much off the shelf hardware and software as possible and see if what you think you want is really what you want. Don't turn this into a major 5 year project. Turn it into a cycle of hacking and feedback, hacking and feedback. Then, around March or April, you can evaluate where you are, where you want to go, and base your decisions on the experience of the prototypes. That's the approach I would take, anyway.
Question: would it make any sense to make a stripped-down Rasberry Pi/Arm computer exclusively for this purpose, or is there something cost-effective that we can buy off-the-shelf to avoid more manufacturing of hardware?
Not in the short term. The biggest challenge I see here, is managing software, not hardware.
You need to add WiFi, and also supply a lot of software so that it simply works.
(ARM+Linux) is something that looks to be widely available, and a WiFiPi would be a natural next step, but the tiny USB wiFi adapters are quite cheap for now, to start getting the pieces all functional.
I like the combination of SD+wiFi, but that presently has a price premium.
This does allow you to package, clearly label and sell a single Pi-add-on, that you know will work.
Maybe it's worth contacting those guys? They built everything for the Pi, and are basically the center of gravity on software for the Pi. If Parallax made packages, perhaps they could just get folded into the distribution. From there, publish instructions and go!
Can't you by the Pi off the shelf, I'm sure Element 14 would love to sell you hundreds?
I can't imagine stripping a Raspi down any more than it already is. As far as I know no body has yet managed to match the Pi on price, even with a stripped down Pi it would be tough to beat it.
Of course new boards are popping up all the time so who knows what will come down the pipe. Does Parallax really want to get into designing and building ARM boards against the like of the Pi and Texas Instruments?
The beauty of the plan of course is that it is not dependent on the Pi or any other board. Anything that runs Linux, preferably a Debian like Linux, will do.
Also I think there is a lot to me said for leaveraging the Raspi's fame, huge installed base and community.
Agreed on all counts, Heater. Last thing I want to do is make more hardware to compete with non-profits. It's cheap enough, as is.
Hardware cost isn't a big deal, either. You only need one per classroom to program as many bots as you have. A rasp pi or cheap Linux laptop with a USB xbee should do the trick. Nice idea about the pi board is you could package the pi, a WiFi router and xbee in a nice instrument case with just a power switch and cord. Config can also be via browser. You might want an external xbee socket to reprogram xbee modules with specific addresses.
How about electronic simulation software with a prop and programming software at it's core? Similar to Ariba's Gear simulation. That would eliminate having to connect things to the iPad and make the whole thing Apple compatible and very portable. The student would have everything needed in one neat little package.
I realize that producing the software would be a non-trivial task but you have to admit it would be seriously cool.
Going this route means making sure users can quickly load software.
In the scenario of one Pi serving a class room students probably don't need to install anything on it. The tutor would do that, probably not even if it is one unit per student.
A command that is easy enough to cut and paste from a web page.
Developing these things on a repo like github is pretty much mandatory now a days and github makes it very easy to get potential contributors involved.
I would not worry about getting any of this into upstream Raspberry Pi or Debian package repositories at this stage. That is non-trivial and can be something to think about when it is done.
I do think Parallax should approach the Raspberry Pi Foundation. They both have much invested in the educational field. They are not competitors. The Foundation has been very positive to others wanting to use the Pi, in all sorts of ways, in the past.
I look forward to that Parallax designed Pi "plate". A Pi format board that mounts on it's GPIO connector. Serious real time processing and I/O capability comes to the Pi !
Oh, Snap!! I see another great M$oft ad for the surface pro............ and yes it has worked well for prop experiments as well as CT and xray service, Network troubleshooting..... after all it is a full on system......
I look forward to that Parallax designed Pi "plate". A Pi format board that mounts on it's GPIO connector. Serious real time processing and I/O capability comes to the Pi !
I think you've nailed it! No need to make this part of the Debian distro. This and a zip download for those instructors that don't want to use git (there will be those that want even simpler means of getting the SW). A simplified download using wget makes this work without installing/running git.
For this Raspberry Pi as server solution, I think the test will be performance of a Raspberry Pi handling the compile & upload of binaries to Prop boards for a classroom of students. Linux will definitely handle simultaneous web access and vending of binaries, but will the RPi be able to keep up with the demand?
As risk of pulling this thread further and further away from it's original topic... (I think Ken will forgive me)..
A couple thoughts regarding the Propeller and the Raspberry Pi...
I'm having a hard time picturing a group of Propeller's interacting with a single Raspberry Pi. Method of connection?
As far as one complementing the other, after looking at the Python GPIO stuff, I think that perhaps a Propeller with an established "loader" and a well produced Python library which could access the Propeller for common tasks would be extremely well recieved. There is no reason why a Propeller Python or C "module" couldn't be included easily. (Heck, we've got a very nice Object Library would would adapt to this use very easily) I'm certainly a lot more at ease with tying external devices to the Propeller than to the more fragil GPIO bus of the Pi.
Edit: Perhaps it's time to split this into it's own thread... Heater? David?
As risk of pulling this thread further and further away from it's original topic... (I think Ken will forgive me).
Your discussion points are totally appropriate, and we appreciate the contributions that are taking place. By all means, please carry on!
The only time I get cranky is if my thread gets too deep into discussing dislikes about Apple and their closed system. Silly or practical as the topic may be, hoards of students are wielding iPads and they'll need to program our stuff, one way or another at some point. And if we can win other browser-driven opportunities at the same time and not get obsoleted by putting too much investment in Apple-only solutions, this is even better.
Jeff Martin is combing this thread today and we'll meet to look at the alternatives before tomorrow. If the enthusiasm about a RasPi server approach means we gather substantial community support along the way we would be absolutely thankful for the group's participation. Having these kinds of customers and community is something that can only be built through trust and time around common interest, and is almost impossible to create by brute force and money.
Something seems wrong to me about this idea of using a Raspberry Pi with a room full of iPads and ActivityBots...
I'm a fan of Raspberry Pi (I've got one in a big pile of other cool stuff I buy and then don't have time for...), but I think they're most useful for people with not a lot of money...
If these kids have iPads and ActivityBots, I don't think that cost is their primary motivation. I'd think they were looking for the best they can buy...
Something seems wrong to me about this idea of using a Raspberry Pi with a room full of iPads and ActivityBots...
I'm a fan of Raspberry Pi (I've got one in a big pile of other cool stuff I buy and then don't have time for...), but I think they're most useful for people with not a lot of money...
If these kids have iPads and ActivityBots, I don't think that cost is their primary motivation. I'd think they were looking for the best they can buy...
OK, it's a Parallax Remote Programming Appliance (I'm holding back my "marketing name") -
It's a black box with one or more Ethernet connectors and one or more USB connectors and a power connector. It's an "appliance", put it in a cool looking package and 98% of the people won't care what is inside as long as it works.
Scale them (and price them) based on capabilities and away you go!!
As risk of pulling this thread further and further away from it's original topic... (I think Ken will forgive me)..
A couple thoughts regarding the Propeller and the Raspberry Pi...
I'm having a hard time picturing a group of Propeller's interacting with a single Raspberry Pi. Method of connection?
One way to do it (others possible of course) similar to SRLM's picture:
Multiple ActivityBoard/Bots are connected to a server such as a RPi (or some other network device PC/Mac running a port service). Presumably a physical connection is provided from the central server to each Propeller device. The server associates incoming connections via TCP/IP port from the client (iPad) to each Propeller device. The server schedules program upload (to Propeller) based on a request queue. The program can be either sent from the iPad client or from the server to the Propeller device.
The most likely successful way to get a program into the ActivityBoard/Bot would be via direct EEPROM programming or by having a default loader in the EEPROM that would accept packets from the server. Serial IO would be arranged most likely via the XBee connector via some pin pair (P30/31 are not useful in this case).
There are a few "physical connection" possibilities:
1) A "PropellerMUX" wired Serial Terminal Server
A single PropellerMUX connected to the server will have up to 14 Propeller device wire connections for programming. Add another PropellerMUX for more connections.
2) A network of WiFi Serial Devices
Same as 1) except that a WiFly device is added to every ActivityBoard/Bot. All serial IO would go through pins selected for the XBEE connector.
3) A network of XBee Serial Devices
Same as 1) except that an XBee device is added to every ActivityBoard/Bot. All serial IO would go through pins selected for the XBEE connector.
In my experience schools never have money to throw around. I imagine that even the lucky ones that get tablets thrown at them by Apple and MS don't have a lot of cash for extras.
So, the cheaper the solution the better, and the Pi is about as cheap as it gets.
Also, the schools that are less well off and not showered in techno toys could benefit from a cheap solution that does not even require iPads and such.
I would hate to think that a Parallax solution to this problem is only for the rich kids.
Ken,
The Raspi Foundation shows that "brute force and money" is not required. Just a lot of sideways thinking and perspiration.
A single PropellerMUX connected to the server will have up to 14 Propeller device wire connections for programming. Add another PropellerMUX for more connections.
I'm not sure what you mean by MUX. It seems like this could be handled by a USB hub connected to the RaspPi. You just plug normal USB cables between the hub and the ActivityBots and then write software for the RaspPi that associates USB serial ports with TCP/IP connections from the iPads or other client devices. Is that what you mean?
I'm not sure what you mean by MUX. It seems like this could be handled by a USB hub connected to the RaspPi. You just plug normal USB cables between the hub and the ActivityBots and then write software for the RaspPi that associates USB serial ports with TCP/IP connections from the iPads or other client devices. Is that what you mean?
That would work nicely for Emulating Terminals to each iPad.
For a true minimalist approach, there is always the old fashioned sneaker-net - the class brings their Prop's to be programmed, one at a time.
First thing you want when you program a Prop, after flashing a LED, is to get back some response via serial or other link. Then data acquisition as it runs and so on.
I'm not sure what you mean by MUX. It seems like this could be handled by a USB hub connected to the RaspPi. You just plug normal USB cables between the hub and the ActivityBots and then write software for the RaspPi that associates USB serial ports with TCP/IP connections from the iPads or other client devices. Is that what you mean?
Essentially, yes. USB HUBs with appropriate software running on any old Wifi enabled PC is what I meant.
Having a Propeller Serial Server is a good demo of Propeller power though.
There is lots of utility in having something like a WiFly or XBee on board the ActivityBoard/Bot though. Being able to wirelessly drive a bot around is a ton of fun.
If you install that you will be able to program for the Prop in C or Spin on the Pi and download via a USB/serial adapter to the Prop.
Sadly the Raspi GPIO UART to Prop connection is not in that build. Hope I find time to work on that.
I should make a new package any way as I believe the loader can now be built on the Pi as it no longer requires BST to build some PASM codes.
Grabbed it, Heater! Thanks!
The Pi is up and running. I'm installing some base software. (forgot how relaxing and leisurely build and install time is on the Pi). This may take a bit loner than originally planned.
I will put your PropGCC and tools out there (no need for Simple IDE on this go round).
Still need to grab OpenSpin and build it - all indications are it's a pretty straight forward build.
I wasn't planning on needing the Raspi GPIO UART on this configuration.
Sadly the Raspi GPIO UART to Prop connection is not in that build. Hope I find time to work on that.
I should make a new package any way as I believe the loader can now be built on the Pi as it no longer requires BST to build some PASM codes.
@Heater, I'd be another grateful user if you find time to take advantage of the GPIO to Prop connection. This would be a another baby step forward to the Pi-Plate we want.
Comments
Yes, exactly. That is what I mean when I harp on about the Cloud 9 IDE and/or ACE in browser editor.
I urge Parallax to check out Cloud 9 and ACE. (No idea if that Raspi IDE is based on Cloud 9 or not but it looks very similar)
Everyone should sign on to Cloud 9 and see how this works, https://c9.io/. I'm sure this is adaptable to Spin and C is already covered I believe.
One tremendous benefit of the server concept is that you (our community) would contribute as much as possible, I'm sure. All of your support would be very important.
Question: would it make any sense to make a stripped-down Rasberry Pi/Arm computer exclusively for this purpose, or is there something cost-effective that we can buy off-the-shelf to avoid more manufacturing of hardware?
Can't you by the Pi off the shelf, I'm sure Element 14 would love to sell you hundreds?
I can't imagine stripping a Raspi down any more than it already is. As far as I know no body has yet managed to match the Pi on price, even with a stripped down Pi it would be tough to beat it.
Of course new boards are popping up all the time so who knows what will come down the pipe. Does Parallax really want to get into designing and building ARM boards against the like of the Pi and Texas Instruments?
The beauty of the plan of course is that it is not dependent on the Pi or any other board. Anything that runs Linux, preferably a Debian like Linux, will do.
Also I think there is a lot to me said for leaveraging the Raspi's fame, huge installed base and community.
Not in the short term. The biggest challenge I see here, is managing software, not hardware.
You need to add WiFi, and also supply a lot of software so that it simply works.
(ARM+Linux) is something that looks to be widely available, and a WiFiPi would be a natural next step, but the tiny USB wiFi adapters are quite cheap for now, to start getting the pieces all functional.
I like the combination of SD+wiFi, but that presently has a price premium.
This does allow you to package, clearly label and sell a single Pi-add-on, that you know will work.
http://www.raspbian.org/
Maybe it's worth contacting those guys? They built everything for the Pi, and are basically the center of gravity on software for the Pi. If Parallax made packages, perhaps they could just get folded into the distribution. From there, publish instructions and go!
Agreed on all counts, Heater. Last thing I want to do is make more hardware to compete with non-profits. It's cheap enough, as is.
I realize that producing the software would be a non-trivial task but you have to admit it would be seriously cool.
Sandy
Either way software install can be as simpl as:
$ git clone https://github.com/Parallax/PropellerIDE
A command that is easy enough to cut and paste from a web page.
Developing these things on a repo like github is pretty much mandatory now a days and github makes it very easy to get potential contributors involved.
I would not worry about getting any of this into upstream Raspberry Pi or Debian package repositories at this stage. That is non-trivial and can be something to think about when it is done.
I do think Parallax should approach the Raspberry Pi Foundation. They both have much invested in the educational field. They are not competitors. The Foundation has been very positive to others wanting to use the Pi, in all sorts of ways, in the past.
I look forward to that Parallax designed Pi "plate". A Pi format board that mounts on it's GPIO connector. Serious real time processing and I/O capability comes to the Pi !
I think you've nailed it! No need to make this part of the Debian distro. This and a zip download for those instructors that don't want to use git (there will be those that want even simpler means of getting the SW). A simplified download using wget makes this work without installing/running git.
For this Raspberry Pi as server solution, I think the test will be performance of a Raspberry Pi handling the compile & upload of binaries to Prop boards for a classroom of students. Linux will definitely handle simultaneous web access and vending of binaries, but will the RPi be able to keep up with the demand?
dgately
A couple thoughts regarding the Propeller and the Raspberry Pi...
I'm having a hard time picturing a group of Propeller's interacting with a single Raspberry Pi. Method of connection?
As far as one complementing the other, after looking at the Python GPIO stuff, I think that perhaps a Propeller with an established "loader" and a well produced Python library which could access the Propeller for common tasks would be extremely well recieved. There is no reason why a Propeller Python or C "module" couldn't be included easily. (Heck, we've got a very nice Object Library would would adapt to this use very easily) I'm certainly a lot more at ease with tying external devices to the Propeller than to the more fragil GPIO bus of the Pi.
Edit: Perhaps it's time to split this into it's own thread... Heater? David?
Jeff
Your discussion points are totally appropriate, and we appreciate the contributions that are taking place. By all means, please carry on!
The only time I get cranky is if my thread gets too deep into discussing dislikes about Apple and their closed system. Silly or practical as the topic may be, hoards of students are wielding iPads and they'll need to program our stuff, one way or another at some point. And if we can win other browser-driven opportunities at the same time and not get obsoleted by putting too much investment in Apple-only solutions, this is even better.
Jeff Martin is combing this thread today and we'll meet to look at the alternatives before tomorrow. If the enthusiasm about a RasPi server approach means we gather substantial community support along the way we would be absolutely thankful for the group's participation. Having these kinds of customers and community is something that can only be built through trust and time around common interest, and is almost impossible to create by brute force and money.
I'm a fan of Raspberry Pi (I've got one in a big pile of other cool stuff I buy and then don't have time for...), but I think they're most useful for people with not a lot of money...
If these kids have iPads and ActivityBots, I don't think that cost is their primary motivation. I'd think they were looking for the best they can buy...
Loading it with the latest Raspian and the latest (as yet unmodified) version of Adafruit's webIDE and connecting it to one of these
and then connecting some of these
Then connecting the whole thing to my network (wired Ethernet for now).
Then I need to build OpenSpin on the Pi and find a loader from the PRopGCC package.
Should be able to edit and compile Spin "from the cloud" at that point.
OK, it's a Parallax Remote Programming Appliance (I'm holding back my "marketing name") -
It's a black box with one or more Ethernet connectors and one or more USB connectors and a power connector. It's an "appliance", put it in a cool looking package and 98% of the people won't care what is inside as long as it works.
Scale them (and price them) based on capabilities and away you go!!
One way to do it (others possible of course) similar to SRLM's picture:
Multiple ActivityBoard/Bots are connected to a server such as a RPi (or some other network device PC/Mac running a port service). Presumably a physical connection is provided from the central server to each Propeller device. The server associates incoming connections via TCP/IP port from the client (iPad) to each Propeller device. The server schedules program upload (to Propeller) based on a request queue. The program can be either sent from the iPad client or from the server to the Propeller device.
The most likely successful way to get a program into the ActivityBoard/Bot would be via direct EEPROM programming or by having a default loader in the EEPROM that would accept packets from the server. Serial IO would be arranged most likely via the XBee connector via some pin pair (P30/31 are not useful in this case).
There are a few "physical connection" possibilities:
1) A "PropellerMUX" wired Serial Terminal Server
A single PropellerMUX connected to the server will have up to 14 Propeller device wire connections for programming. Add another PropellerMUX for more connections.
2) A network of WiFi Serial Devices
Same as 1) except that a WiFly device is added to every ActivityBoard/Bot. All serial IO would go through pins selected for the XBEE connector.
3) A network of XBee Serial Devices
Same as 1) except that an XBee device is added to every ActivityBoard/Bot. All serial IO would go through pins selected for the XBEE connector.
What's wrong?
In my experience schools never have money to throw around. I imagine that even the lucky ones that get tablets thrown at them by Apple and MS don't have a lot of cash for extras.
So, the cheaper the solution the better, and the Pi is about as cheap as it gets.
Also, the schools that are less well off and not showered in techno toys could benefit from a cheap solution that does not even require iPads and such.
I would hate to think that a Parallax solution to this problem is only for the rich kids.
Ken,
The Raspi Foundation shows that "brute force and money" is not required. Just a lot of sideways thinking and perspiration.
Get your Pi loader from the propggc package for Raspberry Pi here:
https://dl.dropboxusercontent.com/u/81267937/SimpleIDE-0-9-43.armv6l.raspberrypi-linux.tar.bz2
If you install that you will be able to program for the Prop in C or Spin on the Pi and download via a USB/serial adapter to the Prop.
Sadly the Raspi GPIO UART to Prop connection is not in that build. Hope I find time to work on that.
I should make a new package any way as I believe the loader can now be built on the Pi as it no longer requires BST to build some PASM codes.
That would work nicely for Emulating Terminals to each iPad.
For a true minimalist approach, there is always the old fashioned sneaker-net - the class brings their Prop's to be programmed, one at a time.
First thing you want when you program a Prop, after flashing a LED, is to get back some response via serial or other link. Then data acquisition as it runs and so on.
Essentially, yes. USB HUBs with appropriate software running on any old Wifi enabled PC is what I meant.
Having a Propeller Serial Server is a good demo of Propeller power though.
There is lots of utility in having something like a WiFly or XBee on board the ActivityBoard/Bot though. Being able to wirelessly drive a bot around is a ton of fun.
Grabbed it, Heater! Thanks!
The Pi is up and running. I'm installing some base software. (forgot how relaxing and leisurely build and install time is on the Pi). This may take a bit loner than originally planned.
I will put your PropGCC and tools out there (no need for Simple IDE on this go round).
Still need to grab OpenSpin and build it - all indications are it's a pretty straight forward build.
I wasn't planning on needing the Raspi GPIO UART on this configuration.
Tally ho!! The hunt is on!
@Heater, I'd be another grateful user if you find time to take advantage of the GPIO to Prop connection. This would be a another baby step forward to the Pi-Plate we want.
Thanks
Jeff
No matter it builds easily and quickly from the source anyway.
You migh as well unpack and install the whole kaboodle, SimpleIDE is not so huge and it's fun:)