1 SEMESTER 2BENC 4453COMPUTERARCHITECTURESESI 2020/2021ONLINE ASSIGNMENT – COVID19 LEARNING OUTCOME:By the end of the assignment, student should be able to demonstrate the technologies of ethernetcommunications and input/output peripherals in a computer system.[PO9, C3, LOD5, EA1, EA5]INSTRUCTIONS:1. Form a group consists of NOT more than FOUR (4) students.2. Each group must implement and execute ALL related sections (A to F) provided in the ASSIGNMENTWORKSHEET using a Raspberry Pi 3 Simulator.3. During the demonstration (tentatively on Week 11 or 12), the group should demonstrate the labexercise to their respective lecturer and explain in detail on several aspects:a. The operational of each task.b. The flow of the command script.c. The effect to the task when modification is made.d. Minimum FIVE (5) Frequently Asked Question (FAQ).4. The video demonstration is required to assess the communication skill – Oral (PO9) of the involvedstudents, hence marks are given according to the PO9 rubric.5. Please upload FULL VIDEO – Demonstration (or provide an assess link) via ULEARN platform withthe subject Title: OWN PROJECT TITLE.TOTAL MARKS: 20 % 2 CRITERIA1 ‐ BELOWSTANDARD2 ‐ NEARLY MEETSSTANDARD3‐ MEETS STANDARD4 ‐ EXCEEDS STANDARD1. OrganizationMissing important ideasand key points.Able to present ideas withsome difficulties.Fair time management.Able to present ideas in alogical order.Good time management.Able to present ideaseffectively in a logicalorder.Good time management.2. CommunicationAidsCommunication aids arepoorly prepared.Communication aids arefairly prepared or usedinappropriately.Communication aids arewell prepared and usedappropriately.Communication aids addedimpact and interest to thepresentation.3. Language andVoice ClarityGrammar andpronunciationare severely deficient.The voice is distractingthe audience.Many errors in grammarand pronunciation.The voice is unclear.Few errors in grammar andpronunciation.The voice is clear anddistinct.Nearly error-free ingrammar andpronunciation.The voice is clear, distinct,and dynamic.4. Non-VerbalDeliveryEye-contact, Bodygesture,Body posture,appearance, andfacial expressions areinappropriate anddistractingthe presentation.Some but not all of thefollowing areapplied to enhance thepresentation:Eye-contact, body gesture,Body posture, appearance,and facial expression.Most of the following areapplied to enhance thepresentation:Eye-contact, Body gesture,Body posture, appearance,and facial expression.All of the following areapplied to enhance thepresentation:Eye-contact, Body gesture,Body posture, appearance,and facial expression.5. Question &AnswerMinimum ability torespond and answer tothe question.Limited ability toanswer and sometimesdo not match thequestionAble to respond andanswer constructivelymost of the time.Able to respond andanswer constructively allthe time. 3WORKSHEETSection A: Raspberry Pi Simulator Installation SetupIn order to start the Raspberry Pi Simulator, several procedures must be followed.1. Download the virtualization software VirtualBox from size is 110 MB)2. Install VirtualBox on your computer.3. Download the Raspbian OS image from (total size is1.36GB)4. Load the Raspbian virtual image in VirtualBox and click New5. Load the Raspbian virtual image in VirtualBox with following parameters and click Create6. Load the Raspbian virtual image in VirtualBox. Click on Start to launch PIXEL in virtual machine.7. Now you have your Raspberry Pi desktop environment ready on your computer.48. Setup your mouse and keyboarda. Go to Start>Preferences>Mouse and keyboard settingsb. Go to keyboard>Keyboard layout>Choose your language9. Setup GPIO emulator by pressing terminal icon10. Write in the terminal wget Then write unzip iot4SMEs.zip12. Now your environment for Raspberry Pi is ready to use.Section B: Booting Raspberry Pi (hardware only)Four cores of CPU are running at 1.2 Ghz on the Raspberry Pi 3. During normal operation—that is, after theOS has taken charge—the GPU drives the display, if present. However, during booting, it plays another role.The CPUs used on all Raspberry Pi boards are ARM-designed. When powered up, the boot process thenbegins, and proceeds like this:1. The Raspberry Pi’s design has the GPU on when the board powers up—the ARM core(s) remain off.2. The GPU executes the first stage boot loader from ROM on the SoC.3. The first stage reads the SD or (on newer models) the microSD card, and loads bootcode.bin, thesecond-stage boot loader, for whatever OS is on the card, into the L2 cache (caches being areas ofvery fast memory available to CPUs or, here, the GPU) and executes it.4. Next, bootcode.bin turns on SDRAM (the separate memory chip physically stacked on top of theSoC), loads the third-stage program—loader.bin—and starts it.5. loader.bin reads start.elf, the GPU’s firmware.6. start.elf reads config.txt, cmdline.txt and kernel.img, and starts the OS (this refers toa Linux-based OS such as Raspbian, and is not necessarily valid for any other type of OS).Section C: Watching Raspberry Pi Virtual MemoryIt’s possible to execute a simple memory monitor utility called vmstat (for “virtual memory statistics”) in aRaspbian terminal window. The vmstat utility summarizes the current state of the Raspberry Pi virtualmemory system and updates it, either a set number of times or at a set time interval. The vmstat utility iscommand-line only, and must be executed from a terminal window, such as the one displayed byLXTerminal.Open LXTerminal and type the following command:vmstat5Launched vmstat displays one line of data beneath a two-line column header. This is the state of thevirtual memory system at the moment the command was issued. This command can be repeated after anelapsed time interval and limit the number of repeats to a specified count by using two optionalparameters:vmstat [interval] [count]The interval parameter is given in seconds. If an interval parameter is given (remember not a countparameter), vmstat continues to post an update at each interval as long as you let it run. Output fromvmstat may be redirected to a file to keep/save the data for later analysis.Leave vmstat running while you open and close application windows and watch what happens to thenumbers.One thing to keep in mind is that the bi and bo columns are not dedicated to swap space access. Theyinclude it, but they also include ordinary read/write access to the SD card filesystem. This includes loggingand web caching, so if an uptick in bi and bo is observed while using a web browser like Midori, rememberthat network adapters are not block devices and an ordinary filesystem traffic between the browser and theSD card can be seen. The swpd column reports total swap space page writes and if it remains at 0, virtualmemory has not begun swapping. The si and so columns report the speed of swap space reads and writes.6As with swapd, they will usually be zero. If nonzero values in si and so is observed, the Raspberry Pimay have begun to thrash. Close some apps and see if the swap traffic goes away.Section D: Programming GPIO (Hardware only)The Python scripting language is recommended and easiest method of programming GPIO. It’s relativelyeasy to learn and comes standard in operating systems like Raspbian.To find out which version of Python is installed, just go to the command line and type python; the versionis returned, as shown here:pythonPython 2.7.9 (default, Mar 8 2015, 00:52:26)GCC 4.9.2] on linux2When updating Raspbian (should be done regularly), any newer version of Python downloads and installsalong with the latest updates of everything else in Raspbian. To update and upgrade Raspbian, type thefollowing from the command line (use the terminal if you run a GUI):sudo apt-get update && sudo apt-get upgradeAlso, if first time using GPIO, maku sure to install the Python GPIO library by using the following command:sudo apt-get install rpi.gpioUsing Python, scripts are written to control the GPIO pins. The first step in writing one of these is to importthe GPIO library, giving the script access functions concerning GPIO into your favourite editor, such asnano. Type the following command into the editor window:import RPi.GPIO as GPIOThe next line specifies the layout of the GPIO pins (yes, you can change it). There are two choices: eithermatch the layout on the board or use a numbering scheme matching the pins on the Broadcom SoC, as in:GPIO.setmode(GPIO.BOARD)7Next, to start programming pins. Add the following lines to set pin 12 as an output:GPIO.setmode(GPIO.BOARD)GPIO.setup(12,GPIO.OUT)or as an input:GPIO.setup(12,GPIO.IN)That’s it. Three lines in a Python script and the GPIO has been set up to do something.For a good starting tutorial on programming GPIO pins, including alternative modes, see “Raspberry PiGPIO Pins and Python” at Raspbian Jessie (the latest release) on a Raspberry Pi 2 you can easily check GPIO pin settings. In theterminal, type:gpio readalland a table like the one shown in Figure 12-14 is generated.8Section E: Building a Simple CircuitWhen are you ready to make something happen? How about testing GPIO by pressing several input pinsand trigger several output pins.1. Open Programming>Python 3 (IDLE)2. Click on File>New File and type following code3. Click on Run>Run Module F5 to start running your program. Debug any error (if applicable)94. Based on GPIO Emulator, press simulator button GPIO15, GPIO23 and GPIO24. Observe theinput/output process.5. You may observe the virtual memory statistics for each condition.Section F: Wi-Fi on the Raspberry Pi (hardware only)Raspbian (and most Unix-derived operating systems) includes a command-line utility called ifconfig,which allows you to display the configuration of your wired Ethernet port. (There is a better configurationutility for Wi-Fi, which we’ll get to shortly.) Simply open a terminal window and execute this command:ifconfig eth0Here, eth0 is the default name of the Raspberry Pi’s wired Ethernet port. The utility displays the currentstatus of the port, including its MAC address and IP address. If you’re not using the wired Ethernet port onyour Raspberry Pi, it’s a good idea to disable it, especially if you intend to use a Wi-Fi adapter. You disableeth0 with ifconfig:sudo ifconfig eth0 downNote that changing parameters (as distinct from merely displaying them) requires the use of adminprivileges, via sudo. To enable the port again, enter this command:sudo ifconfig eth0 upThe WPA-2 supplicant that comes preinstalled with Raspbian has a GUI, and connecting to access point canbe entirely configured using the GUI. Follow these steps:1. Run the supplicant software by launching Wi-Fi Config from the Raspbian desktop. Thewpa_guimain window is shown in Figure 7-26.102. Click the Scan button. The supplicant scans for available APs and displays a list in a new window. SeeFigure 7-27.3. Assuming that one of the listed APs is your own, double-click its line in the Scan window. TheNetworkConfig window opens (see Figure 7-28). If you don’t see your listed AP, possibility ofRaspberry Pi may be too far away, or there may be some configuration conflict.114. Enter your AP’s shared key in the PSK field.5. Click Add. Assuming the shared key is correct, the supplicant connects to your AP. At that point, theStatus tab of the wpa_gui main window shows Completed (Station) in the Status field.6. Test the new connection by launching Midori and accessing any web page. Use the wpa_guiapplication for ongoing configuration as well, say if you install a new wireless access point or changeyour SSID or shared key. For simple status display, another Linux command-line utility providesmore information. After you have your Wi-Fi connection established and configured, open aterminal window and enter the following command:iwconfig7. The utility displays an eight-line text summary including the AP’s SSID, the wireless technology(a/b/g/n), the AP’s MAC address, the current bit rate, indicators for signal level, link quality andcumulative counts for various errors.


Leave a Reply

Your email address will not be published. Required fields are marked *