Project for internet of things
You are viewing an older revision! See the latest version
Homepage
IOT Smart Car aka MBED Based Remote Temperature Sensor¶
Introduction¶
This project is about demonstrating an IOT application using MBED Application board LPC1768. In this project a toy car has been hacked for demonstrating a remote sensor. According to Oxford Dictionary definition of a "Robot" is a machine capable of carrying out a complex series of actions automatically, especially one programmable by a computer. This toy car according to the definition of a robot does fall in the category of being a robot therefore in the next sections the car will be refereed with terminologies as "Robot Car" or "Robot".
Goal¶
The goal of the project is to make a Robot that:
- Can act as a Smart remote sensor by updating sensor data via Ethernet and Wifely Interface.
- Can be controlled or accessed from a remote position using various interfaces.
Functionality:¶
As this project is done for educational purpose rather than for commercial product therefore our team tried to use all bits and pieces of what we have learnt in the class to implement in this project. For clear vision the functionality of the Robot is broken down into different modes(a manner of acting or doing). The modes of the Robot are as follows:
- Mode1: Manual Mode - |PS2 + Xively + Wifely|:
This is the manual mode in which the car is controlled manually via a PS2 controller. In this mode the temperature sensed is transmitted on the xively via Wifly. - Mode 2:Remote Control Car- |Wifely Control of car|:
In this mode the car is controlled by wifi via telnet. - Mode 3: Semi-Auto- |Telnet + Xively + Ethernet|:
In semi automatic mode, the control is remote. The car is controlled by telnetting to the mbed via ethernet. In this mode the distance travelled by the car gets limited due to the use of ethernet cable.
Components¶
Following components are used for the project:
- Arduino- RoMeo:
RoMeo is an All-in-One Arduino compatible microcontroller especially designed for robotics applications from DFRobot. (For more Info: http://www.dfrobot.com/index.php?route=product/product&product_id=656#.U5Vh4PldVGk). - Mbed (LPC1768):
For more Info https://mbed.org/platforms/mbed-LPC1768/
- Application Board:
For more info: https://mbed.org/cookbook/mbed-application-board
- Motor Driver:
MD30C is the successor of MD30B which is designed to drive medium to high power brushed DC motor with current capacity up to 80A peak and 30A continuously.
- Jumper Wires:
- Servo Motor:
- Distance Sensor:
This is the major component used in the obstacle detection. The outpur voltage of this sensor changes depending upon the distance of the obstacle from it. This voltage is then used in arduino software to avoid the obstacles.
Codes¶
Mode 1: Manual (PS2-Xively-Wifly)¶
Import programMode-1_PS2_Wifly_Xively
The car is controlled by the PS2 controller and the temperature is sent on xively via the wifly.
Mode 2: Semi Automatic (Telent-Xively-Ethernet)¶
- Publish the code from Zain and add link here.
Mode 3: Automatic(Xively-Wifly-Obstacle avoidance)¶
Attach Arudino code here
MBED Code:
Testing¶
Mode 1: Manual Mode¶
ID | Test Case Description | Output | Result |
---|---|---|---|
1 | Connect the PS2 controller to the car. Power on the MBED. Press the direction control buttons on the PS2 car controller. | The mbed should get an IP address via the wifi and the car should move according to the buttons pressed on the PS2 controller. | PASS |
2 | Open the xively page with your specific device on the laptop.(Make sure your laptop is on the same subnet as the mbed.). Move the car to different positions using the PS2 controller | The xively page updates temperature every 10 seconds. | PASS |
Mode 2: Remote Control Car¶
ID | Test Case Description | Output | Result |
---|---|---|---|
1 | Connect the wifi module to the mbed. Power it. | LCD should display the IP address. | PASS |
2 | Establish a telnet connection from your pc to the IP address on Port 7. | The connection should be established successfully | PASS |
3 | Send the following characters from the telnet terminal and check if you get the respective response.'w' ,'x' ,'a','d', 's', 'z'. | The response should be as follows: 'w' -> FWD 'x' -> REV 'a' -> LEFT 'd' -> RIGHT 's'- > Stop 'z' -> Make wheels straight | PASS |
Mode 3: Semi Automatic¶
ID | Test Case Description | Output | Result |
---|---|---|---|
1 | Power on the mbed and connect an ethernet cable to it. Reset the mbed and open the serial terminal. | The IP address should be printed on the serial terminal. | PASS |
2 | Once you get the IP address of the mbed, telnet to that IP address from your pc using port no.7. | The connection should be established. | PASS |
3 | Send the following characters from the telnet terminal and check if you get the respective response.'w' ,'x' ,'a','d', 's', 'z'. | The response should be as follows: 'w' -> FWD 'x' -> REV 'a' -> LEFT 'd' -> RIGHT 's'- > Stop 'z' -> Make wheels straight | PASS |
4 | Open the Xively page on the laptop with the device Feed ID and the keys matching the one programmed in the software. | You should get the temperature every 10 sec and should be updated according to the sensor data. | PASS |