SUMMER INTERNSHIP REPORT ON SWECHA SUMMER CAMP 2019 AN INDUSTRY-ORIENTED TRAINING PROGRAME Organized By: KLU Linux User Group & Swecha A summer internship report Submitted in partial fulfillment of the requirements for the award of degree of BACHELOR OF TECHNOLOGY In COMPUTER SCIENCE AND ENGINEERING By G.KHYATHI LAHARI Under the esteemed guidance of Mr. Sripath Roy Koganti Swecha KLEF Consellor : Dr.Kolla Bhanu Prakash DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING K L Deemed to be UNIVERSITY Green Fields, Vaddeswaram, Tadepalli, Guntur - 522 502, Andhra Pradesh. 2018 1 2 K L Deemed to be UNIVERSITY DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING CERTIFICATE This is Certified that the summer internship entitled “Swecha Summer Camp 2019” which is a experimental &/ theoretical &/ Simulation &/ hardware work carried out by G.KHYATHI LAHARI(170030373) in partial fulfillment for the award of the degree of Bachelor of Technology in Department Computer science Engineering, during the year 2018-2019. The summer internship has been approved as it satisfies the academic requirements. Mr. S RAJASEKHAR Faculty Incharge (Industrial Training) Mr. R B R PRAKASH Professor Incharge (Placements & Progression) Dr. Hari Kiran Vege Professor & Head, CSE Department External Evaluator 3 ACKNOWLEDGEMENT I express my sincere thanks and gratitude to Head of the Department, Dr. Hari Kiran Vege, Industrial Trainings Faculty Incharge Mr. S RAJASEKHAR and Professor Incharge (Palcements & Progression) Mr. R B R PRAKASH for their supervision and guidance. I wish to express deep sense of gratitude to Practice School Faculty for their co-operation, encouragement and timely suggestions. Project Associate G.KHYATHI LAHARI (170030373) 4 INDEX TITLEPAGE NO.. 1.ABSTRACT 5 2. INTRODUCTION 6-7 1.1 About Swecha 6 1.2 Objective 6 1.3 Activities 7 1.4 Projects 7 3. TOPICS 3.1 Linux Administration 8-9 3.2 GIT Version Control 10-12 3.3 Arduino with IOT 12-14 3.4 Multimedia 14-15 4. CONCLUSION 16 5. REFERENCES 16 5 ABSTRACT Intensive Industry Training Camp (IITC) is an annual training programme, conducted by Swecha Organisation that improves students learning capacity with a team driven environment. Going beyond simple technology introduction with assignments, IITC provides an integration system that consolidate technology learning through project simulation.A 15-Day non-residential camp was held at K L University Campus for all the students of KLU. The participants had games, impact sessions, team building activities etc., along with the technology. By this way, Swecha incorporates personality skills inclusive with technical training. In long run, Swecha aims to aware the participants about the alternatives to the monopolized proprietary tools and also make them a part in contribution. 6 INTRODUCTION 1.1 ABOUT SWECHA Swecha is a non-profitable organization formerly called as Free Software Foundation Andhra Pradesh (or FSF-AP in short) later changed name to Swecha which is also the first Telugu Operating system released in year 2005, Swecha is a part of Free software moment of india (FSMI). This organization is a social movement that works towards enlightening the masses with the essence of Free softwareand to liberate knowledge to the commoners. Presently Swecha is active as GLUG (GNU/Linux User Group) in many engineering colleges like International Institute of Information Technology, Hyderabad, Jawaharlal Nehru Technological University Hyderabad , Chaitanya Bharathi Institute of Technology, St. Martin's Engineering, Jyothishmathi College of Engineering and Technology, MVGR College of Engineering , K L University ,and others in and around Telangana and Andhra Pradesh. 1.2 Objective: The main objectives of the organization are as follows: To take forward free software and its ideological implications to all corners of our country from the developed domains to the underprivileged. To create awareness among computer users in the use of free software. To work towards usage of free software in all streams of sciences and research. To take forward implementation and usage of free software in school education, academics and higher education. To work towards e-literacy and bridging digital-dividebased on free software and mobilizing the underprivileged. 7 1.3 Activities: Technology should also be within the reach of everybody. At a time when technology has become all pervasive and people are increasingly dependent on it, transparency in software code is the need of the hour.“One needs to know what is going on in your mobile phone or computer,” said D. Bhuvan Krishna, co-convener of Swecha project which code is available for anyone and everyone to modify fills this gap, felt speakers at an event organised to spread the word of Free and opensource software(FOSS) and celebrate the launch of latest web browser from the Mozilla Foundation’s stable, Mozilla Firefox 3.5. Swecha organizes summer camps every year in which large number of students participate. The camps focus on training students on Free Software Technology and the culture of sharing and collaborative development of free software. In the 2014 itself 15 days camps were conducted for 2000+ students. It is here participants collaboratively engage in the conduct of the Summer Camps. 1.4 Projects: 1. Localisation. 2. Balaswecha. 3. Freedombox. 8 LINUX ADMINISTRATION Linux is a family of free and open-source software operating systems built around the Linux kernel. Typically, Linux is packaged in a form known as a Linux distribution (or distro for short) for both desktop and server use. The defining component of a Linux distribution is the Linux kernel,an operating system kernel first released on September 17, 1991, by Linus Torvalds. Many Linux distributions use the word "Linux" in their name. The Free Software Foundation uses the name GNU/Linux to refer to the operating system family, as well as specific distributions, to emphasize that most Linux distributions are not just the Linux kernel, and that they have in common not only the kernel, but also numerous utilities and libraries, a large proportion of which are from the GNU project. This has led to some controversy. We learned to use the open source free software and the first learnt free Operating Software is Linux. We learnt some theory part of Linux Administration and some basic command to operate the different task. GNU Linux is no more a command line operated system, it has a rich graphical user interface than any other OS. Linux system administration is one of the most in-demand skills in IT too. Sysadmin training includes the daily usage of a Linux OS, Customization of OS and controlling the system using scripts. This gives you a real experience of an open source software(using as per you wish) with a practical experience. List of Commands : File Subsystem 1. cat : no. of lines: cat -n about the file: cat --version copy cat: cat file1>file2 9 combine cat: cat file1file2 > new file traverse one directry back: cd . traverse to home directry back: cd .. traverse to specified directry: cd long listing: ls -l listing hidden files : ls -a lisiting as per size: ls -s long list sorted per size: ls -ls listing directries (/): ls -F lisiting specified irectory: ls -l make a directory: mkdir dir multiple directories: mkdir dir1 dir2 . . . . sub directories mkdir -p /d1/d2/file remove a directory: rmdir dir remove a file: rm -f remove a file with verification: rm -i move a file: mv -v src dest update a file(src must be latest): mv -u src dest 2. cd : 3. ls : 4. mkdir : 5. rmdir : 6. rm : 7. mv : 8. cp : copy only if file does'nt exist: cp -n src dest copy with permissions: 10 cp -p src dest Other Commands (Permissions) - chmod: add permission: chmod +777 <<file>> remove permission: chmod -777 <<file>> permission for specified user: eg.: chmod <<user>>+<<permission>><<file>> chmod u+r file GIT - VERSION CONTROL GITHUB is a repository, where developers across the globe can access the code from any corner of the world. This made the development lifecycle to be faster and produce many products. Besides, this is one of the places where the open source community shares their work here. This is used as a version control for a software development cycle, to manage the releases. Also this is a tool that is used to report bugs, enhance code and remix it. Git manages change. Given that intent, Git shares much with other version control systems. Many tenets—the notion of a commit, the change log, the repository—are the same, and workflow is conceptually similar among the corpus of tools. However, Git offers many novelties, too. The notions and practices of other version control systems may work differently in Git or may not apply at all. Yet, no matter what your experience, this book explains how Git works and teaches mastery. The Git Command Line: Git is simple to use. Just type git. Without any arguments, Git lists its options and the most common subcommands: $ git The most commonly used git commands are: add -Add file contents to the index clone - Clone a repository into a new directory commit - Record changes to the repository diff - Show changes between commits, the commit and working trees, etc. init - Create an empty git repository or reinitialize an existing one log - Show commit logs 11 merge - Join two or more development histories mv - Move or rename a file, a directory, or a symlink pull - Fetch from and merge with another repository or a local branch push - Update remote refs along with associated objects rm - Remove files from the working tree and from the index show - Show various types of objects status - Show the working tree status Quick Introduction to Using Git To see git in action, let’s create a new repository, add some content, and manage a few revisions. There are two fundamental techniques for establishing a Git repository. You can either create it from scratch, populating it with an existing body of work, or you can copy, or clone, an existing repository. It’s simpler to start with an empty repository. Creating an Initial Repository To model a typical situation, let’s create a repository for your personal website from the directory ~/public_html and place it in a Git repository. If you don’t have content for your personal website in ~/public_html, create the directory and place some simple content in a file called index.html: $ mkdir ~/public_html $ cd ~/public_html $ echo 'My website is alive!' >index.html To turn ~/public_html or any directory into a Git repository, run git init: $ git init Adding a File to Your Repository git init creates a new Git repository. Initially, each Git repository is empty. To manage content, you must explicitly deposit it in the repository. Such a conscious step separates scratch files from important files. Use git add file to add file to the repository: $ git add index. html 12 If you have a directory populated with several files, let Git add all the files in the directory and all subdirectories with git add .. (The argument , the single period or “dot” in Unix parlance, is shorthand for the current directory.) After an add, Git knows that the file, index.html, is to remain in the repository. However, so far Git has merely staged the file, an interim step before committal. Git separates the add and commit steps to avoid volatility. Imagine how disruptive, confusing, and timeconsuming it would be to update the repository each time you add, remove, or change a file. Instead, multiple provisional and related steps, such as an add, can be “batched,” keeping the repository in a stable, consistent state. Running git status reveals this in-between state of index.html: $ git status In addition to actual changes to the directory and to file contents, Git records several other pieces of metadata with each commit, including a log message and the author of the change. A fully qualified git commit command supplies a log message and an author: $ git commit -m "Initial contents of public_html" Created initial commit 9da581d: Initial contents of public_html 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 index.html $ git status Git also takes the time to tell you that your working directory is clean, meaning the working directory has no unknown or modified files that differ from what is in the repository. ARDUINO WITH IOT The Temperature Sensor LM35 series are precision integrated-circuit temperature devices with an output voltage linearly proportional to the Centigrade temperature. The LM35 device has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does not require any external calibration or trimming to provide typical accuracies of ±¼°C at room temperature and ±¾°C over a full −55°C to 150°C temperature range. Technical Specifications 13 Calibrated directly in Celsius (Centigrade) Linear + 10-mV/°C scale factor 0.5°C ensured accuracy (at 25°C) Rated for full −55°C to 150°C range Suitable for remote applications Components Required You will need the following components: Procedure Follow the circuit diagram and hook up the components on the breadboard as shown in the image given below. Sketch Open the Arduino IDE software on your computer. Coding in the Arduino language will control your circuit. Open a new sketch File by clicking New. 14 float temp; int tempPin = 0; void setup() { Serial.begin(9600); } void loop() { temp = analogRead(tempPin); // read analog volt from sensor and save to variable temp temp = temp * 0.48828125; // convert the analog volt to its temperature equivalent Serial.print("TEMPERATURE = "); Serial.print(temp); // display temperature value Serial.print("*C"); Serial.println(); delay(1000); // update sensor reading each one second } Result You will see the temperature display on the serial port monitor which is updated every second. 15 MULTIMEDIA We earned the knowledge of multimedia and applied it to edit the video by using free software Kdenlive. This is easy to use and free for all. ACTIVITIES: 1. GROUP DISCUSSIONS. 2. IMPACT SESSIONS. 3. SPORTS. 4. TEAM BUILDING ACTIVITIES 16 CONCLUSION Swecha Summer Camp 2019 has introduced me to a handful of practical life applications of the academic works. It aims to work in the field of digital freedom. It has been recently working on Freedom Box . FreedomBox is a 100% free software self-hosting web server to deploy social applications on small machines. It provides online communication tools respecting your privacy and data ownership. We can use FreedomBox at home to replace services provided by third-parties mining your life and using your content. Thanks to a very friendly interface, we will be able to deploy on demand applications focusing on confidentiality such as file sharing, shared calendaring, instant messaging, secure voice conference calling, blog, etc. It was an enlightening experience to be a part of such programmes which has open the eyes of new scholars for an open and transparent digital world REFERENCES: https://www.encyclopedia.com https://www.wikipedia.org https://www.tutorialspoint.com https://swecha.org 17