iay0330 smarthouse project - remote control & monitoring application
TRANSCRIPT
Click to edit Master title style
Embedded SystemsIAY0330 SMARTHOUSE PROJECT
Sub-project: Remote Access For Raspberry PI
Erik KajuKalju Randjärv
© U
ljana R
ein
salu
, Thom
as
Holls
tein
ObjectiveWeb Service or Rapberry PI
Provide a way to control smart home remotely via:• smartphones• tablets• regular computers
3
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Theoretical Issues
•How to display data server responses graphically
•How to communicate with Data server
•How to make service visible behind NAT and firewalls
4
© U
ljana R
ein
salu
, Thom
as
Holls
tein
System ArchitectureComponents
5
MySQL DB
RaspCTL
(Future development)
© U
ljana R
ein
salu
, Thom
as
Holls
tein
System ArchitectureAccessibility
6
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Component description
•Components and what is implemented there:-Authentication module -Linux service control module-Configuration module-"Raspberry Pi Control App historical stats utility" - Dashboard to display sensor readings (from data server)
7
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Problems and Solutions
• Which problems had to be solved (and how?) – and which remained unsolved (and why)?
• How to display data server responses graphically
Using AmCharts Graph library• How to communicate with Data server
by executing shell commands• How to make service visible behind NAT and firewalls
Auto SSH Reverse tunneling
8
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Results
• Features and Tasks
9
Initially planned Achievements
Dashboard to display sensor readings
„Historical View“ user can select node, sensor.Read measurements from graph
Configuration module Already in framework.modifications to be able to use token as auth. SQL
Linux service control module
Created init script to make raspCTL run as daemon
Command API It is possible to Create / Edit / Update / Delete commands
Authentication module Admin user only
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Conclusions & Outlook
• What would you make different, if you started the project again? I would not use Python Not use Mercurial More collaboration with other teams
• Open points for future development Authenticate users using database Create actual commands for nodes
10
© U
ljana R
ein
salu
, Thom
as
Holls
tein
The result (picture or it didn't happen)
11
© U
ljana R
ein
salu
, Thom
as
Holls
tein
Thank you for listening. Any questions?
Kalju & Erik
12