Software & Device Development Blog

This blog is designed to give an insight into latest projects and the tech news that Web Loft believes to be relevant to the world of Web application and prototyping technologies.
Kubernetes Persistent Volumes

Kubernetes Persistent Volumes

In this blog post, I’ll be walking through a simple example of how to create a persistent volume in Kubernetes. There are several volume types in Kubernetes, but to get started I’ll be using the local volume type. A local volume represents a mounted local storage device such as a disk, partition or directory. I’ll be using a single node Kubernetes cluster running within Ubuntu server and using a docker image of a .Net Core WebAPI application that uses the persistent volume to write logs to. Below are them main steps needed to achive this goal, it assumed that you have knowledge of creating the .Net Core appliation and the Kubernetes single node cluster. Read more...
Tech stack: Kubernetes, Ubuntu Server, .Net Core, WebAPI, Yaml
Remote control gsm wireless sensors and imaging

Remote sensing and imaging

We have developed a number of devices that are able to act as a 'node' on a network. Whether that be on the Internet, on a wireless or on a GPRS network. These devices, once authenticated and assigned an IP address can be controlled remotely from just about any location that also has an access point. These devices are capable of using a vast variety of sensors and peripheral devices. The data can be stored locally on the device for 'burst' updates or send updates in real-time. Our remote sensing and imaging devices are run off of lithium ion batteries and use solar panels for recharging when possible. They can be deployed in remote locations with minimal maintenance. We have tested our devices using climate sensors, water level sensors and time lapsed imaging cameras with great success. However, these devices can be fitted with just about any sensing devices that use UART, SPI, I2C, RS232, TCP/IP or UDP protocols.
Apache2 web server with OpenSSL

Installng SSL Certificates on Apache2 using OpenSSL

In this blog post, you can learn how to generate a CSR prior to acquiring your SSL certificates and how to later install them successfully on Apache2 web server.

To activate an SSL certificate you need to submit a CSR (Certificate Signing Request) on our site. CSR is a block of code with encrypted information about your company and domain name. Usually CSR openssl configuration contains by default the details as follows below:
  • Common Name (the domain name certificate should be issued for)
  • Country (two-letter code)
  • State (or province)
  • Locality (or city)
  • Organization
  • Organizational Unit (Department)
  • E-mail address

Tech stack: Apache2, Ubuntu Server, OpenSSL
Aircraft avionics hardware emulator

Hardware Emulation and Emulators

We are able to produce hardware emulators to provide a cost effective and accurate emulation of your expensive hardware for a range of purposes including training and simulation. We can provide accurate copies of physical hardware including, but is not restricted to, aircraft avionics complete with sturdy metal cases, accurate copies of switch gear, gauges and displays. The emulators provide accurate 'state flow' and communicate using a number of protocols (including TCP/IP, UDP, RS232 and secure wireless). All our hardware emulators that we produce are custom built to fit your particular requirements. This includes fully emulating not only the physical characteristics of the hardware but also any inputs and outputs whether they be data, displays and/or switch gear. We are also able to provide software applications that can be stand-alone or part of a management and/or simulation suite that are capable to producing real-world events for simulation training, maintenance training, diagnosis and fault finding training. We are able to provide all source code and full documentation in order that the emulators can be further developed and maintained well into the future.
Azure DevOps CI/CD

Azure DevOps CI/CD

In this blog post, you can learn how to generate create a continuous integration release pipeline (CI) and deploy the published build to a Azure Webapp using continuous deployment (CD). The default VS2019 .Net Core WebAPI 'WeatherForecast' service is used In this example. As a prerequisite you need to upload the source code to an Azure Devops repo. Read more...

Tech stack: Microsoft, Azure, DevOps, .Net Core, Webapp. Web Application Web Application

The web application is in testing. This web application uses the very latest web application architecture and design methodologies to give a web application that is very scaleable and responsive to which every screen size or media device it is used on. The allows for accommodation providers of all types, from single B&B owners to hotels chains, to offer their accommodation for reservation by the public in a very secure and user friendly fashion. The system is hosted on the popular Windows Azure cloud platform and at it's heart is the robust and high availability SQL Server. The system takes advantage of micro-services to allow for ease of scaling to meet increasing performance demands. The user interface (UI) is provided by the Angular framework. This JavaScript framework allows much of the process intensive user functions to be carried out on the client-side freeing-up processing resources to be used by the back-end business logic.
New wheeled robot in field trials

Wheeled Robot Testing

Testing of the new wheeled robot has been successfully completed. The drive is controlled with the aid of BTS7960B H bridge motor controller. The lasted wheeled robot version uses turn-wheel steering instead of skid-steering. This allows for greater speeds and control over skid steering machines. The new chassis is large enough to mount both the rotating turret and LIDAR systems. It is hoped the LIDAR system, which allows 2D mapping of the immediate surroundings will also soon be in final test stage. The new wheeled robot system is controlled using UDP data packets, which allows great flexibility on choice of delivery system. It is hoped the trials of delivering these control commands of the GSM network will commence shortly.
Facial Recognition Software testing using WPF UI

Facial Recognition Software

Testing of the Open Source EmguCV library, which is a cross platform .Net wrapper to the OpenCV image processing library, have provided a fun project. Using the Windows WPF user interface a test application was developed using both the EmguCV library and a SQL Server database. Using celebrity images for this test the Facial Recognition element of the EmguCV library proved very effective at matching celebrities from a large collection of publicly available images. Further testing was carried out using a live video feed and again the system proved to be excellent at identifying face from the live video stream from a database of stored facial images. There are many other image processing and identification libraries in the EmguCV library package. The number plate recognition library was also tested and this proved again to be highly effective at picking out vehicles from a stored collection of number plate images. Obviously the functionality provided by the EmguCV library have a wide variety of uses and applications. Web Application Web Application

The web application is launched. Using this web application fleet and vehicle data is easy to interpret using Geotracker's dashboard of charts and graphs that make trends easy to spot and analysis a simple task. Vehicle journey speed and event data is easy to interpret using Geotracker's journey event chart and journey speed graph. Event location can be viewed on Google Maps by clicking on the event icon in the journey event chart. Fleet and vehicle monthly mileage data is easy to interpret using Geotracker's monthly mileage graphs that make trends easy to spot and analysis a simple task. The web application allows fleet and vehicle journey cluster data to be easily interpreted using journey cluster maps that make trends easy to spot and analysis a simple task. The fleet and vehicle event frequency data is easy to interpret using Geotracker's fleet and vehicle event matrix that makes trends easy to spot and analysis a simple task. Event locations can be viewed on Google Maps by clicking on a day of the month on the fleet and vehicle event matrix chart.
Network Video Streamingusing VLC &  WPF UI

Network Video Streaming using VLC

On previous versions of HD video input for our wheeled and tracked robots we used direct radio video transmissions over 'open' frequencies for testing and evaluation purposes. This was a perfectly satisfactory solution. However, we wanted to explore transmitting video transmissions over the internet and networks connected to the internet such as GPRS over GSM. As an initial test we decided on using a Raspberry Pi with VLC libraries and a HD camera install as the host and as the client a WPF user interface solution. Initial testing has proved very positive with smooth buffered streaming over a 5Ghz band wireless connection. The next step is to trail this same setup but this time using transmissions by the host Raspberry Pi with VLC libraries using GPRS over the cellular communication network (GSM). This will have many fascinating uses including allowing remote video and imaging on demand. Prototype GPS tracking device

Prototype GPS tracking device

The system supports many commercially available GPS tracking devices and GPS tracking data from devices that are not already supported can be easily accommodated. However, a prototype GPS tracking device was also developed for use with the system. It has a number of bespoke features. It not only sends GPS location data but also it is able to store data and auto upload to a company network or server, stored and send later if there is no GSM cell coverage, send vehicle health data from a vehicle's OBD2 port. It also is able to send location data using commercially available devices that use low orbiting satellites to 'ping' data back to the Internet as opposed to using only the GSM network. This allows the device to keep operating in GSM cell coverage 'black spots'. This prototype was developed using embedded C and rapid prototyping boards and modules.

Get in touch with us today. We're looking forward to working with you

Get in Touch