1. Smart Environment (IoT)
Project Advisor: Preetpal Kang
Team Members: Bhargava Sreekantappa Gayathri
Christopher
Laurence
Ying Yuan Wu
2. Sensors
• BMP 180 temperature sensor and Pressure
– Uses I2C to read not calibrated Data
from EEPROM
– Use calibrated parameter in EEPROM to
Calculate value for temperature and
pressure
• HTU21D humidity sensor
– Uses I2C to read calibrated data
– Use formula to get relative percentage
of humidity
• Si1145 Light, IR, UV sensor
– Uses I2C protocol and light illumination
and IR to calculate approximate UVI
value
3. C02 & GPS
•K30 10000 ppm C02 sensor
– Uses UART to issue a command
to start data collection and sends
CO2 value back to microcontroller
– Uses Infrared to determine CO2
levels with self calibration after 7.5
days of activity to prevent drift
•GPS
–L1 (1575.42 Mhz) capable gps
module with standard NMEA
protocol
–Uses UART to communicate with
microcontroller
–1 hertz sample rate
4. Power management
Power management:
• Operate on solar power during the day
and charge the battery.
• Operate on battery during the night.
• Device will be in power save mode for the
most part of the time.
• Wake up every 10 minutes to post data.
5. Power management
• Sparkfun Sunnybuddy mppt charger is used to switch
between solar and battery.
• MIC39101-3.3v is used to switch active circuitry on and off.
• Enable pin of MIC39101 connects to Port2.7 to switch on and
off active circuitry(Sun tracker, sensors, wifi)
6. Sun tracking
• Increases available charge time to charge the battery.
• Panel always operates at max capacity.
7. Communication with server
• Uses ESP8266 WIFI module.
• Connects to pre-determined WiFi network.
• Posts collected data to 3 endpoints.
– http://smartenvironmentsjsu.azurewebsites.net/info/deviceX - Device health info
– http://smartenvironmentsjsu.azurewebsites.net/sensor/deviceX - Sensor data
– http://smartenvironmentsjsu.azurewebsites.net/GPS/deviceX - GPS and altitude reading.
8. Software Flowchart
• Each sensor tasks have their own
queues and semaphores
• Tasks are scheduled in a round
robin fashion.
• Tx task puts the device to sleep for
10 minutes after all tasks have been
executed.
• After device wake-up, the tasks are
started again starting from
pressure-sensor task.