Routers of the ICR-3200 series are designed to replace the classic bundle: a single-board computer + modem + router. Now you can run all the necessary logic directly on the router. Thanks to a powerful ARM processor, 512 MB of RAM and ~ 2 GB of internal flash memory, you can even start the nodejs server on the router!
Serial RS-232/485 interfaces are also built into the router and are available immediately in the operating system with full root access. An open environment for building native programs and a C / C ++ library for working with low-level hardware APIs is also available.
The deep sleep function will save energy when working on battery power: the router can be activated only when communication is really needed.
In the article, we will analyze the interesting functions of the device and try in practice to work with the I / O interface from shell scripts.
Specifications
The routers of the ICR-3200 series are made on a single hardware platform and are represented by five models that differ in the frequency ranges of LTE, the presence of Wi-Fi and geolocation (GNSS). Devices are positioned as a replacement for a bundle of a single-board computer and a router. A powerful processor and a large amount of RAM allows you to run resource-intensive user applications directly on the router.
Cortex-A8 processor - 1 GHz, 32 bit architecture
512 MB RAM
Flash memory from 1.5 to 4 GB - for storing user data
I / O ports - RS-232/485 interfaces and digital I / O ports are available for use by user programs.
Separately, there is an ICR-3211B model that works according to the LTE Cat standard. M1 ( NB-IoT ). LTE Cat protocol. M1 was specifically designed for M2M solutions, has a low data transfer rate (375 kb / s), as well as a longer range and increased stability in difficult indoor communication conditions. The router has a built-in ionistor (supercapacitor) , allowing the device to work for a short time after a complete power outage.
Deep sleep mode
Deep sleep mode allows you to enter the router into a state where all processes are frozen and the hardware is turned off to save energy, while all the functions of the device are turned off and from the side it will look completely off. The energy consumption in this mode is not more than 10 mW .
In sleep mode, the router almost does not consume energy and wakes up in 3 seconds
When you need to wake up the router for data transfer, it will wake up in ~ 3 seconds . Of course, additional time will be required to register the modem on the cellular network, but this is significantly faster than downloading the router from scratch. This option is useful for self-powered systems, most of which are idle and occasionally activated, to perform active actions, such as an alarm or a backup unit.
Awakening and falling asleep
Management of falling asleep and waking up occurs through the Sleep Mode module.
There are 2 ways to control sleep mode:
Via a digital input - in this mode, the router is controlled by an external device, such as a microcontroller. By a LOW signal, the router goes to sleep on a digital input, and when it receives HIGH, it wakes up, or vice versa. You can also configure a response timeout to protect against accidental switching.
Through the internal timer , the router counts the time and wakes up / falls asleep at the right time. It is convenient to use for performing one-time operations or downloading data for a certain period.
Deep sleep configuration interface
Last breath function
A power failure at a remote site can be especially unpleasant, because it is not clear why communication with the site is unavailable. The โLast breathโ function allows the router to work for some time after a complete power outage and send a message that an accident has occurred and the backup power has not turned on. Thanks to the built-in ionistor, the resource of which is much more than rechargeable batteries, it does not require maintenance and replacement. This is useful for power backup systems where failures are possible and it is important to keep track of when the voltage is completely lost.
The router will send a signal about a power failure even after a complete power outage
In order to properly respond to the event of power loss, you need to somehow find out about it.
The current supply voltage can be obtained either using the status sys
shell command:
$ status sys Firmware Version : 6.1.10 (2019-07-02) Serial Number : ACZ1100000623519 Profile : Standard RTC Battery : Ok Supply Voltage : 12.3 V # โ Temperature : 37 C # โ Time : 2019-08-16 16:21:18 Uptime : 0 days, 11 hours, 43 minutes
Or using the hardware Unix I / O control (ioctl) and a program in C / C ++ or another language.
The table shows the addresses of the required hardware registers. The current supply voltage is returned as an integer, in millivolts. Using a low-level API is preferable to shell scripts in this case for a faster reaction. Detailed information on working with the hardware is available in the developer's guide.
An ioctl request that returns the current supply voltage.
Serial interfaces
Two serial interfaces are built into the router: RS-232 and RS-485. They allow you to connect peripheral devices directly to the router, without the use of additional strapping. At the same time, a full-fledged Node-RED or Nodejs server can be launched on the router, which allows one device to be deployed to deploy a simple automation system, without additional computers and controllers.
By default, both interfaces are available to work as standard serial devices in Linux:
All standard libraries will support these devices without additional settings, including the Modbus-RTU2TCP module and others.
Custom modules
The functionality of the device can be expanded using custom modules: this is a simplified version of packages, only without a package manager. The entire list of available modules is available at https://advantech-bb.cz/products/software/user-modules .
The modules are installed manually by downloading the package file via the web interface:
Currently 73 modules are available. Here are some interesting ones:
Node-RED is a popular tool for combining various industrial protocols into a single system.
Nodejs is a complete nodejs server. A large amount of RAM and a powerful processor allows you to run resource-intensive applications directly on the router!
For simple automation tasks it is convenient to use shell scripts from which you can control the light indication and receive / set the status of digital pins.
Light indication is convenient to show the current status of command execution. For example, the data transfer indication - frequent blinking, connection attempt - rare blinking, simple - lights up continuously. Consider the led command. At the input, it takes only one argument - the type of LED blinking.
# led led on|off|fast|slow
Here's what it looks like in real life:
Demonstration of user indicator operating modes through shell commands
It is important to remember that the logic in this case is inverted. Accordingly, 1 = LOW, 0 = HIGH. Using the io command, we can easily work with digital pins from bash scripts and build simple logic for automation and control.
As a demonstration of the simplicity of working with digital inputs and indicators, we will write a useless script that displays the status of a digital input using an LED.
#!/bin/bash while true do [ $(io get bin0) -eq 0 ] && led fast || led on done
The principle of the script is simple: if BIN0 is in state 0, then the diode burns often, otherwise it burns continuously. Here's how it looks live:
Demonstration of the bash script that displays the status of a digital input using an indicator.
Despite the primitiveness of this script, it clearly shows how in one line, without additional software, libraries and settings, you can receive input data from digital inputs and respond to them.
References
This article does not affect the network functions of routers, such as balancing, failover, VPN, etc., since all these topics are already discussed in our other article: SmartMotion Industrial 4G Routers .
You can see the prices of products in the general online store . Own site in Russian is not ready yet.
Welcome to the Advantech Partner Forum
The Advantech Forum will be a unique platform for discussing local and global trends in the Internet of Things. Here you can exchange experiences using new technological solutions and products, find new customers and partners. You will have a chance to see the products that we described in articles and not only. We will feature industry leaders and representatives of key partners - NVidia, Intel and other companies that are actively involved in the development of the industrial Internet of Things for the coming years. We will be glad to see all the experts in the field of industrial automation and the Internet of things at the event. Participation in the event is free! Limited number of seats. Hurry up to register .