Scan For Bluetooth Enabled iBeacons Via A Raspberry Pi IoT Device

Lately I’ve been working a lot with iBeacons and Raspberry Pi Internet of Things (IoT) devices.  I’ve been building an office monitor for logging foot traffic around the office.  I planted a few Raspberry Pi devices around the office and distributed some Gimbal iBeacons to a few of my coworkers so I could determine what part of the office experiences the most heat.

While Raspberry Pi 3 devices come with integrated bluetooth, Raspbian Linux is not configured to support BLE scanning.  There are a few packages that must be installed to make BLE scanning possible.

We’re going to see what is necessary to scan for BLE iBeacons using a Raspberry Pi with Raspbian Linux installed.

(more…)

Deploying Docker Containers On A Raspberry Pi Device

Recently I’ve been using a good amount of Docker for various deployment pipelines.  As everyone knows, I’m a huge Raspberry Pi fan, so I figured it would be a cool idea to bring the two together.  After all, Docker was built using Golang which is cross architecture.

We’re going to see how to create Docker containers on a Raspberry Pi and figure out the limitations of using Docker on IoT based architectures.

(more…)

Record IP Camera Surveillance Video With A Raspberry Pi

As some of you may know, I have wireless surveillance cameras around my home.  Many years back I even released an Android application called SpyFi to be able to view the video feed from these cameras.  Up until recently I would have these cameras upload a sequence of images to a remote FTP server every time there was motion.  The problem with this is that these were only a sequence of still-images rather than video, and the server was not free or necessarily cheap.

Being that I own a few Raspberry Pi computers, I figured it might be a good idea to utilize them for surveillance storage.  The cool thing about this approach is that it is cheaper and that I can record video rather than pictures.

We’re going to take a look at how I’m recording video on a Raspberry Pi device to keep my home safe.

(more…)

TPDP Episode #9: An Ember In The Land Of Web Frameworks

We’re nearing the end of 2016 and there are many JavaScript frameworks available to choose from, with more on the way.  Each framework offers a unique perspective of front-end development that can be very attractive to solo developers or development teams.  This brings us to a very popular JavaScript framework called Ember.js.  In this episode of The Polyglot Developer Podcast, I have guest speakers Tracy Lee and Taras Mankovski, who are both Ember experts.

Tracy Lee is a very successful JavaScript developer who sold her start-up and now focuses on her web organization Modern Web, which educates people on different development technologies.  Taras Mankovski runs a very popular consulting business called Ember Sherpa which also educates businesses on the Ember.js framework.  In the ninth episode of this podcast, An Ember in the Land of Web Frameworks, we explore Ember and the conveniences it offers in the realm of JavaScript and front-end development.  This exploration includes tooling and comparisons against other popular frameworks like React and Angular.

(more…)

Use Mozilla’s LocalForage For Key-Value Storage In Ionic Framework

A few years ago I wrote an article called Use ngStorage for all Your AngularJS Local Storage Needs, which was intended to be for AngularJS in general.  However, I understand many readers were using it in their hybrid Apache Cordova or Ionic Framework applications.  There is nothing wrong with this.  However, ngStorage is a wrapper for HTML5 local storage which is known to have compatibility issues under certain circumstances.  That said, came across localForage, a library by Mozilla, which claims to be a wrapper for local storage, WebSQL, and IndexedDB, offering maximum compatibility.

We’re going to take a look at including localForage in an Ionic Framework Android and iOS application for storing data.

(more…)

Build A Time-Based One-Time Password Manager With Ionic 2

A few years back I created an Android and iOS application called OTP Safe that managed time-based one-time passwords.  This application was made with the first version of Ionic Framework and at the time was great because it accomplished more than the Google Authenticator application.  Now that Ionic 2 is approaching stable release, it seemed like a cool idea to take this one-time password application and build it with the latest and greatest including Angular 2.

We're going to see how to create an iOS and Android time-based one-time password manager using Ionic 2, Angular 2, and TypeScript.

Three Simple Ways To Get Online With A Raspberry Pi Zero IoT Device

As you know from the guides that I put out, I’m a Raspberry Pi collector.  I collect the full size units as well as the Pi Zero units.  In a previous post I explained how to emulate ethernet over a USB as a way to connect to a Pi Zero that is not using WiFi or ethernet.  However, what happens when you decide you’re at a point where you’d like to bring your Pi Zero online?

I’m going to show you three quick, easy, and cheap ways to get WiFi internet on your Raspberry Pi Zero IoT device, none of which will require any soldering or advanced hardware knowledge.

(more…)

Test Amazon Alexa Skills Offline With Mocha And Chai For Node.js

By now you’re probably aware that I’m all about Amazon Alexa skills since I’m a proud owner of an Amazon Echo.  I had released a Alexa skill called BART Control and published a guide on creating a simple skill with Node.js and Lambda.  If you went through my Node.js and Lambda guide you probably found it pretty painful to test the skill you were working on.  The constant building and uploading to Lambda could easily get out of control.  What if I told you there was a much simpler way that could save you a ton of time?

We’re going to take a look at adding test cases for testing an Alexa skill offline without ever having to upload the skill to Lambda.

(more…)

Unit Testing A NativeScript Angular 2 Android And iOS Mobile Application

Writing tests is a very important part of mobile application development, but not everyone does it.  It could be laziness, it could be because you don’t know how.  I fall into the category that I’m often too lazy to write tests.  I don’t have time to write tests, I just want my application done.  That is probably not a good answer.  Unit testing will lead to overall better applications with less problems down the road.

Not too long ago, Ben Elliot wrote a guest post on The Polyglot Developer regarding unit testing a NativeScript mobile application.  The thing is, that this was directed towards vanilla NativeScript.  While vanilla is a very valid option when it comes to NativeScript, I prefer using Angular 2 which is a bit different.

We’re going to see how to write unit tests for a NativeScript Android and iOS applications that use Angular 2 and TypeScript.

(more…)

TPDP Episode #8: Asynchronous and Event-Based Programming with RxJS

When it comes to modern JavaScript development, there are a few different ways to handle asynchronous events or data.  You could use promises and callbacks, but as great as they are, present certain limitations.  This is where RxJS comes into play with its reactive programming model.  In this episode of The Polyglot Developer Podcast, guest speaker Ben Lesh and I discuss RxJS and where it fits in modern JavaScript development, whether it be server-side or front-end.

Ben Lesh is a senior software engineer at the very popular entertainment streaming company, Netflix.  One of Ben’s projects at Netflix includes the development and maintenance of RxJS since it is heavily used by the company.  In the eighth episode, Asynchronous and Event-Based Programming with RxJS we discuss everything from what is RxJS, how it was inspired, who is using it, and why you should use it over a few of the alternative methods.  If you’ve ever heard of RxJava or Rx.NET, these projects share some similarities to RxJS.

(more…)