Difference between revisions of "Team-08 Wireless Controlled Car Project"

From eLinux.org
Jump to: navigation, search
(Instalment Instructions)
(Instalment Instructions)
Line 42: Line 42:
  
 
== Instalment Instructions ==
 
== Instalment Instructions ==
'''Istalling Raspbian on Raspberry PI
+
'''Installing Raspbian on Raspberry PI
 +
 
 
DOWNLOAD THE IMAGE'''
 
DOWNLOAD THE IMAGE'''
  
Line 50: Line 51:
  
 
After downloading the .zip file, unzip it to get the image file (.img) for writing to your SD card.
 
After downloading the .zip file, unzip it to get the image file (.img) for writing to your SD card.
 +
 
'''For Linux:'''
 
'''For Linux:'''
  

Revision as of 20:48, 26 November 2015

thumb‎ Embedded Linux Class by Mark A. Yoder


Team members: Divakar Maurya Himanshu Kamboj Vinod Kumar

Grading Template

I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

00 Executive Summary
00 Installation Instructions 
00 User Instructions
00 Highlights
00 Theory of Operation
00 Work Breakdown
00 Future Work
00 Conclusions
00 Demo
00 Not Late
Comments: I'm looking forward to seeing this.

Score:  00/100

(Inline Comment)

Executive Summary

Introduction to Project: The goal of this project is to create a Wirelessly Controlled Car using DC motors interfaced with beaglebone/pi/.. It will be controlled from any Input device (for our demonstration, let it be a keyboard). The Control signals will be sent over WiFi.

Working parts: We have bought the chassis and mounted the wheels and motors. It will be a two wheel drive.

Not Working Parts: Since, we have just initiated our project, due to unavailability of electronic components, we have not been able to accomplish much. The motors are connected to the battery via a Motor Driver module but it can only be operated when we have a Raspberry Pi and a Wifi Module.

Conclusion: It has been a great experience to assemble all the required parts (whatever we have till now) and then to decide over the parts which we may be needing immediately or when if something goes wrong.

Instalment Instructions

Installing Raspbian on Raspberry PI

DOWNLOAD THE IMAGE

Official images for recommended Operating Systems are available to download from the Raspberry Pi website: raspberrypi.org/downloads

Alternative distributions are available from third party vendors.

After downloading the .zip file, unzip it to get the image file (.img) for writing to your SD card.

For Linux:


1.Please note that the use of the dd tool can overwrite any partition of your machine. If you specify the wrong device in the instructions below you could delete your primary Linux partition. Please be careful.

2.Run df -h to see what devices are currently mounted.

3.If your computer has a slot for SD cards, insert the card. If not, insert the card into an SD card reader, then connect the reader to your computer.

4.Run df -h again. The new device that has appeared is your SD card. The left column gives the device name of your SD card; it will be listed as something like /dev/mmcblk0p1 or /dev/sdd1. The last part (p1 or 1 respectively) is the partition number but you want to write to the whole SD card, not just one partition. Therefore you need to remove that part from the name (getting, for example, /dev/mmcblk0 or /dev/sdd) as the device for the whole SD card. Note that the SD card can show up more than once in the output of df; it will do this if you have previously written a Raspberry Pi image to this SD card, because the Raspberry Pi SD images have more than one partition.

5.Now that you've noted what the device name is, you need to unmount it so that files can't be read or written to the SD card while you are copying over the SD image.

6.Run umount /dev/sdd1, replacing sdd1 with whatever your SD card's device name is (including the partition number).

7.If your SD card shows up more than once in the output of df due to having multiple partitions on the SD card, you should unmount all of these partitions.

8.In the terminal, write the image to the card with the command below, making sure you replace the input file if= argument with the path to your .img file, and the /dev/sdd in the output file of= argument with the right device name. This is very important, as you will lose all data on the hard drive if you provide the wrong device name. Make sure the device name is the name of the whole SD card as described above, not just a partition of it; for example sdd, not sdds1 or sddp1; or mmcblk0, not mmcblk0p1.

9.dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdd Please note that block size set to 4M will work most of the time; if not, please try 1M, although this will take considerably longer.

10.Also note that if you are not logged in as root you will need to prefix this with sudo.

11.The dd command does not give any information of its progress and so may appear to have frozen; it could take more than five minutes to finish writing to the card. If your card reader has an LED it may blink during the write process. To see the progress of the copy operation you can run pkill -USR1 -n -x dd in another terminal, prefixed with sudo if you are not logged in as root. The progress will be displayed in the original window and not the window with the pkill command; it may not display immediately, due to buffering.

12.Instead of dd you can use dcfldd; it will give a progress report about how much has been written.

13.You can check what's written to the SD card by dd-ing from the card back to another image on your hard disk, truncating the new image to the same size as the original, and then running diff (or md5sum) on those two images.

14.The SD card might be bigger than the original image, and dd will make a copy of the whole card. We must therefore truncate the new image to the size of the original image. Make sure you replace the input file if= argument with the right device name. diff should report that the files are identical.

d15.d bs=4M if=/dev/sdd of=from-sd-card.img truncate --reference 2015-09-24-raspbian-jessie.img from-sd-card.img diff -s from-sd-card.img 2015-09-24-raspbian-jessie.img 16.Run sync; this will ensure the write cache is flushed and that it is safe to unmount your SD card.

17.Remove the SD card from the card reader.


If you have wiring, include Frizing diagrams.

Packaging

 Future packaging of product something look this:

Above_Samplephotos_of_process_can_be_found_here source :[[Source]]

If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.

If you have wiring, include Frizing diagrams.

Installation Instructions

Give step by step instructions on how to install your project.

  • Include your github path as a link like this to the read-only git site: https://github.com/MarkAYoder/gitLearn.
  • Be sure your README.md is includes an up-to-date and clear description of your project so that someone who comes across you git repository can quickly learn what you did and how they can reproduce it.
  • Include a file called install.sh which installs all the files/packages needed. These are the things that only need to be done one.
  • Include a file called setup.sh which initializes everything. These are the things that need to be done every time you reboot the Bone.
  • Include a Makefile for your code if you use a compiled language.
  • Include any additional packages installed via apt-get.
  • Include kernel mods.
  • If there is extra hardware needed, include links to where it can be obtained.

User Instructions

Once everything is installed, how do you use the program? Give details here, so if you have a long user manual, link to it here.

Highlights

Here is where you brag about what your project can do.

Include a YouTube demo.

Theory of Operation

Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown

List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work

For now, we will try to operate the car sending directions over WiFi signals. Once it is completed, we may use IR sensors to avoid collisions, different coloured LEDs to tell about different ongoing processes.

Conclusions

If we are left with some time after completion of all the aforementioned processes, we will try to regulate the speed of motors in a stepped way (like gear system in Car). We are very excited about that part of project.




thumb‎ Embedded Linux Class by Mark A. Yoder