<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://raspberry.kenet.or.ke/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Snamuye</id>
	<title>Raspberry Pi Min-Grant project - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://raspberry.kenet.or.ke/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Snamuye"/>
	<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php/Special:Contributions/Snamuye"/>
	<updated>2026-04-04T01:01:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)/ledmatrixdisplay&amp;diff=383</id>
		<title>Projects (USIU)/ledmatrixdisplay</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)/ledmatrixdisplay&amp;diff=383"/>
		<updated>2015-08-27T07:33:23Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: Created page with &amp;quot;&amp;lt;div&amp;gt; '''CONTRIBUTING MEMBERS''':  &amp;amp;nbsp;KALPAVRIKSHIKA SELVAKUMAR  '''ID: '''640631  &amp;amp;nbsp;&amp;amp; SAMUEL NJUGUNA  '''ID:''' 640613  &amp;amp;nbsp; &amp;lt;div&amp;gt; '''ASSIGNMENT:'''  LED MATRIX DISP...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div&amp;gt;&lt;br /&gt;
'''CONTRIBUTING MEMBERS''':&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;KALPAVRIKSHIKA SELVAKUMAR&lt;br /&gt;
&lt;br /&gt;
'''ID: '''640631&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&amp;amp; SAMUEL NJUGUNA&lt;br /&gt;
&lt;br /&gt;
'''ID:''' 640613&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
'''ASSIGNMENT:'''&lt;br /&gt;
&lt;br /&gt;
LED MATRIX DISPLAY&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''INSTRUCTOR:'''&lt;br /&gt;
&lt;br /&gt;
DR.SILVESTER NAMUYE&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
'''COURSE:'''&lt;br /&gt;
&lt;br /&gt;
APT 2030&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689961|Abstract ii]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689962|Introduction. 1]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689963|Figure 1: Raspberry Pi model B+. 1]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689964|Objective. 2]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689965|Requirements to do the work/Apparatus. 2]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689966|Apparatus. 2]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689967|Tools. 3]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689968|Simulated setup. 3]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689969|Figure 2: Simulated setup of LED matrix. 3]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689970|Experimental setup. 4]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689971|Procedure. 4]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689972|Observations and results. 5]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689973|Discussion. 7]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689974|Conclusion. 8]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689975|Recommendation. 8]]&lt;br /&gt;
&lt;br /&gt;
[[#_Toc426689976|References. 9]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Abstract]] =&lt;br /&gt;
&lt;br /&gt;
This project was issued by the instructor to help the participants apply digital circuitry with the raspberry pi. The raspberry pi is a versatile micro-computer.&amp;amp;nbsp; With the raspberry pi as a controller, a digital display was to be assembled using an array of single LEDs – an LED matrix. This LED matrix would then be controlled by the raspberry pi. Control instructions were written in python programming language. The first setup of the circuit was connected on a standard breadboard for testing purposes. The circuit was then transferred onto an empty PCB and soldered on.&lt;br /&gt;
&lt;br /&gt;
The project yielded positive results and the students were able to create patterns of their choice on the LED matrix display.&lt;br /&gt;
&lt;br /&gt;
In the future, the project will be expanded for commercial use as well as implemented on campus for short-term announcements.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Introduction]] =&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi is a low cost '''computer''' that plugs into a computer monitor or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s capable of doing everything that a desktop computer can do, from browsing the internet and playing high-definition video, to making spreadsheets, word-processing, and playing games.&amp;amp;nbsp;(What is a Raspberry Pi?, 2015)&lt;br /&gt;
&lt;br /&gt;
The Raspberry Pi &amp;amp;nbsp;has the ability to interact with the outside world, and has been &amp;amp;nbsp;used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras.The raspberry pi runs on a software called the “Raspbian” and its native language is python.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Figure ]]1: Raspberry Pi model B+ ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
In a matrix format LEDs are arranged in rows and columns. You can also think of them as y and x coordinates. Let’s assume we have 4×4 matrix. Rows would be marked from A to D and columns from 1 to 4. Now we can address each LED by row and column. Top left led would be (A,1). Bottom down led would be (D, 4).&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Objective]] =&lt;br /&gt;
&lt;br /&gt;
The objective of this experiment was to demonstrate how the Raspberry Pi can be used to control a digital circuit, specifically an LED matrix. This control was to be used to display patterns on the LED matrix with the use of python as the programming language.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Requirements to do the work/Apparatus]] =&lt;br /&gt;
&lt;br /&gt;
== [[Apparatus]] ==&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi&lt;br /&gt;
*T-cobbler&lt;br /&gt;
*Connecting wires&lt;br /&gt;
*Bread-board&lt;br /&gt;
*Empty PCB&lt;br /&gt;
*12 ohm resistors&lt;br /&gt;
*LEDs&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== [[Tools]] ==&lt;br /&gt;
&lt;br /&gt;
*Soldering Kit&lt;br /&gt;
*Multi-meter&lt;br /&gt;
*Wire-cutter&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
[[Simulated setup]]&lt;br /&gt;
&lt;br /&gt;
=== [[Figure ]]2: Simulated setup of LED matrix ===&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Experimental setup]] =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figure 3: Experimental setup&lt;br /&gt;
&lt;br /&gt;
= [[Procedure]] =&lt;br /&gt;
&lt;br /&gt;
#The circuit was connected as shown above&lt;br /&gt;
#The T-Cobbler was then connected to the raspberry pi&lt;br /&gt;
#The observations of the patterns were then noted&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Observations and results]] =&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Figure 4: Display of the letter ‘C’.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figure 5: Display of the letter 'H'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figure 6: Display of the letter 'A'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figure 7: Display of the letter 'K'&lt;br /&gt;
&lt;br /&gt;
The above demonstrated displays where intended to spell out the word “HACK” using the LED matrix. It was successful.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Discussion]] =&lt;br /&gt;
&lt;br /&gt;
The concept vital to the success of this project was “persistence of vision”.''Persistence of vision'' is a commonly-accepted although somewhat controversial theory which states that the human eye always retains images for a fraction of a second (around 0.04 second). This means that everything we see is a subtle blend of what is happening now and what happened a fraction of a second ago''(Media, 2015).''&amp;amp;nbsp; To make a pattern, each row is lit at a time and this done at a delay of 0.001seconds and this causes persistence of vision to occur. With persistence of vision all rows are perceived to be lighting at the same time.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Conclusion]] =&lt;br /&gt;
&lt;br /&gt;
The Project was a success in displaying patterns on a LED matrix controlled by the Raspberry Pi. However, there was some issues with the soldering onto the PCB which will be dealt with in future.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
= [[Recommendation]] =&lt;br /&gt;
&lt;br /&gt;
*In future, the LED matrix would be enlarged for more clear patterns.&lt;br /&gt;
&lt;br /&gt;
*Input improvements like wireless input among other will be developed.&lt;br /&gt;
*Use of RGB LEDs for a variety colors for better&amp;amp;nbsp; effect&lt;br /&gt;
*Use of shift registers give a better effect as the message would move horizontally.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[References]] =&lt;br /&gt;
&lt;br /&gt;
''What is a Raspberry Pi?'' (2015). (R. P. Foundation, Producer) Retrieved from What is a Raspberry Pi?: https://www.raspberrypi.org/help/what-is-a-raspberry-pi/&lt;br /&gt;
&lt;br /&gt;
Media, W. (2015). ''Persistence of Vision''. Retrieved 2015, from http://www.mediacollege.com: http://www.mediacollege.com/glossary/p/persistence-of-vision.html&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=382</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=382"/>
		<updated>2015-08-27T07:30:05Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:Usiu logo.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png|RTENOTITLE]]&amp;amp;nbsp; [[File:RpiIntro2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== [[Digital Electronics (USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
= [[Projects (USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;LED Matrix Display&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=379</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=379"/>
		<updated>2015-07-30T10:45:24Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Project: Pi Based Cluster ===&lt;br /&gt;
&lt;br /&gt;
''Course: DST4030 - Parallel Computing''&lt;br /&gt;
&lt;br /&gt;
''Members''&lt;br /&gt;
&lt;br /&gt;
#''Waituru Mwangi''&lt;br /&gt;
#''Mercy Nekesa''&lt;br /&gt;
#''Frank Rutahiwa''&lt;br /&gt;
#''Bruce Kwiringira''&lt;br /&gt;
#''Joseph Manywanda''&lt;br /&gt;
#''Hungai Kevin''&lt;br /&gt;
#''Trevis Sinatra''&lt;br /&gt;
&lt;br /&gt;
'''About:'''&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
'''Objective(s):'''&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
Practical understanding of building parallel systems.&lt;br /&gt;
&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
'''Building the system:'''&lt;br /&gt;
&lt;br /&gt;
Components:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
'''Implementation:'''&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
'''Resources:'''&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation [https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
Configuring the nodes, step by step guide&lt;br /&gt;
&lt;br /&gt;
*'''First, configure the first node'''&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Get the OS image raspberrypi.org/download'''&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Get image into a the sdcard'''&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Boot the Pi'''&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Configuration on first boot'''&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Re boot'''&lt;br /&gt;
&lt;br /&gt;
user: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;pi&amp;lt;/span&amp;gt; (has root priviledges) password: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install emacs&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6. Refresh and update the softwares, if not done yet.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''7. Get Fortran, (strange but we need it)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install gfortran&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8. Before getting Argonne MPICH'''&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''9. Get MPICH sources from Argonne'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''10. Unpack them.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#tar xfz mpichXXX.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11. Planning a clean place for install'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/mpich3-install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''12. Make a build directory, and go to the build'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''13. Configure the build'''&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''14. Make'''&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''15. Install the files'''&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''16. Add the place that you put the install to your PATH'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''17. Or Note to permanently put this on the PATH you will need to edit .profile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs -/.profile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''18. Verify if the install were succesful'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#which mpicc /home/rpimpi/mpich3-install/mpicc $ which mpiexec&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''19. Go /home and set a place for your first test'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#cd ~&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir mpi_first_test $ cd mpi_first_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''20. Now testing MPI on single node'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''21. How this supposed to be done'''&lt;br /&gt;
&lt;br /&gt;
a) Get your IP address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
b) Put this into a single file called machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs machinefile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
c)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;192.168.1.161 [or the ip is ... ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22. Now test if the machinefile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile ~n 1 hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''23. Little C code using MPI on Pi to calculate Pi'''&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# cd /home/pi/mpi_fist_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24. Celebrate!'''&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''25. Shut down'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# sudo poweroff&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=378</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=378"/>
		<updated>2015-07-29T07:39:32Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:Usiu logo.png]]&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png|RTENOTITLE]]&amp;amp;nbsp; [[File:RpiIntro2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== [[Digital Electronics (USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
= [[Projects (USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:Usiu_logo.png&amp;diff=377</id>
		<title>File:Usiu logo.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:Usiu_logo.png&amp;diff=377"/>
		<updated>2015-07-29T07:38:56Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=376</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=376"/>
		<updated>2015-07-28T20:47:57Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png|RTENOTITLE]]&amp;amp;nbsp; [[File:RpiIntro2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== [[Digital Electronics (USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
= [[Projects (USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=375</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=375"/>
		<updated>2015-07-28T20:46:41Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png|RTENOTITLE]]&amp;amp;nbsp; [[File:RpiIntro2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
== [[Digital Electronics (USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
= [[Projects (USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=374</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=374"/>
		<updated>2015-07-28T20:46:16Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png]]&amp;amp;nbsp; [[File:RpiIntro2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Projects_(USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=373</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=373"/>
		<updated>2015-07-28T20:45:03Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png]]&amp;amp;nbsp; [[File:RpiIntro2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
*[[javascript:void(0)|&amp;lt;span class=&amp;quot;tocnumber&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;toctext&amp;quot;&amp;gt;Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI&amp;lt;/span&amp;gt;]]&lt;br /&gt;
*[[javascript:void(0)|&amp;lt;span class=&amp;quot;tocnumber&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;toctext&amp;quot;&amp;gt;Pre-Lab Exercise 2:Connecting Pi to the Internet&amp;lt;/span&amp;gt;]]&lt;br /&gt;
*[[javascript:void(0)|&amp;lt;span class=&amp;quot;tocnumber&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;toctext&amp;quot;&amp;gt;Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI.&amp;lt;/span&amp;gt;]]&lt;br /&gt;
*[[javascript:void(0)|&amp;lt;span class=&amp;quot;tocnumber&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;toctext&amp;quot;&amp;gt;Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Projects_(USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=372</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=372"/>
		<updated>2015-07-28T20:43:34Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png]]&amp;amp;nbsp; [[File:RpiIntro2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= [[Projects_(USIU)|Projects]] =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=371</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=371"/>
		<updated>2015-07-28T20:42:41Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png]]&amp;amp;nbsp; [[File:RpiIntro2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=370</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=370"/>
		<updated>2015-07-28T20:41:48Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
[[File:RpiIntro1.png]]&amp;amp;nbsp; [[File:RpiIntro2.png]]&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=369</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=369"/>
		<updated>2015-07-28T20:36:39Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Project: Pi Based Cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Course: APT 4030 - Parallel Computing&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''About:'''&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
'''Objective(s):'''&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
Practical understanding of building parallel systems.&lt;br /&gt;
&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
'''Building the system:'''&lt;br /&gt;
&lt;br /&gt;
Components:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
'''Implementation:'''&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
'''Resources:'''&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation [https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
Configuring the nodes, step by step guide&lt;br /&gt;
&lt;br /&gt;
*'''First, configure the first node'''&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Get the OS image raspberrypi.org/download'''&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Get image into a the sdcard'''&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Boot the Pi'''&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Configuration on first boot'''&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Re boot'''&lt;br /&gt;
&lt;br /&gt;
user: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;pi&amp;lt;/span&amp;gt; (has root priviledges) password: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install emacs&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6. Refresh and update the softwares, if not done yet.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''7. Get Fortran, (strange but we need it)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install gfortran&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''8. Before getting Argonne MPICH'''&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''9. Get MPICH sources from Argonne'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''10. Unpack them.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#tar xfz mpichXXX.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''11. Planning a clean place for install'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/mpich3-install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''12. Make a build directory, and go to the build'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''13. Configure the build'''&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''14. Make'''&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''15. Install the files'''&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''16. Add the place that you put the install to your PATH'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''17. Or Note to permanently put this on the PATH you will need to edit .profile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs -/.profile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''18. Verify if the install were succesful'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#which mpicc /home/rpimpi/mpich3-install/mpicc $ which mpiexec&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''19. Go /home and set a place for your first test'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#cd ~&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir mpi_first_test $ cd mpi_first_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''20. Now testing MPI on single node'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''21. How this supposed to be done'''&lt;br /&gt;
&lt;br /&gt;
a) Get your IP address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
b) Put this into a single file called machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs machinefile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
c)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;192.168.1.161 [or the ip is ... ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''22. Now test if the machinefile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile ~n 1 hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''23. Little C code using MPI on Pi to calculate Pi'''&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# cd /home/pi/mpi_fist_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24. Celebrate!'''&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''25. Shut down'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# sudo poweroff&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=368</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=368"/>
		<updated>2015-07-28T20:35:45Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Project: Pi Based Cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Course: APT 4030 - Parallel Computing&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''About:'''&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
'''Objective(s):'''&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
Practical understanding of building parallel systems.&lt;br /&gt;
&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
'''Building the system:'''&lt;br /&gt;
&lt;br /&gt;
Components:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
'''Implementation:'''&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
'''Resources:'''&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation [https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
Configuring the nodes, step by step guide&lt;br /&gt;
&lt;br /&gt;
*'''First, configure the first node'''&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''1. Get the OS image raspberrypi.org/download'''&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2. Get image into a the sdcard'''&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. Boot the Pi'''&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Configuration on first boot'''&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5. Re boot'''&lt;br /&gt;
&lt;br /&gt;
user: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;pi&amp;lt;/span&amp;gt; (has root priviledges) password: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install emacs&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6. Refresh and update the softwares, if not done yet.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''7. Get Fortran, (strange but we need it)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install gfortran&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''8. Before getting Argonne MPICH'''&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''9. Get MPICH sources from Argonne'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''10. Unpack them.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#tar xfz mpichXXX.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''11. Planning a clean place for install'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/mpich3-install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12. Make a build directory, and go to the build'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''13. Configure the build'''&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''14. Make'''&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''15. Install the files'''&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16. Add the place that you put the install to your PATH'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17. Or Note to permanently put this on the PATH you will need to edit .profile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs -/.profile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''18. Verify if the install were succesful'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#which mpicc /home/rpimpi/mpich3-install/mpicc $ which mpiexec&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19. Go /home and set a place for your first test'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#cd ~&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir mpi_first_test $ cd mpi_first_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''20. Now testing MPI on single node'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''21. How this supposed to be done'''&lt;br /&gt;
&lt;br /&gt;
a) Get your IP address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
b) Put this into a single file called machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs machinefile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
c)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;192.168.1.161 [or the ip is ... ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''22. Now test if the machinefile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile ~n 1 hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''23. Little C code using MPI on Pi to calculate Pi'''&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# cd /home/pi/mpi_fist_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''24. Celebrate!'''&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''25. Shut down'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# sudo poweroff&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=367</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=367"/>
		<updated>2015-07-28T20:34:11Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Project: Pi Based Cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Course: APT 4030 - Parallel Computing&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''About:'''&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
'''Objective(s):'''&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
Practical understanding of building parallel systems.&lt;br /&gt;
&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
'''Building the system:'''&lt;br /&gt;
&lt;br /&gt;
Components:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
'''Implementation:'''&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
'''Resources:'''&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation [https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
Configuring the nodes, step by step guide&lt;br /&gt;
&lt;br /&gt;
*'''First, configure the first node'''&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
'''1. Get the OS image raspberrypi.org/download'''&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
'''2. Get image into a the sdcard'''&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. Boot the Pi'''&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
'''4. Configuration on first boot'''&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
• Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
'''5. Re boot'''&lt;br /&gt;
&lt;br /&gt;
user: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;pi&amp;lt;/span&amp;gt; (has root priviledges) password: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install emacs&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
'''6. Refresh and update the softwares, if not done yet.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''7. Get Fortran, (strange but we need it)'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install gfortran&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''8. Before getting Argonne MPICH'''&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''9. Get MPICH sources from Argonne'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
'''10. Unpack them.'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#tar xfz mpichXXX.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
11. Planning a clean place for install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/mpich3-install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''12. Make a build directory, and go to the build'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''13. Configure the build'''&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''14. Make'''&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''15. Install the files'''&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''16. Add the place that you put the install to your PATH'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''17. Or Note to permanently put this on the PATH you will need to edit .profile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs -/.profile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''18. Verify if the install were succesful'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#which mpicc /home/rpimpi/mpich3-install/mpicc $ which mpiexec&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''19. Go /home and set a place for your first test'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#cd ~&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir mpi_first_test $ cd mpi_first_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''20. Now testing MPI on single node'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
'''21. How this supposed to be done'''&lt;br /&gt;
&lt;br /&gt;
a) Get your IP address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
b) Put this into a single file called machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs machinefile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
c)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;192.168.1.161 [or the ip is ... ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''22. Now test if the machinefile'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile ~n 1 hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
'''23. Little C code using MPI on Pi to calculate Pi'''&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# cd /home/pi/mpi_fist_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
'''24. Celebrate!'''&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
'''25. Shut down'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# sudo poweroff&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=366</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=366"/>
		<updated>2015-07-28T20:30:39Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Project: Pi Based Cluster ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Course: APT 4030 - Parallel Computing&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''About:'''&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
'''Objective(s):'''&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
Practical understanding of building parallel systems.&lt;br /&gt;
&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
Building the system:&lt;br /&gt;
&lt;br /&gt;
Components:&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
'''Implementation:'''&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
'''Resources:'''&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation https://www.raspberrypi.org/&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton http://coen.boisestate.edu/ece/raspberry-pi/&lt;br /&gt;
&lt;br /&gt;
Configuring the nodes, step by step guide&lt;br /&gt;
&lt;br /&gt;
*'''First, configure the first node'''&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
1.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Get the OS image raspberrypi.org/download&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
2.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Get image into a the sdcard&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Boot the Pi&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
4.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Configuration on first boot&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Expand image to fill card&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Change the password&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
•&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
5.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Re boot&lt;br /&gt;
&lt;br /&gt;
user: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;pi&amp;lt;/span&amp;gt; (has root priviledges) password: &amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;laxmi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install emacs&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
6. Refresh and update the softwares, if not done yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7. Get Fortran, (strange but we need it)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo apt-get install gfortran&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8. Before getting Argonne MPICH&lt;br /&gt;
&lt;br /&gt;
Resource: http://www.mpich.org/documentation/guides/&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9. Get MPICH sources from Argonne&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#wget http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resource: http://www.mpich.org/downloads - Get latest stable&lt;br /&gt;
&lt;br /&gt;
10. Unpack them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#tar xfz mpichXXX.tar.gz&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
11. Planning a clean place for install&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo mkdir /home/rpimpi/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#sudo mkdir /home/rpimpi/mpich3-install&lt;br /&gt;
&lt;br /&gt;
12. Make a build directory, and go to the build&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
13. Configure the build&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
14. Make&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
15. Install the files&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#sudo make install&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
16. Add the place that you put the install to your PATH&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
17. Or Note to permanently put this on the PATH you will need to edit .profile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs -/.profile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
18.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Verify if the install were succesful&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#which mpicc /home/rpimpi/mpich3-install/mpicc $ which mpiexec&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
19. Go /home and set a place for your first test&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#cd ~&amp;lt;br/&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mkdir mpi_first_test $ cd mpi_first_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
20.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Now testing MPI on single node&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
21. How this supposed to be done&lt;br /&gt;
&lt;br /&gt;
a) Get your IP address&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
b) Put this into a single file called machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#emacs machinefile&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
c)&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Add this line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;192.168.1.161 [or the ip is ... ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Now test if the machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile ~n 1 hostname&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
23. Little C code using MPI on Pi to calculate Pi&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# cd /home/pi/mpi_fist_test&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
24.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Celebrate!&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
25.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; Shut down&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;# sudo poweroff&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=365</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=365"/>
		<updated>2015-07-28T20:23:07Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Raspberry Pi Min-Grant project:Pi Based Cluster (USIU)|Project: Pi Based Cluster]] ===&lt;br /&gt;
&lt;br /&gt;
Course: APT 4030 - Parallel Computing&lt;br /&gt;
&lt;br /&gt;
[[About: (USIU)|About:]]&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
[[Objective(s): (USIU)|Objective(s):]]&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
*Practical understanding of building parallel systems.&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
[[Building the system: (USIU)|Building the system:]]&lt;br /&gt;
&lt;br /&gt;
[[Components: (USIU)|Components:]]&lt;br /&gt;
&lt;br /&gt;
Computer hardware -&lt;br /&gt;
&lt;br /&gt;
*Raspberry Pi Model B&lt;br /&gt;
*Storage - SD cards&lt;br /&gt;
*Ethernet cables&lt;br /&gt;
*Power supply&lt;br /&gt;
*Linux OS (Wheezy)&lt;br /&gt;
*There is an array of different possibilities.&lt;br /&gt;
*MPI library&lt;br /&gt;
*MPICH or OpenMPI&lt;br /&gt;
*Ethernet switch and Router&lt;br /&gt;
*A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
[[Implementation: (USIU)|Implementation:]]&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
[[Resources: (USIU)|Resources:]]&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation[https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
[[Configuring the nodes, step by step guide (USIU)|Configuring the nodes, step by step guide]]&lt;br /&gt;
&lt;br /&gt;
[[First, configure the first node (USIU)|First, configure the first node]]&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
#Get the OS image raspberrypi.org/download&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
#Get image into a the sdcard&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&lt;br /&gt;
&lt;br /&gt;
#Boot the Pi&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
#Configuration on first boot&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&lt;br /&gt;
&lt;br /&gt;
laxmi&lt;br /&gt;
&lt;br /&gt;
*Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
#Re boot&lt;br /&gt;
&lt;br /&gt;
user: pi (has root priviledges) password: laxmi&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo apt-get install emacs&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
(:( you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
#Refresh and update the softwares, if not done yet.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#Get Fortran, (strange but we need it)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo apt-get install gfortran&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#Before getting Argonne MPICH&lt;br /&gt;
&lt;br /&gt;
Resource:[http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#mkdir /home/pi/mpich3 $ cd ~/mpich3&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#Get MPICH sources from Argonne&lt;br /&gt;
&lt;br /&gt;
#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
#Unpack them.&lt;br /&gt;
&lt;br /&gt;
#tar xfz mpichXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
#Planning a clean place for install&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo mkdir /home/rpimpi/&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#sudo mkdir /home/rpimpi/mpich3-install&lt;br /&gt;
&lt;br /&gt;
#Make a build directory, and go to the build&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#Configure the build&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#Make&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|# &amp;amp;#x5D;&amp;amp;#x5D;sudo make&lt;br /&gt;
&lt;br /&gt;
#Install the files&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
[[$ sudo make install (USIU)|$ sudo make install]]&lt;br /&gt;
&lt;br /&gt;
#Add the place that you put the install to your PATH&lt;br /&gt;
&lt;br /&gt;
[[$ export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin (USIU)|$ export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin]]&lt;br /&gt;
&lt;br /&gt;
#Or Note to permanently put this on the PATH you will need to edit .profile&lt;br /&gt;
&lt;br /&gt;
[[$emacs -/.profile (USIU)|$emacs -/.profile]]&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
#Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Verify if the install were succesful&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#which mpicc&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
/home/rpimpi/mpich3-install/mpicc $ which mpiexec&lt;br /&gt;
&lt;br /&gt;
#Go /home and set a place for your first test&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#cd ~&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
#mkdir mpi_first_test $ cd mpi_first_test&lt;br /&gt;
&lt;br /&gt;
#Now testing MPI on single node&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#mpiexec -f machinefile -n &amp;amp;lt;number&amp;amp;gt; hostname&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
#How this supposed to be done&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Get your IP address&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#ifconfig&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Put this into a single file called machinefile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|#emacs machinefile&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add this line:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192.168.1.161 [or the ip is ... ]&lt;br /&gt;
&lt;br /&gt;
#Now test if the machinefile&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|# mpiexec -f machinefile ~n 1 hostname&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
#Little C code using MPI on Pi to calculate Pi&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|# cd /home/pi/mpi_fist_test&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi&amp;amp;#x5D;&amp;amp;#x5D;&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
#[[Celebrate! (USIU)|Celebrate!]]&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
Order a bottle from Bourgogne and celebrate (and clone the node).&lt;br /&gt;
&lt;br /&gt;
#[[Shut down (USIU)|Shut down]]&lt;br /&gt;
&lt;br /&gt;
&amp;amp;#x5B;&amp;amp;#x5B;|# sudo poweroff&amp;amp;#x5D;&amp;amp;#x5D;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=364</id>
		<title>Projects (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Projects_(USIU)&amp;diff=364"/>
		<updated>2015-07-28T20:20:52Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: Created page with &amp;quot;=== Project: Pi Based Cluster ===  Course: APT 4030 - Parallel Computing  About:  In this project, we will build a cluster of identical raspberry pi nodes, networked...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== [[Project: Pi Based Cluster (USIU)|Project: Pi Based Cluster]] ===&lt;br /&gt;
&lt;br /&gt;
Course: APT 4030 - Parallel Computing&lt;br /&gt;
&lt;br /&gt;
[[About: (USIU)|About:]]&lt;br /&gt;
&lt;br /&gt;
In this project, we will build a cluster of identical raspberry pi nodes, networked together and running parallel processing software that allows each node in the cluster to share data and computation.&lt;br /&gt;
&lt;br /&gt;
[[Objective(s): (USIU)|Objective(s):]]&lt;br /&gt;
&lt;br /&gt;
Building a cluster computer powered by raspberry Pi that could be used to develop and run parallel and distributed programs. In doing so, the following goals could be achieved.&lt;br /&gt;
&lt;br /&gt;
*Practical understanding of building parallel systems.&lt;br /&gt;
*Experiment with different configurations to achieve better performance.&lt;br /&gt;
*Familiarity with MPI (Message Passing Interface) API for parallel programming.&lt;br /&gt;
*Familiarity with raspberry pi micro computers useful for rapid hardware prototyping.&lt;br /&gt;
&lt;br /&gt;
[[Building the system: (USIU)|Building the system:]]&lt;br /&gt;
&lt;br /&gt;
[[Components: (USIU)|Components:]]&lt;br /&gt;
&lt;br /&gt;
Computer hardware -&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi Model B&lt;br /&gt;
&lt;br /&gt;
Storage - SD cards&lt;br /&gt;
&lt;br /&gt;
Ethernet cables&lt;br /&gt;
&lt;br /&gt;
Power supply&lt;br /&gt;
&lt;br /&gt;
Linux OS&lt;br /&gt;
&lt;br /&gt;
There is an array of different possibilities.&lt;br /&gt;
&lt;br /&gt;
MPI library&lt;br /&gt;
&lt;br /&gt;
MPICH or OpenMPI&lt;br /&gt;
&lt;br /&gt;
Ethernet switch and Router&lt;br /&gt;
&lt;br /&gt;
A switch that we can use without interruption during the lab works.&lt;br /&gt;
&lt;br /&gt;
[[Implementation: (USIU)|Implementation:]]&lt;br /&gt;
&lt;br /&gt;
Ideally the project will be implemented in stages, starting with configuring the first two nodes and then scaling to add all other additional nodes.&lt;br /&gt;
&lt;br /&gt;
[[Resources: (USIU)|Resources:]]&lt;br /&gt;
&lt;br /&gt;
There are many resources that we will use including Raspberry Pi Foundation[https://www.raspberrypi.org/ https://www.raspberrypi.org/]&lt;br /&gt;
&lt;br /&gt;
Prof Simon Cox, Making a Raspberry pi super computer, University of Southampton [http://coen.boisestate.edu/ece/raspberry-pi/ http://coen.boisestate.edu/ece/raspberry-pi/]&lt;br /&gt;
&lt;br /&gt;
[[Configuring the nodes, step by step guide (USIU)|Configuring the nodes, step by step guide]]&lt;br /&gt;
&lt;br /&gt;
[[First, configure the first node (USIU)|First, configure the first node]]&lt;br /&gt;
&lt;br /&gt;
When this is done, its easier to clone as many nodes as wanted.&lt;br /&gt;
&lt;br /&gt;
#Get the OS image raspberrypi.org/download&lt;br /&gt;
&lt;br /&gt;
After many false starts, we were content to just use Rasbian Weezy 5.5&lt;br /&gt;
&lt;br /&gt;
#Get image into a the sdcard&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&lt;br /&gt;
#dd if=/media/yourMachine/Images/2015-05-05-raspbian-wheezy.img of=/dev/sdb bs=512 conv=noerror,sync&lt;br /&gt;
&lt;br /&gt;
#Boot the Pi&lt;br /&gt;
&lt;br /&gt;
Great suspense it anything did not go as planned.&lt;br /&gt;
&lt;br /&gt;
If there is an error with the card or any other thing, nothing will show up on the screen, if the Pi is overwhelmed it will take forever to boot. Rasbian is ideal because it has been tested and has a descent first boot time.&lt;br /&gt;
&lt;br /&gt;
#Configuration on first boot&lt;br /&gt;
&lt;br /&gt;
These configurations can be done later with raspi-config or ideally done on the first boot.&lt;br /&gt;
&lt;br /&gt;
*Expand image to fill card&lt;br /&gt;
*Change the password&lt;br /&gt;
&lt;br /&gt;
laxmi&lt;br /&gt;
&lt;br /&gt;
*Change hostname (node1 or nodex)&lt;br /&gt;
&lt;br /&gt;
#Re boot&lt;br /&gt;
&lt;br /&gt;
user: pi (has root priviledges) password: laxmi&lt;br /&gt;
&lt;br /&gt;
Refresh update repo packages and update the software&lt;br /&gt;
&lt;br /&gt;
[[|#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y]]&lt;br /&gt;
&lt;br /&gt;
Choose your poison: I prefer having my emacs&lt;br /&gt;
&lt;br /&gt;
[[|#sudo apt-get install emacs]]&lt;br /&gt;
&lt;br /&gt;
(:( you only get version 23, will have to compile to use version 24)&lt;br /&gt;
&lt;br /&gt;
#Refresh and update the softwares, if not done yet.&lt;br /&gt;
&lt;br /&gt;
[[|#sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade -y]]&lt;br /&gt;
&lt;br /&gt;
#Get Fortran, (strange but we need it)&lt;br /&gt;
&lt;br /&gt;
[[|#sudo apt-get install gfortran]]&lt;br /&gt;
&lt;br /&gt;
#Before getting Argonne MPICH&lt;br /&gt;
&lt;br /&gt;
Resource:[http://www.mpich.org/documentation/guides/ http://www.mpich.org/documentation/guides/]&lt;br /&gt;
&lt;br /&gt;
The have great resources not just the the MPICH library&lt;br /&gt;
&lt;br /&gt;
[[|#mkdir /home/pi/mpich3 $ cd ~/mpich3]]&lt;br /&gt;
&lt;br /&gt;
#Get MPICH sources from Argonne&lt;br /&gt;
&lt;br /&gt;
#wget [http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz]&lt;br /&gt;
&lt;br /&gt;
Resource: [http://www.mpich.org/downloads http://www.mpich.org/downloads] - Get latest stable&lt;br /&gt;
&lt;br /&gt;
#Unpack them.&lt;br /&gt;
&lt;br /&gt;
#tar xfz mpichXXX.tar.gz&lt;br /&gt;
&lt;br /&gt;
#Planning a clean place for install&lt;br /&gt;
&lt;br /&gt;
[[|#sudo mkdir /home/rpimpi/]]&lt;br /&gt;
&lt;br /&gt;
#sudo mkdir /home/rpimpi/mpich3-install&lt;br /&gt;
&lt;br /&gt;
#Make a build directory, and go to the build&lt;br /&gt;
&lt;br /&gt;
[[|#mkdir /home/pi/mpich_build $ cd /home/pi/mpich_build]]&lt;br /&gt;
&lt;br /&gt;
#Configure the build&lt;br /&gt;
&lt;br /&gt;
This will take a while, you can get the cards ready, you can play while the configurations takes place.&lt;br /&gt;
&lt;br /&gt;
[[|#sudo /home/pi/mpich3/mpichXXX/configure -prefix=/home/rpimpi/mpich3- install]]&lt;br /&gt;
&lt;br /&gt;
#Make&lt;br /&gt;
&lt;br /&gt;
What ever it took the last, you can +1&lt;br /&gt;
&lt;br /&gt;
[[|# ]]sudo make&lt;br /&gt;
&lt;br /&gt;
#Install the files&lt;br /&gt;
&lt;br /&gt;
It can take a bit of time, but not any way close to the last two stages.&lt;br /&gt;
&lt;br /&gt;
[[$ sudo make install (USIU)|$ sudo make install]]&lt;br /&gt;
&lt;br /&gt;
#Add the place that you put the install to your PATH&lt;br /&gt;
&lt;br /&gt;
[[$ export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin (USIU)|$ export PATH=$PATH:/home/rpimpi/mpich3-mstall/bin]]&lt;br /&gt;
&lt;br /&gt;
#Or Note to permanently put this on the PATH you will need to edit .profile&lt;br /&gt;
&lt;br /&gt;
[[$emacs -/.profile (USIU)|$emacs -/.profile]]&lt;br /&gt;
&lt;br /&gt;
and add lines below:&lt;br /&gt;
&lt;br /&gt;
# Add MPI to path (This is just a comment for later) PATH=&amp;quot;$PATH:/home/rpimpi/mpich3-install/bin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Verify if the install were succesful&lt;br /&gt;
&lt;br /&gt;
[[|#which mpicc]]&lt;br /&gt;
&lt;br /&gt;
/home/rpimpi/mpich3-install/mpicc $ which mpiexec&lt;br /&gt;
&lt;br /&gt;
#Go /home and set a place for your first test&lt;br /&gt;
&lt;br /&gt;
[[|#cd ~]]&lt;br /&gt;
&lt;br /&gt;
#mkdir mpi_first_test $ cd mpi_first_test&lt;br /&gt;
&lt;br /&gt;
#Now testing MPI on single node&lt;br /&gt;
&lt;br /&gt;
[[|#mpiexec -f machinefile -n &amp;lt;number&amp;gt; hostname]]&lt;br /&gt;
&lt;br /&gt;
where machine file contains a list of IP addresses (in this case just one) for the machines&lt;br /&gt;
&lt;br /&gt;
#How this supposed to be done&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Get your IP address&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[|#ifconfig]]&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Put this into a single file called machinefile&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[|#emacs machinefile]]&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add this line:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
192.168.1.161 [or the ip is ... ]&lt;br /&gt;
&lt;br /&gt;
#Now test if the machinefile&lt;br /&gt;
&lt;br /&gt;
[[|# mpiexec -f machinefile ~n 1 hostname]]&lt;br /&gt;
&lt;br /&gt;
Output should be: node1 ('hostname')&lt;br /&gt;
&lt;br /&gt;
#Little C code using MPI on Pi to calculate Pi&lt;br /&gt;
&lt;br /&gt;
Don't worry, we shall not write the c code our selves, but MPICH has some example codes we can run.&lt;br /&gt;
&lt;br /&gt;
[[|# cd /home/pi/mpi_fist_test]]&lt;br /&gt;
&lt;br /&gt;
[[|# mpiexec -f machinefile -n 2 /home/pi/mpich3/examples/cpi]]&lt;br /&gt;
&lt;br /&gt;
Output is should be&lt;br /&gt;
&lt;br /&gt;
Process 0 of 2 is on raspberrypi Process 1 of 2 is on raspberrypi&lt;br /&gt;
&lt;br /&gt;
pi is approximately 3.141 5926544231318, Error is 0.0000000008333387&lt;br /&gt;
&lt;br /&gt;
#[[Celebrate! (USIU)|Celebrate!]]&lt;br /&gt;
&lt;br /&gt;
This calls for a celebration! (Seriously!)&lt;br /&gt;
&lt;br /&gt;
Order a bottle from Bourgogne and celebrate (and clone the node).&lt;br /&gt;
&lt;br /&gt;
#[[Shut down (USIU)|Shut down]]&lt;br /&gt;
&lt;br /&gt;
[[|# sudo poweroff]]&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=363</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=363"/>
		<updated>2015-07-28T20:18:03Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 &amp;amp;nbsp;Connect the Circuit as shown in the image below'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Experiment 1: Realizing AND gate ======&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Wire up the circuit as shown in Figure&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
#'''Edit the Program shown in the following (python) code&amp;amp;nbsp; below'''&amp;lt;br/&amp;gt;'''(Note: In python the spacing/indentation of the code is important to the code)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO&amp;lt;br/&amp;gt;import time&amp;lt;br/&amp;gt;GPIO.setmode(GPIO.BCM)&amp;lt;br/&amp;gt;GPIO.setup(6, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(16, GPIO.OUT)&amp;lt;br/&amp;gt;a = 0&amp;lt;br/&amp;gt;b = 0''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n2 Input AND Gate&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;A | B | AB&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;----------&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 1 | 1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 1 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button1 = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button2 = GPIO.input(26)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button1 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button2 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if (a == 1) and (b == 1):''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; else:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 0''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 0''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Run the Program and Observe LED when'''&lt;br /&gt;
&lt;br /&gt;
*'''Switch A is pressed'''&lt;br /&gt;
*'''Switch B is pressed'''&lt;br /&gt;
*'''When Both Switch A and B are pressed'''&lt;br /&gt;
*'''Both Switches A and B are processed simultaneous'''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=362</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=362"/>
		<updated>2015-07-28T20:17:16Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 &amp;amp;nbsp;Connect the Circuit as shown in the image below'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Experiment 1: Realizing AND gate ======&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Wire up the circuit as shown in Figure&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
#'''Edit the Program shown in the following (python) code&amp;amp;nbsp; below'''&amp;lt;br/&amp;gt;'''(Note: In python the spacing/indentation of the code is important to the code)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO&amp;lt;br/&amp;gt;import time&amp;lt;br/&amp;gt;GPIO.setmode(GPIO.BCM)&amp;lt;br/&amp;gt;GPIO.setup(6, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(16, GPIO.OUT)&amp;lt;br/&amp;gt;a = 0&amp;lt;br/&amp;gt;b = 0''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n2 Input AND Gate&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;A | B | AB&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;----------&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 1 | 1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 1 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button1 = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button2 = GPIO.input(26)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button1 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button2 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if (a == 1) and (b == 1):''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; else:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 0''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 0''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Run the Program and Observe LED when'''&lt;br /&gt;
&lt;br /&gt;
*'''Switch A is pressed'''&lt;br /&gt;
*'''Switch B is pressed'''&lt;br /&gt;
*'''When Both Switch A and B are pressed'''&lt;br /&gt;
*'''Both Switches A and B are processed simultaneous'''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=361</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=361"/>
		<updated>2015-07-28T20:16:15Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 &amp;amp;nbsp;Connect the Circuit as shown in the image below'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
======  ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Experiment 1: Realizing AND gate ======&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Wire up the circuit as shown in Figure&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
#'''Edit the Program shown in the following (python) code&amp;amp;nbsp; below'''&amp;lt;br/&amp;gt;'''(Note: In python the spacing/indentation of the code is important to the code)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO&amp;lt;br/&amp;gt;import time&amp;lt;br/&amp;gt;GPIO.setmode(GPIO.BCM)&amp;lt;br/&amp;gt;GPIO.setup(6, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(16, GPIO.OUT)&amp;lt;br/&amp;gt;a = 0&amp;lt;br/&amp;gt;b = 0''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n2 Input AND Gate&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;A | B | AB&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;----------&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 1 | 1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 1 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button1 = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button2 = GPIO.input(26)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button1 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button2 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if (a == 1) and (b == 1):''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; else:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 0''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 0''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Run the Program and Observe LED when'''&lt;br /&gt;
&lt;br /&gt;
*'''Switch A is pressed'''&lt;br /&gt;
*'''Switch B is pressed'''&lt;br /&gt;
*'''When Both Switch A and B are pressed'''&lt;br /&gt;
*'''Both Switches A and B are processed simultaneous'''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=360</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=360"/>
		<updated>2015-07-28T20:15:00Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 &amp;amp;nbsp;Connect the Circuit as shown in the image below'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
======  ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Experiment 1: Realizing AND gate  ======&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Wire up the circuit as shown in Figure&amp;lt;/u&amp;gt;''' &lt;br /&gt;
&lt;br /&gt;
#'''Edit the Program shown in the following (python) code&amp;amp;nbsp; below'''&amp;lt;br/&amp;gt;'''(Note: In python the spacing/indentation of the code is important to the code)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO&amp;lt;br/&amp;gt;import time&amp;lt;br/&amp;gt;GPIO.setmode(GPIO.BCM)&amp;lt;br/&amp;gt;GPIO.setup(6, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(16, GPIO.OUT)&amp;lt;br/&amp;gt;a = 0&amp;lt;br/&amp;gt;b = 0''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n2 Input AND Gate&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;A | B | AB&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;----------&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 1 | 1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 1 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button1 = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button2 = GPIO.input(26)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button1 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button2 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if (a == 1) and (b == 1):''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; else:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 0''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 0''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Run the Program and Observe LED when'''&lt;br /&gt;
&lt;br /&gt;
'''Switch A is pressed'''&lt;br /&gt;
&lt;br /&gt;
'''Switch B is pressed'''&lt;br /&gt;
&lt;br /&gt;
'''When Both Switch A and B are pressed'''&lt;br /&gt;
&lt;br /&gt;
'''Both Switches A and B are processed simultaneous'''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=359</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=359"/>
		<updated>2015-07-28T20:14:11Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 &amp;amp;nbsp;Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-1.png]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-2.png]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
======  ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-3.png]]&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;br /&gt;
In-Lab Experiment 1: Realizing AND gate ======&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Wire up the circuit as shown in Figure&amp;lt;/u&amp;gt;'''&lt;br /&gt;
'''&amp;lt;u&amp;gt;&amp;lt;/u&amp;gt;'''&lt;br /&gt;
#'''Edit the Program shown in the following (python) code&amp;amp;nbsp; below'''&amp;lt;br/&amp;gt;'''(Note: In python the spacing/indentation of the code is important to the code)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Lab1-4.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO&amp;lt;br/&amp;gt;import time&amp;lt;br/&amp;gt;GPIO.setmode(GPIO.BCM)&amp;lt;br/&amp;gt;GPIO.setup(6, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(26, GPIO.IN, pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(16, GPIO.OUT)&amp;lt;br/&amp;gt;a = 0&amp;lt;br/&amp;gt;b = 0''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n2 Input AND Gate&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;A | B | AB&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;----------&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 1 | 1&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;1 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 1 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;0 | 0 | 0&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''print &amp;quot;\n&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button1 = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; button2 = GPIO.input(26)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button1 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if button2 == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 1''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; if (a == 1) and (b == 1):''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; else:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(16, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; a = 0''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; b = 0''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
#'''Run the Program and Observe LED when'''&lt;br /&gt;
&lt;br /&gt;
'''Switch A is pressed'''&lt;br /&gt;
&lt;br /&gt;
'''Switch B is pressed'''&lt;br /&gt;
&lt;br /&gt;
'''When Both Switch A and B are pressed'''&lt;br /&gt;
&lt;br /&gt;
'''Both Switches A and B are processed simultaneous'''&lt;br /&gt;
'''&amp;lt;u&amp;gt;&amp;lt;/u&amp;gt;'''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:Lab1-4.png&amp;diff=358</id>
		<title>File:Lab1-4.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:Lab1-4.png&amp;diff=358"/>
		<updated>2015-07-28T20:03:18Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:Lab1-3.png&amp;diff=357</id>
		<title>File:Lab1-3.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:Lab1-3.png&amp;diff=357"/>
		<updated>2015-07-28T20:03:07Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:Lab1-2.png&amp;diff=356</id>
		<title>File:Lab1-2.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:Lab1-2.png&amp;diff=356"/>
		<updated>2015-07-28T20:02:51Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:Lab1-1.png&amp;diff=355</id>
		<title>File:Lab1-1.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:Lab1-1.png&amp;diff=355"/>
		<updated>2015-07-28T20:01:21Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=354</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=354"/>
		<updated>2015-07-28T19:51:27Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT ===&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as buttonpressed.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#''nano buttonpressed.py'''''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''#import random''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)&amp;amp;nbsp;&amp;amp;nbsp;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&amp;amp;nbsp;&amp;amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as LightsOn.py&lt;br /&gt;
*In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#nano LightsOn.py&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setwarnings(False)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''time.sleep(0.05)''&lt;br /&gt;
&lt;br /&gt;
======  ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1'''&amp;amp;nbsp; Connect the Circuit as shown in the image below&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Step 2'''&amp;amp;nbsp; load the python code into your favorite code editor and copy paste the following code and save it as SwitchLightsOn.py&lt;br /&gt;
&lt;br /&gt;
In our case we used the command line and opened the nano editor and added the following code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''#nano SwitchLightsOn.py'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''import RPi.GPIO as GPIO''&lt;br /&gt;
&lt;br /&gt;
''import time''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setmode(GPIO.BCM)''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(6,GPIO.IN,pull_up_down = GPIO.PUD_UP)''&lt;br /&gt;
&lt;br /&gt;
''led = 4''&lt;br /&gt;
&lt;br /&gt;
''GPIO.setup(led, GPIO.OUT)''&lt;br /&gt;
&lt;br /&gt;
''while True:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; input = GPIO.input(6)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp; if input == False:''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; print (&amp;quot;Button Pressed&amp;quot;)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.2)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led,1)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.5)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; GPIO.output(led, 0)''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; time.sleep(0.05)''&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=353</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=353"/>
		<updated>2015-07-28T18:55:12Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#iwconfig''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&amp;lt;br/&amp;gt;''#ifconfig wlan0''&lt;br /&gt;
#(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;LAN Configuration&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
''#sudo service networking restart''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
''#ifconfig''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI. ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Enter the raspberry config by entering the following command'''&lt;br /&gt;
&lt;br /&gt;
'''''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #''''' &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 '''then navigate to&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;advance options&amp;lt;/span&amp;gt;, then &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, hit &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Enable or disable ssh server&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;'''check the status of your interface use'''&amp;lt;br/&amp;gt;&amp;lt;div&amp;gt;'''&amp;amp;nbsp;'''&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig -a&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Step 3 ssh into pi from another machine using the command'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #ssh pi@’ip-address’&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
'''Now that we are connected to the internet'''&lt;br /&gt;
&lt;br /&gt;
#'''Step 1''' To begin installing software first update your system by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get update &amp;amp;&amp;amp; upgrade''&amp;lt;/span&amp;gt;&lt;br /&gt;
#'''Step 2''' Installing python package manager by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get install python-pip''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(pip is a package management system used to install and manage software packages written in Python)&lt;br /&gt;
#'''Step 3''' Installation RPi.GPIO by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo pip install rpi.gpio''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(this allows you to access the raspberry pi general IO pins using the a numbering system BCM or BOARD)&lt;br /&gt;
&lt;br /&gt;
GPIO layout&lt;br /&gt;
&lt;br /&gt;
[[File:GPIO.png]]&lt;br /&gt;
&lt;br /&gt;
Thus at the top of every python script, after importing the RPi.GPIO module, we set our GPIO numbering mode.&lt;br /&gt;
&lt;br /&gt;
As shown in the diagram below&lt;br /&gt;
&lt;br /&gt;
[[File:GPIO1.png]]&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:GPIO1.png&amp;diff=352</id>
		<title>File:GPIO1.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:GPIO1.png&amp;diff=352"/>
		<updated>2015-07-28T18:53:34Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:GPIO.png&amp;diff=351</id>
		<title>File:GPIO.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:GPIO.png&amp;diff=351"/>
		<updated>2015-07-28T18:53:24Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=350</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=350"/>
		<updated>2015-07-28T18:53:15Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#iwconfig''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&amp;lt;br/&amp;gt;''#ifconfig wlan0''&lt;br /&gt;
#(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;LAN Configuration&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
''#sudo service networking restart''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
''#ifconfig''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI. ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Enter the raspberry config by entering the following command'''&lt;br /&gt;
&lt;br /&gt;
'''''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #''''' &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 '''then navigate to&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;advance options&amp;lt;/span&amp;gt;, then &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, hit &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Enable or disable ssh server&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;'''check the status of your interface use'''&amp;lt;br/&amp;gt;&amp;lt;div&amp;gt;'''&amp;amp;nbsp;'''&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig -a&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Step 3 ssh into pi from another machine using the command'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #ssh pi@’ip-address’&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
'''Now that we are connected to the internet'''&lt;br /&gt;
&lt;br /&gt;
#'''Step 1''' To begin installing software first update your system by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get update &amp;amp;&amp;amp; upgrade''&amp;lt;/span&amp;gt;&lt;br /&gt;
#'''Step 2''' Installing python package manager by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get install python-pip''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(pip is a package management system used to install and manage software packages written in Python)&lt;br /&gt;
#'''Step 3''' Installation RPi.GPIO by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo pip install rpi.gpio''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(this allows you to access the raspberry pi general IO pins using the a numbering system BCM or BOARD)&lt;br /&gt;
&lt;br /&gt;
GPIO layout&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thus at the top of every python script, after importing the RPi.GPIO module, we set our GPIO numbering mode.&lt;br /&gt;
&lt;br /&gt;
As shown in the diagram below&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=349</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=349"/>
		<updated>2015-07-28T18:47:43Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#iwconfig''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&amp;lt;br/&amp;gt;''#ifconfig wlan0''&lt;br /&gt;
#(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;LAN Configuration&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png|RTENOTITLE]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
''#sudo service networking restart''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
''#ifconfig''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI. ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Enter the raspberry config by entering the following command'''&lt;br /&gt;
&lt;br /&gt;
'''''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #''''' &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 '''then navigate to&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;advance options&amp;lt;/span&amp;gt;, then &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, hit &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Enable or disable ssh server&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;'''check the status of your interface use'''&amp;lt;br/&amp;gt;&amp;lt;div&amp;gt;'''&amp;amp;nbsp;'''&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig -a&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Step 3 ssh into pi from another machine using the command'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #ssh pi@’ip-address’&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
'''Now that we are connected to the internet'''&lt;br /&gt;
&lt;br /&gt;
#'''Step 1''' To begin installing software first update your system by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get update &amp;amp;&amp;amp; upgrade''&amp;lt;/span&amp;gt;&lt;br /&gt;
#'''Step 2''' Installing python package manager by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo apt-get install python-pip''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(pip is a package management system used to install and manage software packages written in Python)&lt;br /&gt;
#'''Step 3''' Installation RPi.GPIO by entering the following command&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#Sudo pip install rpi.gpio''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;(this allows you to access the raspberry pi general IO pins using the a numbering system BCM or BOARD)&lt;br /&gt;
&lt;br /&gt;
GPIO layout&lt;br /&gt;
&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=348</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=348"/>
		<updated>2015-07-28T18:45:01Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#iwconfig''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&amp;lt;br/&amp;gt;''#ifconfig wlan0''&lt;br /&gt;
#(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;LAN Configuration&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png|RTENOTITLE]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
''#sudo service networking restart''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
''#ifconfig''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI. ======&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Enter the raspberry config by entering the following command'''&lt;br /&gt;
&lt;br /&gt;
'''''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #''''' &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 '''then navigate to&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;advance options&amp;lt;/span&amp;gt;, then &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;, hit &amp;lt;code&amp;gt;Enter&amp;lt;/code&amp;gt; and select &amp;lt;code&amp;gt;Enable or disable ssh server&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;'''check the status of your interface use'''&amp;lt;br/&amp;gt;&amp;lt;div&amp;gt;'''&amp;amp;nbsp;'''&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;#ifconfig -a&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''Step 3 ssh into pi from another machine using the command'''&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; #ssh pi@’ip-address’&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#– Updating System&lt;br /&gt;
##Installing the Python Package Manager(PIP)&lt;br /&gt;
##Installing GPIO Library&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=347</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=347"/>
		<updated>2015-07-27T21:23:32Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&amp;lt;div&amp;gt;Pi Cluster (Course: APT4030: Parallel Computing)&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Control RGB LEDs with RPI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=346</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=346"/>
		<updated>2015-07-27T21:23:00Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics_(USIU)|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
====== Pi Cluster (Course: APT4030: Parallel Computing) ======&lt;br /&gt;
&lt;br /&gt;
====== Control RGB LEDs with RPI ======&lt;br /&gt;
&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=345</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=345"/>
		<updated>2015-07-27T21:22:30Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT, NAND, NOR, XOR ===&lt;br /&gt;
&lt;br /&gt;
#In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
#In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
#In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics&amp;diff=344</id>
		<title>Digital Electronics</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics&amp;diff=344"/>
		<updated>2015-07-27T21:22:08Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: Created page with &amp;quot;=== &amp;lt;span class=&amp;quot;mw-headline&amp;quot; id=&amp;quot;Study_of_Logic_Gates_.E2.80.93_AND.2C_OR.2C_NOT.2C_NAND.2C_NOR.2C_XOR&amp;quot;&amp;gt;Study of Logic Gates – AND, OR, NOT, NAND, NOR, XOR&amp;lt;/span&amp;gt; ===  #&amp;lt;di...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &amp;lt;span class=&amp;quot;mw-headline&amp;quot; id=&amp;quot;Study_of_Logic_Gates_.E2.80.93_AND.2C_OR.2C_NOT.2C_NAND.2C_NOR.2C_XOR&amp;quot;&amp;gt;Study of Logic Gates – AND, OR, NOT, NAND, NOR, XOR&amp;lt;/span&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
#&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
#&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=343</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=343"/>
		<updated>2015-07-27T21:20:25Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Digital_Electronics|Digital Electronics]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
====== Pi Cluster (Course: APT4030: Parallel Computing) ======&lt;br /&gt;
&lt;br /&gt;
====== Control RGB LEDs with RPI ======&lt;br /&gt;
&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=342</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=342"/>
		<updated>2015-07-27T21:19:41Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital Electronics ==&lt;br /&gt;
&amp;lt;div&amp;gt;In-Lab Exercise 1: Realizing a AND gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 2: Realizing a OR gate&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;In-Lab Exercise 3: Realizing a NOT gate&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
====== Pi Cluster (Course: APT4030: Parallel Computing) ======&lt;br /&gt;
&lt;br /&gt;
====== Control RGB LEDs with RPI ======&lt;br /&gt;
&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=341</id>
		<title>School of Science and Technology, United States International University (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=School_of_Science_and_Technology,_United_States_International_University_(USIU)&amp;diff=341"/>
		<updated>2015-07-27T21:19:19Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Project Title - Leveraging Laboratory Experiments with Raspberry-Pi ''`Lab Mfukoni`'' =&lt;br /&gt;
&lt;br /&gt;
== Abstract ==&lt;br /&gt;
&lt;br /&gt;
A lot has been said about teaching with experiments set up with virtual Labs environment. While this is an effective way of demonstrating concepts, it is not very different from teaching a four-stroke combustion engine with only diagrams, or using emulators and simulators. It is very different from working with the real engine. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers. As such it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments. The United States International University-Africa (USIU-A) is proposing to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. USIU-A intends to collaborate with University of Nairobi’s Institute of Computing and Informatics. It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About USIU ==&lt;br /&gt;
&lt;br /&gt;
USIU-A is a private, independent, non-profit university located on 120 acres of land in the Kasarani District of County of Nairobi. The University’s mission includes a strong commitment to providing students an education with a global understanding and multicultural perspective through its formal curricula and the experiences of studying, working, and living cooperatively in a racially, ethnically and culturally diverse environment. The proposed Raspberry-Pi project will be aligned with the University’s current strategic plan. An aspect of one of the strategic goals in the current Strategic Plan is concerned with program and course curriculum development where USIU plans to broaden and deepen its programs. The proposed project will be made consistent with the institution’s mission i.e.to promote the discovery and application of knowledge, acquisition of skills, and development of intellect and character in a manner that prepares students to contribute effectively and ethically as citizens of a changing and increasingly technological world through the Mission outcomes of '''Higher Order Thinking''', '''Literacy''', '''Global Understanding''' and '''Multicultural Perspective''', '''Preparedness for Career''', '''Community Service''', '''Leadership and ethics'''. Furthermore, the mission is carried out in an environment which encourages intellectual and scholarly development; fosters openness to a wide range of ideas, cultures, and people; and enhances personal growth.&lt;br /&gt;
&lt;br /&gt;
== Launching the Raspberry Pi at USIU ==&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
Technology can help fuel Africa's development, facilitate peace and secure the continent's future. With the rapid change in technology, innovation and the increase in number of users, we can solve our problems using technology. The problem is lack of equipped state of the art students’ computer laboratories where students can develop applications. Our universities have competent faculties who deliver in classroom but students’ great ideas are limited due to lack of modern equipment in practical laboratories. Where the equipment are available, they are either in small quantities or so basic that limits the applicability of creativity. It is against this background that USIU-A through SST developed a proposal to adopt the Raspberry-Pi experimental environment with the objective of giving both the students and the lecturers the desktop power at a very low price. The project is undertaken by USIU-A in collaboration with University of Nairobi’s Institute of Computing and Informatics. The Raspberry PI computers creates a platform ‘Lab Mfukoni’ where students can run their own laboratories and use their creativity to solve problems. The Raspberry-Pi is a single board computer almost the size of a credit card, having the capability of desktop or laptop computer functions. What is good about it is the portability, ability to make and break the experiments, which cannot be easily done with the desktop or laptop computers? As such, it is suitable for computer applications kit, ranging from sensor environment, microcontroller environment, and programming environments.&lt;br /&gt;
&lt;br /&gt;
It is expected that through well-designed experiments, 60 students will acquire hands-on experience for both in-lab and post-lab experiments on this first case. In the latter case, the students may continue with open-lab experiments or homework since they will be able to carry the kits to their homes on the concept of ‘Lab-Mfukoni’. USIU-A intends to use the Raspberry kits for both undergraduate and post graduate courses with target outcome of developing problem solving application and teaching modules for scalability.&lt;br /&gt;
&lt;br /&gt;
=== Objectives ===&lt;br /&gt;
&lt;br /&gt;
The objectives of adopting Raspberry-Pi system for computer experiments are: To enable students to develop microcontroller applications in a more flexible and cost effect manner; To enable lecturers to be innovative in the design of experiments that interactively engage students; To train students on real-life development kits instead of emulators and simulators hitherto used at USIU. To create synergies between faculty and students based on experiential learning on mobile platforms&lt;br /&gt;
&lt;br /&gt;
=== Course content ===&lt;br /&gt;
&lt;br /&gt;
The material for this course will be designed in such a way that the Raspberry-Pi is used for teaching courses in Information Systems Technology (IST): Computer organisation and Programming; Applied Computer Technology courses (APT): Digital Electronics; MSc. IST: IT Infrastructure. The course components will be as follows: The Raspberry-Pi will enable installation of tools such as Very High Definition Language (VHDL) to demonstrate concepts of Hardware programming etc. The practical exercises are expected to cover at least 10 experiments in a semester of 14 weeks. These experiments will emphasize the following broad areas:&lt;br /&gt;
&lt;br /&gt;
*Interface designs&lt;br /&gt;
*Developing simple applications&lt;br /&gt;
*Sensor designs for sensing environmental parameters&lt;br /&gt;
*Testing live applications such as tracking objects&lt;br /&gt;
*Design of intelligent systems&lt;br /&gt;
&lt;br /&gt;
=== Expected Results ===&lt;br /&gt;
&lt;br /&gt;
The experimental environment with Raspberry-Pi should:&lt;br /&gt;
&lt;br /&gt;
*Equip students with knowledge and skills to explore the insides of a computer;&lt;br /&gt;
*Students who have a strong desire for control devices to write control programs;&lt;br /&gt;
*Fire students’ imagination and drive to innovate;&lt;br /&gt;
*Patent and Pilot innovative projects that meet the computing standards;&lt;br /&gt;
*Publish and present&lt;br /&gt;
&lt;br /&gt;
=== Status of the project ===&lt;br /&gt;
&lt;br /&gt;
The project has already been funded by Kenya Education Network (KENET) to the tune of around 1 m Kenya shillings. The kits have already been procured ready for rolling out of the programme. The labs are in the process of being prepared and the actual teaching using the kits will be in May 2015 at the beginning of the semester. On 18th March 2015 the programme was launched and attendants included the dean SST, and the faculty members in the school. During the launch students expressed enthusiasm and demonstrated the curiosity for learning by use of the kits. (See the photos taken during the launch of the kits&lt;br /&gt;
&lt;br /&gt;
== Personnel ==&lt;br /&gt;
&lt;br /&gt;
Professor Sylvester Namuye - Lead&lt;br /&gt;
&lt;br /&gt;
Dr. Paul Okanda&lt;br /&gt;
&lt;br /&gt;
Dr. Gerald Chege&lt;br /&gt;
&lt;br /&gt;
Max Musau&lt;br /&gt;
&lt;br /&gt;
Paul Bombo&lt;br /&gt;
&lt;br /&gt;
== Courses ==&lt;br /&gt;
&lt;br /&gt;
In the initial stages, the kits will be experimented within the following courses:&lt;br /&gt;
&lt;br /&gt;
=== Computer Organization and Programming ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Information Systems Technology Programme (IST), this course outlines the fundamental way in which a computer works: starting with simple logic and progressing to a simple model of a microprocessor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Electronics ===&lt;br /&gt;
&lt;br /&gt;
Offered in the Applied Computer Technology (APT) program, this course describes the basic integrated circuit building blocks from which digital circuits and systems are assembled. This unit is intended to help the students keep pace with the rapid advances made in the field of Digital Electronics. The course will be the first to experiment on using the RPi&lt;br /&gt;
&lt;br /&gt;
=== Applied Computer Technology Project ===&lt;br /&gt;
&lt;br /&gt;
This project course utilizes teams and/or individuals working from problem requirements and specifications to produce a solution. This requires exploration of suitable information technologies to produce a solution that improves the problem situation. Students/teams analyze, plan, and report on the project and implement a prototype.&lt;br /&gt;
&lt;br /&gt;
=== IT Infrastructure (MSc.IT) ===&lt;br /&gt;
&lt;br /&gt;
This course studies the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order super-scalar architectures; VLIW machines; vector supercomputers; multi-threaded architectures; symmetric multiprocessors; memory models and synchronization; embedded systems; and parallel computers.&lt;br /&gt;
&lt;br /&gt;
== Methodology and Work Plan ==&lt;br /&gt;
&lt;br /&gt;
After receiving the funding and purchasing the Raspberry PI, a mixed mode of delivery will be used as follow:&lt;br /&gt;
&lt;br /&gt;
#Discovery method; students will be free to play around with the kit in their areas of interest;&lt;br /&gt;
#The formal lecturing method in which the lecturer will present the concepts of the subject content.&lt;br /&gt;
#Laboratory work: As the Raspberry-Pi is geared to laboratory work, the students are expected to be prepared and prepare for the lab sessions. This will be done at a five-tier mode:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:lower-roman;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Pre-Lab preparations: set up and monitored by Lecturers with the help of the Laboratory Technicians and Laboratory Technologist.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In-Lab&amp;amp;nbsp; sessions: supervised by Lecturer or Lab Technicians/Technologists/Research Associate&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Post-lab sessions: open lab sessions or&amp;amp;nbsp; students own time at home&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report writing: lecturers will provide guidance to the students with a view to ensuring reports capture the exercises and their application to solve real-world issues.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Lab report evaluation: student projects will be judged on their potential impact in finding solutions to real-world problems and its applicability.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Industrial visits: the industrial visits will be undertaken at the beginning, and middle of the project as an exposure to students where such applications have been developed and used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Towards the end of the semester, apart from the structured experiments that the students will carry out in the lab, the students will be expected to come up with innovative and real-life projects that they will demonstrate to their peers in a presentation session for value addition&lt;br /&gt;
&lt;br /&gt;
== [[Exploring The Raspberry Pi (USIU)|Exploring The Raspberry Pi]] ==&lt;br /&gt;
&amp;lt;div&amp;gt;Pre-Lab Exercise 1: Installing OS on Raspberry PI&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 2: Connecting Pi to the Internet&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div&amp;gt;Pre-Lab Exercise 3: Installing Applications on PI And Updating System&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 1: Realizing a AND gate ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 2: Realizing a OR gate ======&lt;br /&gt;
&lt;br /&gt;
====== In-Lab Exercise 3: Realizing a NOT gate ======&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
====== Pi Cluster (Course: APT4030: Parallel Computing) ======&lt;br /&gt;
&lt;br /&gt;
====== Control RGB LEDs with RPI ======&lt;br /&gt;
&lt;br /&gt;
==  ==&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=340</id>
		<title>Digital Electronics (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Digital_Electronics_(USIU)&amp;diff=340"/>
		<updated>2015-07-27T21:18:23Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: Replaced content with &amp;quot;== Digital Electronics ==  === Study of Logic Gates – AND, OR, NOT, NAND, NOR, XOR ===  #In-Lab Exercise 1: Realizing a AND gate ##Edit the Program ##Wire up the circuit...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Digital Electronics ==&lt;br /&gt;
&lt;br /&gt;
=== Study of Logic Gates – AND, OR, NOT, NAND, NOR, XOR ===&lt;br /&gt;
&lt;br /&gt;
#In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
##Edit the Program&lt;br /&gt;
##Wire up the circuit&lt;br /&gt;
#In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
#In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=339</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=339"/>
		<updated>2015-07-27T21:17:25Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family:courier new,courier,monospace&amp;quot;&amp;gt;''#iwconfig''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&amp;lt;br/&amp;gt;''#ifconfig wlan0''&lt;br /&gt;
#(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;LAN Configuration&amp;lt;/span&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png|RTENOTITLE]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
''#sudo service networking restart''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
''#ifconfig''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI ======&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#– Updating System&lt;br /&gt;
##Installing the Python Package Manager(PIP)&lt;br /&gt;
##Installing GPIO Library&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=338</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=338"/>
		<updated>2015-07-27T21:14:08Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
''#iwconfig''&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&lt;br /&gt;
#'''''ifconfig wlan0'''''&amp;lt;b&amp;gt;''.''&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
#LAN Configuration&lt;br /&gt;
&lt;br /&gt;
*'''DHCP Configuration'''&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
[[File:ETH1.png]]&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;gt;'''Static configuration'''&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;[[File:ETH2.png]]&amp;lt;span style=&amp;quot;font-size:small&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
'''Step 2 '''restart the network services to activate the change without reboot&lt;br /&gt;
&lt;br /&gt;
'''''#sudo service networking restart'''''&lt;br /&gt;
&lt;br /&gt;
'''Step 3''' check whether an IP address is set or not, type the &amp;lt;tt&amp;gt;ifconfig&amp;lt;/tt&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
'''''#ifconfig'''''&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI ======&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#– Updating System&lt;br /&gt;
##Installing the Python Package Manager(PIP)&lt;br /&gt;
##Installing GPIO Library&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=337</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=337"/>
		<updated>2015-07-27T21:10:20Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png|RTENOTITLE]]'''&lt;br /&gt;
&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
''#iwconfig''&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&lt;br /&gt;
#'''''ifconfig wlan0'''''&amp;lt;b&amp;gt;''.''&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
#LAN Configuration&lt;br /&gt;
##Static Configuration&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
#DHCP configuration&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI ======&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#– Updating System&lt;br /&gt;
##Installing the Python Package Manager(PIP)&lt;br /&gt;
##Installing GPIO Library&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=336</id>
		<title>Exploring The Raspberry Pi (USIU)</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=Exploring_The_Raspberry_Pi_(USIU)&amp;diff=336"/>
		<updated>2015-07-27T21:09:45Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====== Pre-Lab Exercise 1:&amp;amp;nbsp; Installing OS on Raspberry PI ======&lt;br /&gt;
&lt;br /&gt;
The RPI will not boot up without an SD Card that is properly formatted to contain a suitable boot loader and operating system.&lt;br /&gt;
&lt;br /&gt;
The distribution we have chosen to run in this lab and subsequent labs is called Raspbian.&lt;br /&gt;
&lt;br /&gt;
We will use NOOBS operating system installer to install Raspbian&lt;br /&gt;
&lt;br /&gt;
#Using a computer with an SD card reader, visit the&amp;amp;nbsp;raspberry pi official downloads&amp;amp;nbsp;page.&amp;lt;br/&amp;gt;[[File:Noobs1.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/5/59/Noobs1.png http://raspberry.kenet.or.ke/images/5/59/Noobs1.png]&lt;br /&gt;
&lt;br /&gt;
[https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/]&lt;br /&gt;
&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
#Click on the &amp;lt;code&amp;gt;download ZIP&amp;lt;/code&amp;gt; button under ‘NOOBS (offline and network install)’, and select a folder to save it to.&lt;br /&gt;
#Extract the files from the zip.&lt;br /&gt;
&amp;lt;div&amp;gt;Preparing SD card on Linux/Windows Platforms&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preparing SD card on Linux/Windows Platforms'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On windows format your SD card before copying the NOOBS files onto it.&lt;br /&gt;
&lt;br /&gt;
#You will need a 4GB or larger card. You will need a 4GB or larger card. NOOBS holds the various distros and support files for the “recovery” process. Basically, the installer lives on the card&lt;br /&gt;
#Go to the SD Association’s website&amp;amp;nbsp;and download SD Formatter 4.0 for Windows&amp;lt;br/&amp;gt;([https://www.sdcard.org/downloads/formatter_4/ https://www.sdcard.org/downloads/formatter_4/])&lt;br /&gt;
#Follow the instructions to install the software.&lt;br /&gt;
#Insert your SD card into the computer or SD card reader and make a note of the drive letter allocated to it.&lt;br /&gt;
#In SD Formatter software, select the drive letter for your SD card and format it.&lt;br /&gt;
&lt;br /&gt;
'''Copy and Paste the NOOBS files'''&lt;br /&gt;
&lt;br /&gt;
#Once your SD card has been formatted, copy all the files in the extracted NOOBS folder and paste them onto the SD card drive.&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type:upper-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''&amp;amp;nbsp;Format the SD card on the Linux Platform'''&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''On linux the following assumes you have root/administrator privileges'''&lt;br /&gt;
&lt;br /&gt;
#First we need to download the ISO from the downloads page&amp;lt;br/&amp;gt;([https://www.raspberrypi.org/downloads/ https://www.raspberrypi.org/downloads/])&amp;lt;br/&amp;gt;Select an OS either Raspbian, UBUNTU mate or Snappy UBUNTU core&lt;br /&gt;
#Find the device, assuming your system is different to mine. The easiest way is to run the following:&lt;br /&gt;
&lt;br /&gt;
'''''#fdisk -l'''''&lt;br /&gt;
&lt;br /&gt;
(This command lists all the mounted and unmounted devices on your computer.)&lt;br /&gt;
&lt;br /&gt;
#Once you have identified your device and the partition enter the following command that will format the SDcard&lt;br /&gt;
&lt;br /&gt;
'''''#dd if=/downloads/raspbian.img of/=sdb bs=512 conv=noerror,sync'''''&lt;br /&gt;
&lt;br /&gt;
#When this process has finished, safely remove the SD card and insert it into your Raspberry Pi and boot it.&lt;br /&gt;
&amp;lt;div&amp;gt;Installing OS&amp;lt;br/&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
'''Noobs installer First boot'''&lt;br /&gt;
&lt;br /&gt;
#Plug in your keyboard, mouse and monitor cables.&lt;br /&gt;
#Now plug in the USB power cable to your Pi.&lt;br /&gt;
#Your Raspberry Pi will boot, and a window will appear with a list of different operating systems that you can install. We recommend that you use Raspbian – tick the box next to Raspbian and click on &amp;lt;code&amp;gt;Install&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;[[File:Noobsinstall2.png|RTENOTITLE]]&lt;br /&gt;
&lt;br /&gt;
[http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png http://raspberry.kenet.or.ke/images/0/05/Noobsinstall2.png]&lt;br /&gt;
&lt;br /&gt;
#Raspbian will then run through its installation process. Note this can take a while.&lt;br /&gt;
#When the install process has completed, the Raspberry Pi configuration menu (raspi-config) will load. Here you are able to set the time and date for your region and enable a Raspberry Pi camera board, or even create users. You can exit this menu by using Tab on your keyboard to move to &amp;lt;code&amp;gt;Finish&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Logging in with Default username and password&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
The OS will boot to command line where you will need to enter the default username and password&lt;br /&gt;
&lt;br /&gt;
*The default login for Raspbian OS&amp;lt;br/&amp;gt;Username: &amp;lt;code&amp;gt;pi&amp;lt;/code&amp;gt; with the&amp;lt;br/&amp;gt;Password: &amp;lt;code&amp;gt;raspberry&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Loading the graphical user interface&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
To load the graphical user interface type&amp;lt;br/&amp;gt;'''''#'''''&amp;lt;code&amp;gt;'''''startx'''''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 2:Connecting Pi to the Internet ======&lt;br /&gt;
&lt;br /&gt;
#WiFi Configuration&lt;br /&gt;
&lt;br /&gt;
*After loading the graphical user interface&lt;br /&gt;
*Select the start menu then select preferences then select WiFi configuration&amp;lt;br/&amp;gt;[[File:WIFI1.png|RTENOTITLE]]&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
'''Step 1. Selecting the WiFi configurator&amp;lt;br/&amp;gt;[[File:WIFI2.png]]'''&lt;br /&gt;
'''Step 2.Selecting the network'''&lt;br /&gt;
&lt;br /&gt;
Click on the Scan button and a second window will open. Find your Wireless access point in the list and double click on it. This will open another window.&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI3.png]]&lt;br /&gt;
&lt;br /&gt;
'''Step 3.Joining the network'''&lt;br /&gt;
&lt;br /&gt;
Double-click on the SSID of the access point to connect to, and then type in access password (if required)&lt;br /&gt;
&lt;br /&gt;
[[File:WIFI4.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:medium&amp;quot;&amp;gt;'''Using the command line'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Step 1 Getting WiFi network details'''&lt;br /&gt;
&lt;br /&gt;
#check the label on your wifi card using the command&lt;br /&gt;
&lt;br /&gt;
''#iwconfig''&lt;br /&gt;
&lt;br /&gt;
#To scan for WiFi networks, use the command&lt;br /&gt;
&lt;br /&gt;
''#''&amp;lt;code&amp;gt;''sudo iwlist wlan0 scan''&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*This will list all available WiFi networks&amp;lt;code&amp;gt;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*'''Step 2 Adding the network details to the Raspberry Pi'''&lt;br /&gt;
&lt;br /&gt;
Open the wpa-supplicant configuration file in nano text editor, use the following command&lt;br /&gt;
&lt;br /&gt;
''#sudo nano /etc/wpa_supplicant/wpa_supplicant.conf''&lt;br /&gt;
&lt;br /&gt;
#Go to the bottom of the file and add the following:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;The_ESSID &amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;Your_wifi_password&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
In the case of the example network, we would enter:&lt;br /&gt;
&lt;br /&gt;
''network={''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; ssid=&amp;quot;CEH&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; psk=&amp;quot;testingPassword&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
''}''&lt;br /&gt;
&lt;br /&gt;
Now save the file by pressing '''ctrl+x''' then '''y''', then finally press '''enter'''.&lt;br /&gt;
&lt;br /&gt;
At this point, wpa-supplicant will normally notice a change has occurred within a few seconds, and it will try and connect to the network. If it does not, either manually restart the interface with the commands&lt;br /&gt;
&lt;br /&gt;
''#sudo ifdown wlan0&amp;lt;br/&amp;gt;#sudo ifup wlan0,''&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;or reboot your Raspberry Pi with&amp;lt;br/&amp;gt;''#sudo reboot.''&lt;br /&gt;
&lt;br /&gt;
#verify if it has successfully connected using &amp;amp;nbsp;the command&lt;br /&gt;
#'''''ifconfig wlan0'''''&amp;lt;b&amp;gt;''.''&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;(If not, check your password and ESSID are correct. )&lt;br /&gt;
&lt;br /&gt;
#LAN Configuration&lt;br /&gt;
##Static Configuration&lt;br /&gt;
&lt;br /&gt;
The Raspbian network configuration file is located at /etc/network/interfaces.&lt;br /&gt;
&lt;br /&gt;
Step 1 Open the network configuration file with the following command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;'''''#sudo nano /etc/network/interfaces'''''&lt;br /&gt;
&lt;br /&gt;
A default configuration looks like the following, where DHCP is used for wired Ethernet.&lt;br /&gt;
&lt;br /&gt;
#DHCP configuration&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 3:&amp;amp;nbsp; Setting up SSH (Secure Shell) to remote into the PI ======&lt;br /&gt;
&lt;br /&gt;
====== Pre-Lab Exercise 4:&amp;amp;nbsp; Installing Applications on PI ======&lt;br /&gt;
&lt;br /&gt;
#– Updating System&lt;br /&gt;
##Installing the Python Package Manager(PIP)&lt;br /&gt;
##Installing GPIO Library&lt;br /&gt;
#In-Lab Exercises&lt;br /&gt;
##In-Lab Exercise 1: Realizing a AND gate&lt;br /&gt;
###Wire up the circuit&lt;br /&gt;
###&amp;amp;nbsp;&amp;amp;nbsp;Edit the Program&lt;br /&gt;
##In-Lab Exercise 2: Realizing a OR gate&lt;br /&gt;
##In-Lab Exercise 3: Realizing a NOT gate&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:ETH2.png&amp;diff=335</id>
		<title>File:ETH2.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:ETH2.png&amp;diff=335"/>
		<updated>2015-07-27T20:59:49Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:ETH1.png&amp;diff=334</id>
		<title>File:ETH1.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:ETH1.png&amp;diff=334"/>
		<updated>2015-07-27T20:59:39Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:WIFI4.png&amp;diff=333</id>
		<title>File:WIFI4.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:WIFI4.png&amp;diff=333"/>
		<updated>2015-07-27T20:58:12Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
	<entry>
		<id>https://raspberry.kenet.or.ke/index.php?title=File:WIFI3.png&amp;diff=332</id>
		<title>File:WIFI3.png</title>
		<link rel="alternate" type="text/html" href="https://raspberry.kenet.or.ke/index.php?title=File:WIFI3.png&amp;diff=332"/>
		<updated>2015-07-27T20:58:02Z</updated>

		<summary type="html">&lt;p&gt;Snamuye: Snamuye uploaded a new version of File:WIFI3.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Snamuye</name></author>
		
	</entry>
</feed>