Home

In Fabacademy it is important to document our progress and make it visible to the entire world through our website.I had attended the Pre Fab Academy course conducted by MIT and Kerala Startup mission in our new fab lab and i successfully completed it.At the time of pre fab we made all documentation in our own website. By doing this We are sharing the document in our website, anybody can see it ,use it and they can fix their problems accordingly.

Assignments

This week's assignments include:

  • Build a personal site describing you and your final project.

  • Plan and sketch a potential semester project and add it to your website.

  • Upload it to the class archive. Do a git tutorial.

    Learning outcomes:

    • Use web development tools, make personal website
    • Learning Git from tutorials
    • Document steps for uploading file to archive and Push to class archive
    • Describe about yourself
    • Describe about the project with a sketch
    • My Website

      I have gone through internet about different website development tools and learned somany thing's related to creating a web page.When it comes to choosing the best web development language for our website, it's important to remember that there is no single best language.Instead, a web developer will choose the option that best suits our project, based on the specific functionality or features you want.

      Basic web development languages

      HTML and CSS are the two most basic web development languages, and are used to build nearly all webpages on the Internet.

      HTML

      HTML is the standardized markup language that structures and formats content on the web. Page elements like the titles, headings, text and links are included in the HTML document. It is one of the core technologies in use on the Internet and serves as the backbone of all webpages.

      CSS

      CSS (Cascading Style Sheets) is a style-sheet language that basically allows web developers to "set it and forget it." Paired with HTML, CSS allows a programmer to define the look and format of multiple webpages at once; elements like color, layout and fonts are specified in one file that's kept separate from the core code of the webpage.there are some more powerfull languages are there which are used nowadays.these are:

      • Java
      • Python
      • CSS
      • PHP
      • Ruby
      • C++
      • C Language

      as a beginner i started studying about html and started to make a simple website using html.the steps shown below is a simple gif representation its a pure coding and the explanantion of this in this will make this assignment bigger.If any body wants to learn more about html you can check with the link shown below.

      Some websites I found helpful to learn:

      let me start, inorder to make a html website first make a new foder and creat a New note pad ,save as to name.html.Open the note pade using gedit and type the comment as shown above.

      gedit

      gedit is the default text editor of the GNOME desktop environment and part of the GNOME Core Applications. Designed as a general-purpose text editor, gedit emphasizes simplicity and ease of use, with a clean and simple GUI, according to the philosophy of the GNOME project. It includes tools for editing source code and structured text such as markup languages.

      Then I started to create a new web page for My Fab academy 2016 the same prosess.Next i understat how to insert a web link, video (Youtub),GIF file and Heading and font color & style.You can see my website git edit vertion as shown below :

      Download the Source Code(text file):

      My Website HTML file

      Website Development

      Creating Github Repositories


      GIT is the most accomplished distributed version control system. It helps us to manage our own project locally using a version control tool or if we want modify a code that is located in a remote central GIT repository.

      Installing and Configuring Git.
      $sudo apt-get install git 

      The next step is to specify your username and email address to your GIT repository using "git config" as shown below.
      git config --global user.name "username"
      
      git config --global user.email email@email.com
       

      Verify the git configuration information as shown below.
       $ git config --list

      Create a repository in Github for personal website

      Head over to GitHub and create a new repository named username.github.io, where username is your username (or organization name) on GitHub. If the first part of the repository doesn't exactly match your username, it won't work, so make sure to get it right.
      Clone the created repo to our PC.
      $ git clone https://github.com/username/username.github.io
      
       

      Move to that folder and create index.html and some content. Now we need to push this.
      Add, commit, and push your changes:
      
      $ git add --all
      #adding files
      $ git commit -m "Initial commit"
      #Adding Comments
      $ git push -u origin master
      # pushing
       

      Creating SSH Keys.

      SSH keys are used to identify computers, it helps in pushing easy without passwords.Before creating one we need to check for exixting ssh key.For that type the code below in terminal.

      
      ls -al ~/.ssh
      # Lists the files in your .ssh directory, if they exist
      
       

      Generate a new SSH key

      With Terminal still open, copy and paste the text below.Don't forget to change the email address to your login email id for github.

      
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
       

      Go with the default settings, skip paraphrase.I added a paraphrase which made my ssh configuring that not aading any advantage.So i created new ssh key withoout paraphrase and then configured it to github.
      Ensure ssh-agent is enabled:

      
      # start the ssh-agent in the background
      eval "$(ssh-agent -s)"
      # Agent pid 59566
       

      Add your SSH key to the ssh-agent:
      
      ssh-add ~/.ssh/id_rsa
      
       

      Add your SSH key to your account

      Copy the SSH key to your clipboard. For that type the following code in terminal.This will install xclip first and then copies the key to clipboard.
      
      
      $ sudo apt-get install xclip
      # Downloads and installs xclip.
      
      xclip -sel clip < ~/.ssh/id_rsa.pub
      # For copying  the contents of the id_rsa.pub file to clipboard
       

      Now login to github account from browser, navigate to account settings by click on profile photo and clicking on Settings.
      On the left settings sidebar, click SSH keys.
      Click Add SSH key.Github is configured using ssh. Now we can push to your rep very easily.

      Problem Faced

      one simple error happened in this week during the updation of my document in git.the steps for pushing the document is shown below.

      
      ~$ git pull 
      ~$ git add --all
      ~$ git commit -m "week"
      ~$ git push
      

      after push i got an error as shown and my documentation failed to update but i got some hints from the error itself,as you can see in the hints :

      i analysed that once we pulled the documentation,before my push,by chance if any others pulled there documentation then there will be some conflicts so inorder to avoid that i pulled my documentation once again and then again pushed.this time my documents get successfully pushed.thanks for the hint..

    Final Project Abstract : RF-based small wall-e Robot

    in fab academy as a part of curriculam we have to do a final project.so i choose to make a small cleaning robot which is usefull to our lab.This dual-mode robot that can be operated manually using an RF-based remote control and can also move automatically avoiding all the obstacles. The robot has some inbuilt intelligence to avoid obstacles by changing its path. It can be further modified for applications like automatic vacuum cleaner. In such an application the vacuum cleaner will automatically clean the floor, or we can direct it using the RF remote while sitting on the sofa.

    The block diagram for ATtiny-based dual-mode robot. When a button is pressed in the remote, the corresponding code is transmitted through RF transmitter. At the receiver end, this transmitted signal is received and decoded. The MCU unit compares the received code and drives the motors corresponding to the code received. Obstacle detectors detect any object in the way and intimate the microcontroller.