Internet of Things (IoT) Information Display Benjamin Daszkiewicz - - PowerPoint PPT Presentation

internet of things iot
SMART_READER_LITE
LIVE PREVIEW

Internet of Things (IoT) Information Display Benjamin Daszkiewicz - - PowerPoint PPT Presentation

Internet of Things (IoT) Information Display Benjamin Daszkiewicz & Jacob Nading Advised by Dr. Aleksander Malinowski Contents Introduction Components Announcements Hardware Advertisements Concept System-Level


slide-1
SLIDE 1

Internet of Things (IoT) Information Display

Benjamin Daszkiewicz & Jacob Nading Advised by Dr. Aleksander Malinowski

slide-2
SLIDE 2

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

2

slide-3
SLIDE 3

Introduction

▪ Multi-facet ▪ Wall-mounted ▪ Touch-screen display ▪ Internet connectivity

Outside Professors’ Offices Displays:

▪ Weather ▪ Calendar ▪ Announcements ▪ Advertisements /

Pictures

3

slide-4
SLIDE 4

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

4

slide-5
SLIDE 5

Concept

▪ Attractive, User-Friendly Interface ▪ Daily Calendar Data ▪ Current and Forecast Weather Data ▪ Announcements / Short Memos ▪ Advertisements, Picture Slideshow ▪ Availability ‘Status’ ▪ Reliable Technologies ▪ Python 3.x ▪ Openweathermap.org for Python ▪ Google Calendar API for Python ▪ Twitter API for Python

5

IoT Information Display

Figure 1

slide-6
SLIDE 6

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

6

slide-7
SLIDE 7

Previous Work (2016-2017)

▪ Cole Lindeman & Jason Morris ▪ IoT Smart Calendar ▪ Browser based interface

▪ php, HTML, etc.

▪ Relies on default view for calendar

7

Figure 2

slide-8
SLIDE 8

Similar Projects

DAKboard

▪ Customizable

Interface

▪ Photos, Calendar,

and Weather 8 Smart Mirror

▪ (Amazon) Alexa

Option

▪ 2-way mirror with

Monitor attached

Raspberry Pi Framed Informational Display

▪ Monitor enclosed

within a frame

▪ Buttons on side to

toggle between sections

Figure 3 Figure 4 Figure 5

slide-9
SLIDE 9

Research/Initial Design

▪ wxPython

▪ Learning curve too steep

▪ AppJar and Tk

▪ High level ▪ Easy event handling ▪ Easy timer interrupts ▪ setPollTime(ms) ▪ registerEvent(function) 9

Figure 6

slide-10
SLIDE 10

10

Research/Initial Design- DFD

slide-11
SLIDE 11

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

11

slide-12
SLIDE 12

Components - Hardware

▪ Raspberry Pi Model 3B

12

▪ 13” Multi-touch LCD Monitor

slide-13
SLIDE 13

13

System-Level Diagram

slide-14
SLIDE 14

14

Mounting Diagram

Front View Side View Figure 7

slide-15
SLIDE 15

Components - Software

▪ Debian Rasbian Stretch OS ▪ Python 3.6 ▪ appJar and Tk GUI Module ▪ Google Calendar API ▪ Twitter API ▪ OpenWeatherMap.org API ▪ Surise-Sunset.org API ▪ Support modules

▪ urllib2 ▪ datetime ▪ PIL ▪ os 15

slide-16
SLIDE 16

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

16

slide-17
SLIDE 17

Modes of Operation

▪ Power off

▪ Raspberry Pi and monitor are completely powered off

▪ Operating system

▪ Raspberry Pi and monitor are on, but IoT Display program is not running ▪ Raspbian Debian Stretch will be running

▪ Home page

▪ IoT Display program is running ▪ Times out after 10 minutes of no activity

▪ Advertisement loop

▪ Full screen class advertisements display after 10 minutes of no user input ▪ User input will close advertisement and return to home page

17

slide-18
SLIDE 18

Modes of Operation Diagram

Power off Operating system Power up RPi Power down RPi Power up RPi Power down RPi Home page User touch input 10 min. timeout

Advertisement

18

Figure 8

slide-19
SLIDE 19

Functionality

▪ Google Calendar ▪ Weather

▪ Dynamic Background & Icon

▪ Twitter Announcements

▪ Availability ‘Status’

19

Figure 9

slide-20
SLIDE 20

Functionality – Google Calendar

▪ UTC time data sent through api

▪ Creates ‘morning’ start time ▪ Creates ‘night’ end time ▪ To pull calendar events from

▪ Hardcoded API keys to pull event

data

▪ Start time ▪ End time ▪ Event title ▪ colorId

▪ 4 Day View ▪ Colors based on original ▪ Setup document for API is on website

20

Figure 10

slide-21
SLIDE 21

Functionality - Weather

▪ HTTP request using URL

from weather.gov

▪ URL includes location and

settings bits

▪ Generates .png file ▪ Saved and displayed in

GUI using urllib2

21

Figure 11

slide-22
SLIDE 22

Functionality – Twitter Announcements

▪ Displays more tweets from

timeline

▪ ‘Status’ updates based on

specific strings:

▪ *available ▪ *away ▪ *busy ▪ *hide or *offline

▪ Setup document for API is

  • n website

22

Figure 12

slide-23
SLIDE 23

Functionality – Advertisements / Pictures

23

Figure 13

slide-24
SLIDE 24

24

GUI Process Diagram

Figure 14

slide-25
SLIDE 25

25

GUI Process Diagram (1)

Figure 15

slide-26
SLIDE 26

26

GUI Process Diagram (2)

Figure 16

slide-27
SLIDE 27

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of labor ▪ Future ▪ References

27

slide-28
SLIDE 28

Parts List

28

Qty Item Description Source Price/Unit Price 1 Eleduino 13.3” 1080P IPS Capacitive Touch Display (sky black) Amazon.com $198.00 $189.00 2 CanaKit Raspberry Pi 3 Kit Amazon.com $49.99 $99.98 2 SanDisk Ultra 8GB Class 10 UHS-I MicroSDHC Amazon.com $9.99 $19.98 1 Rankie Micro HDMI to HDMI Cable, 10 Feet Amazon.com $9.99 $9.99 1 Micro USB Cable, 3 Pack 10 ft Braided High Speed USB 2.0 A Male to Micro B Amazon.com $10.99 $10.99 Subtotal: $329.94

Table 1

slide-29
SLIDE 29

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of Labor ▪ Future ▪ References

29

slide-30
SLIDE 30

Work as Scheduled (Fall 2017)

30

Date It Item m Due / Requir iremen ement t Met et Fall 2017 11/16/17 Proposal presentation draft * 11/30/17 Project proposal and presentation * 12/7/17 Website with proposal presentation and report * 12/7/17 Non-functional, rough layout prototype for display written in Python 12/7/17 Majority of graphical project aspects created * Department deliverable deadline Project completion milestone Table 2

slide-31
SLIDE 31

31

Date It Item Due / Requir irement ement Met et Spring 2018 2/16/18 Working calendar and announcements prototype (API work) with home screen and functional weather icon 2/23/18 Added advertisements and display mounted 3/9/18 Student expo registration * 3/16/18 Paging functionality (Geofence work) 3/23/18 Weather/radar screen 3/29/18 Final report * 4/5/18 Student Expo poster * 4/19/18 Final presentation draft * 5/1/18 All materials completed and uploaded to website * * Department deliverable deadline Project completion milestone

Work As Scheduled (Spring 2018)

Table 3

slide-32
SLIDE 32

Work As Completed (Spring 2018)

32

Week Ben’s Work Jacob’s Work Spring 2018 2/5 weather.py module completed Weather icons completed 2/12 Homepage GUI design with wxPython Weather backgrounds completed 2/19 Homepage GUI design with wxPython Google api research 2/26 Research/experiment with GUI modules Basic Google api foundation along with working code and call functions 3/5 Homepage GUI design with appJar Calling and analyzing more data sent from the Google api code 3/12 Spring break Spring Break 3/19 Display weather on homepage Start research on Twitter api; Google api ‘endtime’ variable functions correctly Table 4

slide-33
SLIDE 33

Work As Completed (Spring 2018)

33

Week Ben’s Work Jacob’s Work Spring 2018 3/26 Convert homepage background and graphics to canvas elements Base Twitter api completed; Google api configured with newly configured ‘colorId’ variable 4/2 Display calendar on home page Cleaning Google api, fixing ‘morning’ and ‘night’ times to help configure UTC time 4/9 Timer interrupts and interrupt handler Cleaning of Twitter api code 4/16 Create popup content boxes and display Twitter on home page Twitter ‘status’ variable created and amended to the api code 4/23 Created ads using timer interrupts Fill popup content boxes for calendar, weather, and announcements Complete clean, configuring, setup/installation guide, and uploading to GitHub complete 4/30 TODO: Finalize website and deliverables Table 5

slide-34
SLIDE 34

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of Labor ▪ Future ▪ References

34

slide-35
SLIDE 35

Division of Labor

Benjamin Daszkiewicz

▪ GUI Programming ▪ Main page script will pull returned

values of all other functions for display

▪ Weather functionality ▪ Weather change based on current

conditions

▪ Forecast page

Jacob Nading

▪ Graphic components ▪ Icon/component/background

design

▪ Layout and visual design ▪ Google

▪ Google Calendar API

▪ Twitter ▪ Twitter API ▪ ‘Status’ system

35

slide-36
SLIDE 36

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of Labor ▪ Future ▪ References

36

slide-37
SLIDE 37

Future Direction

▪ Geofencing via cellular data ▪ Automatic offline or hide for status after a set period of time ▪ Voice Capabilities?

▪ Amazon Alexa ▪ Google Voice

▪ Creating Tweets or Calendar Events on the device? ▪ Show pictures via Twitter

37

slide-38
SLIDE 38

Future Direction Continued

▪ Sensors ▪ Camera ▪ Door sensor ▪ Online Expansion ▪ Remote usability ▪ Get notified on certain updates in an easy-to-read format ▪ See a broader week schedule without having to look in-person ▪ Email and/or text instructor from Display ▪ Appointment Scheduler

▪ Youcanbookme api 38

slide-39
SLIDE 39

Contents

▪ Introduction ▪ Concept ▪ Research & prior work ▪ Previous Project ▪ Similar Projects ▪ Research ▪ Components ▪ Hardware ▪ System-Level Diagram ▪ Mounting Diagram ▪ Software ▪ Functionality ▪ Modes of Operation ▪ Calendar ▪ Weather ▪ Announcements ▪ Advertisements

▪ GUI Process Diagram

▪ Parts list ▪ Schedule ▪ Division of Labor ▪ Future ▪ References

39

slide-40
SLIDE 40

References

▪ Google Calendar API

▪ https://developers.google.com/google-apps/calendar/

▪ Twitter API

▪ https://developer.twitter.com/en/docs ▪ https://pypi.org/project/twitter/

▪ Weather request

▪ https://www.weather.gov/

▪ appJar

▪ http://appjar.info/

▪ Project Website

▪ http://ee.bradley.edu/projects/proj2018/iot_display/

40

slide-41
SLIDE 41

41

Questions?