NVIDIA chipsets for IoT

We have already discussed the chipsets we worked with in one of our projects with static IoT devices. Now time is coming to know more about chipsets for moving IoT devices.  So, NVIDIA chipsets why the Customer gave his heart to it. 

NVIDIA boards became famous and got a reputation among gamers and graphics designers (GeForce series) a time ago, and now NVIDIA has Jetson series.

The first board was the TX1 released in November, 2015.  Now NVIDIA has released the more powerful and power-efficient Jetson TX2 board.

The Jetson boards are siblings to NVIDIA’s Drive PX boards for autonomous driving and the TX2 shares the same Tegra “Parker” silicon as the Drive PX2.

There are many synergies between the two families as both can be used to add local machine learning to transportation. The Drive PX boards are designed for automotive with extended temperature ranges and high reliability requirements. The Jetson boards are optimized for compact enclosures and battery power for smaller, portable equipment.

With devices such as robots, drones, 360 cameras, medical, etc., Jetson can be used for “edge” machine learning.  The ability to process data locally and with limited power is useful when connectivity bandwidth is limited or spotty (like in remote locations), latency is critical (real-time control), or where privacy and security is a concern.

Another innovative solution from NVIDIA - Jetson Nano.

Jetson Nano development board is also a powerful small artificial smart computer, which only needs to insert a MicroSD card with a system image to start, built-in SOC system-level chip, can have a parallel hand, such as Tensorflow, Pytorch, Caffe / Caffe2, Keras, MXNET and other neural networks that can be used to achieve functionality such as image class, target detection, speech segmentation, and intelligent analysis. Usually used to build autonomous robots and complex artificial intelligence systems.

The Customer had chosen this chip for his moving device, because it was extremely important to detect obstacles and define direction. All the tasks were covered by the chipset functionality rather successfully.

You may ask why not to choose Raspberry Pi  all the more reasonably priced by the way.

Raspberry was considered as an alternative. In fact, they are actually very similar in primary functions, and all can develop some special functions, such as ARM processors, 4GB RAM, and a series of peripherals.

As for video-out: the Nano has both HDMI 2.0 and DisplayPort available, which can be used at the same time. The Pi is limited to either its HDMI port or its proprietary display interface, which as far as we at Inmost know cannot be used simultaneously.

They both have multiple ways of interfacing, including I2C, I2S, serial, and GPIO, but we also appreciate that the Nano has USB3.0 and Gigabit Ethernet.

However the biggest difference is that the Raspberry Pi has a low power VideoCore multimedia processor, and Jetson Nona contains higher performance, more powerful GPUs (graphics processors), which makes it support some functions that Raspberry Pi Can't do. Then Jeston Nona makes some more depth developments possible and has more potential in development.

For our customer's project, fast processing of video from the camera is the number one task, so it was clearly decided to use Jetson Nano to solve this problem.

The NVIDIA Jetson system is high performance and power-efficient, making it one of the best and most popular platforms for building machines based on AI on the edge (Edge Machine Learning).

Private Blockchain

“Our virtues are generally but disguised vices” – La Rochefoucauld

 

Why at all do we need a private blockchain?

One of the blockchain types supported by Amazon is HyperLedger Fabric. There is a special Amazon Managed Blockchain service for Hyperledger Fabric on the AWS platform, that simplifies the work related to setting up blockchain networks and reduces the time to deploy solutions based on it. Hyperledger Fabric is a private blockchain, so let's first look closer: what tasks can a private blockchain perform in general?

As you know, a public blockchain has three main properties:

- Decentralization - there is no single node or a dedicated group of nodes that store any information separately - information is duplicated in an amount equal to the number of users in the system;

- Transparency - every user has access to the entire database and can track all changes;

- Reliability - all the records form a chain, and each new record is linked to previous ones by a special mathematical function that depends on the data in the previous elements of the chain. This ensures that the data cannot be changed retroactively.

 

All these components together allow you to build an information storage system where each individual element (user) is untrusted, but in combination, they form a trustworthy repository.

Why is this concept not suitable for an enterprise environment?

First of all, the lack of user identification. This is especially critical when performing financial transactions in an enterprise environment. In 2016, the concept of KYC (Know Your Customer) appeared in the official documents of the Department of the Treasury to combat financial crime FinCEN USA, which requires financial institutions to identify their customers before allowing them to conduct financial transactions.

In addition, in 1989, the FATF introduced the principles of AML (Anti-Money Laundering) - measures to combat money laundering. And these principles require user identification. Thus, there are powerful arguments why an enterprise blockchain should be private but not public.

Is this the only difference? If we create a blockchain network with access to only authenticated users, then is it possible to use other items available in the public blockchain architecture for an enterprise system? No, it is not.

On a public blockchain, we use various consensus mechanisms to validate a transaction that adds a new block of data to the chain. All of these mechanisms rely on all network users participating in the validation process and receiving reward for this participation in one way or another.

And to pay this reward, each public blockchain invents its own cryptocurrency. Cryptocurrencies and public blockchains cannot exist without each other. Currently, there are over 10,000 different cryptocurrencies in the world. This amount significantly exceeds the number of fiat currencies, the value of which is guaranteed by the states that issue them. It is quite difficult to release a new cryptocurrency that has at least some value to the public.

This idea is not suitable for a corporate network. For two reasons:

- First, keeping a complete copy of the entire database on the computers of every employee with access to the corporate network in order to participate in the consensus will not cause enthusiasm among the security services in any corporation, no matter how powerful encryption algorithms are protecting information;

- Second, the idea of ​​introducing an internal cryptocurrency in the corporate network also seems strange.

 

This leads to the conclusion that a private blockchain needs a consensus mechanism based on a centralized algorithm.

So, what is left of the original idea? First, we consistently abandoned decentralization, although the decentralization level of public blockchains based on the Proof-of-Stake consensus mechanism is very doubtful, and then transparency was dropped. In the end, only “all records form a chain and each new record is linked to the previous through a special mathematical function that depends on the data in the previous elements of the chain. This ensures that the data cannot be changed retrospectively.

 

In fact, this is really not so few. We have obtained reliable data storage located in the corporate network and the information in it cannot be faked, no matter what the access rights of the person who wants to do it. And due to the fact that there is a central node or a set of nodes responsible for confirming transactions, the recording of information is significantly accelerated compared to public blockchains. There are many applications for such reliable storage with fast access in corporate networks. We will look closer at some of them soon, and will talk about how Hyperledger Fabric solves this problem.

 

DeFi

We have mentioned the decentralized finance system - DeFi, talking about the trading metaverse - Metafi (http://www.inmost.pro/blog/metafi-first-social-trading-metaverse/). 

As one of the hottest topics in the crypto world over the last few years, Defi is definitely worth a closer look.

DeFi is a global blockchain-based financial system built to meet the needs of the new Internet iteration - Web-3. It is an alternative to tightly controlled traditional systems with outdated infrastructure and processes. It allows you to control and have direct access to your money. DeFi eliminates the fees that banks and other financial institutions charge for using their services. People store money in a secure digital wallet and funds transfer takes only a few minutes. It also provides access to global markets and creates alternatives to local currency or banking solutions. Any traditional services provided by financial institutions can be expected to be offered through DeFi. 

While not everyone has the ability to open a bank account and use traditional financial services, anyone with access to the Internet can use services offered by DeFi products. Currently, tens of billions dollars in cryptocurrencies have flowed through DeFi programs, and the number of transactions is increasing every day.

DeFi markets are always open and there is no centralized authority limiting their working time, blocking payments or denying access. This decentralization aspect is considered to be one of the main advantages of DeFi.

To provide services without third parties, DeFi uses cryptocurrencies and smart contracts, transferring trust from intermediaries to machine algorithms.

A smart contract is a self-executing contract where the terms and conditions are defined and applied through automation and approved autonomously and efficiently on the blockchain. No one will be able to change a smart contract once it is launched: it will always work as programmed. Smart contracts are public, so anyone can view and monitor them. This means that the community will be able to quickly detect a compromised contract and react accordingly.

Security, privacy and transparency of DeFi services also base on fundamental advantages of blockchain as the records of information in chain blocks cannot be changed or controlled by any authority.

Even though most DeFi services are now built on Ethereum, Bitcoin was the real DeFi pioneer, giving the ability to own, control, and send assets anywhere in the world. Bitcoin is open to everyone and no one can change the rules. Its concepts really differ from the traditional financial world, where governments can print money and devalue your savings, and companies can shut down markets.

Now, Ethereum is the ideal foundation for DeFi. Most of DeFi products are actually powered by Ethereum. Therefore, many of them can be easily configured for interaction. You can borrow tokens on one platform, and exchange them on another market and in a completely different program. Tokens and cryptocurrency are written into the Ethereum blockchain, and a shared ledger that tracks transactions and ownership is one of Ethereum's unique features.

Like every other system DeFi is composed of different parts. Its infrastructure consists of layers that are responsible for various processes and guarantee the smooth functioning of transactions and contracts:

  1. Settlement Layer: also called Layer 0. Based on Ethereum blockchain it serves as a foundation for all DeFi transactions, writing code or building applications. This is the vital component - the DeFi system can not exist without blockchain.

  2. Protocol Layer: defines rules and standards for all DeFi transactions, it is a description of the specific conditions necessary for the code to run accurately and fulfill its tasks. All the protocols are interoperable and can be used to create any application in the DeFi ecosystem.

  3. Application Layer: consists of decentralized applications or dApps - products created on the basis of two previous layers that serve as a kind of front-end in the DeFi ecosystem, enabling consumers to use DeFi services. With dApps you can buy, sell, trade, lend, and borrow cryptocurrencies on a decentralized network.

  4. Aggregation Layer: at this layer third-party vendors create end-to-end solutions by bringing together existing decentralized applications and offering users and investors a wide range of financial services in one place.

 

The list of DeFi services is constantly growing, here are some of them:

  • Money transactions around the world

  • Access to stable currencies

  • Loans

  • Deposits

  • Trading

  • Investments

  • Insurance

However, despite the great financial freedom offered to users, serious challenges regarding DeFi still exist. For example, a lack of consumer protection. DeFi is free of rules and regulations. But it means that users often have no legal protection if something goes wrong. There are no government reimbursement systems for DeFi and no laws requiring capital reserves for DeFi service providers.

The problem  is that all the rules and restrictions which could potentially protect the user do not apply to the decentralization concept. So, the path forward may be unclear, but it will certainly be important for DeFi investors to monitor the evolution of the regulatory environment for this new financial sector.

Despite all the concerns and the so far insufficient resistance to hacker attacks, DeFi would gradually break the monopoly of traditional financial institutions and decrease the cost of traditional financial services by removing barriers and giving everyone equal access to the financial infrastructure.

 

 

ESP32 Overview

IoT hardware is at the heart of every connected project. 

However, choosing the IoT hardware exact for your project can be overwhelming due to the sheer number of development boards and modules in the space. 

In our practice we ruled by the Customer choice. 

However doubtlessly, it is useful to know more about the board's specifications and possibilities. 

The one of the chipset we worked with in our projects is ESP32 by Espressif Systems.

Espressif is a fabless semiconductor company that develops Wi-Fi and Bluetooth low-power IoT hardware solutions. 

They are most well-known for their ESP8266 and ESP32 series of chips, modules, and development boards. 

In fact, many development boards across the industry run on Espressif chips (like Sparkfun’s development kits).

Espressif development boards are designed for simple prototyping and interfacing but can be used as a simple proof of concept or enterprise solution. Espressif also offers several software solutions designed to help you manage devices around your home and integrate wireless connectivity into products. Some of the IoT development boards they offer are:

2.4 GHz Wi-Fi & BT/BLE Development Boards  —  These boards provide PC connectivity, 5V/GND header pins, or 3V3/GND header pins ESP-IDF source code and example applications. These boards support everything from image transmission, voice recognition and come with a variety of possible features, such as onboard LCD, JTAG, camera header, RGB LEDs, etc.

2.4 GHz Wi-Fi Development Boards  —  Standard set of development boards that integrate the commonly-used peripherals.

As was mentioned you can surely use ESP32 for prototyping/establishing Proof of Concept (PoC). If you need to use several devices, ESP32 is perfect for your app.

One of the major advantages of ESP32 is the presence of inbuilt WiFi and Bluetooth stacks and hardware. 

Therefore, ESP32 will be your choice of microcontroller in a static application where good WiFi connectivity is guaranteed, say an heating equipment monitoring application in, say, a static appliance. The presence of WiFi stack on the module itself means you will have saved money on an additional networking module. 

However, if you use ESP32 in an asset tracking application, where it keeps moving around, you will have to rely on a GSM or LTE module for connectivity to the server (because you will not be guaranteed WiFi availability). In such a scenario, ESP32 loses the competitive advantage. We will discuss a more suitable board for moving devices next time.

To recap, ESP32 has specs that are good enough to accommodate most of your applications. When scaling up production, you need to just make sure that the specs are not too much for you.

In other words, if you can get the desired output with modest specs, you may be better off using a cheaper microcontroller and save money. These savings become significant when your production numbers increase by orders of magnitude.

However, production aside, ESP32 is definitely the ideal microcontroller for prototyping and establishing the PoC. That was the reason, why our customer preferred this board for his prototype.