Hi all,

I've been thinking about learning the Go programming language for years and haven't acted on it. One thing that really dissuades me is that the Go language doesn't really have any connection to the gui on the pc, at least it didn't a year ago. I guess you can add in some graphics libraries. Still, it's not a sophisticated and seamless integration plus IDE like you'd get with something like the MS Visual C# system, for example (as far as I know). Even if gui support is addable, limiting my interactions to a pc screen and keyboard isn't too exciting. What if I want to interface with the mouse, or a temperature sensor, or a gps sensor, or a motor controller?

Well, one thing that can interface nicely with those other things like those I mentioned is a Raspberry Pi, or Beagle Bone, or Beagle Board, etc. You can program many of these devices in Go, as well as almost any other language supported by Linux. But, those devices don't have ANY screen built in. Yes, you can attach to a composite video device or an hdmi video device. But, if you're talking about something like a smart thermostat, or smart weather monitor, or robotics controller, it would be nice to have a small touch screen attached to it.

So, then I think of using an android tablet or smart phone. But, you cannot program those in Go, or probably not Python or Ruby either. It's gotta be Java. I don't want to do Java. I like Go because it's compiled and thus has really fast execution, relatively light weight executables (I think), fast compile times, extensive multi-threading and concurrency support (although that's not so relevant on a Beagle Bone), and built in garbage collection.

So, here's my thought. I want to get a Raspberry Pi or something similar, which I can program in Go, and which I can attach sensors and motor controllers and other things to. Then, I want to use an android tablet or smart phone to be a remote display and touch screen interface for the Pi operating over the lan, either by wifi or by lan cable. Actually, since most tablets and smart phones don't have lan ports, it would probably have to be wifi, or maybe bluetooth.

So, does anyone know how to do something like this. I don't necessarily have to program the Android device. Just load something on it to do the remote access.

Here are examples of the type of things you could build with a set of devices like this. Having the touch screen be remote opens up some interesting possibilities, although the Pi and the tablet could be in the same enclosure.

* Smart weather station. Mount the Pi outside in an enclosure with whatever sensors it needs. Mount the touchscreen either outside or inside, and have full access and control of the unit which has the sensors. You could optionally add smarts to the touch screen / tablet to merge local weather data with stuff from the web, etc. But, the simplest thing is just to use the tablet as a i/o device for the Pi. You could also add those smarts into the Pi if it has internet access, merge the data, then send it to the touch screen.

* This example will only make sense if you've seen the I Robot movie. Detective Spooner walks up to Dr. Alfred Lannings's house after Lanning's death. The detective holds his badge up to a smart device on the door frame. The device scans the badge with a laser or something, checks a database of authorized people, determines that Detective Spooner is allowed, greets the detective with Dr. Lannings's voice, displays "Welcome Detective Spooner" on a small screen, and unlocks the front door.

Etc. There are thousands of cool possibilities for a device with a non trivial amount of computing power and memory, wifi and bluetooth, a NICE built in touch screen, AND lots of general purpose I/O for access to cameras, laser scanners, speakers, microphones, gps devices, motor controllers, servos, position sensors, light sensors, even radio antennas, etc.

Any thoughts?

Sincerely,

Ron


--

(PS - If you email me and don't get a quick response, you might want to
call on the phone.  I get about 300 emails per day from alternate energy
mailing lists and such.  I don't always see new email messages very quickly.)

Ron Frazier
770-205-9422 (O)   Leave a message.
linuxdude AT techstarship.com

_______________________________________________
tech-chat mailing list
[email protected]
http://lists.linuxmoose.com/mailman/listinfo/tech-chat

Reply via email to