Hi list, The competition phase of the Intel Ultimate Coder Challenge for IoT <https://ultimatecoder.intel.com/> drew to a close last Friday. Final reports are now online.
Clojure played a starring role in my project (Team 2), along with Iotivity <https://www.iotivity.org/>. Briefly, I ported Iotivity to OS X, split out the Java support as a separate project, and got Java over Iotivity running on Ubuntu, OS X, the Intel Edison, and a Dell 3290 IoT Gateway running Wind River Linux. The end result, which I expect will seem slightly amazing to everybody except Clojure programmers, is that we can now use Clojure to interactively and remotely control Iotivity-enabled IoT devices. Naturally the devices must be able to run the Iotivity stack and a JVM, but that covers a lot of ground. Eventually I expect Clojure's IoT reach will be extended by things like Jerryscript <https://github.com/Samsung/jerryscript>, but for now at least you can get yourself an Edison <http://www.intel.com/content/www/us/en/do-it-yourself/edison.html> (a kit with an Arduino-compatible board will set you back about $70), fire up an nREPL on the thing (caveat: it takes a loooong time to startup), and start building and testing circuits, interactively. It shouldn't be too difficult to do the same on a Raspberry Pi, Beaglebone, or whatever. And actually you don't need an IoT device; you can just run a couple JVMs on your development machine, one for an Iotivity server and one for an Iotivity client, and write a bit of code to emulate sensors etc. See the blog entries for Team Two <https://ultimatecoder.intel.com/team-two/>. There are a couple of screencasts there showing how to use Clojure interactively to control the Edison pins using mraa <https://github.com/intel-iot-devkit/mraa>, and how use TinyB <https://github.com/intel-iot-devkit/tinyb> to control the Edison's Bluetooth LE stack to control a TI Sensortag <http://www.ti.com/ww/en/wireless_connectivity/sensortag2015/?INTC=SensorTag&HQS=sensortag> . Source code is at https://github.com/iotk. It's pretty rudimentary but I expect to continue development and add better documentation. A slack team has been set up; join at https://iotivity-slack.herokuapp.com/. Blogging will be at http://blog.mobileink.com/, announcements tweeted (maybe) by @minkdev. There is one fly in the ointment: Iotivity discovery operations (which use multicast) work just fine across the network, but CRUDN ops (which use unicast) fail silently. I discovered this in the last week of the competition. :( So my next task is to find and squash that bug. If you want to help get in touch or join the slack team. Have fun, Gregg -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.