create your own exercise Joshua Koutny, Simon Anlauff | Team 204 SMART HOME OVER IRC HAVING A CHAT WITH YOUR TOASTER 1
Motivation • In this Lab you will… – Create your own Smart Space – Connect devices over a chat protocol – Message your devices – Customize the messaging to suit your needs 2
Motivation 3
Learning Goals The Following Learning Goals are Covered in the Lecture PreLab Lab Learn about IRC’s background and applications X X Know the (dis-)advantages of IRC in Smart Spaces X X Understand the IRC command and message format X X X Set up simple IRC servers, clients and bots X X Implement setting profiles for smart spaces X 4
Internet Relay Chat • First public servers in 1990 • RFC 1459 published in May 1993 • Decreasing in popularity since 2003 5
freenode IRC Network IRC Server chat.freenode.net:6667 Channel Channel Channel #general User User User User Bot bob93 (bob@69.89.31.226) 6
Internet Relay Chat (II) • Application Layer Protocol • Usually runs on TCP port 6667 • Plain text based • Client-Server model 7
Internet Relay Chat (III) • USER <user> <mode> <unused> <realname> • NICK <nickname> • JOIN / PART <channel> • PRIVMSG <channel|user> • PING / PONG 8
> telnet localhost 6667 USER bob 0 * :Bob NICK bob93 JOIN #general PRIVMSG #general :Hello there! 9
Home Automation • Cooperative Smart devices Lighting /Climate/Security… • Connected over a Communication Bus • Users can interface via a central hub 10
Smart Home Chatrooms • IRC Server on a Local Network • Every device runs an IRC client (Bot) • Bots listen on their assigned channels • Users can interact using existing client software 11
Is this a good idea? • IRC was not designed for use in IoT • Integration into existing infrastructure – IoT devices as bots in an IRC channel • Bridging to other IoT software 12
The PreLab • Further exploring the Protocol – Operators, Services – Security aspects • Setting the scene – Story arc of the lab • Introducing used Tools – IRC server and bot scripts – Available clients for users 13
The Lab • Launching the IRC Server • Manually connecting to the server – Visual client – telnet • Chatting to a physical smart device (Arduino) • Building up a #smartchat with several features 14
PC 1 PC 4 IRC Server, Bots IRC Client, Bots eth0: fec0::1/8, 10.0.0.1/8 eth0: fec0::4/8 PC 2 Smart Device 10.0.0.2/8
Recommend
More recommend