2. 2 |
CERTIFICATE
This is to certify that Summer Training Project Report entitled “Dhron-Pi Open Source Education System” submitted by Group no. 9
[HimanshuAttri 27, Karandeep Singh 29,GandharavHira 23,Pratik Rana 40] is an authentic work carried out by them at Indira Gandhi
Delhi Technical University for Women, Delhi under my guidance during STP7 in 2016. The matter embodied in this project work has not
been submitted earlier for the award of any degree or diploma to the best of my knowledge and belief.
Signature of the Guide
Dr. S.R.N Reddy
(Head of Department,
Department of Computer
Sciences)
Signature of the Students:-
HimanshuAttri
Karandeep Singh
GandharavHira
Pratik Rana
3. 3 |
Index
Section 1: Introduction to Project
1.1 Abstract
1.2 Problem Statement
1.3 Thesis Objective and Scope
1.4 Applications of System
Section 2: Literature Review
2.1 Existing systems
2.2 Review of proposed technologies
Section 3:Selection of system, technologies and development platform
3.1 Selection of embedded system
3.2 Selection of technologies
3.2 Selection of Software Development tools
Section 4: Design of the system
4.1 Introduction to design
4.2 Design Methodology
4.3 Architecture of system
4.3.1 Software architecture
4.3.2 Hardware architecture
4.4 Requirements
Section5: Implementation
5.1 Implementation
5
5
5
6
7
8
8
9
12
12
13
15
16
16
17
18
18
20
22
23
23
4. 4 |
5.2 Hardware 24
5.3 Software 25
5.4 System Software Design Overview 27
Section6: Testing and Analysis 30
6.1 Testing 30
6.2 Analysis 32
6.3 Test Case 0 (Session on 11th
July 2016, IGDTU) 33
Section 7: Conclusion 33
5. 5 |
1.1 Abstract
An unknown keyword, to technical descriptions of a machine, to places we want to visit or a
subject we wish to learn, every search required the internet to fill in the gaps of knowledge
we may having. Several search engines, applications and offline CD try and bridge this gap of
information that individuals may be possessing. However those that offer complete
information of wide variety of topics generally require a steady internet connection or
massive storages on the other hand offline CD DVD and modules are limited by their list of
topics and at times to don’t cover the scope of topics the user may require.
Thus to come up with a cost effective , portable solution with a wide range of integrated
topics in a user friendly and easy to understand as well as browse is the current need. Our
Dhronacharya Open Source Education System on board a Raspberry Pie Model 3, nicknamed
Dhron-Pi meets each of these demands, today.
With more than 70% or schools through India having no form computer architecture let
alone a consistent Internet connection, Dhron Pi would provide the means to deliver trusted
set of information to students as well as teachers.
Dhron-Pi serves as an access point; data hub and server to its clients thus single headily
provide text, images and videos to the user through either a local host directly through the
users’ browser or with the aid of an interactive Graphical User Interface on board the
Dhron-Pi as well as associated PC nodes.
1.2 Problem Statement
“The lack of Internet should not mean the lack of knowledge”
In the age of Information, students are still limited by books to provide insight to topics, at
times going beyond its scope or not being able to pictorial and graphically represent data in
the easiest way possible. Moreover the declining state of Technologies provided in Indian
government schools is making a computer and the internet look like a perplexed means of
information. The following statistics will provide an insight to the current status of computer
based learning in Indian Government schools.
Even with the Right to Education (RTE) act in place the nations average of only 22.18% [1]
internet enabled computers in schools, the governments is clearly unable to provide the up
to date knowledge that the internet has to offer. Some of the states including Bengaluru
with only 30% internet connected machines, Karnataka at 28%, Tamil Nadu at 78%[1][2]and
Andhra Pradesh at 33% internet-networked machines add to this decline. From Central
square Foundation research of Indian government schools it was also concluded that
between 45% -50% schools [3] lack the necessary hardware to keep computer labs
operational
6. 6 |
Further analysis of the Central square foundation research showed that unlike PCs, mobile
phones used for educational purposes have greater penetration of more than 86% in the
Indian government school system [3].
And so in order to efficiently exploit these mobile devices, Dhron-Pi if provided can be used
as a standalone device that cover most of the educational resource solution that the schools
would like to offer in a highly cost effective and optimum manner.
1.3 Thesis Objective and Scope
The theme of this project is to deliver offline resource solutions to users on General and
Specific topics ranging from Medicine, Architecture, Learning tutorials, Engineering, History
and much more.
We aim at utilizing cross platform resources to deliver information to the user irrespective
of the mobile device user has , however a smartphone with Wi-Fi and browser capabilities is
a minimum requirement in case of more than one user for the Dhron-Pi system. The cross
platform resources used as briefly discussed as follows:
Wireless Access Point (AP) on broad Dhron-Pi provides connectivity to any
device with a Wi-fi adapter to gain access to information provided by the
system. AP starts as soon as Dhron-Pi boots.
Using Web portals than can be access through any web browser provides a
generic means to view the information queried by the user.
The use of python based Graphical User Interface provides an interactive
cross platform means to access portals on board the Dhron-Pi, thus
enhancing user experience. Also used to display real-time information such
as temperature and humidity of surroundings
Data in the form of ZIM (Zeno IMproved) file formats which are easy to
understand and implement, highly compressed using Differential
compression provide an effective way of drastically reducing storage space
and increase portability of information.
With the aforementioned technologies and other discussed in further chapter, the need to
use Internet connections and data packs inorder to obtain information educational topics
will be drastically reduced. Thereby helping users specially students, connected to Dhron-Pi
in order get additional information and complete or create new assignments, obtain access
to research and current developments in a variety of field as well as finding new avenues
and projects .
Dhron-Pi users can find self-lecture, learning tutorial and informational text as well as
images in remote locations where the internet is not present. Thus enabling them to
7. 7 |
increase their classroom experience without being limited to the scope books and reading
materials, currently available.
1.4 Applications of System
Dhron-Pi open source education system is a standalone umbrella project for relaying a wide
array of information comprised of contents from Wikipedia, TED Talks, Offline (complete )
access to NCERT books, Medical Research and resource material, Wiktionary etc.
It is designed specifically to deliver pure educational contest in the simplest, quickest and
internet-free way possible. Wireless access point on board Dhron-Picoupled with mobile
devices (if available ) or PC’s with wireless adapters can be promptly used by clients to view
content on present on the system. The Dynamic file sharing system accessed via web
browsers allocates new portals for updated or newly added information to the Dhron-Pi.
ZIM files for any document or folder can be created and easy added to the Dhron-Pi by the
teacher or the developer in order to reconfigure the education system according to their
needs. Further applications are discussed in the subsequent sections.
8. 8 |
2. Literature Review
This section includes the current knowledge on various education systems, policies and
projects currently within the country including substantive findings, as well as theoretical
and methodological contributions. It contains secondary sources only.
2.1 Existing systems
Indian cases study on projects and policies related to providing educational content in some
form or the other.
1. Pratham:
A joint venture between UNICEF and the Municipal Corporation of Mumbai runs
multiple programs to supplement school education, such as learning support classes,
libraries and additional learning resources. A hallmark of these initiatives is that Pratham
engages volunteers from local communities and trains them to run these programs.
An “Annual Status of Education report “ Facilitated by Pratham stated that between the
4 years (2010-2014) the national average of schools(15206 surveyed) with computers
has grown only from 15.8% to 19.6%, which indeed is a sad fact given the Rs.68,728
crore government budget that went into improving school facilities that year.[2.1]
2. Free Laptop Distribution scheme:
An initiative of the Government of UP headed by Akhilesh Singh Yadav of Samajwadi Party
to provide free laptops and computer tablets to the students in the state who pass the
high school and intermediate examinations to encourage them for higher studies. A total
of 15 Lakh laptops have been distributed by the Government of Uttar Pradesh between
2012-2015.Configuration of Laptops:
S.No. Particulars Description
1. Processor and
memory
64 bit multicore X86 Intel Pentium with 2 GB DDR 1333
MHz RAM
2. Display LED HD 14" with 1366x768 resolution or higher
3. Wireless 500 GB SATA 5400 RPM or Higher
4. Operating System Wireless 802.11 q/b/g or higher and standard Bluetooth
5. Standard Accessories Preloaded Dual Boot - Primary boot : Windows 7 Starter
with Antivirus, Secondary Boot : Linux/Ubuntu
6. Battery Type Keyboard, Power Cable, Power Adapter and Charger, User
Manual, Backpack etc
9. 9 |
Demerits of Laptop distribution scheme-
Its limitation to secondary school students i.e. the students of class 11-12th only, not
for students of primary section.
The scheme is only implemented in the state of Uttar Pradesh, where still not all the
districts were covered a large section of students have still not been affected by this
scheme.
Large expense has been accounted by the government.
The Processors and Configuration of the laptops are outdated and no internet access is
provided to the user for real time access.
Education content is not supplied.
There are several other projects and policies implemented in India however the main issue
common in each project is that, the resource material supplied to students is either not
there, is outdates, isn’t inter active enough to ensure long times and bound by some
storage or content availability scope. Dhron-Pi however, as mentioned in the next sections
addresses these problems and tackles them head on, created an independent open source
education system without the need and added costs of data packs and steady internet
connections.
2.2 Review of proposed technologies
Table 2.1
Criteria Embedded system (Single-board computer, Controller etc.)
Raspberry Pi 3 Intel Galileo Gen 2 BeagleBone PandaBoard ES
SoC Broadcom BCM2837 Intel Quark SoC
X1000
TI Sitara
AM335x
TI OMAP4460
CPU
architecture
ARM Cortex-A53 x4
1.2 GHz
x86 Quark
400 MHz
ARM Cortex-
A8720 MHz
ARM Cortex-A9 x2
1.2 GHz
GPU Broadcom
VideoCore IV
N/A PowerVR
SGX530
PowerVR SGX540
RAM 1 GBLPDDR2 256 MB DDR3 256 MB DDR2 1 GB LPDDR2
Storage microSD 8 MB Flash + 8 KB
EEPROM + SD
4 GB Flash +
microSD
SDHC
Networking Internal Bluetooth
and Wi-Fi +Ethernet
Ethernet Ethernet Internal Bluetooth
and Wi-Fi +Ethernet
Cost $35 $116 $67 $182
10. 10 |
Table 2.1 clearly states the superiority of Raspberry Pie Model 3 over its rivals: Intel Galileo
Gen 2, BeagleBone, PandaBoard ES. Pi is the most cost effective, higher in terms of
processor power, Random access memory and on board storage (up to 256 GB- depending
on the micro SD). Making it best suited for Dhron-Pi as its core single board computing
architecture.
Criteria Temperature and Humidity Sensor Model
AM2302 / DHT22 DHT11 SHT71
Range 0-100% 20-90% 0-100%
Absolute accuracy ±2% ±5%
±3% (20<RH<80)
±5% (RH<20, RH>80)
Repeatability ±1% ±1% ±0.1%
Long term stability ±0.5% per year ±1% per year <0.5% per year
Typical street price US$ 4-10 US$ 1-5 US$ 30-50
Table 2.2
Table 2.2 depicts the comparison between different temperatures and humidity sensors
but due to our simple need for monitoring surrounding environment possible a classroom or
a small hall, it can concluded that the most cost effective yet adequately accurate sensor be
used for monitoring surrounding temperatures and moisture levels. Thus Adafruit’s DHT11
Temperature and Humidity Sensor was selected for the task.
Programming Platform
11. 11 |
It is clear from the above figure that PHP an advantage over other languages when it comes
to run time and need to develop web pages and create dynamic web portals. However
python which is the most easy to use, has lesser lines of code for same program compared
to Ruby and PHP giving us an advantage in productivity and code readability. Thus the
programming to create web portals for Dhron-Pi would be done using PHP coupled with
HTML and CSS however due its wide and diverse range of libraries, python would be
coupled with Tkinter to do the necessary development for Graphic User Interface.
Tkinter was used for GUI programming as It’s in the standard library ,It’s easy to use and It’s
reasonably lightweight.
12. 12 |
3. Selection of system, technologies and development platform
There are several technologies used for Dhron-Pi open source offline education system.
Different system on chips, software programs, Temperature/Humidity sensors and WI-FI
adapters are available in the market however we had to select one among this wide range
of components which appropriately suits the design and helps in achieving the goals and
objectives set for this project. This chapter gives details about the technologies and
software programmers and hardware components available in the market and explains
about the selected ones.
3.1 Selection of embedded system
In section 2.2 the choice of Raspberry Pie over its rival embedded system has been well
established, however a detailed comparison is necessary for the proper selection of what
will for the core of Dhron-Pi.
Criteria Embedded system
Raspberry Pie 3 Raspberry Pie 2 Raspberry Pie
Processor
Chipset
Broadcom BCM2837 64Bit
Quad Core Processor
powered Single Board
Computer running at
1.2GHz
Broadcom BCM2836 32Bit
Quad Core Processor
powered Single Board
Computer running at
900MHz
Broadcom BCM2835
32Bit SoC full HD
multimedia
applications processor
GPU Videocore IV Videocore IV Videocore IV
Processor
Speed
QUAD Core @1.2 GHz QUAD Core @900 MHz Single Core @700 MHz
RAM 1GB SDRAM @ 400 MHz 1GB SDRAM @ 400 MHz 512 MB SDRAM @ 400
MHz
Storage MicroSD MicroSD MicroSD
USB 2.0 4x USB Ports 4x USB Ports 4x USB Ports
Max Power
Draw/voltage
2.5A @ 5V 1.8A @ 5V 1.8A @ 5V
GPIO 40 pin 40 pin 40 pin
Ethernet Port Yes Yes Yes
WiFi Built in No No
Bluetooth LE Built in No No
Table 3.1
From a pure specs standpoint, the Raspberry Pi 3 benefits from a boost of processor
speedupping the Pi 2's 900MHz quad-core ARM Cortex-A7 CPU to a 1.2GHz quad-core ARM
v8. Compare this to the Pi B+'s single-core 700 MHz ARM v6 the Pi 3 is a powerful pocket-
sized computer.In terms of pure performance, Pi 3 is around 65% quicker than the Pi 2.
While its increase in power may only be marginal, the new processor is actually more
power-efficient. While the Pi 2 always ran at a steady 900MHz, the Pi 3 drops down to
600MHz when idle, meaning it draws far less power – ideal if you plan to run your Pi via a
battery.
13. 13 |
The rest of the Pi 3's specs remain the same as the Pi 2 (1GB of RAM, 4 USB 2 ports,
100Mbits/sec Ethernet port, HDMI, 3.5mm audio jack and microSD slot).Most importantly it
does feature a Wi-Fi and Bluetooth 4. The internal Wi-Fi would prove extremely handy when
Pie is converted in to a Wireless Access Point
The Raspberry Pi 3's Wi-Fi chip is also reasonably impressive for a device without a separate
antenna. The Pi 3 achieved data-transfer speeds of 12Mbits/sec, compared with
26Mbits/sec from an 802.11n laptop when positioned 10 metres away from the router.
When moved to within a metre of the router, speedswill rise to 19Mbits/sec on the Pi 3 as
compared to 84Mbits/sec on the laptop.
3.2 Selection of technologies
3.2.1 Web server
Apache 2 Server
Apache is developed and maintained by an open community of developers under the
auspices of the Apache Software Foundation. Most commonly used on a Unix-like system
(usually Linux), the software is available for a wide variety of operating systems besides
Unix, including eComStation, Microsoft Windows, NetWare, OpenVMS, OS/2, and TPF.
Released under the Apache License, Apache is free and open-source software.
• Loadable Dynamic Modules
• Highly scalable (easily handles more than 10,000 simultaneous connections)
• Handling of static files, index files, auto-indexing and content negotiation
• Name- and IP address-based virtual servers
• IPv6-compatible
• HTTP/2 protocol support
• Fine-grained authentication and authorization access control
• gzip compression and decompression
• URL rewriting
• Headers and content rewriting
• Bandwidth throttling
• User and Session tracking[23]
• Embedded Perl, PHP and Lua scripting
• Real-time status views
• XML support
14. 14 |
3.2.2 DHT11 Temperature and Humidity Sensor
The DHT11 is a basic, ultra low-cost digital temperature and humidity sensor. It uses a
capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a
digital signal on the data pin (no analog input pins needed). Its fairly simple to use, but
requires careful timing to grab data. The only real downside of this sensor is you can only
get new data from it once every 2 seconds, so when using our library, sensor readings can
be up to 2 seconds old.
• Low cost ($ 1-5 )
• 3 to 5V power and I/O
• 2.5mA max current use during conversion (while requesting data)
• Good for 20-80% humidity readings with 5% accuracy
• Good for 0-50°C temperature readings ±2°C accuracy
• No more than 1 Hz sampling rate (once every second)
• Body size 15.5mm x 12mm x 5.5mm
• 4 pins with 0.1" spacing
3.2.3 SanDisk Ultra 128GB class 10 SD card
As storage of offline education content will play an integral role in Dhron –Pi, selection of
the right storage device is necessary. This class 10 card with UHS speed class 1 rating has a
read and write speed of 275 Mb per second- not only does this allow users to open apps
faster and smoother, multitask with apps easily. The high transfer rate makes it easy to
transfer documents between devices- the card being able to offload an hour long full HD
video in about 5 minutes or 100 high resolution photos in 1 minute.
• THE WORLD’S FASTEST TRANSFER SPEEDS OF UP TO 275MB/S
Clocking in at up to Up to 275MB/s read; up to 100MB/s write, the SanDisk
Extreme PRO microSDXC UHS-II Card delivers the fastest transfer speeds
• DURABLE DESIGN FOR USE IN EXTREME ENVIRONMENTS
SanDisk Extreme PRO microSDXC UHS-II Cards are shockproof, temperature-
proof, waterproof, and X-ray-proof4
15. 15 |
3.3Selection of Software Development tools
PHP +HTML5+ CSS for Web development
PHP, or Hypertext Preprocessor, is a server-side open source scripting language that is used
to help improve and facilitate web development.
1. It is easy: PHP is adopted among web developers because it is easy to read and
understand. PHP syntax is based off of both C and Perl, and can be easily parsed, so
having experience with those two languages should make development even easier.
2. It gives you maximum control: PHP provides more control over websites than any
other programing language. Other languages require long tedious scripts, whereas
PHP lets you complete the same functions with just a few lines of code. PHP works
well with other languages and services such as HTML, CSS, as well as various
databases.
3. Its cost efficient: Another reason PHP benefit’s web developers is that it is 100%
free. There is no need for expensive software or the need to purchase licenses. PHP
works out of the box with Apache, PostgreSQL, and MySQL databases. There is a
very minimal cost threshold to build a successful site.
HTML5 is a markup language used for structuring and presenting content on the World
Wide Web. It is the fifth and current version of the HTML standard. It was published in
October 2014 by the World Wide Web Consortium (W3C) to improve the language with
support for the latest multimedia, while keeping it both easily readable by humans and
consistently understood by computers and devices such as web browsers, parsers, etc.
Tkinter Python GUI interface
The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit.
Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems.
(Tk itself is not part of Python; it is maintained at ActiveState.) You can check that tkinter is
properly installed on your system by running python -m tkinter from the command line; this
should open a window demonstrating a simple Tkinterface.Dhron-Pi Python GUI is
designedd in tkinter platform.
16. 16 |
4. Design of the system
This sections deals with the synergic design of software, hardware and content
dependencies used in the Dhron-Pi operating system. The cost affected embedded platform
of Raspberry Pie which has been reconfigured to cater the needs of users through a cross
platform web- network system coupled with a graphic user interface on the Pi itself. The
modes of connectivity namely Wireless access point and Ethernet mode increase system
flexibility irrespective of a wired to unwired architecture which may be available.
4.1 Introduction to design
Embedded systems have been around for more than a few decades now, however to
carefully select and create an independent standalone system purely as an Education
resource solution required a combination on the top-to-down approach and a bottom-to-up
approach during system design.
Key Features:
1. The homogenous design of several inbuilt components within the Raspberry Pi 3
including Ethernet port, 802.11n Wireless LAN, 1.2GHz quad core ARM CPU coupled
with a credit card size and low cost compared to its general purpose counter parts
make it the perfect fit for subsequent designs and subsystem integrations.
2. Dhron-Pi’s ability to separate its dependencies on variety of contents from the on
board utilities such as web portal and Graphic User Interface software increases its
flexibility by automatically adding content to these utilities whenever new
informational content is added to the Pi.
3. Furthermore with the aid of Apache server application IP- based and Port-based local
hosting is done to deliver contents from the Dhron-Pi to its users via Web Browsers.
17. 17 |
Design Cycle used for Dependencies, content selection and GUI design
4.2 Design Methodology
Building an education system and providing the necessary information require not only
careful planning and research but also user inclusion and to understand as well as cater the
needs of a vivid group of individuals.
Advantages
Bottom –To –Up Approach Top –To –Down Approach
1. Efficient for Product Concept Design
cycle which are heavily experimental
Maximize savings by thoroughly
planning budgets at the beginning
2. Best Approach for User Inclusion
where there is a need for everyone’s
voice to be heard
Eases complex projects by breaking
down a project’s goals into smaller and
more easily solvable problems.
3. System by system assembly ensures
maximum flexibility for new incoming
designs.
Planning produces long lasting
cohesion of inter disciplinary sub-
projects that may be used.
Cycle used for major software and complete hardware architecture design
18. 18 |
Software architecture of Dhron-Pi Open source Education system
From the above comparative study the designs concluded to go with a blended approach of
Top-Down and Bottom-Up Approach. In order to reach a sound architectural design most of
software and hardware system architectures were designed using a Top-down Approach.
This enables us to create Dhron-Pi in a cost-effective a concise, standalone system to
provide open source educational content to its users.
However during selection of contents other than the main dependencies that being
Wikipedia’s offline content, the designers used a Bottom-Up approach for gathering the
necessary content and selecting the suitable portals of information.
The Graphic User Interface Design was also done using a Bottom-Up approach with
maximum detailing given to enhance user experience while accessing browsers and making
Dhron-Pi a more interacting system for students.
4.3 Architecture of system
1. Software Architecture
19. 19 |
The diagram shows the processes that follow after the Raspberry Pie is booted to the point
where Dhron-Pi system is active and ready to be utilised by the user. The Wireless Access
point and will display a device named “Dhron-Pi” on any mobile device that wishes to
connect with the system.
Followed up a local host setup by the Apache services providing an IP address for the web
portal through which the education information will reach the user.Each portal has its
respective sub-directories containing the necessary information required by it. For example
Android Learning portal in the browser access the necessary video files present in the
‘Dhron-pi/apache2/www/android’ sub-directory when viewed through the local host.
The Graphic User Interface acts as interface between the user and the individual web
portals coupled with the temperature and humidity sensors to display real time information
about the environment through the Dhron-Pi GUI.
Apache IP-based Virtual Host
IP-based virtual hosting is a method to apply different directives based on the IP address
and port a request is received on. Most commonly, this is used to serve different websites
on different ports or interfaces. In many cases, name-based virtual hosts are more
convenient, because they allow many virtual hosts to share a single address/port. See
Name-based vs. IP-based Virtual Hosts to help you decide.
In Dhron-Pi we used this kind of apache server and edited our apache.conf to root at
/home/dhron-pi/web. All php files and local data resides here.
Kiwix
Kiwix is a free and open-source offline web browser created by Emmanuel Engelhart and
Renaud Gaudin in 2007. It was first launched to allow offline access to Wikipedia, but has
since expanded to include other projects from the Wikimedia foundation as well as public
domain texts from the Project Gutenberg. Available in more than 100 languages, Kiwix has
been included in several high-profile projects, from smuggling operations in North Korea to
Google Impact Challenge's recipient Libraries Without Borders.
In Dhron-Pi we compiled kiwix binary files to make them work at ARM based raspberry pi.
Advantage with using kiwix to read zim files is that it do not extract the full content but only
a particular page is fetched.
20. 20 |
Hardware layout of Dhron-Pi
2. Hardware and User-Access layout
Main components of Dhron-Pi:
Raspberry Pie 3
o Internal 802.11n Wireless Adapter
o Ethernet Port
128 GB SD card Storage
Adafruit DHT11 Temperature and Humidity Sensor
5V Power Supply
HDMI Screen Display
21. 21 |
Raspberry Pie 3 with a 1.2 GHz 64-bit quad-core ARM Cortex and 1 GB 900MHz RAM is the
heart of this system. The detailed analysis of the choice has been done in Chapter 2. The
credit-card sized board provided sufficient processing power coupled with its inbuilt Wi-Fi
adapter and Ethernet ports. With the need of just a 5V power supply Dhron-pi configured on
the Pie 3 model can run even with a simple smartphone charger. The 40 General purpose
input-output (GPIO) connectors provided are used for DHT11 sensors and provide scope for
future enhancements of the project, discussed in the last section.
Dhron-Pi can be divided into two operating modes: Wired and Unwired. During Unwired
connectivity localhost server are sent via inbuilt wireless adapter present in the Raspberry Pi
3 making it suitable to connect with smartphones and PCs with wireless adapter in order to
connect with the Dhron-Pi access Point. However during Wired Ethernet Mode, the pie is
connected through the Ethernet port on the same network as its slave user displays and
information is relayed on this network.
The SD slot on board the Pi 3 is accommodated with a 128GB SD storage in order to provide
add the necessary OS along with all the software requirements as well as offline resource
material (compressed or uncompressed ) for the Dhron-Pi system.
The Adafruit DH11 Temperature and Humidity sensor connected with the GPIO pins (VCC:
Pin No. 2, GROUND to Pin No. 39 and DATA to Pin No. 7) provides real time environmental
information through the GUI on board the Dhron-Pi operating system. Dhron Pi is also
connected with a dedicated LCD HDMI 7inch display to provide visual access to developers
and teacher in order to add informational content or reconfigure the Pi per their needs or
directly display information from the Dhron-Pi. The user may access content through any
Wi-Fi enabled smartphone or an PC on the same network as Dhron-Pi.
22. 22 |
4.4 Requirements
The resource material selected for the Dhron-Pi education system is open source and as
follows:
Other Requirements include a Reader for compressed .zim content and from section two it
was inferred that Kiwix is the best choice in terms of usability, search and query handling,
launching and running etc. Dhron-Pi also uses Apache 2 which is the most commonly used
Web server on Linux systems.Compression methods on Apache include the external
extension module, mod_gzip help with reduction of the size of Web pages served over
HTTP. The other feature used is Virtual hosting which allows one Apache installation to
serve many different Web sites. For example, one machine with one Apache installation
could simultaneously serve www.example.com
Wikipedia: The offline version of an encyclopaedia with over 5 million articles,
giving u the summation of the entire human knowledge, on the go.
Ted Talks: Short, powerful talks (18 minutes or less) covering almost all topics —
from science to business to global issues — in more than 100 languages.
NCERT Books: National Council of Educational Research and Training material on
all subjects for class 6
th
to 12
th
in coloured PDF version
Wikispecies: The free species directory. It covers Animalia, Plantae, Fungi, Bacteria,
Archaea, Protista and all other forms of life. So far it has 480,226 articles.
Wikibooks: Bringing education to humanity at reduced costs with top-quality
learning materials. It containsPrintable PDF versions on any subject for various
authors.
Android Tutorial Classroom: Tutorial will teach you basic Android programming
taking you through some advance concepts related to Android application
development
Wikitionary: Multilingual project to create a free content dictionary of all words in
all languages. It is available in 172 languages and in Simple English.
Vikidia for kids: Vikidia is an encyclopaedia written for 8 to 13-year-old children
and anyone seeking easy-to-read content on a subject.
23. 23 |
5. Implementation
This section covers the process to integrate the hardware components with their software
architectures and finally execute the delivery of services to the user. The process followed is
stated as per the following:
Process PERFORMANCE CRITERIA
Determine system
changes required
Determine and record the required changes to system
Ensure that documentary evidence exists to support
changes and evaluate changes required
Complete all documentation required in accordance with
maintenance methodologies
Obtain technical data from reliable sources and request
other resources that may be required to complete the
changes
Carry out system
changes
Plan the procedure to effect intended changes
Confer with colleagues involved in the proposed changes
and agree a mutually acceptable timeline and method of
implementation
Copy initialisation or configuration files prior to
implementation
Create a roll-back path in the event of failure
Ensure that changes required in software are made
according to project or organisational guidelines
Test and verify that the changes have been made according
to implementation guides and organisational standards
Present changes
(Operation )
Demonstrate changes to a team of developers and explain
the impact of these changes
Work towards making these changes acceptable if changes
are rejected, or making further modifications if required
Update documentation and repositories in accordance with
standards and update modifications made to the change
management system
The top to down design approach (as mentioned in section 4.2) was followed to complete
the above mentioned processes and achieve synergy between hardware, software and
dependencies creating a standalone education system.
24. 24 |
5.2 Hardware
The designers begun by loading a class 10 128 GB SD card with preloaded OS (Ubuntu Mate
16 used) into the SD card slot on the Raspberry Pi, which will only fit one way.Next, USB
keyboard and mouse were inserted into the USB slots on the Raspberry Pi. Then connect
HDMI cable from the Raspberry Pi was connected to the 7inch LCD display monitor.
Followed by powering it up with a USB Micro power supply (like most standard mobile
phone chargers) of at least 2A and 5Voutput.This will initiate system boot and after install
the OS and fulfilling all initial start-up subroutines (done only once) the Pi is full on and
functional.
The Wireless internal adapter as well as ether net ports were then verified for simple
network access (any LAN or once time net connection would do the job) before they are
configure as Wireless Aps (section 5.2). Finally the Adafruit DHT11 Temperature and
Humidity sensors was integrated to the raspberry Pi (Data Pin at GPOI4) and tested with a
standard temperature reading python program for proper functioning.
Umbrella Project Integration of different Hardware and software components
25. 25 |
5.2Software
The Raspberry Pie required specific yet detailed changes in its software to serve as an access
point, hub of all the on-board information stored in way that it is accessible to several users
simultaneously, deliver this information through the access point to tethered devices and
finally present the information in a cross –platform easily accessible user-friendly manner.
To achieve this several configurations were changes in the Operation system (we used
Ubuntu Mate 16.0), PHP and python files for web portals and GUIs we deployed
furthermore informational contented for gather and stored at one common directory on
board the Dhron-Pi. Finally creating a standalone system that smartphones and other
devices can connect and retrieve information from, explained in the next sub-sections.
1. Flowchart for Setup of Information Delivery
26. 26 |
The first step was to reconfigure the Pi’s on board Wireless Adapter to act as an Access
Point (AP) where multiple devices can connect to and retrieve information simultaneously.
Hostapd (Host access point daemon) as well asDnsmasq were used to make the normal
network interface cards into access points and authentication servers and to support virtual
networking in virtualisation frameworks respectively. These changes were finally made
permanent by saving through ip tables, thus creating an AP named “Dhron-Pi”. Complete
procedure is given in reference [5.2.1].
The second step was adding the required directory to the apache’s (Apache 2) server in
order to provide the location of the content being delivered to the user through the web
browser using the access point. Web servers are used to serve Web pages requested by
client computers. Clients typically request and view Web pages using Web browser
applications such as Firefox, Opera, Chromium, or Internet Explorer. The required
directories were added to the localhost’s apache2.conf (the main Apache2 configuration
file. Contains settings that are global to Apache2) and 000-default.conf (virtual-host-friendly
default configuration) thus making it available for virtual hosting.
Some dependencies like Wikipedia, Wikiversityetcrequired different ports in case several
users wish to search different content through the standalone Dhron-Pi education system.
Therefore these ports were open at the time of start-up and made available for virtual
hosting through the web page of Dhron-Pi.Finally the apache web services is combined with
a hypertext processor (PHP) along with the design for web pages with educational content
made in HTML+CSS to deliver information to the user’s device. This is also done through a
graphic user interface designed in python and Tkinter which is currently complied through
the OS’s terminal giving access to user on connected PC as well as Dhron-Pi (with a display )
in an interactive manner.
2. Data Flow Diagram to show service delivery to User
27. 27 |
The Data flow diagram shows the user access layout for Dhron-Pi from connection to query
of educational information to delivery and offline saving content on connected devices.
After Password Authentication and establishing connection with system’s Access point, Web
portals will be ready through the browser to display educational content. Ports based local
hosting for Kiwix based .zim content is also made active and the reaming file and
information are displayed through the dynamic file browser. The simple layout to deliver
information to any mobile device connected to The Dhron-Pi ensures direct access and the
ability to save information from Dhron-Pi for further use or keep searching. This saves the
user’s device storage by enabling him which content to keep or what to discard.
5.3System Software Design Overview
Interactive Web Services
Provide cross-platform access from Pie to user by through any browser via mobile
phones, tablets even Wi-Fi or Ethernet linked PCs .Few portals also provide file
sharing system for examples, all NCERT books from 6th class to 12 class, learning
tutorial videos ( without the need to buffer through the internet) and much more
at the push of a button .
Our Web Portal
28. 28 |
Interactive Graphic User Interface
Provides Direct yet interactive access to users through Laptops and PC’s acting as an
application between the data and your device .Dynamic Design and features like,
adding data directly to central Pie system, Temperature and Humidity sensor etc
make it fit for Teacher and developer as well as students.
Our Interactive File Bowser (within the web portal)
30. 30 |
6. Testing and Analysis
6.1 Testing
System Starting Time
Table 6.1 show the response of the system from when it is powered on till the OS and GUI
boots completely. According to it the main apache server and its various ports with its WAP
Dhron-Pi started even before the complete OS boots.
Task Time Taken Comment
System Boot Start 5 Secs after power on 5 V DC Supply provided
WIFi Access Point Starts 15 Secs after power on Runs a bash script on boot
Apache On 15 Secs after power on Apache runs automatically.
Pi-Ports On 15 Secs after power on Runs a bash script on boot
Complete OS boots for UI 35 Secs Runs a bash script on boot
Table 6.1
System Response Time
As shown in table 6.2 Dhron-Pi user response time when tested on various machines.
Although the result presented here are from a Desktop machine accessing the Dhron-Pi
through its WAP. Hence results may differ from those which are analysed here depending
on particular user machine hardware and software capabilities in mobile , laptop,
desktopsof different configurations may vary the actual user response time.
Task Time Comment
Portal loading time 5.0 Secs Main web index.php
Port Loading (TED-Ed) 6.2 Secs Heaviest port page on our server.
Port Loading (Wiki Med) 2.3 Secs Lightest Port on our Server
File Browser 1.9 Secs Contains various tutorials
31. 31 |
List of software testing done on Dhron Pi:
1. Ad-hoc testing
This type of software testing is very informal and unstructured and can be performed by
any stakeholder with no reference to any test case or test design documents. Here we
tried to find defects in our work flow. In most of the cases it worked fine but there are
few areas where we still need to do improvements.
2. Browser compatibility Testing
It’s one of the sub types of testing of compatibility testing performed by testing team.
Browser compatibility testing is performed for web applications with combination of
different browsers and operating systems. It worked well on every platform like Android,
Windows Mobile, Windows Pc, i-phones. Slight difference in text alignment according to
the size the screen occurred there.
3. Vulnerability Testing
Involves identifying, exposing the software, hardware or network Vulnerabilities that can
be exploited by hackers and other malicious programs likes viruses or worms. We
provided a secure WAP service with a password also provided a Administrator Panel To
see log of user list and activities
4. Black Box testing
Black box testing is a software testing method where in testers are not required to know
coding or internal structure of the software. Black box testing method relies on testing
software with various inputs and validating results against expected output. We tested
Black box testing and it worked well with different keywords and phrases
5. GUI (Graphical User Interface) testing
This type of software testing is aimed at testing the software GUI (Graphical User
Interface) of the software meets the requirements as mentioned in the GUI mockups
and Detailed designed documents. We confirmed our python GUI and web portal GUI
works fine
6. Bandwidth Testing
We also conducted wireless and Ethernet multiple connection checks around 20 users
used our portal simultaneously without any difficulty and they accessed same video at
the same time for testing purposes it worked fine. List of users using its wifi access point
shown in putty terminal using command “ARP”.
32. 32 |
6.2 Test Case 0 (Session on 11th
July 2016,IGDTUW )
We tested our Dhron-Pi in several stages by taking a stepwise increment of user load and
accessing various portals:
Firstly we tested it on our own devices and used the different portals simultaneously and
then we tried to access same portal at same time and both of it passed in our test. There
was a little increment in loading time but all devices got positive result
Again we tested it on our 8 devices: 4 mobile and 4 laptops including windows and android
phones we got good results there too. But we found out in some devices accessing time was
longer than others that was because of the device configuration i.e. RAM and cache
limitations. But on a standard device it worked well.
Third and final stage was when we asked all the developers in our Workspace at IGDTU to
connect to our Dhron-Pi Wi-Fi and told them to go to browser and visit the portal which was
on 172.24.1.1 and we buffered a particular video in around 20 devices and we got positive
results. All were getting quick response from our server.
And we kept the device for all day there around for 6 hours and it was working fine with
CPU temp around 49.2 Celsius only.
20 Connected Devices during Test Case 0
33. 33 |
6.3 Analysis
Successful testing gave way to overall analysis of Dhron-Pi and the stand-out features are
listed as follows:
The Dhron-Pi draws about five to seven watts of electricity. Since its server can run
constantly night and day, the electrical savings can really add up. It can be powered
by any standard power bank.
No moving parts - The Dhron-Pi uses an SD card for storage, which is fast and has no
moving parts. There are also no fans and other things to worry about. A Class 10 SD
card is usually the best performing compared to lower class cards, but this will
mainly only affect boot time.
Small form factor - The Dhron-Pi can be held in your hand. A comparable full-size
box cannot.
No noise - The Pi is completely silent.
Built-in HDMI capable graphics - The display port on the Pi is HDMI and can handle
resolutions up to 1920×1200, which is nice for making the Dhron-Pi in to a video
player box for example.
The Dhron-Pi runs GNU/Linux and variants of similar operating systems. There are
too many technical problems with Windows based Dhron-Pi. And Linux also is an
open source OS.
34. 34 |
7. Conclusion
A standalone open source education system with offline content, Dhrone-Pi was successfully
created thus saving the cost of data packs and steady internet connections in order to
browse for educational content. Tethering and usage through 20 devices was also a success
and multiple users were able to access the same or different educational resource provided
by Dhron-Pi through its web portals and Graphic user Interface.
The system showed as the extent of web browsers for cross platform access of same
resources through virtual hosting. Android as well as Windows phone were able to access
the information with ease.
Dependencies that included informational data, fetched whenever requested by a user
through one of the web portals we sent directly or after uncompressing thus saving the
user’s device storage and enabling him to access information as long as the device is
connected to Dhron-Pi. The user may also chose the save the content. The huge amount of
data storage on Dhron-Pi itself was mostly in compressed format thus leaving space for
additional content to be added and delivered to the user if the developers chose so.
Deploying standalone systems like Dhron-Pi can not only reduce costs of computer systems
required, internet connection for multiple users but also provide free interactive
educational content to the youth, today. It’s method to exploit either wired or unwired
networks makes it easy to scale where devices are interconnected by any one these two
means.