[racket] Internet of Things/ Marketplace

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Sun Nov 17 10:12:23 EST 2013

Now that the new package system, most people are not maintaining their
old Planet packages. The zeromq package has had a lot of change in
particular and perhaps this has gone away for you:

http://pkgs.racket-lang.org/#[zeromq]

But also make sure that your library loading environment variables are
set up right

Jay

On Sun, Nov 17, 2013 at 8:07 AM, Jukka Tuominen
<jukka.tuominen at finndesign.fi> wrote:
>
> There's also Jay's port to zeromq, which is looking very promising.
> However, when I try to run it (racket 5.3.5/ Ubuntu 10.04) by...
>
> #lang racket
>
> (require (planet "main.rkt" ("jaymccarthy" "zeromq.plt" 2 1)))
>
> ... it displays the following error:
>
> ffi-lib: couldn't open "libzmq.so" (libzmq.so: cannot open shared object
> file: No such file or directory)
>
> ...eventhough there is one in /usr/local/lib/libzmq.so
>
> Any idea of how to get it working?
>
> br, jukka
>
>
>>
>> Hi all,
>>
>> some time ago I built a simple client/server proof-of-concept for the
>> Liitin project ( www.liitin.org )
>> http://lists.racket-lang.org/users/archive/2011-June/046372.html
>>
>> Although this is still valid for a direct, one-way device/service
>> communication, I now have a more generic and UX-oriented p-o-c in mind to
>> follow the Liitin philosophy. Here’s my Internet of Things vision in
>> brief:
>>
>>
>> - A publish/ subscribe server that both users and devices can access
>> through firewalls. Only the server requires a static, public IP. This will
>> be available for Liitin users by default.
>>
>> - Once a device is turned on, it automatically connects to the pub/sub
>> server as a publisher to provide a two-way communication channel: pushing
>> event notifications to subscribers and acting on subscribers’ commands. SW
>> services may use the same method.
>>
>> - Once the user has signed onto his/her (Liitin) account, a daemon is
>> automatically launched to connect to the pub/sub server as a subscriber to
>> both receive push notifications and allowing to send commands to the
>> device.
>>
>> - There’s a Device Manager GUI to add and manage devices. The devices only
>> contain primitive functions in Racket syntax and all the higher-level
>> programming is handled by Racket on the client side and stored as Liitin
>> Objects. In effect, you can freely combine functionality from different
>> devices and between users when shared. E.g.
>> (when (below-zero? thermometer-x)(turn-on! heater-y))
>> The event stream can be parsed e.g. for notifications and direct
>> reactions, or be integrated into various GUI applications.
>>
>>
>> I was happy to hear about the package Marketplace for Racket (
>> http://blog.racket-lang.org/2013/05/marketplace-language-for-network-aware.html
>> ), and I wonder if it could be used as a starting point? It would be
>> native Racket all the way through. Another option is to choose some
>> generic open-source pub-sub server, and make the user and device ends
>> speak racket.
>>
>> I’m still speaking of a p-o-c, so it’s more important at this phase to be
>> able to have the ends communicate with each other and to manage multi-user
>> and multi-device traffic than to make the implementation robust and
>> secure. Those come later.
>>
>> I will use virtual machines for the pub/sub server and device clients to
>> begin with. The user clients will be integrated into Liitin accounts. It
>> would be great to add Arduino support at some point.
>>
>> What do you think, would the Marketplace be a good starting point or do
>> you recommend some other approach? Any pointers and comments regarding
>> either the concept or the implementation are greatly appreciated.
>>
>>
>> br, jukka
>>
>>
>>
>> ____________________
>>   Racket Users list:
>>   http://lists.racket-lang.org/users
>>
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93


Posted on the users mailing list.