Как прошить e18 ms1 pcb
Перейти к содержимому

Как прошить e18 ms1 pcb

  • автор:

DIY Zigbee датчик температуры

Приветствую читателей Habr! В этой статье расскажу вам о своём очередном zigbee проекте беспроводного датчика. Проект называется Efekta THP_LR \ THP, это небольшой датчик измерения температуры и влажности воздуха на чипе СС2530. Есть несколько модификаций датчика, в одном из вариантов датчик дополнительно измеряет атмосферное давление . Ещё в одном варианте датчик работает на радиомодуле СС2530 с усилителем сигнала. В этом варианте возможна установка радиомодуля с печатной антенной или с выносной. Все модификации датчика работают на батарейках ААА, это обеспечивает длительный срок работы на одном комплекте батареек. Датчик предназначен для работы в сетях Zigbee. Проект с открытым исходным кодом.

Идея разработки этого датчика базировалась на потребности в недорогом датчике температуры для размещения на улице. Опыт использования готовых датчиков с Алиэкспресс на улице показал, что есть несколько нюансов, которые было бы здорово решить.

  • Батарейки, которые используются в готовых датчиках, очень плохо держат заряд при минусовых температурах.
  • Дальность передачи данных при использовании на улице тоже чаще недостаточна, приходилось где-то в доме и недалеко от уличного датчика размещать роутер.
  • Также очень важным моментом при разработке собственного diy датчика является софтовая часть, тут я сам могу решать, что, как и c каким временным интервалом датчик будет читать сенсоры и отправлять данные.

    Рабочая частота: 2400

BME280 (Bosch)

  • Напряжение питания: 1.71V – 3.6V;
  • Интерфейс обмена данными: I2C или SPI;
  • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
  • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
  • Диапазон измерения влажности: 0% … 100% (Arh ±3%);
  • Энергопотребление: режим измерений: 340 — 714uА; в спящий режим: — 0.1 uА.
  • Напряжение питания: 1.71V – 3.6V;
  • Интерфейс обмена данными: I2C или SPI;
  • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
  • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
  • Энергопотребление: режим измерений: 325 — 720uА; в спящий режим: — 0.1 uА.
  • Напряжение питания: 1.62V – 3.6V;
  • Интерфейс обмена данными: I2C;
  • Диапазон измерения температуры: -40°С … +125°С (At ±0.2°С);
  • Диапазон измерения влажности: 0% … 100% (Arh ±2%);
  • Энергопотребление: режим измерений: 270 — 430uА нА; в спящий режим: — 0.3 uА.

Датчик получился простой и лёгкий в изготовлении, время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.

Убедиться в этом вы можете, изучив схему проекта.

Программная часть этого проекта доступна на моём github в виде исходного кода, а также в виде уже скомпилированной прошивки. Прошивка скомпилирована для варианта датчика с самым простым и дешёвым радио модулем EBYTE E18-MS1-PCB. Установлен интервал чтения сенсора один раз в минуту и отправка данных при изменении значений на 0.33 градуса для температуры, на 2.5 процента для влажности и на 1 единицу для атмосферного давления. Отправка информации об уровне заряда батареек происходит один раз в 6 часов.

Для загрузки прошивки в радиомодуль может понадобиться СС Debugger, или SmartRF04EB это такая не очень дорогая платка которую можно купить на Али экспресс.

Впрочем, прошить можно и через ардуино/есп, для этих целей написан удобный и бесплатный онлайн-сервис ZESP_multitool . Заходите на сайт, выбираете тип модуля, который планирует прошить, в нашем случае TI CCХХХХ. Справа в интерфейсе будет картинка с тем, что, как и куда подключать. Подключаете вашу ESP к USB порту, в интерфейсе сервиса выбираете make adapter и кликаете esp32adapter.json. Далее выбираете самый нижний пункт слева в интерфейсе — local и выбираете на своём компьютере прошивку, которую требуется загрузить в датчик.

Исходные файлы проекта EFEKTA THP\THPLR Outdoor\Indoor sensor находятся папке /PROJECT SOURCE, это может быть интересно тем, кто хочет изменить какие-либо параметры работы датчика или, например, скомпилировать прошивку для радиомодуля с усилителем сигнала. Для такой настройки проекта необходимо переконфигурировать настройки проекта в файле /PROJECT SOURCE/THP/Source/preinclude.h, нужно закомментировать или, наоборот, раскомментировать нужные вам #define и в #define APP_REPORT_DELAY указать нужные вам значения времени в миллисекундах.

Корпус для датчика был разработан под печать на FDM принтере, модели корпуса также доступны на моём гитхабе в папке /ENCLOUSER/. В корпусе предусмотрено место для вывода внешней антенны, в этом месте толщина стенок тоньше, если необходим вариант с внешней антенной, то в этом месте нужно будет высверлить отверстие.

E18-MS1PA2, E18-MS1PA2-IPX, E18-2G4Z27SI or E18-TBH-28 Test board

E18-MS1PA2, E18-MS1PA2-IPX, E18-2G4Z27SI or E18-TBH-27 USB Test Board are new boards from Ebyte with the CC2530 chip. The manufacturer promises better technical parameters but hides the real name of PA (power amplifier) even if you remove the cover shield from the board.

EByte E18 MS1PA-IPX (with an external antenna)

EByte E18 MS1PA-IPX (with an external antenna)

Ebyte E18 MS1PA1-PCB (with the built-in antenna)

Ebyte E18 MS1PA1-PCB (with the built-in antenna)

The existing documentation from the manufacturer instructs to compile a firmware with the HAL_PA_LNA flag. The same flag is used with the old and well-known CC2591 PA. But the board uses different pins to control PA and LNA. Therefore the standard firmware for CC2530+CC2591 chips does not work.

The configurable firmware allows you to avoid this problem. It can create the necessary firmware for you. You should use the following settings to prepare a router firmware for that board. Of course, you may other features to the firmware like a status LED indicator.

Firmware settings

Firmware settings

No related posts.

is there a way to control the transmit power of the module?

Owner

Yes, it is possible in the Premium version of the configurable firmware.

can you please tell me how?

Owner
Никита

Hello. Is it possible to put E18 ms1pa2 instead of ms1pa1 on the board of the 8-channel relay MODKAM? if so, what settings in the firmware to change? Thanks!

Owner
Frans Hettinga

If you don’t setup RXEN and TXEN on a MS1PA2-PCB(Just select CC2530 as Board type), can you use P10 and P11 for other purposes (like external sensor power control)?

Owner

These pins are always connected to a power amplifier. I think you can get unexpected behavior.

Frans

So on these boards you can’t use external sensor power control?

Owner

Yes, you cannot do it. Also, you cannot create a battery-powered device with it.

Why can’t one create a battery-powered device with the MS1PA2-PCB, is it because it consume too much power?

Owner

Yes, correct. This chip consumes about 90 mA when it sends data to a coordinator.

Hi. I setup a router based on E18-TBH-27 USB Test Board (eByte E18-2G4Z27SI). All goes fine to flash, but once setup I have some questions:

I´m using Zigbee2Mqtt (Z2M) as zigbee net manager (trough HA Addon) and have a issue because router seems it´s not reporting periodically.
First join to zigbee net and device setup in Z2M was smoth and nice once flashing device with this awesome Firmware Configuration 1.3.6.0. (Firmware: 2021-01-14).
Zigbee net join is done but once this, no more reportings comes from router.
The router function itself seems working propperly and devices attached with it I see mantain reporting propperly trough time, so I suspect that is only mather about the periodic reporting configured on router.
I setup exactly same configuration is showing here on upper image from firmware configuration (Expert tab – Settings tab have all disabled) , and check enabled for Default reporting interval (s) : 60

Other problem I noticed, I cannot manage to build a only router function with disabled all end device attributes, so all propieties seems enabled like switch, click, action, humidity , temperatre, voltage, etc… associated to it and declared over mqtt and I tryed several times to configure over FirmwareConfiguration software without luck .
We have any chance to build a router firmware, but only with this function ?

Owner

Hi,
1. Enable one output on any unused pin for periodic reports (otherwise, nothing to report).
2. Change ModelId to “lumi.router” (w/o quotes) on the Expert tab.

Giovanni+C

hello, any chance to have a coordinator firmware with correct pins to use the PA correctly?

Как прошить e18 ms1 pcb

На mysku есть масса обзоров устройств входящих в «экосистему» Xiaomi с поддержкой протокола Zigbee. Все они завязаны на одноименный шлюз, который неразрывно связан с облачными технологиями, со всеми его плюсами и минусами.
Энтузиастами создан альтернативный вариант взаимодействия с этими устройствами, исключающий как передачу данных так и зависимость от китайского «облака». С моей версией такого аппаратного решения я и предлагаю ознакомиться далее.

Безусловным центром всего этого движения является деятельность KoenKK, массу информации можно найти на созданном им сайте. При этом весомый вклад Кирова Ильи трудно переоценить, он является как автором соответствующего драйвера для ioBroker так и генератором многих идей.
Изначально основой для всех экспериментов являлся китайский клон донгла от Ti на чипе сс2531.
Кроме основного своего достоинства, низкой цены он обладает одним существенным недостатком, малой мощностью передатчика. Мощности передатчика в 2.5мВт хватает на обеспечение устойчивой связи в условиях городской застройки в пределах 3-10 метров, не более.
В результате родилась идея построения координатора (основы сети zigbee) на готовом модуле E18-MS1PA1-PCB производства EBYTE с усилителем на 100мВт основанном на чипе сс2592.
Схема устройства достаточно проста

В качестве USB-UART конвертера использован чип CH340G, имеющий самый большой размер среди аналогичных. Сделано это для того что бы человек с минимальным опытом пайки мог собрать устройство самостоятельно.
Плата разведена в DipTrace


Платы были заказаны на jlcpcb

Деталей в проекте минимум. Можно заказать в lcsc, отправят вместе с платой

Минимальное количество пайки и на выходе готовое устройство


В сравнении с популярным «стиком» на СС2531

В результате получается устройство позволяющее создавать устойчивую сеть zigbee в радиусе 30-50 метров в условиях города и до 800 метров на открытом пространстве.
В ioBroker это выглядит примерно так

в MajorDoMo с недавних пор так же появился модуль взаимодействующий с zigbee2mqtt

Для желающих повторить, файлы платы для заказа можно взять здесь.
Центром притяжения для всех интересующихся технологией zigbee является группа в телеграм, если у вас есть вопросы то там можно получить ответы на них.

1. Product Introduction

E18-MS1-PCB is a small size 2.4GHz frequency band ZigBee to serial wireless module, SMD type, PCB onboard antenna, transmit power 2.5m W, pin spacing 1.27mm, factory comes with self-organized network firmware, Ready to use, suitable for a variety of application scenarios (especially smart home).E18-MS1-PCB adopts the CC2530 radio frequency chip imported from Texas Instruments. The chip integrates 8051 single-chip microcomputer and wireless transceiver, Factory built-in firmware realizes serial port data transparent transmission based on ZigBee protocol, and also adds some special functions, including ADC sampling and remote PWM wave output control.

2. Product features

  • Role switching: users can let the device toCoordinator, router and terminalSwitch between any of the three types.
  • Automatic networking: The coordinator automatically sets up the network when it is powered on, and the terminal and router automatically search and join the network.
  • Network self-healing: the middle node of the network is lost, other networks automatically join or maintain the original network (isolated nodes automatically join the original network, non-isolated nodes maintain the original network); the coordinator is lost, the original network has non-isolated nodes, the coordinator can join again The coordinator of this network or the original network PAN_ID set by the same user joins the original network.
  • Ultra-low power consumption: In the terminal state, the device can be set to low power mode, which can change the sleep time of the device according to the user’s use time. In low power mode, the standby power consumption is less than 2uA; it can be in the parent node data storage time The user receives the message that he should receive within the set time.
  • Data retention time setting: Under the condition of the coordinator and router, the user can set the data retention time by himself, cooperate with the terminal in the sleep mode, save the data of the terminal device, and send the data to the terminal after the terminal sleeps and wakes up ; Save up to 3 data, if it exceeds, the first data will be cleared automatically; after the data save time, the data pile will be cleared automatically.
  • Automatic retransmission: In unicast (on-demand) mode, the device automatically retransmits when it fails to send to the next node, and the number of retransmissions for each message is 3 times.
  • Automatic routing: The module supports the network routing function; the router and the coordinator carry the network data routing function, and users can perform multi-hop networking.
  • Encryption protocol: The module adopts AES 128-bit encryption function, which can change the network encryption and anti-monitoring; users can change the network key by themselves, and devices with the same network key can communicate normally.
  • Serial port configuration: The module has built-in serial port commands. Users can configure (view) the parameters and functions of the module through the serial port commands.
  • Multi-type data communication: supports network-wide broadcast, multicast and on-demand (unicast) functions; it also supports several transmission methods in broadcast and unicast modes.
  • Multi-working mode selection: support transparent transmission mode, semi-transparent transmission mode, protocol mode, three working modes, users can switch freely.
  • Channel change: support 16 channels such as 11-26 (2405~2480MHZ), different channels correspond to different frequency bands.
  • Network PAN_ID change: any switch of network PAN_ID, users can customize PAN_ID to join the corresponding network or will automatically select PAN_ID to join the network.
  • Serial port baud rate change: The user can set the baud rate up to 1M, the default number of bits is 8 bits, the stop bit is 1 bit, and there is no parity bit.
  • Short address collection: The user can find the corresponding short address according to the MAC address (unique, fixed) of the module that has joined the network.
  • GPIO control: local/remote GPIO control function, ten GPIOs for users to choose.
  • PWM control: local/remote PWM control, 5 PWM channels for users to choose.
  • ADC control: local/remote ADC reading, 7 ADC channels for user selection.
  • Instruction format switching: This module supports two instruction modes: AT instruction and HEX instruction. Users can easily configure and switch easily.
  • Module reset: The user can reset the module through serial port commands.
  • One-key recovery of baud rate: If the user forgets or does not know the baud rate, this function can be used to restore the default baud rate to 115200 (double-click to reset).
  • Restore factory settings: users can restore the factory settings of the module through serial port commands.

3. Introduction to Zigbee

ZigBee technology is a two-way wireless communication technology with close range, low complexity, low power consumption, low speed and low cost. There are three types of logical devices in the Zig Bee network: Coordinator, Router, and End-Device. The Zig Bee network consists of a Coordinator, multiple Routers and multiple End_Devices. The functions of various types of equipment are as follows:

  • (1) The Coordinator (Coordinator) is responsible for starting the entire network. It is also the first device on the network. The coordinator selects a channel and a network ID (also called PAN ID, or PersonalArea Network ID), and then starts the entire network. The coordinator can also be used to assist in establishing bindings between the security layer and the application layer in the network. Note that the role of the coordinator is mainly related to the startup and configuration of the network. Once this is done, the coordinator works like a router (or disappears away). Due to the distributed nature of the Zig Bee network itself, the operation of the entire network does not depend on the existence of the coordinator.
  • (2) The function of the Router is to allow other devices to join the network, multi-hop routing and assist in the communication of its own battery-powered son terminal equipment. Usually, the router wants to be always active, so it must be powered by the main power supply. However, when using the network mode of tree group, the routing interval is allowed to operate once in a certain period, so that it can be powered by the battery.
  • (3) End-Device (terminal device) The terminal device has no specific responsibility to maintain the network structure, it can sleep or wake up, so it can be a battery-powered device.

4. Working mode

5. User instruction set

For the convenience of users, E18 ZigBee module uses two command formats, namely AT command format and HEX command format. The format mode is controlled by default P1_6.

  • When P1_6 = 0, the module enters HEX instruction mode. In this mode, enter +++ to enter temporary AT command mode. You can use the AT command to configure, enter AT+EXIT to exit the temporary AT command.
  • When P1_6 = 1, the module enters AT command mode. In AT command, the newline character cannot be used at the end.

The module is shown in the figure above, where the 10 jumper cap in the red circle is used to switch the AT and HEX command modes. Plug the jumper cap to indicate the HEX command mode (low level), and do not plug the jumper cap to indicate the AT command mode (high level) (P1.6)

DIY Zigbee датчик температуры

Приветствую читателей Habr! В этой статье расскажу вам о своём очередном zigbee проекте беспроводного датчика. Проект называется Efekta THP_LR \ THP, это небольшой датчик измерения температуры и влажности воздуха на чипе СС2530. Есть несколько модификаций датчика, в одном из вариантов датчик дополнительно измеряет атмосферное давление . Ещё в одном варианте датчик работает на радиомодуле СС2530 с усилителем сигнала. В этом варианте возможна установка радиомодуля с печатной антенной или с выносной. Все модификации датчика работают на батарейках ААА, это обеспечивает длительный срок работы на одном комплекте батареек. Датчик предназначен для работы в сетях Zigbee. Проект с открытым исходным кодом.

Идея разработки этого датчика базировалась на потребности в недорогом датчике температуры для размещения на улице. Опыт использования готовых датчиков с Алиэкспресс на улице показал, что есть несколько нюансов, которые было бы здорово решить.

  • Батарейки, которые используются в готовых датчиках, очень плохо держат заряд при минусовых температурах.
  • Дальность передачи данных при использовании на улице тоже чаще недостаточна, приходилось где-то в доме и недалеко от уличного датчика размещать роутер.
  • Также очень важным моментом при разработке собственного diy датчика является софтовая часть, тут я сам могу решать, что, как и c каким временным интервалом датчик будет читать сенсоры и отправлять данные.

    Рабочая частота: 2400

BME280 (Bosch)

  • Напряжение питания: 1.71V – 3.6V;
  • Интерфейс обмена данными: I2C или SPI;
  • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
  • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
  • Диапазон измерения влажности: 0% … 100% (Arh ±3%);
  • Энергопотребление: режим измерений: 340 — 714uА; в спящий режим: — 0.1 uА.
  • Напряжение питания: 1.71V – 3.6V;
  • Интерфейс обмена данными: I2C или SPI;
  • Диапазон измерения атмосферного давления: 300hPa – 1100hPa (Arp ±0.12hPa), что эквивалентно диапазону от -500 до 9000 м над уровнем моря;
  • Диапазон измерения температуры: -40°С … +85°С (At ±0.5°С);
  • Энергопотребление: режим измерений: 325 — 720uА; в спящий режим: — 0.1 uА.
  • Напряжение питания: 1.62V – 3.6V;
  • Интерфейс обмена данными: I2C;
  • Диапазон измерения температуры: -40°С … +125°С (At ±0.2°С);
  • Диапазон измерения влажности: 0% … 100% (Arh ±2%);
  • Энергопотребление: режим измерений: 270 — 430uА нА; в спящий режим: — 0.3 uА.

Датчик получился простой и лёгкий в изготовлении, время сборки датчика при ручной пайке составляет 10-15 минут, схема датчика состоит всего из 10 элементов, включая радиомодуль.

Убедиться в этом вы можете, изучив схему проекта.

Программная часть этого проекта доступна на моём github в виде исходного кода, а также в виде уже скомпилированной прошивки. Прошивка скомпилирована для варианта датчика с самым простым и дешёвым радио модулем EBYTE E18-MS1-PCB. Установлен интервал чтения сенсора один раз в минуту и отправка данных при изменении значений на 0.33 градуса для температуры, на 2.5 процента для влажности и на 1 единицу для атмосферного давления. Отправка информации об уровне заряда батареек происходит один раз в 6 часов.

Для загрузки прошивки в радиомодуль может понадобиться СС Debugger, или SmartRF04EB это такая не очень дорогая платка которую можно купить на Али экспресс.

Впрочем, прошить можно и через ардуино/есп, для этих целей написан удобный и бесплатный онлайн-сервис ZESP_multitool . Заходите на сайт, выбираете тип модуля, который планирует прошить, в нашем случае TI CCХХХХ. Справа в интерфейсе будет картинка с тем, что, как и куда подключать. Подключаете вашу ESP к USB порту, в интерфейсе сервиса выбираете make adapter и кликаете esp32adapter.json. Далее выбираете самый нижний пункт слева в интерфейсе — local и выбираете на своём компьютере прошивку, которую требуется загрузить в датчик.

Исходные файлы проекта EFEKTA THP\THPLR Outdoor\Indoor sensor находятся папке /PROJECT SOURCE, это может быть интересно тем, кто хочет изменить какие-либо параметры работы датчика или, например, скомпилировать прошивку для радиомодуля с усилителем сигнала. Для такой настройки проекта необходимо переконфигурировать настройки проекта в файле /PROJECT SOURCE/THP/Source/preinclude.h, нужно закомментировать или, наоборот, раскомментировать нужные вам #define и в #define APP_REPORT_DELAY указать нужные вам значения времени в миллисекундах.

Корпус для датчика был разработан под печать на FDM принтере, модели корпуса также доступны на моём гитхабе в папке /ENCLOUSER/. В корпусе предусмотрено место для вывода внешней антенны, в этом месте толщина стенок тоньше, если необходим вариант с внешней антенной, то в этом месте нужно будет высверлить отверстие.

Zigbee-датчик влажности почвы для растений (проект modkam.ru)

В этом обзоре мы с вами познакомимся с еще одной разработкой Jagera, автора сайта modkam.ru, широко известного среди энтузиастов умного дома. Это zigbee датчик влажности почвы для растений, функционал которого, при необходимости может быть существенно расширен для других измерений.

Также, пользуясь случаем, хочу выразить благодарность Jager и всем кто приложил свои знания и умения к созданию таких полезных устройств.

Содержание
Где заказать ?
  • Заказать в РФ — телеграмм
  • Заказать в Украине — производитель датчика из обзора на OLX
О датчике

Информация о первой версии устройства появилась еще в августе 2020 года, как альтернативе Mi Flora, который существенно вырос в цене, хотя пару лет назад стоил меньше 10 долларов. Разработка построена на базе многократно проверенного модуля E18-MS1-PCB и измеряет влажность почвы емкостным методом, что защищает электроды датчика от коррозии, а кроме этого имеет возможность установки еще ряда сенсоров — влажности, давления, освещенности и двух датчиков температуры, включая выносной.

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

В конце февраля 2021 года, вышла третья версия датчика. Функциональность не изменилась, главное отличие в том — полностью фабричная сборка. Приложенные к статье исходники для заказа содержат всю необходимую информацию для производства готового устройства, самостоятельно останется установить и припаять держатель элементов питания, прошить и распечатать корпус.

Внешний вид

Итак, как я уже сказал, герой этого обзора — датчик второй версии, оптимизированный. Собран в Украине, и очередная моя благодарность для Александра из Одессы, который собрал и безвозмездно передал мне несколько таких устройств.

Попавшие ко мне датчики рассчитаны на установку двух батареек формата ААА. Здесь важно использовать именно батарейки, так как их напряжение равно 1,5 В, что в сумме дает 3. А напряжение никелевых аккумуляторов в сумме дает около 2,5 В. Также можно заказать на базе круглой батарейки CR2032.

В датчике используется модуль E18-MS1-PCB от EBYTE на базе чипа CC2530 который очень часто используется в подобного рода DIY устройствах.

Эта часть датчика должна находится в почве. Прямого контакта электродов с влажным грунтом нет, что предотвращает коррозию. В моем случае это единственный измеряемый параметр, остальные сенсоры не установлены

В сочетании с высокой энергоэффективностью Zigbee, кстати в данной версии датчик передает данные раз в 30 минут, емкости батареек должно хватить на несколько лет минимум.

На датчике есть кнопка — короткое нажатие принудительно проводит обновление данных, а для синхронизации — нужно около 10 секунд удерживать ее, пока светодиод не начнет мерцать.

SLS gateway

Подключение начнем с SLS шлюза, в котором сразу появляется поддержка всех устройств с modkam. Синхронизация и подключения происходит в штатном режиме, поддержка — полная.

Помним что особенностью работы SLS является то, что сразу после подключения появляются не все объекты устройства. Они отобразятся по мере получения с них каких-то данных, это нормально так и должно быть.

Вот так выглядит перечень всех возможных параметров которые можно получать с шлюза. Влажность воздуха, освещение, тут кстати есть какое-то значение, давление, и два датчика температуры — воздуха и выносной для почвы.

Параметр LastSeen это время последнего отзыва от датчик в Unix формате — количество секунд прошедших от 00:00 01.01.1970

Сущности зеркально пробрасываются в Home Assistant. По мере обновления в SLS — будут появлятся и тут. Обновить их принудительно можно коротким нажатием на кнопку датчика. Из реальных параметров на этой версии — уровень заряда, сигнала и влажность почвы.

Напомню — интервал между передачей показания датчика — составляет 30 минут, для растений этого вполне достаточно.

Zigbee2mqtt

Это устройство поддерживается и в zigbee2mqtt — без применения внешних конвертеров и необходимости ставить версию для разработчиков. Сопряжение — тоже стандартное без каких-то специальных действий.

Поддержка полная, включая корректное изображение устройства. На всякий случай уточню — датчик является конечным устройством и не передает данные от других участников сети.

Чтобы данные датчика не исчезали после перезагрузки инстанса — в меню настроек нужно поставить галочку retain, тогда все данные в топике mqtt будут сохранятся.

Все основные параметры датчика тут те же самые что и в SLS — главный — влажность почвы, данные устройства — уровень заряда и сигнала и опциональные — влажность воздуха, давление, освещение и две температуры.

Корпус

Для этого датчика обязательно нужен какой-то корпус, по крайней мере для защиты от брызг при поливе. К вопросу можно подойти с фантазией — например корпуса в виде грибка, которые мне прислали вместе с датчиками.

Шляпка съемная — она открывает доступ внутрь ножки гриба, в которой и находится электронная часть датчика. Кроме этого она выполняет роль зонтика, защищающего датчик от попадания брызг.

На одной из стороны предусмотрено отверстие, через которое можно вывести например выносной датчик температуры.

Нижняя часть датчика с электродами, которую нужно погружать в грунт, выводится через прорезь в нижней части ножки гриба.

Кроме защиты от брызг, корпус выполняет и эстетическую функцию. Грибок в горшке с растением — смотрится оригинально и не чужеродно.

Mi Flora

А так выглядит датчик в грибном корпусе по соседству с заводским решением от Xiaomi Mi Flora. Лично мне больше симпатичен гриб.

Вот сравнение показаний датчиков сразу после полива. Емкостной сенсор Zigbee устройства показывает 100%, а miflora — 76%. Мне кажется что тут ближе к правде Zigbee устройство, так как верхний слой почвы полностью пропитан водой. Кстати хочу отметить что с последним обновлением интеграции Xiaomi gateway 3 — mi flora стала намного чаще отдавать показания, раньше было намного инертнее.

Показания примерно через час. Оба сенсора показывают снижение уровня влаги, но miflora — на 20 с лишним процентов, что как-то много, а Zigbee — всего на 6%.

А тут показания двух рядом стоящих датчиков в другом горшке, менее чем через сутки после полива. MiFlora показывает всего 11%, хотя земля чувствительно влажная на ощупь. При этом грибок считает что влажность — 76% и это больше похоже на правду.

Всего у меня в системе три таких датчика, как раз по количеству горшков в комнате.

Так они выглядят на карте сети. Они находятся в одной комнате с координатором, здесь это USB Zigbee Stick CC2652 и считают оптимальным подключаться прямо к нему.

Выводить в интерфейс мне удобнее всего при помощи кастомной карты Multiple Entity Row, она позволяет несколько значений выводить одной строкой. Я вывожу все что дает этот датчик — влажность почвы, уровень заряда и сигнала.

Видео версия обзора
Вывод

Говоря о достоинствах этого датчика — в первую очередь стоит упомянуть интерфейс, на мой взгляд Zigbee наиболее подходящий для таких устройств и возможность установки емкого источника питания в виде батареек ААА. Более адекватная, на мой взгляд, методика измерения влажности почвы, по крайней мере она более логичная.

Так же мне очень понравился корпус, но это уже немного другая история, так как его печать не связана с производством датчика, который, напоминаю, в третьей версии можно заказать сразу в сборе, либо приобрести локально с уже установленной прошивкой и элементами питания по одной из указанных мной ссылок.

Develop, prototypize and deploy a Zigbee solution with E-18

Nicola Landro

I want to develop my Zigbee devices for my Smart Home. In particular I use Home assistant and ConBee II to not be dependent from platform proprietary bridge. I see that some kind of sensore are too expensive so I try to get a economic board to develop it.

I put all my small experience on that git repo.

I explain instruction to use with Windows and Linux.

Zigbee Boards

I find the most famous development board with zigbee integrated in XBee but it is expencive and his clone are not available.

So I find the Ebyte E18-MS1-PCB , a board like ESP8266 (more known in his NodeMCU version). This cost less than 5$, and I buy it also on amazon. Up to now does not exist a version like NodeMCU of this sensor so I need to weld it by myself.

Create a PCB

At first I need a PCB because the module is very small and it use SMD pins. So I create a KiCAD project with a basic version of the PCB and I print it on JLCPCB with this file.

Solder with tin

I weld my component using flux (flussante), you can see an example at this youtube video.

I use female pin header to use the pin like and Arduino Board.

Remember to check the welds carfully before using.

Programming Schema

I use CP2102 to connect the device to serial by connect:

  • TX to the P1_4
  • RX to the P1_5
  • GND to GND
  • 3.3V to VDD

Programming tools (WINDOWS)

Now to use this device on windows we need:

    : USB driver : Config Manager : the IDE

Programming tools using WINE (Linux)

I’m on linux and I do not want to use windows so I will use wine.

We start pluging the device into usb and we can see that it use ttyUSB0

Now create the link to com1 and show it

  • create string entries in HKEY_LOCAL_MACHINE\Software\Wine\Ports
  • where the entry name is the Windows device name (COM1)
  • and the entry value is the path to the Unix device. (/dev/ttyUSB0)
  • shut down Wine

The next time Wine runs a program, your changes will take effect.

Now we can run the Configure tool

Run and install EW8051:

Conclusion

Up to now I do not program It yet. If you have some suggestion or you want to share your development guide please comment there.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *