Home
Videos uploaded by user “Real Time Logic”
How to setup your own secure IoT cloud server
 
10:35
Most IoT cloud server solutions, whether they provide ready-to-use hosted services or not, are based on a standard Virtual Private Server (VPS). Most developers probably think of Amazon or Microsoft Azure's services when considering the server side of their IoT solution. These high-end services are great if you need to scale up to millions of connected devices. However, for most small-scale operations and DIY projects, a low-cost VPS is more than adequate. The written tutorial can be found here: https://makoserver.net/blog/2016/04/Setting-up-a-Low-Cost-SMQ-IoT-Broker We also recommend reading the DZone article: Cheaper Alternatives to IoT Cloud Services https://dzone.com/articles/cheaper-alternatives-to-iot-cloud-services In this video we are using one VPS as the online server, however, technically a cloud server is a cluster -- i.e. cloud servers utilize multiple servers connected together. We use the SMQ IoT protocol in this video and SMQ includes clustering as an option. SMQ can be used with traditional cloud server providers such as Amazon (AWS) and Microsoft Azure. SMQ can also be used with a cluster setup based on round robin DNS, a setup that is low cost and avoids the single point of failure in the load balancer found in traditional cloud services. See the SMQ cluster example page for details: https://realtimelogic.com/IoT-LED-Cluster.html Cluster documentation: https://realtimelogic.com/ba/doc/?url=SMQ-Cluster.html Low cost device: We recommend checking out the ESP8266 if you are looking for a low cost device you can use for connecting to your cloud server. The ESP8266 is a low cost WiFi SoC built around a Tensilica Xtensa LX3 processor and clocked at 80MHz. We provide two client device SMQ stacks for the ESP8266, one for the Arduino environment, and one for FreeRTOS/lwIP. The Arduino version connects to the server using a non secure connection and the FreeRTOS/lwIP version connects to the server using a secure (SSL/TLS) connection. Arduino version: https://youtu.be/aolQxPTmpiY FreeRTOS/lwIP version: https://youtu.be/dr7S-4kVPCg Another great article is the Arduino IoT Christmas Light Controller DIY Project. What can be more fun than assembling your own IoT Christmas Light Controller and at the same time learn about IoT and security? We are talking about a ready to use IoT project designed for educational purposes. The DIY project teaches you all aspects of IoT, including using a basic Arduino relay board, flashing the ready to use Arduino firmware in the relay board, setting up your own online IoT server, and configuring the solution. Introduction: http://www.embedded-computing.com/iot/control-your-christmas-lights-with-an-arduino-relay-board-and-a-mobile-phone Tutorial: https://makoserver.net/apps/LightController/ Video: https://youtu.be/-vnCABwB1lQ
Views: 53856 Real Time Logic
Exploiting online MQTT Brokers
 
04:36
Learn how to hack MQTT and how to protect yourself against hacking. Exploiting MQTT Using Lua is the accompanying video for the following DZone article: https://dzone.com/articles/exploiting-mqtt-using-lua MQTT is a publish/subscribe protocol that has gained popularity as an IoT protocol. MQTT clients connect to a broker which is in charge of exchanging the messages sent between the connected clients. MQTT includes many features that may leave the MQTT solution open to hackers. The Dzone article, illustrates how easy it is to find unprotected MQTT brokers on the Internet and how to eavesdrop on all messages exchanged via the unprotected brokers.
Views: 2084 Real Time Logic
IoT Security: Creating X.509 chain of trust
 
13:52
Learn the entire process of setting up the chain of trust for your IoT solution. The video provides a practical example that you can follow and setup on your own computer for learning purposes. The comprehensive video tutorial guides you through the process of setting up secure and trusted communication. After completing the hands-on tutorials, you will be an expert in using SSL for secure communication and how to create and manage SSL certificates. The video shows how to create an Elliptic Curve Cryptography (ECC) certificate for the server, how to install the certificate in the server, and how to make the clients connecting to the server trust this certificate. The server in this video is installed on a private/personal computer on a private network for test purposes. See the following page for details: https://makoserver.net/smq-broker/
Views: 10048 Real Time Logic
Modern approach to web based device management
 
01:57
This video shows how to use the two example programs for the written tutorial "A Modern Approach to Embedding a Web Server in a Device". The two example programs are designed to be loaded directly into a browser window without having to use a local server. The two examples connect to an online server as soon as they are dropped into the browser window. Both examples use WebSockets as the transport mechanism for messages and all messages are exchanged via the online server. A web based reactive user interface for device management differs from a traditional reactive web application in that the reactive state must be propagated to all connected browser user interfaces. Since all users view the same exact hardware and the hardware's state, any change to a user interface or the state of the hardware must be propagated to all connected browsers. If the application state is not propagated to all browsers, the view becomes out of sync and the information in the user interface becomes stale. The Light Switch app is designed using Vue.js and the simulated Light Bulb App uses JQuery for modifying the Document Object Model. Clicking a light switch in the Light Switch App triggers an event via Vue.js. The event callback function sends a direct one-to-one message via the online server to the corresponding Light Bulb App, which in turn responds by sending a one-to-many message to all connected Light Switch Apps. This construction makes sure all the light switches stay synchronized and show the same on/off state for the light bulb. Article: https://realtimelogic.com/blog/2018/03/Modern-Approach-to-Embedding-a-Web-Server-in-a-Device
Views: 990 Real Time Logic
Installing the Light Controller on the Google Cloud Platform
 
02:37
This video, which was produced for a DZone article, shows how to install the Christmas Light Controller on the Google Cloud Platform. DZone Article: https://dzone.com/articles/dockerizing-the-iot-christmas-light-controller Google Cloud Platform : Sign Up For a Free Trial https://cloud.google.com/free-trial/ Read the Quickstart guide, but do not run any commands: https://cloud.google.com/container-engine/docs/quickstart As explained in the above tutorial, open the Google Cloud Shell and execute the following commands: gcloud config set compute/zone us-central1-b gcloud container clusters create --num-nodes=1 light-controller kubectl run light-controller --image=rtld/light-controller --port=80 kubectl expose deployment light-controller --type="LoadBalancer" kubectl get service light-controller Docker image: https://hub.docker.com/r/rtld/light-controller/ Light Controller Manual: https://makoserver.net/apps/LightController/LightControllerManual.pdf
Views: 803 Real Time Logic
Single Page Application and WebSockets For Secure Realtime Device Management
 
02:16
The SSL stack, SharkSSL, includes the Minnow Server, a super small embedded HTTPS and secure WebSocket server. The Minnow Server enables small microcontrollers with no external memory to act as a real-time device management web server. The super small and secure Minnow Server is ideal for devices that are too small for standard web server technology. In this video, we are compiling and uploading the Minnow Server and a Single Page Web Application to an ESP8266 by using the SharkSSL FreeRTOS lwIP ESP8266 IDE. A Single-Page Application , or SPA for short, is a web application that initially loads as a single static HTML page and then dynamically updates that page, using JavaScript, as the user interacts with the app. A single page HTML5 application can do anything that a normal website can do and so much more. Real Time communication with the device is achieved by using a WebSocket connection between the web based user interface application running in the browser and the device. A Websocket connection does not persist across page reloads, so to get any benefit out of a persistent WebSocket connection, you need to design and build your real time HTML5 application to be a single page application from the ground up. The fact that Websockets provides a bi-directional communication channel between the browser and server immediately opens up some very interesting opportunities for web based device management applications. Because the connection is persistent, the embedded web server can now initiate communication with the browser. The embedded web server can send alerts, updates, notifications, etc.. This adds a whole new dimension to the types of web based device management applications that can be constructed. Traditional embedded web device management applications operate by simply responding to user interactions. You click a button and this causes the browser to submit the data to the server. The server performs the command and responds with a new HTML page. This old technology works, but it is a very limiting model. You may have moved beyond the traditional GET/POST submit button concept and embraced Ajax and/or Rest. However, the fact remains that Ajax is still a one way asynchronous message sent from the browser to the server and any real-time updates you want to display in the browser require dreadful polling of server resources. You may still think Ajax and Rest are the best technologies to use for device management; however, in point of fact, the entire Ajax protocol could be built using Websockets technology. This makes Websockets literally a superset of Ajax so it makes sense that we might abandon a limiting technology for a broader technology.
Views: 598 Real Time Logic
How to use the Mako Server from the command line
 
03:23
This video gives an introduction in how to use the Mako Server from the command line. Mako Server: https://makoserver.net/
Views: 1727 Real Time Logic
SMQ LED Secure IoT Device to Cloud Setup
 
02:07
Simple Message Queues (SMQ) LED Demo Simple Message Queues (SMQ) is an easy to use "Internet of Things" IoT / M2M "Machine-to-Machine" publish subscribe connectivity protocol designed and optimized for embedded systems. Product information: https://realtimelogic.com/products/simplemq/ Public test broker: https://simplemq.com/m2m-led/ What if you could setup your own secure IoT cloud server for only $8 a year, a server that can handle up to 10,000 connected IoT edge nodes, where each communication link is protected by state of the art encryption? If this sounds interesting, check out the secure IoT recipe at the following page (tutorials listed at end of page). https://makoserver.net/smq-broker/#owncloud
Views: 2032 Real Time Logic
SharkSSL FreeRTOS/lwIP ESP8266 IDE
 
02:14
The SharkSSL ESP8266 IDE provides an easy to use development environment for compiling SharkSSL IoT examples and for uploading these examples to an ESP8266. The IDE which runs in a virtual machine provides a complete FreeRTOS and lwIP based development environment. Download: https://realtimelogic.com/downloads/sharkssl/ESP8266/ To use the IDE, start the virtual machine and use a browser to navigate to the IP address printed in the startup con-sole. The IDE is completely web based and the web server running inside the virtual machine must be accessible to the host computer. The virtual machine's network must be configured to use bridge mode. The web based IDE provides access to all included examples after the initial configuration. You may use the file browser in the left pane and open any of the examples in the integrated editor. The compile button activates as soon as you have an example in the editor. The run button remains disabled until you have an ESP8266 connected to your computer. In this video, we have an ESP8266 and three LEDs connected to a breadboard. Connect the USB cable between your computer and the ESP8266. The USB indicator should show up in the virtual machine. You may have to right click this icon and give access to the virtual machine. The USB connection indicator in the IDE should switch from red to green as soon as the virtual machine has access to the USB. At this point, click the Run button and upload the code to the ESP8266, but make sure you click the flash button on the ESP8266 prior to clicking the Run button. The M2M IoT LED example connects to an online server and lets you control the LEDs in the device via a web interface. Notice how I bring up a second browser window and navigate to the online server where the ESP8266 shows up as soon as it has connected to the online server. Status information produced by the M2M IoT LED example program running in the ESP8266 is printed to the terminal window. You may detach the terminal by first clicking in the terminal window and then clicking CTRL-C. The compile and Run button becomes active as soon as you detach the terminal. However, the ESP8266 example continues to run as long as you do not upload new firmware.
Views: 1455 Real Time Logic
Lua Web IDE
 
01:37
The integrated IDE for Lua and LSP provides a complete browser based development environment for Lua and LSP. With the IDE, you can create, start, and stop LSP applications. Download: https://makoserver.net/documentation/ide/
Views: 893 Real Time Logic
ESP8266 Arduino WiFi IoT Device to Cloud Setup
 
02:07
This video shows how to download and use the SMQ protocol and the SMQ LED example on an ESP8266. The video is for the following article: https://dzone.com/articles/setting-up-your-own-arduino-iot-cloud-server The SMQ LED Demo shows how to design a cloud based IoT solution for controlling LEDs (or relays) in devices connected to an SMQ broker. The SMQ Architecture is an Internet of Things (IoT) publish subscribe end-to-end solution that is optimized for embedded systems to provide instantaneous Device Edge Node connectivity, 1 to 1 Communications, and Ease of Transcending Firewalls. The solution is ideal for resource constrained devices that require real-time dynamic control, analytic information, and firmware updates in both LAN and WAN environments. Download Arduino sketch: https://realtimelogic.com/downloads/SMQ/SMQ-Arduino.zip We recommend that you setup your own SMQ broker. You can initially use the ready to use SMQ LED example that is integrated in the Mako Server tutorials and run the server (and broker) on your own computer: https://makoserver.net/documentation/manual/ Information on setting up an online $8 cloud server/broker: https://makoserver.net/blog/2016/04/Setting-up-a-Low-Cost-SMQ-IoT-Broker The tutorial for the LED example used in this video: https://makoserver.net/blog/2014/12/Browser-to-Device-LED-Control-using-SimpleMQ FreeRTOS/lwIP ESP8266 IDE: We also provide a more advanced IoT developer environment in addition to the Arduino version. The SharkSSL FreeRTOS/lwIP ESP8266 IDE provides an easy to use development environment for compiling SharkSSL IoT examples and for uploading these examples to an ESP8266. The IDE provides a complete development environment with no other tools required! See the following video for details: https://youtu.be/dr7S-4kVPCg
Views: 8216 Real Time Logic
Lua Server Pages Application Manager
 
08:15
Documentation: https://realtimelogic.com/ba/doc/?url=lspappmgr/readme.html
Views: 648 Real Time Logic
Arduino IoT Christmas Light Controller (simulator)
 
07:40
What can be more fun than assembling your own IoT Christmas Light Controller? We are talking about a ready to use IoT project designed for educational purposes. The DIY project teaches you all aspects of IoT, including using a basic Arduino relay board, flashing the ready to use Arduino firmware in the relay board, setting up your own online IoT server, and configuring the solution. The Christmas Light Controller is a fun project that lets you provide public access to your outdoor lights during the holiday season; perfect for homeowners and parties to let admiring visitors select a number of lighting transitions such as Wave, Psychedelic, Sequence On/Off, and Overlapping commands via a mobile phone. The Light Controller Simulator is designed to give you an introduction to the Light Controller's web interface. Light Controller Flyer: https://makoserver.net/apps/LightController/LightController-flyer.pdf The ready to use Light Controller firmware is designed for the low cost ESP8266 WiFi chipset and a relay board with an embedded ESP8266 can be purchased on, for example, eBay for $20. The Arduino Light Controller firmware can be uploaded to the ESP8266 by using the free Arduino development environment. The Light Controller firmware for the ESP8266 is designed to act as an IoT edge node and requires a server solution. The server solution includes the IoT communication module and a web user interface for controlling connected edge nodes. You can run the server software on your own computer, such as your own PC, but that limits the use of the Light Controller solution. The benefit of installing the Light Controller solution on an online server is that it enables easy public access to the Light Controller's public user interface. Any person can use their mobile phone and control the lights without requiring access to your local network. If the server is running on your local network, only users with access to your private network can control the lights. Most IoT cloud server solutions, whether they provide ready-to-use hosted services or not, are based on a standard Virtual Private Server (VPS). Most developers probably think about Amazon or Microsoft Azure's services when considering the server side of their IoT solution. These high-end services are great if you need to scale up to millions of connected devices. However, for most small-scale operations and DIY projects, a low-cost VPS is more than adequate. The website lowendbox.com provides reviews for low-cost Virtual Private Servers and is a great place to start when selecting a VPS. We found a $12/year VPS that is more than sufficient for running the Light Controller server solution. See the following page for details and download instructions: https://makoserver.net/apps/LightController/
Views: 474 Real Time Logic
IoT Weather Application
 
05:55
See the Dzone article "Cheaper Alternatives to IoT Cloud Services" for an introduction to this video: https://dzone.com/articles/cheaper-alternatives-to-iot-cloud-services The SMQ Weather Application illustrates how a web-based user interface can be synchronized with the user interface in a device. The SMQ Weather Application consists of three parts: the server application, the thermostat device, and the browser user interface. Start by downloading the simulated thermostat device for Windows, run the self extracting archive and unpack it to any directory. https://realtimelogic.com/downloads/SMQ/WeatherApp-install.exe 00:29 The simulated thermostat device should start as soon as the self extracting archive completes packing up the files. To synchronize a web interface with the device, click the menu button and then click the "Start Browser" button. A browser window should then open and synchronize with the device. You can also manually synchronize a browser user interface by simply navigating to the online thermostat user interface, clicking the menu button, clicking "Connect", and then enter the device key in the browser. You may synchronize any number of web user interfaces with the device. We are connecting a second browser window to show you how all synchronized user interfaces are updated in real time at the same time. 01:16 This figure illustrates the messaging between the device and the two browser windows. All communication goes via the SMQ broker running in the server. 01:33 The Weather Application also consists of a dedicated server side application implemented in the Lua scripting language. The server side Weather Application is in charge of creating a dedicated connection island for each connected device. Each connected device can separately be controlled by any number of browsers. The server side Weather Application is also responsible for connecting to third party services such as IP address to geo-location service and a Weather Database. These third party services can be accessed by using H.T.T.P and REST. Note that the Weather Database used is Open WeatherMap. This service can be slow and does not always return correct results. 02:08 Note that clicking the thermostat +/- button in any of the synchronized user interfaces is automatically replicated to all other connected user interfaces, including the device. The synchronization is managed by sending SMQ messages via the broker and the server side Weather Application. 02:20 Let's go ahead and change the location to the North Pole. When you click the submit button, a message is sent to the server side weather application, which in turn queries the weather database. When the weather database responds, the server side weather application relays this data to the device and all connected browsers. 02:38 Let's change the location to a city where it is currently raining. Notice how all user interfaces are updated as soon as the weather database responds. All user interfaces receive the current weather and a seven day forecast. 02:58 When you close a browser interface, the server side weather application is notified via the SMQ broker. The browser's connection ID is then removed from the connection island. 03:06 Notice what happens in the browser when we terminate the device. The thermostat is removed since we are no longer connected to a device. When a device terminates or disconnects, the connection island associated with this device is terminated in the server application. 03:18 We have so far given you the impression that there is only one online server. There are in fact four online servers and four public IP addresses associated with the domain name simplemq.com. This is known as Round Robin DNS. The SMQ server application is configured as a cluster, where each cluster node is connected to all other nodes. We have configured the DNS server such that you can navigate to a specific cluster node by entering the cluster node name followed by the domain name simplemq.com. For example, to navigate to cluster node 2, enter node2.simplemq.com in the browser. 03:56 Let's go ahead and synchronize the two browser windows with the device by entering the device key in the two browser windows. Notice that browser window 1 is connected to cluster node 1 and browser window 2 is connected to cluster node 2. We do not know what cluster node the device is connected to since the device connects to simplemq.com. The DNS for this domain resolves to four IP addresses and the device selects one of the four IP addresses. Clustering enables us to scale a server solution horizontally. Clustering also provides redundancy.
Views: 941 Real Time Logic
Schneider Electric - Altivar Process Variable Speed Drives
 
02:33
Barracuda Application Server extends IIoT to power Altivar Process Variable Speed Drives. Barracuda App Server (BAS) provides a fully integrated and optimized solution for rapid IoT / M2M development of embedded web applications, allowing the device to achieve graphically rich, dynamic content, with a smart connected interface. The Barracuda App Server is an RTOS ready embedded web server C library with an integrated scripting engine. Music by: http://www.bensound.com
Views: 714 Real Time Logic
Installing SMQ example on an online IoT cloud server
 
01:04
This video is for the following article: https://dzone.com/articles/setting-up-your-own-arduino-iot-cloud-server
Views: 703 Real Time Logic
Telnet to PAC-MAN Web Game
 
00:54
http://lua-tutorial.tk/Pac-Man.lsp
Views: 329 Real Time Logic
Barracuda App Server Robot Control
 
01:35
Mitsubishi Electric is cloud enabling existing industrial hardware equipment by using the Barracuda App Server. This video shows how Mitsubishi Electric's C Controller and the Barracuda App Server enables real-time web and cloud connectivity.
Views: 750 Real Time Logic
Lua Tutorial
 
01:24
http://lua-tutorial.tk/
Views: 1943 Real Time Logic
SharkTrust: Automatic SSL Certificate Management for Embedded Web Servers
 
05:20
SharkTrust is a service that completely eliminates the hassle of dealing with Public Key Infrastructure for embedded web servers deployed in private networks. If you have a product or are planning to design a product with an integrated secure web server, SharkTrust can help you eliminate the otherwise huge support burden put on your organization when it comes to managing the required public key infrastructure. The SharkTrust service includes a component that must be integrated into your device software solution. This component works with any SSL enabled embedded web server product and is super easy for a computer programmer to integrate. In this presentation, we will use a component designed for the Barracuda App Server running on a Windows computer. Having the browser and server on the same computer, during this presentation, simplifies the understanding of the service. We navigate to the IP address 127.0.0.1 where a web server is running on the same computer as the browser. To switch to a secure connection, we enter HTTPS in front of the IP address. As you can see, the browser does not trust the default SSL certificate that the server presents to the browser. As soon as we start the web server example in the presentation, the SharkTrust client integrated into the embedded web server solution, starts communicating with the online SharkTrust service. Since this is a new device connecting to the online SharkTrust service for the first time, the online service sends an email to the zone administrator asking for permission to accept the new device. The SharkTrust service groups a set of devices into a group called a zone. Each zone registered with the SharkTrust service is a domain name and each domain name may be used by multiple end customers. Larger customers typically operate their own zone. Each zone has a zone administrator and the administrator is in charge of managing the devices belonging to the zone. A user navigating to the zone's domain name navigates to the online SharkTrust service. In our example, any person may navigate to the domain name defibrillator.tk to get a list of local devices. The person must be within the same network as the devices. Only devices on the same network are listed. All devices running on the local network are assigned a zone subdomain name. In our example, the local device web server is named "RTL dev". When we navigate to the local web server using the given secure HTTPS URL, no certificate errors display in the browser. We can, in fact, show that we access the local web server by stopping the server running in the command window. Pressing the browser's refresh button shows if the server works or not. Let's navigate from the web server running on our local computer to the online SharkTrust service by removing the sub-domain name. The online SharkTrust service's login button is available to the zone administrator. In this example, we use the fictitious user "joe-admin" for our demo zone "defibrillator.tk". The zone administrator may change the name of any of the zone's registered devices. In our example, we change the initially given name from "RTL dev" to "building A". The exact details of how devices are initially named can be found in the SharkTrust protocol specification. When clicking the updated device link in the online SharkTrust service, we navigate to the same local web server running on our local computer. As you can see in the browser's URL bar, the local web server is now named "building A.defibrillator.tk". Each device associated with a zone has its own unique sub-domain name. You can also see from the browser's URL bar that the server's certificate is trusted. The SharkTrust service's root certificate is directly trusted by all major browsers and operating systems. This means that, when using this service, any browser on any client computer will automatically trust certificates signed with the SharkTrust service’s root certificate. You may have experienced customers with a deep technical knowledge that are capable of setting up their own Public Key Infrastructure, but there is another problem with setting up a private Public Key Infrastructure -- the process of installing the Public Key Infrastructure’s root certificate in all client devices. When you create your own public key infrastructure, you initially create a root certificate and the corresponding private key. The root certificate must be installed in all client computers for them to trust any device with an SSL certificate signed by the root certificate. Most companies will probably want to use a myriad of client computers. You probably get the picture that installing the root certificate in all phones and tablets used by the company’s staff creates a management problem.
Views: 60 Real Time Logic