Difference between revisions of "S16: Warriors"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Objectives)
(Design & Implementation)
Line 175: Line 175:
  
 
== Design & Implementation ==
 
== Design & Implementation ==
The design section can go over your hardware and software design.  Organize this section using sub-sections that go over your design and implementation.
 
 
<u> ''' Block Diagram ''' </u>
 
<u> ''' Block Diagram ''' </u>
 
[[File:Block.png|center|400px|caption]]
 
[[File:Block.png|center|400px|caption]]
  
Hardware design for GPS, LSM303 and ESP8266 interface.
+
===Hardware design for GPS and ESP8266 interface===
 
<u> ''' peripheral interface board design ''' </u>
 
<u> ''' peripheral interface board design ''' </u>
 
[[File:Peripheral interface board design.jpg|center|400px|caption]]
 
[[File:Peripheral interface board design.jpg|center|400px|caption]]
Line 185: Line 184:
  
 
<u> ''' Raspberry Pi ''' </u>
 
<u> ''' Raspberry Pi ''' </u>
: Raspberry Pi is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
+
: Raspberry Pi 3 is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
 
: Integrated 802.11n wireless LAN
 
: Integrated 802.11n wireless LAN
 
:
 
:
Line 191: Line 190:
  
 
<u> ''' SIM808 GPS/GSM Module ''' </u>
 
<u> ''' SIM808 GPS/GSM Module ''' </u>
: Raspberry Pi is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
+
: Raspberry Pi 3 is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
 
: Integrated 802.11n wireless LAN
 
: Integrated 802.11n wireless LAN
 
:
 
:
: Raspberry Pi is used as Web Server
+
: Raspberry Pi 3 is used as Web Server
  
 
<u> ''' ESP8266 Wifi Module ''' </u>
 
<u> ''' ESP8266 Wifi Module ''' </u>

Revision as of 23:41, 23 May 2016

Grading Criteria

  • How well is Software & Hardware Design described?
  • How well can this report be used to reproduce this project?
  • Code Quality
  • Overall Report Quality:
    • Software Block Diagrams
    • Hardware Block Diagrams
      Schematic Quality
    • Quality of technical challenges and solutions adopted.

Project Title

WiFi Based Sensor System

Abstract

The most basic aspect of an IoT system is the transmission of data over the internet. WiFi based sensor system consists of a a hub of sensors that measure temperature, light intensity, which are found on the SJOne Board and position (GPS), using SIM800 GPS module. The WiFi module, ESP8266, is interfaced with the SJOne board, making it act like a client, which transmits the sensor hub data over the connected network. The data is received by the server over the same network, which is hosted by the Raspberry Pi 3. The data is represented on a webpage which gets updated with the new data every few seconds. The server consists of a basic database, created using MySQL, that keeps a record of the data as it gets updated continuously.

Objectives

1) Set up sensor hub:

  • Interface GPS module with SJOne
  • Write drivers to access the temperature and light intensity sensors on-board SJOne

2) Set up TCP Client:

  • Interface the WiFi module with SJOne board and implement a TCP client
  • Write device driver to transmit data from SJOne client to the server

3) Set up TCP Server:

  • Use Raspberry Pi 3 to work as a TCP server to receive data from client
  • Create a database to keep a record of previously acquired data

4) Set up Webserver:

  • Start the web server and host a webpage


Team Members & Responsibilities

  • Ankit Gandhi
    • Rasberry Pi environment setup, Hardware support
  • Bharat Khanna
    • Interface ESP8266 with ARM microcontroller(Firmware development), Hardware support
  • Sujeeth Emmadi
  • Veena Manasa Kanakamalla

Schedule

This section of the report provides the team schedule for the Assembly line project, indicating the milestones to be achieved during the course of the project.

SI No. Start Date End Date Task Status Actual Completion Date
1 03/21/2016 03/27/2016
  • System design and High level Block diagram
  • Parts and components identification and ordering
Completed
2 03/28/2016 04/03/2016
  • Design of Software Architecture(Flow diagram)
Completed
3 04/04/2016 04/10/2016
  • Device deiver development for I2C(Temperature Sensor) and UART(GPS) communication protocol
  • Testing of individual module
Completed
4 04/11/2016 04/17/2016
  • Device Driver development for ESP8266(Wi-Fi module) on ARM microcontroller
Completed
5 04/18/2016 04/24/2016
  • Socket programming on server(Raspberry Pi) to communicate between microcontroller and server.
Completed
6 04/25/2016 05/01/2016
  • Webserver development on Raspberry PI
Completed
7 05/02/2016 05/08/2016
  • Integration of all modules
Completed
8 05/09/2016 05/15/2016
  • Testing and debugging
Completed
8 05/16/2016 05/22/2016
  • Report writting
In Progress

Parts List & Cost

Item# Part Description Vendor Qty Cost
1 Raspberry Pi Adafruit 1 $39.95
2 ESP8266-Wifi Module Adafruit 1 $9.95
3 SIM808 GPS/GSM Module Adafruit 1 $49.95
4 Passive GPS Antenna uFL Adafruit 1 $3.95
5 USB to TTL Serial Cable Adafruit 1 $9.95

Design & Implementation

Block Diagram

caption

Hardware design for GPS and ESP8266 interface

peripheral interface board design

caption


Raspberry Pi

Raspberry Pi 3 is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
Integrated 802.11n wireless LAN
Raspberry Pi is used as Web Server

SIM808 GPS/GSM Module

Raspberry Pi 3 is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
Integrated 802.11n wireless LAN
Raspberry Pi 3 is used as Web Server

ESP8266 Wifi Module

Raspberry Pi is powered with Broadcom BCM2837 1.2GHz 64-bit quad-core ARMv8 processor.
Integrated 802.11n wireless LAN
Raspberry Pi is used as Web Server

Hardware Interface

The hardware design includes PCB designing using cadsoft Eagle(software for PCB board designing). The circuit of developed PCB board includes interfacing peripheral like SIM808(GSM/GPS module), ESP826( Wi-Fi module), LSM303(Accelerometer & Magnetometer) with ARM cortex-M3 microcontroller and raspberry Pi. I2C, UART and TCP/IP are the three communication protocols that are being used in the project for establishing communication between temperature/light sensor, SIM808/ESP8266 & raspberry pi and ARM microcontroller respectively.

Software Design

The software has been developed on FreeRTOS using C/C++ programming language including features of real-time embedded system. The software involves device driver development for I2C and UART protocol which are used to establish communication between SIM808(GSM/GPS module) & ESP8266(Wi-Fi) with the microcontroller. The code also includes implementation of fetching data like latitude & longitude of the current location, temperature, and luminosity at every timestamp. The data that is being collected on real time basis from the peripheral devices is continuously transmitted to the server(Raspberry Pi) by ESP8266 module using TCP/IP protocol. Socket programming is written on the server(Raspberry Pi) which is continuously listening to the ESP8266 module. On receiving data from the client(Microcontroller) the data is being manipulated and is being able to be displayed on the user-friendly web page using PHP language.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project.

  • First and very important aspect for any project is requirement gathering.

Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

Issues

#1 LPC17xx UART Rx FIFO

LPC17xx UART not able to receive more than 16 bytes
Resolution :
Used interuppt to solve this problem.

Conclusion

The project is based on embedded platform, implementing the concepts of semaphore, Task scheduling, queues etc. Addendum to this we have also implemented features of networking like socket programming and interfacing our output with a user-friendly interface on the web page using Internet of Things. This project helped us in learning a complete embedded application from hardware design till user interface that can be used at a commercial level.

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

Appendix

You can list the references you used.