Wiren Board 6: again on Habré with a new version of the controller for automation

    Hello!

    Today we will tell about a completely new version of our controller for automation, smart home and all that. Below is a detailed technical overview of the device.




    Brief about the controllers Wiren Board
    Контроллер Wiren Board — устройство, которое работает как центральный контроллер в системе автоматизации или мониторинга.

    Например, в «умном здании» контроллер может управлять освещением и климатикой, снимать показания с датчиков климата и охранных датчиков. Для этого контроллер поддерживает разные внешние устройства, выполняет правила и сценарии, хранит и красиво отображает данные.

    Контроллер работает под управлением Linux, имеет множество встроенных проводных и беспроводных интерфейсов для связи с внешними устройствами и внешним миром.
    Контроллер модульный — сбоку пристыковываются модули ввода-вывода (реле, входы для сухих контактов), внутрь вставляются модули расширения — дополнительные порты RS-485, RS-232 и т. д.

    Естественно, всё это industrial-grade: корпус на DIN-рейку, большой диапазон входного питания, широкий температурный диапазон, надёжная память, защита всех портов и т. д.

    Why we have released a new version


    The times are difficult now: in order to blink with a LED, the clock frequency is often indispensable without a gigahertz. But seriously, the performance of our previous Wiren Board 5 with ARM9 was enough for almost all tasks, but only with our software written in C ++ and Go.

    We wanted to give users more flexibility - so that you can use demanding memory and processor applications without any problems.

    The main change in Wiren Board 6 is the new NXP i.MX 6ULL ​​processor with one Cortex A7 core at 800 MHz and 512 MB of DDR3 RAM (in WB5 there was Freescale i.MX28 454 MHz ARM9 and DDR2 128 MB).

    The controller has become several times faster: in addition to the actual increase in the clock frequency, the use of a more efficient (in terms of MHz) core architecture also plays a role. In i.MX 6ULL ​​there is a hardware FPU - in some applications that save and process data, this has given a significant performance boost.

    The new processor allowed to use the latest versions of Node.js (the architecture of the previous processor was not supported in the V8 engine), use Node-RED and install ready-made software for Raspberry Pi without recompiling.

    In general, from the point of view of the development and choice of software, Wiren Board 6 has moved from the category of “embedded hardware” to the category of “a regular computer with Linux, but with many interfaces”.

    A few words about why not 8xCortex A53@2.2GHzwe chose a slower processor than the new set-top boxes or the fresh Raspberry Pi. i.MX 6ULL ​​is a modern (2017) processor for industrial embedded systems. It has a very low power consumption - and therefore it is almost not heated. But at the same time the permissible operating temperature of the core is as much as 105 ° C. For us, this is important because Wiren Board usually stand in closed cabinets without any cooling. In the cold, the controllers also work, the minimum temperature of all components is minus 40 ° C.

    And this processor has excellent support in the mainline Linux kernel, and the manufacturer guarantees its production at least until 2026.



    Other changes in the controller


    Wiren Board 5 controllers had several hardware revisions, which can be used to trace the evolution of the device. There are a lot of differences between the last revision and the first:

    • Vout terminal strip added - power supply output. Convenient to connect peripheral devices via RS-485 - you can take data lines and power from a single device;
    • the debug console is output to the Micro-USB interface instead of the UART;
    • Added second ethernet port. Used as a backup channel, to connect to isolated networks and to connect other controllers;
    • changed the power scheme. We used synchronous step-down (higher efficiency - less heating of the board), input power range up to 40 volts, got rid of electrolytic capacitors (now only ceramic) - this increases the service life;
    • jumpers were added to enable termination resistors on RS-485 / CAN lines;
    • interface removed digital audio S / PDIF - not popular;
    • the port for the IR transceiver was removed - it turned out to be not very convenient to use, so a separate WB-MIR device with RS-485 was released;
    • Limited support for 3G modem: it can be installed instead of the Wi-Fi module.

    Wiren Board 6 added more changes:

    • added support for two SIM-cards. The country is large, the quality of communication is not always at its best, but now there is a reserve right away;
    • implemented full support for the 3G module and even NB-IoT (about this will be a separate article). 3G honestly gives out 5 Mbit / s. SSH does not slow down, in general, a more stable connection, you can take any number of parameters from remote objects;
    • temperature sensor on the controller board. Inexpensive, and it is useful for people to see in what conditions the controller works. Another sensor measures the core temperature of the processor so that the controller automatically resets the frequency when it overheats;
    • second usb port. Because we can.

    Internal changes:

    1. Altered the power circuit (again? How much can you, Karl?). Now it looks like this:



      Advantages of this scheme:

      - the main consumption in the controller goes along the 5V line. The efficiency with a large load (many side modules, external sensors, etc.) is higher;
      - if you install our backup power supply module inside the controller, then in the absence of external voltage, 11 V is supplied to the Vout terminal block. This allows operation of several devices connected via RS-485;
      - the output can be switched on and off programmatically, which is useful in order to remotely reboot the connected peripherals of different manufacturers via power supply.
    2. Software switchable stretch RS-485 lines. Weak resistor "stretching" of lines is needed to set a fixed logic level on the bus when no device transmits data. Disabling the “stretching” (failsafe bias intelligently) is necessary if several controllers are connected to the bus, for example, when the Wiren Board operates as a Modbus slave.
    3. Smart keys instead of transistors at terminals A1-A4: with protection against short circuit and overheating, and current limiting.

    Expansion Modules


    I / O modules (these are modules with additional inputs and outputs that connect to the controller on the side) were left the same as before, but the expansion modules decided to redo it.



    Pinout expansion connector. On the left - as it was, on the right - as it became.

    In WB5, the signals with margin were output - power, UART, I2C, SPI. For three years, only one module was invented using an SPI - SD card module, and it does not require external terminal blocks. And I2C is enough software for GPIO. Therefore, the excess was removed, and space was made for the third slot for expansion modules that do not require external terminal blocks (this is a GPS, a microSD slot, in the long run different modules with radio).



    The expansion modules themselves are made with a key - the projecting part of the board is inserted into the slot in the controller board. This adds stiffness to the connection - the scarves do not hang out in the connector, and it is impossible to insert it correctly.

    Crypto processor


    In Wiren Board 6, we added a crypto processor. This is a special chip that stores the user's private encryption keys and uses them to make a cryptographic digital signature of the data.

    If it is simple, then this is an analogue of smart cards or USB whistles, issued by banks and government agencies to confirm the identity of the user.

    Why do you need a crypto processor
    Криптопроцессор в контроллере используется для его аутентификации в системах мониторинга и управления верхнего уровня.

    Раньше для подключения контроллеров, допустим, к VPN-серверу нужно было использовать общий логин и пароль (небезопасно) или выдавать каждому контроллеру отдельные реквизиты (неудобно). Кроме сложностей с управлением реквизитами, оба решения потенциально небезопасны: и реквизиты, и файл сертификата при желании можно было скопировать с одного контроллера на другой и получить доступ к системе.

    С криптопроцессором всё сильно упрощается: на сервере нужно только прописать список серийных номеров (common name) разрешённых контроллеров. Сервер при этом проверяет криптографическую подпись сертификата контроллера, которую невозможно подделать и скопировать.

    Мы реализовали поддержку крипточипа в стандартной системной библиотеке OpenSSL, поэтому почти любое стандартное ПО, использующее SSL, TLS или HTTPS, сможет работать с защищёнными аппаратными ключами.

    Сейчас мы работаем с партнёрами — поставщиками систем верхнего уровня над тем, чтобы Wiren Board подключался к этим системам без паролей и предварительной настройки. Поддержка также запланирована для IoT-платформ ведущих вендоров: Amazon, Google и прочих.

    Soft


    In general, Wiren Board software updates are released simultaneously for all supported versions and revisions of controllers.

    However, by the release of Wiren Board 6, we timed several important changes in the software.

    Debian 9


    New controllers come with the latest stable version of Debian - Debian Stretch. The transition process from Debian Wheezy was long and painful, primarily due to the use of systemd instead of sysvinit in the new Debian.

    But now our users get a modern distribution with relatively fresh versions of third-party software. Moreover, the distribution kit and WB6 itself are compatible with packages for Raspbian.

    New update and firmware recovery system


    Previous versions of the controllers could be updated via the APT package manager, or overwrite the entire firmware via the web interface. If careless user actions led to system malfunction, then full restoration of the factory firmware was performed via a USB port using a computer or a virtual machine with Linux and a special program mxsldr.

    In Wiren Board 6, we also implemented an update using a bootloader. To restore the firmware, simply insert a USB flash drive with a new firmware file into the USB port of the controller and click on the update button.

    Similarly, you can reset all controller settings to factory defaults.

    Call to action


    Need more technical information? Here you can find full specifications .

    Have any other questions about the device and its applications? We are waiting for you on our website https://wirenboard.com/ and visiting our office.

    Want to try the new controller in operation? Buy a controller at retail right on our website . We ship the equipment by courier 1-2 days after ordering.

    Also popular now: