With the version of Internet Protocol v4 in North America being depleted as shown here by the American Registry for Internet Numbers, the promise of 10-gigabit Wi-Fi and the onset of 5G cellular the Internet of Things (IoT) is going to be a reality very soon (maybe now)!!!! Forbes Tech has published some Market Estimates and Forecasts with numbers as high as $19 trillion dollars (yes everyone that is a T).
Is Internet of Things a reality? Well Microsoft has developed a Windows 10 IoT Core Operating System, they have created a Azure IoT Suite and has an entire section in the development center now for Windows IoT. Don’t just take Microsoft’s word for the success of IoT, what about Amazon developing an entire IoT Cloud service, Apple has the HomeKit section for their IoT, Intel has an entire web section, IBM and the list keeps growing as you are reading this post!!
I have been working with components, sensors, and hardware devices for years before the infamous IoT space started gaining tremendous speed. With the Cloud Space, the improvements of electronics and sensors and the connectivity of Internet the Internet of Things (IoT) and Machine 2 Machine (M2M) space will be a enormously bright future for the younger generation. This is the time to learn!!!
I have purchased the Microsoft IoT Pack for Raspberry Pi 2 from adafruit to continue to try to learn and improve my skillset and just to basically have FUN!! Nerds Rule these days and I am for sure a NERD!!! This kit that is sold by adafruit is very amazing for the price so lets begin to see the potential and complete fun of working with Hardware, Sensors and developing with all types of components that are found on the adafruit site.
So now that I have opened with the explanation to the Internet of Things lets get on to the unpacking of this amazing “Starter Pack for Windows 10 IoT Core on Raspberry Pi 2”. This will be the start of many blog posts and videos to come on setting up, installing, creating and using this starter pack to develop some fun NERDY Things! I hope to develop this as simple beginner post and increasing in difficulty as we move along. I hope this will allow for everyone from children to adults to follow along with these blog posts.
So once you open the box it will be obvious as with everything I have purchased from adafruit the great product quality. The package is shown below:
The blue card on the top has a list of parts provided in the kit which is shown below:
The kit has 3 major areas which are: Essentials, Sensors and Components.
The Essential contained in this kit is a tremondous amount of fun and goodness shown below:
From the top to bottom and left to right the devices are as follows:
- Adafruit Raspberry Pi2 Case
- USB WiFi Adapter
- 8GB SD Card with Windows 10 IoT Core
- Ethernet Cable
- Raspberry Pi 2 Board (This is optional depending on the case you buy)
- Full Size Breadboard
- 5V 2A Power Supply with MicroUSB cable.
The Sensors and Components are in several bags in the kit. Be careful when opening the bag since there are components that are very small and could be lost very easy. The photo shown below shows the small parts in the bags:
Overall this Kit is a complete bundle of goodness that is going to be very fun to develop and produce several tutorials!! In the next blog post I will begin to construct the Essential parts of this kit. So everyone that wants to follow along on the tutorials I plan to develop with this kit and many more you should order up the package on adafruit with the link below so you can follow along.
I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.
IdentityServer Is simply Amazing!!! I have used thinktecture in another job before. I was amazed by this. Check it out at http://thinktecture.com/
I am extremely happy to announce that IdentityServer3 is now officially certified by the OpenID Foundation.
Version 1.6 and onwards is now fully compatible with the basic, implicit, hybrid and configuration profile of OpenID Connect.
Have you ever wanted to monitor, control and manage some device or hardware remotely & securely. Well I have the solution to all your needs.
CloudGate 4G nanoWiPOM Starter Kit has all of that functionality in one very cool package!! Not only does this unit have Cellular capabilities but it also has Analog Inputs, Digital Inputs, and Digital Outputs. With the ability to hook up Analog Inputs to monitor flow, level as well as all kinds of other sensors.
With the Digital Outputs you can connect them to On/Off switches, remote indicator lights, open and close valves all while doing this from the comfort of your current position.
With the Digital Inputs you can hook up the On/Off switches to verify control is successful. Also this can be connected to all kinds of sensors, switches to track and monitor the status of all kinds of devices.
RS232 support for products that are needing to be managed from a serial interface.
RS485 support as MODBUS master or slave with the functionality of daisy chaining device for adding additional hardware.
With the functionality of the CloudGate 4G Cellular Device and the nanoWIPOM control, monitor and manage is almost endless.
CloudGate also has the ability to connect a Virtual Private Network (VPN) that will allow for the secure connection of this device. VPN control and monitor of Internet Of Things / Machine 2 Machine is very important to help protect from hacking.
With that addition of the Wi-Fi card daughter board or a 4 port Ethernet switch there is the ability to use this cellular device to connect other devices to the Internet.
I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.
As the growth of Internet Of Things / Machine To Machine continues to explode in popularity, hardware for the communications and control of devices are going to be hugely important.
OPTION WIRELESS TECHNOLOGY has developed an amazing product named the CloudGate. The CloudGate is a Cellular device that is approved by the carriers that provides a IOT/M2M solution platform that has built in security and powerful processing power.
The CloudGate’s router software is based on OpenWRT, and has an software development kit to allow for the development of the CloudGate to be custom made to your requirements.
The CloudGate hardware has an amazing selection of modular hardware extensions with already developed software library of solutions to control the array of additional expansion modules.
The CloudGate hardware shown below demonstrates the module hardware and additional sockets on the front and back of the device to add the additional modules.
CloudGate modules expansion cards consist of the following with more being developed every day.
WLAN expansion card
- 802.11 a/b/g/n
- Simultaneous access point and client mode
- Failover to Wireless LAN client for WAN connectivity
- Dual SSID
Low cost serial card
- 1 serial port RS-232 921,6Kbaud maximum speed
Industrial serial card
- One RS-232 serial port. 921,6 Kbaud maximum speed
- One 2KV isolated RS-485 serial port. 921,6 Kbaud maximum speed, Full duplex or half duplex, 2 wire or 4 wire. Switchable termination.
- 4 port 10/100 Base-T, μSD card or
- 4 port 10/100 Base-T, μSD card with 2 ports Class 4 PoE or 4 ports up to Class 3 Power Over Ethernet (POE) to allow you to power external devices. (requires special power supply)
- Adds flexible I/O and connectivity for industrial telematics applications to CloudGate
- Built in 3 axis accelerometer for movement detection and other applications
- Dual SIM card reader for backup or roaming SIM
- Built in microcontroller offloads all I/O from CloudGate
CloudGate has a on-device web interface to allow to control and manage this device. The on-device web interface will display tabs depending on the expansion cards installed with default tabs: Home, Ethernet, 3G Connection, Firewall, Connection Persistence, Provisioning, and System.
With the CloudGate device the ability to connect the CloudGate to other devices are almost limitless. The connections have the following opportunities listed below:
Wi-Fi – This connection could be a 802.11 a/b/g/n with simultaneous access point mode.
Ethernet – CloudGate has a built in Ethernet Port with the addition of 4 port switches for additional Ethernet connections.
Serial Connections – CloudGate has a multiple expansion boards that has both RS232 and RS485 connections.
USB Connections – Using the CloudGate Telematics Card the ability for USB Connections.
Digital / Analog IO – Digital IO and Analog IO for connections and control of an enormous amount of other devices. Analog IO will allow for connecting Sensors, Analyzers, and Motors. Digital IO will allow for On/Off, Open/Close, or controlling real world devices.
CloudGate is the IOT / M2M Gateway to the real world with the ability for multiple products and solutions with a multitude of connections with fast, secure solutions.
I hope you all enjoyed this blog post and remember to please follow my blog @ http://allangagnon.nettryx.net.
Imagine developing an Application that is cross platform for all Operating Systems.
Well that is a reality and can be accomplished by using AppJS!!!
AppJS allows you to develop HTML as your Graphical User Interface. You don’t need to have to be limited to custom widgets that are made for everyone and are not full featured you can create your own HTML User Interface. The HTML allows for the complete development of your User Interface with full HTML 5 functionality.
AppJS allows for design and decoration of your application with CSS. If you have been developing in a web interface this will be so familiar to you. CSS allows for the power of HTML and CSS to develop your Application with all the CSS transformations, animations, shadowing and even the Twitter Bootstrap structure.
AppJS has a self-contained distributable application that can be downloaded and used on almost all operating systems on the AppJS site.
Lets show how this is able to be used and get this working with Ubuntu.
First lets create a Development directory in our home directory for this download.
From the terminal window we can create a Development directory by typing the following:
Now we are going to change to the new Development directory by typing the following:
Now lets make an appjs directory in the Development folder we created earlier by typing the following:
So the first thing to do is go to the webpage of the AppJS download area here:
Next we will download the Linux 64 bit version or the version you will need for you Operating System you are using for this process shown below:
Download the file to the appjs folder in the Development folder we created above.
Now in the terminal window lets go to our directory structure we created by typing the following:
Now we need to unzip the file that was downloaded above this can be done by typing the following in to the terminal window: (This is based on the version downloaded from the website)
gunzip < appjs-0.0.20-linux-x64.tar.gz | tar xvf -
This should create an app directory and we need to go to this folder by typing the following:
Now you will have one file app.sh and one data directory shown below:
Now all we have to do to run this is to run the app.sh shell file in that same terminal window by typing the following:
Now lets investigate the application that we downloaded and check out the coding they have included.
We will go to the data directory and investigate a few files by typing the following:
In the data folder is some really cool interesting stuff!!!
Finally in the content directory you will see that there is simply HTML, CSS, pictures and icons shown below:
I have been using Microsoft Windows really since the beginning.
I will show my age but I remember running Windows 1.0 on my IBM PS2 in 1989!!
I have had a “Love Hate relationship” with Windows ever since. I have been in some type of Information Technology since 1996 and have been doing beta testing or Technical Previews for many many years.
I remember using a Windows 95 beta Operating System and having to install it almost every day at first because I was compiling a Visual Basic 4 Application.
However I have been doing a Technical Preview with Windows 10 since they first released it and I have to admit this:
THIS IS THE BEST OPERATING SYSTEM I HAVE USED FROM MICROSOFT!!!!!
Again remember this is a Technical Preview which is not even the fully released Operating System. And I will YELL it again:
THIS IS THE BEST OPERATING SYSTEM I HAVE USED FROM MICROSOFT!!!!!
Now another amazing thing I have to admit is that Windows 10 Technical Preview has been running on a Parallels Virtual Machine on my Mac OSX!!!!!
The Windows 10 Operating System has some great features in the UI and also is Rock Solid as far as functionality!!
I have my Start menu pinned with my most used applications and I love the clean look and quick launch of my apps with out cluttering my Desktop!!
I have also found that the right click on the start button will produce a list of really fast short cuts that improves performance of on everyday task shown below:
The overall is that Windows 10 is a solid running Operating System that has abilities to improve performance!! I have never had the Technical Preview even crash!!!
This is a must for anyone wanting a solid running Operation System!!! Especially since the upgrade is FREE found here:
Fellow developers please understand HERE IT COMES!!!
Each of the following should be at least be on your tracking and following list: TypeScript, Node.js, React.js, io.js, Angular.js and millions more and more have been made while typing this sentence!!
I have been working with Node.js / io.js to familiarize myself with the concepts and development paradigm to learn some coding practices and standards.
I decided that I needed to develop an application that would be a created from scratch, an application that would help me understand and use Angular.js.
Well here is my attempt to develop that using an application that I have used before by developing an application in Backbone.js found here on my github account.
I decided to develop this application in a Angular.js format and my best understanding so far of “Best Coding Standards and Practices”. I am by no means an expert on this yet so please understand this could have some issues.
For a better understanding of “Best Coding Standards and Practices” please follow and check out Pluralsight. They are by far the best thing that I have ever done for my career and also to improve my skill set. “NO REPLACEMENT!!!”
Ok enough about me and on to the Angular.js application that I have created.
I will be using Sublime Text 3 as my development environment for this application.
I will place my code on to my github account here also if you want to use it as a reference.
I first have structured my code in the way that I have found works best for me also learned on Pluralsight. This seems to be somewhat simple but really powerful as well, the structure is shown below:
The first file that I wanted to show is the birthday.html file I have created. Again this will be found in my github account also here:
This file is basically a HTML5 file that has basic html structure with a additional Twitter Bootstrap css for layout, and the improve the look of the page. The other thing that is added to this HTML file is the Angular.js, jquery, and my app.js and rectanglecontroller.js files.
In this application this is the View of the MV* Model / View / * (or Whatever).
Next I developed the app.js file that will be the definition of the module that I want have in my application. This gives the ability to develop a modular based structure in the application that will allow for “small do one thing well” process or module.
The app file is very small and is basically used to bootstrap the Angular.js application shown below:
Next really is the crux of the application that is basically the Model and Controller of this application. The model is defined in the rectangle controller and then I have functions that are encapsulated in the Model shown below:
Now the controller for the application that creates the Rectangles and has the order by function that does the work for Alphabetize and Numerical button.
Basically the simple application creates Rectangle Birthday Blocks on the HTML5 application that is dynamically generated with a ng-repeat Angular loop. After the Birthday Blocks are created then the Alphabetize and Numerical buttons will allow for you to sort the blocks. The Alphabetize and Numerical buttons will also do full reversal of the blocks if clicked again. You also have the ability to choose any Birthday Block and it will change color to show the selection. When you select another block the first one will revert back to original color and then new selection will change colors. The page is shown below:
In summary this is my attempt to start to develop an application that is based in the Angular.js, Bootstrap and HTML5 world of development.
Node-RED – A visual tool for wiring the Internet of Things.
Node-RED is an application that allows for the simplicity of creating, and wiring hardware devices, developing API’s in a Graphical User Interface that is amazing and FUN!!
I will start out by showing how to install the Node-RED application on Mac OSX and then give some examples of how to get this up and running.
First we will install io.js on our Mac by visiting the io.js site here.
From that link you will see this image below and you will need to select the version of io.js you need for your operating system you will be installing this on.
I will show you for a Mac OSX which is the link shown by the green arrow below:
The advantage of io.js I have discovered is that on Mac and Linux I don’t even have to uninstall the version you have, so far the previous version is just updated to the current version. If however you want to have multiple version you need to run NVM shown in a blog post I have done here.
Once you select the Mac Download you will need to track where you download and then install it by clicking the icon shown below:
This will start the installation of the io.js application installer shown below you will just need follow the screen shots below press the button shown by the green arrow.
On this screen you will need to select the “Install for all users of this computer” shown by the red arrow and then again press Continue shown by the green arrow.
This will successfully install io.js on your system to really start diving in to the cool Node-RED.
The next thing we need to do is press the Command Key shown by the Red Arrow and then hit the Space Bar shown below by the Green Arrow:
Next type in “terminal” in the Spotlight Search as shown by the Green Arrow and press enter to open a terminal window.
After the terminal window opens up type in the following:
Then we will need to make a directory so that we can download the Node-Red application in.
sudo mkdir Development
Then we need to create a Node-Red Folder in the Development Folder shown below:
Once in the Development folder type the following shown below:
sudo mkdir NodeRed
Then we need to download the Node-RED application here by finding the red button shown below:
Make sure you download the application to the folder NodeRed we created above.
From the terminal window you will need to change to the NodeRed folder by typing the following:
Next we need to unzip the Node-RED zip file with the command shown below:
Once you have the Node-RED file unzipped it will create a folder and we will need to change directory in to that folder to do the install instructions for the (npm) Packages.
This will change to the new directory that where we will be able to complete our install of the necessary packages.
Once we are in the folder we need to now do the Package install shown below:
sudo npm install --production
I did however have an issue with the install with this issue: “Failed at the firstname.lastname@example.org” I am not sure what is happening there and will try to investigate this soon and do a update soon.
I also did an install of the mongo dB package so that it was there when needed once I start using the database nodes later.
The mongo dB package can be installed with the following command shown below:
sudo npm install mongodb
Now that this is all complete we can start using Node-RED and begin to start having fun using a “Visual tool for wiring the Internet of Things”!!
Now we need to start Node-RED by using the following command shown below:
This will give you a address the server is running the “Default” is the following:
Server now running at http://127.0.0.1:1880/
Now all you have to do is go to the link in your browser window as shown below:
If everything goes well you should see the following in the browser window:
A quick tutorial with Node-RED is to drag on a “inject” node from the input section, a “debug” node from the Output node, and finally a “http request” node from the function section and align them as shown in the picture below:
Now if you click on the connection dots that are on each one you will be able to drag and visually connect each one of them to one another such as shown below:
Next we will double click the http request block and you will see a edit window shown below and you will need to fill the block out the same way as I have it or something very similar:
Next we need to double click the debug node and edit that as shown below:
When complete you should see the following shown below:
Now click on the box that is in front of the inject node shown below:
Once you have clicked the inject button you should see the process flow through the nodes and finally on the right hand side in the debug tab you will see the following:
This is a very simple example but I hope you can see the complete power that is able to be developed. This is really powerful and amazingly simple development visually!!
The cloud services are growing by the day these days and most of them are making life as we know it easier with major advantages.
Pertino is really cool and will give you the ability to have a free, yes I said Free 3-device Cloud Based VPN for your Small Business or Home Office.
From here you can fill out the form below and receive a free 3-device Cloud VPN!!
This Dashboard will show you the Members Online, Devices Online and finally the Total Devices you have connected. At the bottom of the Dashboard is a PeopleView, DeviceView, AppScape, MyApps and Settings buttons shown in the above photo.
Once you have your 3-devices connected you have the ability to use the Devices Online to see the devices that are online and able to be accessed via a Cloud VPN. Here is an example of my Devices with a redaction of information that is private.
With the Hostname that is shown on your DeviceView you can copy and paste that in to a Remote Desktop connection application and instantly connect to your device even when you are not connected to the Local Area Network.
Pertino seems to be very powerful easy to use and again Free for 3-devices!!
Check this out and sign up for your free Cloud VPN!! You can’t go wrong with free!!
Thank you and please follow my blog!!
Question: Is there a cost to Free Wi-Fi?
Answer: The cost could be free malware, rootkits or even worse your Identity being stolen.
I have had 3 clients that have been hacked using free Wi-Fi, one of the clients were using a free Wi-Fi from a national hotel chain.
Using a free Wi-Fi can be dangerous in ways of simple Packet Sniffing, or even worse Man In The Middle Attacks. This will allow a person to at worse monitor traffic and information being sent and delivered to your computer. They also have the ability to possibly change or inject new messages in traffic flow. Last year’s hacks were some of the worst attacks on Corporations so it seems impossible to stop all hacking attacks.
However I want to show you a possible way to create a Small Business or Home Office VPN that will help to protect you when using the internet and connecting to your Local Area Network. Again this is not a guarantee for protection but will improve your security and does initiate a PPTP VPN to help with protection.
I have been using and working with Mikrotik routers and have found they are really powerful for a very good price. They have a RouterOS that allows for complete configuration and control of the Firewall, Network Address Translations as well as Setting up multiple VPN’s. The RouterOS6 is based on the Linux-3.35 with a very friendly user interface and amazing documentation found here.
I am going to demonstrate the Updated RouterOS6 functionality and complete simplicity of developing a VPN that is able to be used on almost all Operating Systems you have including Mobile Devices. Based on an Amazon quick search you will find many version of Mikrotik Routers and they are some that the price is amazing for the complete functionality that you will receive from this product!!
Once you receive the Mikrotik and unpack it you will need to look at the bottom of the box for the instructions to connect to the system the first time shown below:
So once you have connected Port 1 to the Internet Cable and then connected a computer to Port 2 of your Mikrotik router you will need to verify you have received a IP address from the DHCP Server that is running on the Router. (Hint: you may have to wait a few seconds for the IP address to be assigned.)
Once you have received the IP Address from the router you will need to open a browser and type in the address: http://192.168.88.1 as shown below:
Some times I get the browser to Login In with out seeing the Screen above however some times it will show you the above screen. If you see this screen you should already see the Login: is set to “admin” the password is blank by default shown by the red arrow. Finally you will need to press the login button shown by the Green Arrow above.
Once you have completed the post above you will see the Quick Set Page which is new in the RouterOS6. This page really is a simple setup for major functions of this router. I can tell you this is really powerful for simplification on setting up your router the way you need to have it. The Quick Set page is shown below:
From here we will be doing all our setup to accomplish our goal of a VPN for our Small Business or Home Office. The first thing I would suggest is that we need to change the Password of the “admin” user this can be accomplished by setting the password in the Red Box shown above, then when complete press the Apply Configuration button shown by the Green Arrow. After this change you will need to refresh your browser and enter the password in the Password section of the login page. (See the 2nd photo of this blog as an example of the page where the password is needed.)
Once you have changed the password of the router that will protect from others being connected to the router either locally or trying to hack in remotely. We are now going to set up the VPN Access of the Router. This will require the following steps with the associated photo shown below:
- Enable the VPN Access by placing a Checkbox shown by the Red Arrow.
- Type in the VPN Password you want to use for connecting shown by the Green Arrow.
- Press the Apply Configuration button shown by the Yellow Arrow.
This is basically all you need to do for the Router! Very simple yet very powerful. Now all you need to do is setup a PPTP connection on your computer or iPhone.
You will need to choose the Connect to a workplace connection option shown by Red Arrow, and then press the Next button shown by the Green Arrow shown above.
Next choose No, Create a new connection shown by Red Arrow, then press the Next Button shown by Green Arrow shown above.
Next choose “Use my Internet Connection (VPN)” option shown by the Green Arrow shown below:
Next you will put the VPN Address shown below in the Green Box with the Green Arrow in the Internet Address of the Connect Workplace Internet address Box shown below by the Green Arrow. Also name the Destination Name to correlate to the VPN you are setting up shown by the Red Arrow below, and Next press Create button shown by the Yellow Arrow shown below:
This should place the VPN in the Charm Bar if you are on a Windows 8 or Windows 10 Version of Microsoft where you can press the Connect Button as shown below by the Green Arrow.
Finally you will need to type in the VPN User as shown by the Green Arrow, and VPN Password as shown by the Red Arrow shown below. Then finally press the OK Button shown by the Yellow Arrow.
This will of course need to be used out side of your Local Area Network because you will not be able to connect to the PPTP VPN from inside your current LAN. You will also have the ability to setup a PPTP VPN on your Mobile phone.
This should be all you need to have a fully functional PPTP VPN on your Small Business or Home Office. For as little as approximately 70 dollars you can have a piece of mind that you are helping protect your self from Man In The Middle attacks and help improve the change of stopping Identity Theft.
With the simplicity and protection this could provide this seems to be a great idea!!
Thanks and please follow my blog!!