Skip to content

Commit

Permalink
added category pages
Browse files Browse the repository at this point in the history
  • Loading branch information
agarwali committed Nov 8, 2016
1 parent e7f8a11 commit 001d8b8
Show file tree
Hide file tree
Showing 9 changed files with 489 additions and 0 deletions.
27 changes: 27 additions & 0 deletions _layouts/blog.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
layout: base
---
<!-- Banner start -->
<section id="banner" class="root-sec brand-bg padd-tb-73 blogpage-banner-wrap">
<div class="container">
<div class="row">
<div class="clearfix blog-banner-text">
<div class="col-sm-8 col-md-8 col-lg-8">
<h2 class="title">BLOG</h2>
<p class="regular-text">Here are all my blogs.</p>
</div>
</div>
</div>
</div>
</section> <!--./Banner end-->

<!-- Blog Post Container-->
<section class="bottom-50 root-sec grey lighten-5 blogpage-posts-wrap">
<div class="container">
<div class="row">
<div id="blog-posts" class="clearfix all-blog-post blog-inner without-sidebar">
{{content}}
</div>
</div>
</div><!--./container end-->
</section> <!-- ./Blog Post Container end-->
67 changes: 67 additions & 0 deletions _posts/embedded-systems/2016-08-26-hacking-the-jeep.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
---
author: agarwali
comments: true
date: 2016-08-26 16:34:27+00:00
layout: post
title: Hacking the Jeep
meta:
category: embedded-systems
excerpt_separator: <!--more-->
media:
media_source:
---

I was not surprised to see [the video](https://www.youtube.com/watch?v=MK0SrxBC1xs) where two hackers Charlie and Chris remotely hijacked an SUV. In fact, I had seen many similar videos. But what stood out to me most was the vulnerability of our software resulting in life-threating situations like having a jeep hacked in the middle of the highway while you are driving. 

<!--more-->

### TL;DR




### _Can we know if our Jeep was hacked and the brakes were modified to behave less accurately? _


My immediate answer is that we would never know if a jeep were hacked such that it does not behave accurately as it was intended to be. Before all the electronics and embedded systems came into play most machinery were controlled mechanically and obeyed laws of physics. The brakes were triggered by physical contacts and the driver would be able to sense the result of the trigger. Take a bicycle for example. If one pulls the brake, they can see the physical movements of wires and springs that eventually cause the bike to slow down. But with the use of embedded systems the driver can precisely reduce the speed of the car at a desired rate of deceleration almost instantaneously. As a result, we do not see or feel the change in the physical state of the machine. The results or deceleration, which is the reduction of speed is displayed on a digital display which is also vulnerable to attacks as seen in the video. So, if the brakes were hacked such that they behave less accurately the driver will not be able to sense it until he has been pressing the brakes for a long time and he does not feel the car is slowing down, which is certainly not the case in an emergency situation.


### _ What implications do "smart cars" have for forensics and crash investigations, and do you believe we have the tools to handle such investigations today? _


Smart Cars are definitely at a higher risk of cyber attacks or crimes making forensics and crash investigation more difficult than ever. One key indicator is the comparison of market growth between smart electronic devices and cyber security. According to the [cyber security market report](http://cybersecurityventures.com/cybersecurity-market-report/), the rate of growth of market size for electronic devices such as PCs, tablets, smartphones, and Internet of Things(IoT) devices has superseded the rate of growth of market size for cyber security. I believe that due to increased demand in smart electronic products companies are not taking the time to invest in or simply do not have enough resources to invest in securing their products from potential cyber attacks. Some of those security measures include tools that will help in tracing attackers when they intervene the system. I think that we have the tools and the intelligence to be able to perform criminal investigation but the producers of smart cars are not making the effort to put them in place.


### **_After graduating from Berea College will I be ready to work on life-critical software and embedded systems?_**


After graduating from Berea College, I believe I will have enough knowledge and confidence to start working with life-critical software and embedded systems. Some of the most important courses other than the core courses at Berea would be Software Engineering,  where I learned how to work with a large codebase and a similarly large community. The course Electricity and Electronics provided a good introduction to the world of electronics, but with Embedded Systems I expect to gain a deeper understanding of electronics and IoTs. On the other hand, the course Computer Security is another essential course that would help me built critical systems that are less susceptible to foreign attacks. However, I believe, that courses alone would not be sufficient. I will need to have worked on personal projects and done internships to connect concepts learned in classes to real world problems.


### _**What practices with regards to the writing of code and working in teams will be crucial?**_


In terms of writing code, it is essential to learn the best practices and conventions. One should also learn how to document the code properly so that other programmers are able to understand how the program works. It is also important to thoroughly test the intended purpose of a program, so that the users are satisfied and hackers cannot take unfair advantage of the loopholes in the program, like the hijacking the jeep video. On the other hand, learning how to work in teams is really important as I can speak from my summer experience at Interapt. To ensure that team is productive everyone has to communicate well their problems as well as discoveries especially in the case of developing life-critical software where a miscommunication can cause hazards.


### _**List of strategies and practices that are employed by practitioners in industry to develop reliable, safe software for embedded systems.**_


In the article "_[Five Steps to Improving Security in Embedded Systems](http://www.newelectronics.co.uk/article-images/46294%5CFive%20steps%20to%20improving%20security%20in%20Embedded%20Systems.pdf)"_,  the author talks about five high-level security that embedded system designers should consider.




1. Conduct an End-to-End Threat Assessment - performing tests on the systems will real-life situations that might cause security issues.


2. Leverage Existing Advanced Security Designs


3. Select an Appropriate Run-Time Platform


4. Secure the Applications


5. Adopt Comprehensive Life Cycle Support
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
author: agarwali
comments: true
date: 2016-09-14 18:26:18+00:00
layout: post
title: Battery vs. Power adapter for Arduino sensor
meta:
category: embedded-systems
excerpt_separator: <!--more-->
media:
media_source:
---

_In our Embedded systems class, we are designing and manufacturing Temperature and Humidity sensors (TH Sensor) for Pine Mountain Settlement School (PMSS) . After a group of students investigated the site for potential clues about how to go about designing the sensor, we are faced with an interesting challenge. How should we power our sensor? Batteries or Power Adapters? What kind of network communication links should we use? WiFi or Radio Links? Since there are many possibilities and challenges we came up with a conjecture: "Designing the sensor for battery and wifi is the simplest most direct pathway to solving PMSS SC."_

<!--more-->

### TL;DR


In this blog post, I will explore different sources that can be used to power our TH Sensors ( Arduino) and different communication links to for the TH Sensor to communicate data, and compare the advantages and disadvantages of using each of those sources.

**Note:** My comparisons are under the assumption that we will be using an Arduino as a platform for these TH Sensors.<!-- more -->


## Battery vs. Power Adapter


When it comes to powering a stand-alone Arduino (and "things" attached to it), we are presented with multiple options. We can use a wall power adapter, Alkaline batteries, NiMh batteries (rechargeable), LiPo batteries, Lead-Acid batteries.

![](https://images-na.ssl-images-amazon.com/images/I/61PE0FcaC4L._SL1001_.jpg)  ![Fig5](http://www.open-electronics.org/wp-content/uploads/2015/07/Fig5-500x375.png)


### Meeting requirements for client


In the case of PMSS, there are a couple of factors we need to keep in mind before we choose our power source.




1. Most of these TH Sensors have to be very portable (e.g. they can be attached to the ceiling or walls).


2. Aesthetics are important in certain places (so we do not want to see wire connections running down at some places).


3. Some TH Sensors need to be installed in places where it usually out of reach.


4. The TH Sensors will have to be always in an active state and report out data at intervals.


Considering these factors we can easily eliminate the big bulky Lead-Acid battery, which is definitely not portable. Even though Lead-Acid batteries can power our TH Sensors for a longer time than other batteries (has higher mAh) but it is also costly (~$20.00) and requires us to take extra measures to store the battery.

LiPo batteries are great to provide a high inrush of current, but the TH Sensor has to be always active, which means the batteries also has to be charged constantly. Under these conditions, the LiPo batteries would be damaged easily.


### Power Consumption


When designing an embedded system it is critical to choose a source that will meet the power consumption. With some initial research, I found that a typical Arduino allows 50mA of power when not used with any other sensors or LED. Assuming that we would use one LED as our indicator and a temperature and humidity sensor, everything combined would be drawing ~100 mA current per hour.

If we were to use alkaline batteries we would have to 4 of them in series to generate 6V to at least meet the voltage requirement for the Arduino. But we know that connecting batteries in series do not increase the current in the circuit. So we would get ~1500mAh power from our combination of 4 Alkaline batteries in series. If our TH Sensor draws 100 mA current per hour then the batteries would only last for 1500/100 = 15 hours. One solution to this problem is to use rechargeable NiMh batteries. But this would also mean that wee would have to recharge our battery every 15 hours (considering each NiMh battery provide 1500 mAh power). Now, we would need backup batteries since the TH Sensors have to be always kept alive.

Another factor we have not considered while talking about power consumption is that most TH Sensor will be placed on ceilings and walls that would not be regularly in the users reach. So it would be very difficult for the user to replace and keep track of so many sensors to replace the battery for recharge. Of course, we can build a circuit to recharge the battery from a power source, but then one can as the most obvious question, why not use the wall power source to power our TH Sensor directly?


### Costs


The cost of the power source is another important factor. A power adapter that connects to JAPAN Jack pin on Arduino Board costs approximately [$6.00](https://www.amazon.com/ZJchao-Power-Adapter-Arduino-2-Flat-Pin/dp/B00CP1QLSC) on Amazon. And a pack of 4 NiMh batteries costs approximately [$10.00](https://www.amazon.com/Westinghouse-NI-MH-2000MAH-Rechargeable-Batteries/dp/B00F2QMKB4/ref=sr_1_1?s=electronics&ie=UTF8&qid=1473875370&sr=1-1&keywords=nickle+metal+hydride+batteries). Even when considering costs, batteries are not the optimal choice.

So considering all these factors, I think power adapters are a better choice to power our TH Sensors.


## Bluetooth vs Wi-Fi


Sending and receiving data will be a big part of our TH Sensors, since it has to report out data to the user periodically. Given that PMSS do not have good Wi-Fi communication at certain points, I think we need to design a central system that communicates to the user over Wi-Fi through the internet. While other sensors, can report data to the central system using Bluetooth. Now, this could vary depending on how further apart are each building from one another.
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
---
author: agarwali
comments: true
date: 2016-10-07 05:18:05+00:00
layout: post
title: Using Arduino Pro Mini as a low power consuming platform
meta:
category: embedded-systems
excerpt_separator: <!--more-->
media:
media_source:
---

_I'm almost midway in my embedded system course where, as a class, we are designing temperature and humidity sensor(THS) for Pine Mountain Settlement School(PMSS). Last week, we had the opportunity to meet Geoff, executive director of PMSS, and ask various questions to deconstruct all the ideas to build this THS._ <!--more-->_One of the things that we discovered during this process was THS has to be battery powered and the battery has to survive at least six months before replacement. This led us to explore this interesting question: How can we design a THS that runs on battery(cell) for at least six months?_

### TL;DR

In this blog, I'm going to write about an option we are exploring to build low powered temperature and humidity sensor with Arduino Pro Mini.


### Modyfying Arduino Pro Mini


The main reason we chose to use Arduino Pro Mini rather than building our own platform is becuase only have half of this Fall 2016 semester left to deliver this sensors. It is not worth our time diving into the wilderness of building a platform and make mistakes, which is ofcourse unavoidable. In the blog "[Arduino Low Power - How to run ATMEGA328p for a year on coin cell battery](http://www.home-automation-community.com/arduino-low-power-how-to-run-atmega328p-for-a-year-on-coin-cell-battery/)", the author discusses some strategies where we run ATMEGA328p on an coin cell for a year on a Arduino Pro Mini platform. An unmodified Arduino Pro Mini can comsume upto 45 mA current which will consume 9A battery in less than a day. However, with simple modification we can signifiicantly reduce that amount of current consumed upto 0.0045 mA.  The power LED and Regulator are the two components asides the microcontroller that consumes a lot of current on Ardunio Pro Mini. Below is a table provided by the author of the blog that shows current consumption for different combinations of modified and unmodified versions of Arduino Pro Mini with ATMega328p.
<table >

<tr >
ATmega328P Pro Mini Version
PWR Source
State
5.0 V @ 16 MHz
3.3 V @ 8 MHz
</tr>

<tbody >
<tr >

<td >Unmodified
</td>

<td >RAW Pin
</td>

<td >ACT
</td>

<td >19.9 mA
</td>

<td >4.74 mA
</td>
</tr>
<tr >

<td >Unmodified
</td>

<td >RAW Pin
</td>

<td >PDS
</td>

<td >3.14 mA
</td>

<td >0.90 mA
</td>
</tr>
<tr >

<td >No Power LED
</td>

<td >RAW Pin
</td>

<td >ACT
</td>

<td >16.9 mA
</td>

<td >3.90 mA
</td>
</tr>
<tr >

<td >No Power LED
</td>

<td >RAW Pin
</td>

<td >PDS
</td>

<td >0.0232 mA*
</td>

<td >0.0541 mA*
</td>
</tr>
<tr >

<td >No Power LED, no Regulator
</td>

<td >VCC Pin
</td>

<td >ACT
</td>

<td >12.7 mA
</td>

<td >3.58 mA
</td>
</tr>
<tr >

<td >No Power LED, no Regulator
</td>

<td >VCC Pin
</td>

<td >PDS
</td>

<td >0.0058 mA
</td>

<td >0.0045 mA
</td>
</tr>
</tbody>
</table>


In addition to modifying the Arduino board, we have to be able to make the processor go to sleep. The ATMega328p supports a number of sleep modes and peripherals that can be controlled using external libraries. We will be using the [RocketStream](https://github.com/rocketscream/Low-Power) library to turn the Arduino to sleep.


### Next Steps


The next steps for my power management team is to experiemnt with ATMega328p and Arduino Pro Mini. Ideally, we would like to have the Arduino Pro Mini board soldered and setup and run the BlinkLight example code.

In addtition, I will be travelling to PMSS this weekend with my group to complete building and deploying our first prototype of Temperature and Humidity Sensor on a RaspberryPi. So, next week I will be blogging a reflection on our work done at PMSS.
33 changes: 33 additions & 0 deletions category/embedded-systems.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
layout: blog
title: Embedded Systems
---
{% for post in site.categories.embedded-systems %}
<article class="col-sm-4 single-card-box single-post">
<div class="card">
<div class="card-image">
<div class="card-img-wrap">
<div class="blog-post-thumb waves-effect waves-block waves-light
{% if post.media == 'video' %} videoPost{% endif %}"
>
{% if post.media == 'image' %}
<a href="{{ post.url | prepend: site.baseurl }}"><img class="activator" src="{{ post.media_source }}" alt="">
{% endif %}
{% if post.media == 'video' %}
<iframe src="{{ post.media_source }}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
{% endif %}
</a>
</div>
<div class="post-body">
<a href="{{ post.url | prepend: site.baseurl }}" class="post-title-link brand-text"><h2 class="post-title">{{ post.title }}</h2></a>
<p class="post-content">{{ post.excerpt | remove: '<p>' | remove: '</p>' }}</p>
</div>
</div>
</div>
<div class="clearfix card-content">
<a href="#" class="left js-favorite" title="Love this"><span class="numb">{{ post.date | date: "%b %-d, %Y" }}</span></a>
<a href="{{ post.url | prepend: site.baseurl }}" class="brand-text right waves-effect">read more</a>
</div>
</div>
</article> <!--./single blog post-->
{% endfor %}
33 changes: 33 additions & 0 deletions category/entrepreneurship.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
layout: blog
title: Entrepreneurship
---
{% for post in site.categories.entrepreneurship %}
<article class="col-sm-4 single-card-box single-post">
<div class="card">
<div class="card-image">
<div class="card-img-wrap">
<div class="blog-post-thumb waves-effect waves-block waves-light
{% if post.media == 'video' %} videoPost{% endif %}"
>
{% if post.media == 'image' %}
<a href="{{ post.url | prepend: site.baseurl }}"><img class="activator" src="{{ post.media_source }}" alt="">
{% endif %}
{% if post.media == 'video' %}
<iframe src="{{ post.media_source }}" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
{% endif %}
</a>
</div>
<div class="post-body">
<a href="{{ post.url | prepend: site.baseurl }}" class="post-title-link brand-text"><h2 class="post-title">{{ post.title }}</h2></a>
<p class="post-content">{{ post.excerpt | remove: '<p>' | remove: '</p>' }}</p>
</div>
</div>
</div>
<div class="clearfix card-content">
<a href="#" class="left js-favorite" title="Love this"><span class="numb">{{ post.date | date: "%b %-d, %Y" }}</span></a>
<a href="{{ post.url | prepend: site.baseurl }}" class="brand-text right waves-effect">read more</a>
</div>
</div>
</article> <!--./single blog post-->
{% endfor %}
Loading

0 comments on commit 001d8b8

Please sign in to comment.