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