Documente Academic
Documente Profesional
Documente Cultură
Ganesh Hegde
Head of Department,
Ashwin Ramanand
Dept. of Computer Science and Engineering
M S Ramaiah Institute of Technology (Affiliated to VTU)
Bangalore, India
winash77@gmail.com
AbstractThis paper involves the idea of creating a common,
unified framework that will provide a robust set of guidelines for
sensors with varied degree of complexities connected to common
set of System-on-Chip (SoC)s to ease the monitor, control and
visualization of real time data coming from sensors of different
type connected to these SoCs.
In the prototype built based on the idea we define a standard
API that will be followed by sensors for sensor registration to the
server and for the data streaming in real-time. This API which is
currently at the revision v0.1 will be constantly revised with the
project progress. This API will be the standard to which the
sensors will comply while streaming data when connected to the
client platforms. This will involve the implementation of the
following:
a) A Central Server Infrastructure: this supports HTTP requests
for sensor and platform registration and sockets for streaming
the data in real time.
b) Client programmes with GPIO support: This will directly
merge with the client programmes that do the actual data
gathering from the sensors.
c) Sample Ecosystem: This will primarily involve the testing of
the above two infrastructure with a broad range of platforms
(the SoCs) and sensors for validation.
Keywords- Internet of Things, Applications, Sensors, Data
Gathering, Data Visualization
I.
INTRODUCTION
II.
RESEARCH CHALLENGES
V.
IMPLEMENTATION
FUNCTIONALITY REQUIREMENTS
VIII. TESTING
A. Software Environment
The platform is connected to the server using servers
own private network. This is achieved by running a DHCP
server on the machine hosting the server to be able to connect
to the platform without any external network router. Testing
can be done either on Linux/ Mac or Windows machine.
Windows requires installation of Python separately along with
a suitable package manager like pip. Because direct package
management is difficult we recommend installing all the
packages in a python virtual environment or use a Python IDE
which supports in-built package management. PyCharm
Community Edition which is free software and is licensed
through GPL lets us do the same.
The entire framework can also be set on a virtual
machine running on windows given network sharing between
the host and the guest is done through NAT and not a bridge
connection. Linux on the other hand merely involves installing
the packages using the distributions package management
system.
The Flask server runs on the local host port 5000 by
default. The platform script which starts the data broadcast is
started remotely through SSH and the data broadcast is begun.
When the Flask server is launched it receives the broadcast
and the data points are displayed on the webapp along with
maxima and minima of the data point the data visualization
tab plots a real-time graph of the data.
However according the testing results the only
downside being high CPU utilization because of the webapps
JavaScript plotting this can only be alleviated using either a
static graph or improvements done in the upstream d3.js
library.
B. Unit Testing
C. Functional Testing
Functional testing is a quality assurance (QA) process
and a type of black box testing that bases its test cases on the
specifications of the software component under test. Functions
are tested by feeding them input and examining the output,
and internal program structure is rarely considered (not like in
white-box testing). Functional Testing usually describes what
the system does.
The functional testing scenario in Microsense
involves, testing the Raspberry Pi for successful boot, which is
achieved by running Top process. The preliminary boot is
verified
via
all
blinking
lights
in
LED.
For the server functional testing, upon successful
connection with the Raspberry Pi, the graph is established in
the Data Viz section and the live data is mirrored in the Live
Data section of the Web UI.
X.
D. Integration Testing
Integration testing (sometimes called integration and
testing, abbreviated I&T) is the phase in software testing in
which individual software modules are combined and tested as
a group. It occurs after unit testing and before validation
testing. Integration testing takes as its input modules that have
been unit tested, groups them in larger aggregates, applies
tests defined in an integration test plan to those aggregates,
and delivers as its output the integrated system ready for
system testing. We follow the Bottom-Up Integration testing
module with the test scenario starting with the Raspberry Pi
unit ending with the browser.
In Microsense, integration testing involves testing
the Raspberry Pi for successful connection via the SSH. This
is followed by checking the server for already engaged
sockets, and testing connection with the Raspberry Pi via the
server module. The server module upon successful stream to
the Web App UI has an inbuilt test case for successful
connection of server module with the active browser stack.
This can be verified through the browser console in both
Firefox and Chrome. Finally the API is also tested via a third
party system and a dummy entry is received via the CURL call
as the part of the integration testing.
IX.
APPLICATION
RELATED WORK
XI.
[2]
[3]
[4]
[5]
[6]
[7]
K. Ashton. That internet of things thing in the real world, things matter
more
than
ideas.
RFID
Journal,
June
2009.
http://www.rfidjournal.com/article/print/4986 [Accessed on: 2012-0730].
P. Guillemin and P. Friess. Internet of things strategic research roadmap.
Technical report, The Cluster of European Research Projects, September
2009. http://www.internet-of-things research.eu/pdf/IoT Cluster
Strategic Research Agenda 2009.pdf.
J. Oliver and Heung-No Lee.A Realistic Distributed Compressive
Sensing Framework for Multiple Wireless Sensor Networks.
http://infonet.gist.ac.kr/wpcontent/uploads/papers/Oliver_SPARS11.pdf.
Rasool Fakoor, Mayank Raj, Azade Nazi, Mario Di Francesco and Sajal
K. Das. An Integrated Cloud-based Framework for Mobile Phone
Sensing.http://conferences.sigcomm.org/sigcomm/2012/paper/mcc/p47.
pdf.
Kalpana Sharma, M.K. Ghose, Kuldeep. Complete Security Framework
for
Wireless
Sensor
Networks
http://arxiv.org/ftp/arxiv/papers/0908/0908.0122.pdf.
Joy Ying Zhangy, Pang Wuy, Jiang Zhuyz, Hao Huz, Flavio Bonomiz.
Privacy-preserved Mobile Sensing through Hybrid Cloud Trust
Framework.
http://mlt.sv.cmu.edu:3000/papers/privacy-preservedsensing.pdf.
Daniel J. Abadi, Wolfgang Lindner, Samuel Madden, Jorg Schuler. An
Integration Framework for Sensor Networks and Data Stream
Management Systems. http://www.vldb.org/conf/2004/DEMP28.PDF.