Авторизация
Зарегистрироваться

Платформа для разработки Heltec Cube cell - Arduino+LoRaWAN. Как сделать беспроводной датчик температуры с расстоянием связи в несколько километров.

  • Цена: $11.86 + доставка $2.89

С появлением у меня собственного LoRaWAN-шлюза, мне захотелось немного глубже окунуться в данную технологию и расширить свою коллекцию устройств с поддержкой LoRa. На рынке представлено большое число платформ для разработки с поддержкой LoRa, как в виде отдельных плат расширения форм-фактора Arduino, так и с интегрированными на одной плате трансивером и управляющим микроконтроллером. Я активно слежу за развитием подобных платформ. Несколько моделей подобных устройств разработаны компанией Heltec Automation. У меня уже давно в корзине лежала плата Heltec Lora node (HTCC-AB01) из линейки Cube Cell, наконец я её приобрел и спешу поделиться своими впечатлениями.

Производитель выделяет следующие особенности серии Cube cell:
— Идеальная совместимость с Arduino!
— Сертификация CE и FCC;
— Основаны на микросхемах ASR605x (ASR6501, ASR6502), в которые уже интегрированы MCU серии PSoC® 4000 (ARM® Cortex® M0 + Core) и трансивер SX1262;
— Поддержка LoRaWAN 1.0.2;
— Конструкция со сверхнизким энергопотреблением, 3,5 мкА в глубоком сне;
— Бортовая система управления солнечной энергией, может напрямую подключаться к солнечной панели 5,5 ~ 7 В;
— Встроенный интерфейс батареи SH1.25-2, интегрированная система управления литиевой батареей (управление зарядкой и разрядкой, защита от перезарядки, определение заряда батареи, автоматическое переключение питания USB / батареи);
— Интерфейс Micro USB с полной защитой от электростатического разряда, защитой от короткого замыкания, радиочастотным экраном и другими мерами защиты;
— Встроенный чип CP2102 USB для последовательного порта, удобный для загрузки программ, печати отладочной информации;
— Хорошее соответствие зависимости и большое расстояние связи.
Технические характеристики

Характеристики энергопотребления

Распиновка платы HTCC-AB01

Ключевым моментом в выборе данной платформы для меня стала поддержка средой Arduino IDE. Документацию по добавлению поддержки в Arduino IDE и большое количество примеров можно найти на официальном github.

На Aliexpress есть официальный магазин компании Heltec, но цены там несколько выше, чем в сторонних магазинах. В линейке Cube Cell ещё есть платформы с интегрированным Oled-дисплеем и с GPS-модулем. Можно приобрести отдельно модуль Cube cell и интегрировать его в собственную разработку. Есть варианты на 433, или на 868/915 МГц.

Плата поставляется в пластиковом боксе.

В комплекте сама плата и пара штырьковых гребенок. К сожалению в комплекте нет антенны, хотя у других продавцов она была.

Плата действительно миниатюрная, её размеры всего 40x23 мм.


При подключении к ПК, драйвера для USB-UART конвертера устанавливаются автоматически.
Для добавления поддержки данной платформы в Arduino IDE нужно всего пара действий: добавить источник загрузки пакетов поддержки и в менеджере плат непосредственно найти и установить пакет поддержки для Cube Cell. После выбора нужной платы в менеджере, можно открыть соответствующие примеры программ. Здесь может возникнуть небольшая проблема: у меня были установлены библиотеки «Lora» и «Onewire» и одноименные разделы примеров для Cube Cell не были добавлены. Решение проблемы: удалить библиотеки «Lora» и «Onewire» и переустановить поддержку платформы Cube Cell.

Для подключения узла к Thethingsnetwork необходимо в первую очередь зарегистрировать учетную запись.
Далее необходимо в консоли добавить приложение и зарегистрировать в нем устройство. Необходимо выбрать метод активации устройства OTAA или ABR. В моем случае выбран ОТАА. Будут сгенерированы 3 ключа: devEui, appEui, appKey, доступные в описании устройства, необходимые для подключения устройства к сети.

После корректной установки поддержки можно проверять работу платформы. Для работы в сети LoRaWAN нужно задать несколько параметров в разделе «Инструменты». Настройки должны соответствовать настройкам устройства на TheThingsNetwork и региональным настройкам сети LoRaWAN. В моем случае настройки выглядят следующим образом:

В скетче необходимо изменить ключи devEui, appEui, appKey по-умолчанию на полученные при регистрации устройства в Thethingsnetwork. После компиляции скетча и прошивки устройства данные с устройства должны появиться в консоли на сайте Thethingsnetwork. Тут я столкнулся с небольшой проблемой: при работе от USB-порта данные успешно передавались, при попытке проверить передачу данных на небольшом удалении при питании самой платы от повербанка я наблюдал лишь попытки устройства зарегистрироваться в сети. Я грешил на настройки программы, но оказалось все куда проще: насколько я понимаю, повербанк отключает питание, если ток потребления очень низкий. При пробуждении устройства оно пытается зарегистрироваться в сети, далее отправляет пакет и переходит в режим сна, в этот момент повербанк отключает питание и цикл повторяется.

В этом обзоре не будет как такового теста дальности связи. Лишь отмечу, что прямая видимость решает, подробнее здесь. Большее внимание хотелось бы уделить практическому использованию технологии LoRaWAN на примере создания очередного беспроводного термометра, но радиусом действия в несколько километров. Пакет поддержки CubeCell для Arduino IDE содержит большое количество примеров с использованием различных датчиков. Я остановился на имеющемся у меня в наличии BMP180.

Thethingsnetwork не является платформой для хранения и визуализации данных, поэтому их необходимо передавать на сторонний сервис. Есть несколько встроенных интеграций. Я выбрал уже знакомую мне платформу Thingspeak. Данные в сети LoRaWAN передаются в двоичном виде, для передачи их на сервер Thingspeak необходима конвертация двоичных значений в читаемый (десятичный) формат. Это можно сделать непосредственно в консоли Thethingsnetwork. В форме payloads format необходимо написать код на JavaScript, который будет переводить двоичные данные в текстовый формат. В документации для CubeCell уже есть пример кода. В примере для BMP180 каждый пакет данных содержит 14 байт: по 4 байта для температуры, давления и альтитуды и 2 байта для напряжения аккумулятора. Мой код для декодирования данных и представления их в необходимом для передачи на Thingspeak JSON-формате выглядит следующим образом:

function Decoder(bytes, port) {

  function bytesToFloat(bytes) {
    //LSB Format (least significant byte first).
    var bits = bytes[3]<<24 | bytes[2]<<16 | bytes[1]<<8 | bytes[0];
    var sign = (bits>>>31 === 0) ? 1.0 : -1.0;
    var e = bits>>>23 & 0xff;
    var m = (e === 0) ? (bits & 0x7fffff)<<1 : (bits & 0x7fffff) | 0x800000;
    var f = sign * m * Math.pow(2, e - 150);
    return f;
  }  

  function bytesToShort(bytes) {
  var testShort = (bytes[0] << 8) | bytes[1];
  return testShort / 1000;
  }

  return {
    field1: bytesToFloat(bytes.slice(0, 4)),
    field1: bytesToFloat(bytes.slice(4, 8)),
    field1: bytesToFloat(bytes.slice(8, 12)),
    field2: bytesToShort(bytes.slice(12, 14))
  }; 
}

Для интеграции приложения сThingspeak необходимо указать произвольное название процесса и два обязательных параметра: идентификатор канала Thingspeak и API-ключ для записи, полученный при создании канала. После успешной интеграции данные передаваемые на Thethingsnetwork будут декодироваться и пересылаться на Thingspeak с минимальной задержкой.

Одной из ключевых особенностей устройств с поддержкой LoRa является низкое энергопотребление, обеспечивающее продолжительное время работы от аккумулятора. Производителем платформы CubeCell заявлено потребление до 100 мА в активном режиме в зависимости от мощности передатчика и порядка 11 мкА в спящем режиме. В примере для BMP180 питание на датчик подается с пина Vext непосредственно в момент измерения давления и температуры, но при таком подключении датчик не передавал измеренные значения. Я подключил пин VCC датчика к пину VCC и датчик стал отдавать корректные значения, очевидно что в этом случае питание на датчик подается постоянно, что сказывается на токе потребления в спящем режиме. Я стал искать причину некорректной работы, вначале я подумал, что виной RGB-светодиод, который осуществляет индикацию подключения к LoRaWAN сети и который также подключен к пину Vext, я предположил, что где-то во внутренних функциях происходит включение и отключение питания светодиода. Отключить индикацию можно в меню инструменты Arduino IDE: LORAWAN_RGB DEACTIVE. Но это увы не помогло. Решение проблемы нашлось в вопросах на гитхаб: потребовалось всего лишь добавить небольшую задержку в 100 мс после подачи питания на датчик. Светодиод, тем не менее, лучше отключить в любом случае для экономии заряда аккумулятора. Замеры потребления производились мультиметром Aneng AN8009, точность измерений которого я не могу гарантировать. Отправка данных длится всего несколько миллисекунд и замерить потребляемый ток при этом не удается. В спящем же режиме, согласно проведенным замерам потребление вполне соответствует заявленному и составляет порядка 10.2 мкА.

Дополнительно для анализа потребления во времени я использовал датчик INA3221.

На графике можно увидеть два интервала работы: 1 с пиком потребления до 30 мА и длительностью 60 мс, 2 с пиком в 4 мА и длительностью около 30 мс. При таком потреблении аккумулятора емкостью около 1000 мА*ч должно хватить на несколько лет. Фактически после непрерывной работы передатчика в течение двух суток с отправкой данных каждые 15 секунд (что конечно же очень часто для реального использования) напряжение незначительно упало с с 4,09 до 4,08В. Стоит учитывать, что передатчик находился в непосредственной близости от шлюза, и время его работы и мощность были минимальны, при расстоянии передачи в несколько километров, потребление будет выше. В реальных условиях условиях, с учетом саморазряда и других факторов, время работы аккумулятора может значительно снизиться, если, конечно, не заряжать его в процессе работы.

И тут мы переходим к другой отличительной особенности платформы CubeCell HTC-AB01 — возможности использования солнечных панелей для зарядки аккумулятора. К платформе можно напрямую подключить панели с напряжением до 7В. У меня есть в наличии две панели с напряжением 5В и заявленной мощностью 1.2 Вт. В этом месяце дни выдались пасмурными и панели работали крайне неэффективно, по предыдущим замерам на ярком солнце максимальная мощность составляла порядка 0,7Вт (ток 140мА) таким образом за несколько часов работы на ярком солнце солнечная панель может зарядить аккумулятор небольшой емкости.

Плюс аккумулятора через мосфет соединяется с АЦП, при вызове функции getBatteryVoltage() производится замер напряжения на аккумуляторе, благодаря чему можно следить за активностью солнечных панелей. Для теста я закрепил две параллельно соединенные панели на оконное стекло. Нельзя назвать такой способ установки солнечных панелей эффективным, т.к. показали предыдущие замеры, максимальную эффективность они имеют на прямом солнце.Тем не менее, на графике напряжения на аккумуляторе можно увидеть как оно увеличилось с 4.08 до 4.12В.

Напряжение начинало увеличиваться едва светало за окном, даже если самого солнца не было видно. Во время тестирования передатчик проработал с подключенными солнечными панелями около четырёх суток и напряжение при этом не падало ниже 4.13В уже после захода солнца, таким образом можно сделать вывод, что нескольких часов работы солнечных панелей было достаточно чтобы зарядить аккумулятор. Отдельно стоит отметить, что на лоджии, где был расположен передатчик температура порой опускалась до -2, что должно было негативно сказаться на работе аккумулятора.

В видео несколько нагляднее и подробнее показан процесс интеграции TheThingsnetwork и Thingspeak.

Заключение

Резюмирую свои впечатления: платформа CubeCell HTCC-AB01, на мой взгляд, однозначно заслуживает внимания. Ключевыми особенностями платформы являются: низкое энергопотребление, поддержка солнечных панелей, поддержка работы в среде Arduino IDE. Отдельно стоит отметить довольно подробную документацию и большое количество примеров. Документация написана доступным языком и легко разобраться даже начинающему пользователю. Фактические характеристики дальности связи соответствую заявленным: даже с не очень эффективной антенной легко добиться дальности связи порядка 6 км при прямой видимости. Из минусов на ум приходит только комплектация поставки у данного продавца, а именно отсутствие в комплекте даже самой простой антенны и кабеля с разъемом для подключения аккумулятора.
Планирую купить +49 Добавить в избранное +72 +121
свернуть развернуть
Комментарии (108)
RSS
+
avatar
  • NE_XT
  • 01 февраля 2021, 20:46
+7
Зачем?
+
avatar
  • gargamel
  • 01 февраля 2021, 23:05
+1
способов применения — тьма, все зависит от фантазии
+
avatar
0
да хоть сигнализация на гараж/дачу
+
avatar
  • SlyBoy
  • 02 февраля 2021, 10:29
+1
хреновая такая сигнализация
+
avatar
  • SEM
  • 02 февраля 2021, 10:44
+8
да хоть сигнализация на гараж/дачу
GSM подешевле будет, особенно за счёт того что «приёмная аппаратура» всё равно имеется.
Ардуино-Нано $2, GSM модуль меньше $5.
Хотя «просто набрать номер» наверно хватит и дигиспарка на Attiny85 за $1.2 вместо 328P.
Энергопотребление? Так в гараже электричество есть, подзаряжать батарею несложно.
Задавить помехами GSM сложнее.
Радиус действия — всё покрытие сети с учётом роуминга.
Девайс в обзоре — для другого. Для независимой (от ОпСоСов) и бесплатной передачи информации, пакетов данных, а не просто «датчик сработал».
Какое-нибудь гигантское тепличное хозяйство и сбор информации о температуре, влажности, содержании углекислого газа с сети датчиков, чтобы не морочиться с проводами (прокладкой и поддержанием в рабочем состоянии).
Большой логистический комплекс и сбор информации с погрузчиков (пробег, время простоя, тоннаж, уровень заряда батарей, примерное местонахождение по последним считанным стационарным меткам). И всё это на карте комплекса, как в Старкрафте…
+
avatar
  • Mig25
  • 03 февраля 2021, 22:42
0
Направьте в нужном направление. Нужно в гараж без электричества сигналку поставить. Информирование о вскрытие (может датчик движения). Можно на ардуино.
+
avatar
  • Nuts_
  • 04 февраля 2021, 08:02
0
расстояние какое?
+
avatar
  • Mig25
  • 04 февраля 2021, 09:47
0
300 метров
+
avatar
  • Nuts_
  • 04 февраля 2021, 11:35
+1
ну тогда gsm многовато
а zigbee маловато
а вот модуль на LORA по типу описываемого — самый раз.
или из этой серии
https://lilygo.aliexpress.ru/store/group/TTGO-Lora-Series/2090076_513596978.html
+
avatar
  • SEM
  • 04 февраля 2021, 08:18
0
mysku.ru/blog/ebay/51321.html
mysku.ru/blog/ebay/43282.html
mysku.ru/blog/ebay/44545.html
mysku.ru/blog/aliexpress/49889.html
mysku.ru/blog/aliexpress/50940.html

Датчик движения — это постоянное потребление энергии, хоть и небольшое. Чаще придётся ходить аккумуляторы менять.
mysku.ru/blog/diy/70860.html
+
avatar
  • SilentF
  • 04 февраля 2021, 14:27
0
Датчик движения — это постоянное потребление энергии, хоть и небольшое.
Тогда, имхо, лучше несколько контактных датчиков влепить.
Или солнечную батарею городить…
+
avatar
  • Nuts_
  • 04 февраля 2021, 16:10
0
GSM от батареек тоже не экономично писать.
+
avatar
  • SEM
  • 04 февраля 2021, 16:47
+1
GSM от батареек тоже не экономично писать.
mysku.ru/blog/ebay/51321.html
Питается только Ардуина, которая при срабатывании «будит» GSM модуль.

Собранный девайс отработал четыре полных месяца без подзарядки и продолжает работать, хотя правильнее сказать «спать». Проверяется это простой перезагрузкой через белую кнопку. При энергопотреблении 250 мкА (через стабилизатор LE33) и аккумуляторе ~1430 mAh, хотя ладно, ввиду неновизны аккумулятора округлим до 1000mAh, получается, что девайс может отсыпаться около 5.5 месяцев без подзарядки. Если всё-таки выпаять стабилизатор, то время работы можно смело умножить в 10 раз.
+
avatar
  • SEM
  • 04 февраля 2021, 15:59
0
И насчёт $5 за GSM модуль я погорячился.
Меньше $2 https://aliexpress.ru/item/item/32283531730.html
+
avatar
  • kovax
  • 01 февраля 2021, 20:54
+9
вот все лора лора — супер дальнобой… в выводе до 6км на открытой местности — если только в океане на забытом острове, где нет индустриальных помех.
с сигналками 800МГц тоже обещают 1.5км, а реально торец высотки не пробивают…

брал ВиФи репитер, обещали до 10км — ага, 1.5км не пробивает…
+
avatar
  • ploop
  • 01 февраля 2021, 21:17
+9
Да блин кастрюлей накройте и полметра не пробьёт.
Поэтому можно обещать ТОЛЬКО на открытой местности, всё остальное зависит от конкретной ситуации.
+
avatar
  • dima191
  • 01 февраля 2021, 21:45
0
Тоже как-то брал пару Лораван, при прямой видимости — 200 м (без зданий и деревьев). А если без прямой видимости, то даже торец 9 этажки не пробивает, как тут человек написал. Прямо расстройство. Антенны использовал типа «пружинка».
+
avatar
  • RAT
  • 02 февраля 2021, 08:07
+4
то даже торец 9 этажки не пробивает,
Торец — это боковая стенка здания без окон? Девятиэтажка — это из панелей?
Ну, тогда стена дома представляющая собой сплошной бетон (без окон), армированный металлической сеткой, возможно по которой идёт проводка, является для радиосигнала довольно сильным препятствием.
+
avatar
  • dima191
  • 04 февраля 2021, 01:32
0
Извиняюсь, неточно сказал. Вношу уточнение. У меня Лора не пробивает панельную (железобетонную) 9-этажку насквозь, поперек (не вдоль).
+
avatar
  • Siroc-co
  • 02 февраля 2021, 06:34
+3
супер дальнобой… в выводе до 6км на открытой местности
Лора на 1Вт 170МГц в Москве нормально работала на 9км, почти прямая видимость.
Если мало, то активно набирает развитие проект lacuna lora satellite.
+
avatar
  • Hector
  • 02 февраля 2021, 07:53
+6
C такой мощностью и на такой частоте на 9км по прямой видимости будет нормально работать и обычная FM-радиостанция. Не нужно никакой Лоры. :)
+
avatar
  • Hector
  • 02 февраля 2021, 16:52
+2
Минусы, наверное, ставят те, кто понятия не имеет про радиосвязь.
А я ею занимаюсь (в частности ремонтом радиостанциий) уже 25 год…
+
avatar
  • rx3apf
  • 02 февраля 2021, 16:58
0
Вероятно да. Эх, было время, когда можно было на сотню км общаться — двойка, на «резинку»…
+
avatar
0
Приветствую! ALINCO DR-135 приходилось ремонтировать?
+
avatar
  • Hector
  • 03 февраля 2021, 09:20
0
Нет.
Motorola, Kenwood, ICOM, Vertex… и их клоны — да. Но можете написать в ЛС. Возможно, смогу помочь.
… По статистике надёжности я бы на первое место поставил Motorola. Не убиваемые… Ремонт у них в 99% это ремонт тангенты :) И 1% от старости может слететь прошивка (флэш не вечная)
+
avatar
  • rx3apf
  • 03 февраля 2021, 11:42
0
Лучше спросить на cqham.ru. Но вообще эта модель очень простая.
+
avatar
  • Siroc-co
  • 02 февраля 2021, 17:55
+2
C такой мощностью и на такой частоте на 9км по прямой видимости будет нормально работать и обычная FM-радиостанция. Не нужно никакой Лоры. :)
Причем тут FM/AM и т.д.? У вас логическая ошибка. Работать будет много чего. Но будет ли оно энергоэффективнее? И мой пример это просто как получилось. Может оно и на 30км или на 100 пробило бы, я не пробовал.
+
avatar
  • rx3apf
  • 02 февраля 2021, 19:53
0
С точки зрения энергоэффективности — что в лоб, что по лбу, тут либо скорость, либо мощность. Нюансы в том, что в эфире мы не одни плюс к тому есть шум. А так бы да, 100 км одним ваттом вообще не вопрос, даже без ухищрений с размазыванием спектра…
+
avatar
  • Siroc-co
  • 02 февраля 2021, 21:54
0
Нюансы в том, что в эфире мы не одни плюс к тому есть шум
И нигде больше, как в Lora эти нюансы не учтены.
+
avatar
  • Hector
  • 03 февраля 2021, 08:30
0
2 Siroc-co
Логическая ошибка у вас. Вы написали про 9км с «Лорой», как про некое достижение.
нормально работала на 9км
… Если мало, то активно набирает развитие проект lacuna lora satellite.
:)
Вот если бы написали про 99км, тогда да, заинтересовало бы…
Энергоэффективности можно достичь разными путями. Вот одна моя самоделка:
radiokot.ru/circuit/analog/receiv_transmit/19/
… В современной цифровой радиосвязи очень хорошо учтены разные нюансы. Лора не первая.
Посмотрите меню программы-конфигуратора, например, к цифровой радиостанции Motorola. Уверен, что о половине пунктов настройки вы даже ничего ещё никогда не слышали.
Там много есть по энергоэффективности — настройка тайм-слотов (две р/с могут одновременно работать на одной частоте) и т.д.
На фото, что я выложил выше — прошлый век в прямом и переносном смысле. Списанные мною аналоговые р/с.
+
avatar
  • pulp
  • 02 февраля 2021, 10:42
0
есть где почитать про опыт использования этой Лакуны? Выглядит интересно.
+
avatar
  • r0c
  • 02 февраля 2021, 10:00
0
Не поверите, но на международную космическую станцию легко передать вай-фай. Образно говоря. Тут дело больше в препятствиях, чем в расстоянии. Законы физики не отменить.
+
avatar
  • romxx
  • 02 февраля 2021, 10:55
+2
Передать-то можно что угодно куда угодно, как с «принять»?
+
avatar
  • r0c
  • 02 февраля 2021, 12:28
+1
Точно так же. Без проблем
+
avatar
0
QAM таблицы развалятся изза допплера, да и не только они, частота уплывет тоже. Помню как на 2м и 70см их слушал и даже на такой частоте допплеровский сдвиг приходилось учитывать :)
+
avatar
  • StrVL
  • 03 февраля 2021, 19:56
0
Вот тоже много где читал нарекания по поводу дальнобойности лоры. Интересно, есть какая-нибудь более дальнобойная альтернатива, км эдак на 20, пусть даже с максимально никакущей скоростью? Хоть байт, хоть бит в секунду… Само собой без обустройства вышек с направленными антеннами, чтобы конечное устройство было компактным, не привлекающим постороннего внимания и энергоэффективным.
+
avatar
  • kovax
  • 03 февраля 2021, 22:53
0
есть конечно — радиолюбители пользовались в прошлом веке — КВ и выше (по длине волны), в моменты прохождения легко тысячи км было прохождение))))))) антенна — провод натянул между домами)))))))
насчет компактности и далее — чем то приходится жертвовать…
+
avatar
-6
+
avatar
  • vdbvdb80
  • 01 февраля 2021, 23:19
+3
Автоматизация сельского хозяйства, где нет и не будет NB-IOT (я вот тоже планирую использовать для теплиц и ульев).
Сбор показаний с датчиков (вода, газ, отопление и т.д.- уже много мест, где внедряется это).
Можно использовать транспорта данных (но достаточно медленного тогда) в местах, где много помех — заводы всякие.
+
avatar
  • gegabit
  • 01 февраля 2021, 23:52
0
Да любые вещи требующие датчики и не имеющие розетки, чтобы дальнобойные и батарейку не жрали.
Особо актуально во всяких датчиках на гвс/хвс/цо, чтобы показания передавал сам раз в день, да ежемесячно при этом было недорого…
Поставили станцию на район, вот все показания четко собираются, сразу видно где не работает, сигнализирует, что батарейка нуждается в замене, даты поверки и прочее…
+
avatar
  • Willik
  • 01 февраля 2021, 21:36
-8
+
avatar
  • Mishakov
  • 01 февраля 2021, 21:44
0
А если обычный радиомодуль Лора к ардуине подключить? Они есть любой мощности на разные частоты.
+
avatar
  • Siroc-co
  • 02 февраля 2021, 09:17
0
Я так и делал. Мои модули lora работают по uart — тоесть куда угодно можно лепить, к роутеру/контроллерам/мобильнику.., хоть из терминала напрямую можно работать. Есть модули с AT командами.
+
avatar
  • sgureev
  • 03 февраля 2021, 12:11
0
Буду признателен если поделитесь скетчем Ардуинки для Lora по UART или ссылкой где взять примеры. У меня есть несколько плат Лоры, но проверить их не знаю как. К сожалению имею совсем небольшой опыт в этой области.
+
avatar
0
Гуглите по слову mysensors
+
avatar
  • Konokrad
  • 01 февраля 2021, 22:06
-11
+
avatar
  • emii
  • 01 февраля 2021, 22:39
+19
Комментарий, который появляется при каждом упоминании ардуины
+
avatar
  • Konokrad
  • 01 февраля 2021, 22:48
-2
ну вот пробовал на Ардуино ИДЕ написать код. Получил задержки больше, чем ожидал, код большой, который влез без запаса по памяти.
Написал то же на gcc, и задержки.пропали и код компактнее
+
avatar
  • vdbvdb80
  • 01 февраля 2021, 23:07
+14
Ну начинаецо :)
Arduino IDE, внезапно как раз gcc и использует.
Вот честно, где-то слышали, что Arduino — не труъ, а почему, фигегознает? Так ведь?

Повальная декларация совместимости с Arduino IDE означает, во-первых, что модуль можно будет запрограммировать даже программатором Громова, а во-вторых, где-то лежит либа, тупо реализующая стандартные методы и дефайнящая стандартные алиасы. Ну и может кое-какой рантайм, если он нужен.

И использовать всё это вы можете совсем даже не в Arduino IDE, а например, в CLion + PIO, выкинув GCC, или даже (хоба!) Visual C++.
+
avatar
  • Nuts_
  • 01 февраля 2021, 23:12
+3
и еще есть arduino cli
и platformio
+
avatar
  • Am0k
  • 02 февраля 2021, 17:55
+1
Действительно, а в чем собственно проблема совместимости. Любая совместимость — плюс, вас не заставляют ею пользоваться. Сам пишу VSC+PIO, а совместимость — возможно подсмотреть в библиотеку (несколько библиотек), которые уже кто то написал до меня. Если каждый заново колесо будет изобретать, телега вряд ли получится. Мне кажется в основном arduino-ненавистники — люди, сами недалеко ушедшие от arduino, но уже мнящие себя мастерами своего дела.
+
avatar
  • LynXzp
  • 03 февраля 2021, 17:31
0
модуль можно будет запрограммировать даже программатором Громова
Вовсе не обязательно для поддержки arduino даже иметь SPI программирование. Список поддерживаемых программаторов задаются в конфиге платы, можно туда поставить хоть один единственный свой проприетарный программатор. (И его поддержку добавить в Arduino IDE)

а во-вторых, где-то лежит либа, тупо реализующая стандартные методы и дефайнящая стандартные алиасы
Это да, но как писал автор «Идеальная совместимость с Arduino!» уже не верно, т.к. не одними стандартными методами богата arduino. А и набором библиотек, которые с кастомными платами могут и не дружить. Бывает просто подшаманить у них в кишочках и добавить поддержку. А бывает что написаны на чистом С, и придется это все переводить.

И использовать всё это вы можете совсем даже не в Arduino IDE, а например, в CLion + PIO, выкинув GCC, или даже (хоба!) Visual C++.
Более того, можно даже в Arduino IDE скопипастить код из Visual C++ / avr-gcc и он заработает на чистом С++ (переопределить main и все arduino зависимости будут выброшены еще на этапе компиляции).
+
avatar
  • Nuts_
  • 03 февраля 2021, 19:09
0
ой ну это уже придирки :)
хотя по факту все верно там все самопальное, и пргограмматор там всякой свой
+
avatar
  • Nuts_
  • 01 февраля 2021, 23:11
0
а сторонние библиотеки в ардуине были?
а то извините в адрудине есть даже software uart непонятно для чего

здесь к тому же arm а не avr
+
avatar
  • Zolg
  • 01 февраля 2021, 23:56
+2
в адрудине есть даже software uart непонятно для чего
напомните, сколько hardware uart доступно в той же atmega328 с учётом того, что один занят для коммуникаций с ПК?
+
avatar
  • Nuts_
  • 02 февраля 2021, 08:19
0
так в том то и дело
сперва берётся неподходящий для задачи контроллер, нагружаем проц, а потом удивляемся на задержки
а виновата почему то Ардуина
+
avatar
  • Zolg
  • 02 февраля 2021, 16:48
0
сперва берётся неподходящий для задачи контроллер
Предложите более подходящий для задачи (набор «МК для чайников») контроллер. Предлагая не забудьте сместиться во времени на полтора десятка лет назад.

ps: для большинства diy применений мощностей atmega328 и сейчас достаточно. Более чем достаточно.
По большому счету из опенсорсного диайвая, стартовавшего на ардуине лично мне известны только две предметные области, где серьезно уперлись в производительность платформы: прошивки 3D принтеров и полетные контроллеры.
+
avatar
  • Nuts_
  • 02 февраля 2021, 21:43
0
ну лично я полтора десятка лет назад сыскал atmega 162 c двумя аппаратными Uart и приделал к ним USB от igor plug и вcе на асме и без ардуин
собтвенно, это не у меня, а у другого господина сегодня утром возникли некие задержки и его давно заминусовали
+
avatar
  • Zolg
  • 02 февраля 2021, 23:00
0
Для набора «МК для чайников» 162 выбор хуже: второй uart менее ценен, чем ацп
+
avatar
  • Nuts_
  • 03 февраля 2021, 00:17
0
наверное нам уже не скажут — шашечки или ехать.
у меня на вскидку не хватает фантазии предтавить зачем «чайнику» прям понадобиться одновременно 2 UART и 10 битный АЦП, если припрет то можно «шить» через isp, без uart.
Ну и внешний АЦП к ардуинам иногда любят подключать, хоть 24 разрядный. Пусть это будет измеритель чего нибуть, с передачей куда нибуть по gsm. задача в принципе неторопливая — можно использовать софтовый порт, но и к cкорости работы АЦП требований нет.
Ну а дальше, у нас лет как 6 есть atmega32u4 — отлаживать можно по usb к компу подключать.
+
avatar
  • sav13
  • 02 февраля 2021, 09:23
+5
Очень напрягают безграмотные комменты людей, которые не совсем врубаются в то что такое Arduino
Ну ко мешает написать грамотный код в Arduino IDE без задержек, применения глючных библиотек и даже без Wiring? А если мешает еще и начальная задержка загрузчика, то загрузить свой код чере программатор из той же Arduino IDE?
+
avatar
  • Nuts_
  • 02 февраля 2021, 10:01
-3
все верно, только логическим продолжением будет отказаться от arduino вообще :)
+
avatar
0
… и перейти например на platformio, да
+
avatar
  • Nuts_
  • 02 февраля 2021, 21:45
+2
ага, это который замечательно позволяет использовать arduino framework :)
+
avatar
0
да, но не только. для того же esp он позволяет использовать фреймворк и от производителя чипа.

а если использовать библиотеку ардуино, то в отличие от arduino ide в нем нет стремного кастомного препроцессора, и можно писать на плюсах во всю мощь)
+
avatar
  • Nuts_
  • 03 февраля 2021, 00:27
0
если вернуться к «истокам» то для расматриваемой платы с psoc 4000 вообще мало чего есть,
platformio ее не поддерживает, но есть родная среда разработки на осове толи make толи cmake — не помню уже, но все как «в лучших домах»
Придется правда подумать о поддержке lora, но наработки рабочие то можно и у ардуино подглядеть.
+
avatar
0
и даже без Wiring?
Там и так нет никакого Wiring) это обычные плюсы с несколько необычным препроцессором и «библиотекой ардуино», и все это сделано так, чтоб было похоже на Wiring. Они вообще назвали это «Arduino programming language (based on Wiring)»
+
avatar
0
Полгода назад делал на s76s лораван накладку на водяной и газовый счетчик. Ток потребления был 10мка при 5 герцах работы оптики считывания зеркала. Думаю что если уйти от обдурины, то потребление в спячке при включенном ртц будет порядка 1 мка.
+
avatar
  • vdbvdb80
  • 01 февраля 2021, 23:13
0
Там внутри стоит STM32L073x, поэтому ардуина и не нужна.
А я вот в свое время понапокупал всяких E78, которые по идее тоже с ASR650x, но никак не могу разобраться — ни один программатор их не видит.
+
avatar
  • Queeni
  • 02 февраля 2021, 01:43
0
Так жеж даже пины подписаны, st-link«ом должны шится, ресет только не забыть.
www.ebyte.com/en/product-view-news.aspx?id=770
+
avatar
  • vdbvdb80
  • 02 февраля 2021, 14:39
0
Должно, но у меня что-то никак не выходит каменный цветок.
Может модули мёртвые, но десяток от разных продавцов…
наверное руки, вот займусь их выпрямлением, и при успехе будет мой первый обзор)
+
avatar
0
Там то стоит стмка, но инфы никакой на то время о внутренних связях с трансивером не было. Пришлось подолбаться, а вот на это хозяйство US $5.12 29%OFF | Модуль LoRa SX1276 SX1278, Модуль Node STM32, 433 МГц, 470 МГц, 868 МГц, 915 МГц, низкая мощность
a.aliexpress.com/_AN2ZcL стек быстро прилепил, но он туда еле влез, пришлось немного поурезать. А так если честно, то можно со всем разобраться, тут главное что бы настроение и время было.
+
avatar
  • rbskates
  • 01 февраля 2021, 23:32
+1
Как считывали вертушку счётчика?
+
avatar
+1
Вертушка наполовину черная наполовину с отражателем. Бывает отражатель с сектором 120 градусов а не 180. В центр светим ик светодиодом, а в трех точках вписанного треугольника с фототранзисторов снимаем через ацп сигнал. В принципе все очень просто, но есть дофига мелких ньюансов.
+
avatar
  • rbskates
  • 02 февраля 2021, 08:54
0
Интересно, спасибо!
+
avatar
  • ASPtr
  • 02 февраля 2021, 07:05
+1
Если можно поподробней. Про оптику, зеркала и это вот всё.
+
avatar
  • Nuts_
  • 01 февраля 2021, 23:22
-1
причем heltec походу втихую разработали адуино для psoc 4000 чего сама cypres вроде и не думала делать.
+
avatar
+1
по 4 байта для температуры, давления и альтитуды и 2 байта для напряжения аккумулятора
4 байта для температуры? Почему не хватит одного? Ну или двух, если хочется с точностью до сотых?
+
avatar
  • nsn
  • 02 февраля 2021, 01:45
+2
Мало ли, вдруг придётся в термоядерном реакторе мерять. Как сказано выше, всё зависит от фантазии.
+
avatar
  • ASPtr
  • 02 февраля 2021, 07:07
+6
Что не понятно-то? Два байта под цифры, один байт под знак и один под запятую. Всё как мы любим.
+
avatar
  • myskuter
  • 02 февраля 2021, 08:01
+4
Началось всё вроде за здравие, типа «есть поддержка Ардуино», потом всё сорвалось в какой-то «Thethingsnetwork» (что это вообще? и кому это нужно?).

Где описание (или хотя бы упоминание) MCU на котором построен модуль? Если это STM32, то причём тут Ардуино? (кому и зачем нужно программировать STM32 в Ардуино?).

Где хоть какой-то базовый пример программирования модуля в Ардуино? (чтобы было понятно о чём вообще идёт речь)
+
avatar
  • Nuts_
  • 02 февраля 2021, 08:28
-2
конечно правильно все пояснить
только в двух словах это не объяснить не углубляясь сильно в стороны, и не понятно будеттли польза от этого
ведь сразу пойдут коментарии: много воды, много текста, ничего не понятно, это надо на хабр.
а это обзор желёзки а не пошаговая инструкция.
+
avatar
  • myskuter
  • 02 февраля 2021, 08:57
+4
Обзор железки говорите? Как можно умудриться обозреть модуль и даже не упомянуть MCU на котором он сделан? Это малозначительная информация? Зато пол-обзора занимает рассказ о каком-то «Thethingsnetwork».

Кстати таким же подходом страдает и компания-производитель: «у нас классные модули, у нас классные модули», а что у них внутри и как с этим работать — догадайся сам.
+
avatar
  • Nuts_
  • 02 февраля 2021, 10:11
+3
в самом начале написано следующее
" в которые уже интегрированы MCU серии PSoC® 4000"
про установку написано
«Для добавления поддержки данной платформы в Arduino IDE нужно всего пара действий: добавить источник загрузки пакетов поддержки и в менеджере плат непосредственно найти и установить пакет поддержки для Cube Cell. „
источник вот только не указан в текстовом виде.
В принипе можно расписать что такое PSoC® 4000, где скачать Arduino… но это перебор.
А вот про «Thethingsnetwork» как бы маловато написано потому что непонятно что это такое есть.
Но если читать с начала то есть ссылка на предыдущуюю статью mysku.ru/blog/aliexpress/81731.html где подробно и скартинками расписано что это такое и с чем его едят.
+
avatar
  • Lucky13
  • 02 февраля 2021, 11:18
0
Спасибо, что ответили за меня!
+
avatar
  • myskuter
  • 02 февраля 2021, 11:36
+3
Вот поэтому Cube Cell как платформа сейчас находится в глубой … и далее будет находиться там же, пока до производителя не дойдёт, что нужно каждому потенциальному покупателю на пальцах объяснять, что такое PSoC® 4000 и как работать с её контроллерами (это конечно если они хотят сделать платформу популярной, если не хотят — то можно продолжать делать вид, что все знают, что такое PSoC® 4000 и как с ним работать).
+
avatar
  • Lucky13
  • 02 февраля 2021, 11:44
0
Вот поэтому Cube Cell как платформа сейчас находится в глубой … и далее будет находиться там же, пока до производителя не дойдёт, что нужно каждому потенциальному покупателю на пальцах объяснять, что такое PSoC® 4000 и как работать с её контроллерами (это конечно если они хотят сделать платформу популярной, если не хотят — то можно продолжать делать вид, что все знают, что такое PSoC® 4000 и как с ним работать).
Разработчики решили пойти по другому пути. Текст с официальной страницы товара (автоматический перевод)
+
avatar
  • Nuts_
  • 02 февраля 2021, 11:55
+1
ну так можно сказать про очень много вещей которые сделаны может и хорошо но продаются плохо — об них никто не знает. ну или может продают достаточно чтобы окупаться.
«покупатели должны сами найти» что то мне напоминает… но на такие вещи покупателя ещё сыскать надо.
зато популярны малина и Андуина.
что касается psoc то это штука сама по себе интересная но почему то на слуху avr и stm32
+
avatar
  • Lucky13
  • 02 февраля 2021, 12:00
0
зато популярны малина и Андуина.
Насколько я понимаю, поэтому и реализована поддержка Ардуино IDE и для решения большинства задач, для которых предназначена эта платформа, совершенно не нужно знать, что такое PSoC® 4000.
+
avatar
  • Nuts_
  • 02 февраля 2021, 21:47
0
и на самом деле зря, потому что там
— много такого о чем создатели ардуино и не задумывались
-своя свреда разработки и даже немного визуальная
+
avatar
+2
Я вот тоже ничего не понял, сначала описание ТТХ девайса и сразу какая-то «сетка с вещами». WTF??? Если это ардуина с лорой то на кой хрен там это? Ардуина и лора самодостаточные устройства и им не вперлось это непонятное трудно выговариваемое смешение букв. А если это устройство заточено онли под этот ресурс, то оно не нужно как таковое. Я думал будет пример градусника на базе этого устройства, установленного на километры в поле в теплице и передающего показания домой на сервер. А тут какая-то реклама левого ресурса.
+
avatar
  • Nuts_
  • 02 февраля 2021, 10:39
+1
я так понимаю он не захотел париться изобретением велосипедов а взял готовое и проверенное решение :) о чем и поделился (там еще предыдущая статья есть).
свой сервер — это как миниум вопрос с маршрутизацией и доменным именем, можно дома, можно VPS использовать. а можно воспользоваться готовым сервисом. И данные на него передавать можно по разному.
и да он не потрудился толком объснить логичку выбора, но явлется ли это рекламой?
+
avatar
+1
свой сервер — это как миниум вопрос с маршрутизацией и доменным именем
С маршрутизацией чего??? Имея выделенный IP вы чего маршрутизировать собираетесь. Да и для лоры маршрутизация, да вы батенька извращенец.
+
avatar
  • Nuts_
  • 03 февраля 2021, 00:31
0
проброс порта, nat в домашней сети — никто не отменял, это вроде как ip маршрутизация?
+
avatar
0
Вы путаете два различных понятия. NAT это не маршрутизация, а преобразование (изменение одного адреса на другой). При маршрутизации адреса источников не меняются.

Если хотите могу расписать подробно как это выглядит.
+
avatar
  • Nuts_
  • 03 февраля 2021, 19:05
+1
нет спасибо, я просто буду за базаром следить ;)
+
avatar
  • Lucky13
  • 02 февраля 2021, 11:27
0
Я вот тоже ничего не понял, сначала описание ТТХ девайса и сразу какая-то «сетка с вещами». WTF??? Если это ардуина с лорой то на кой хрен там это? Ардуина и лора самодостаточные устройства и им не вперлось это непонятное трудно выговариваемое смешение букв. А если это устройство заточено онли под этот ресурс, то оно не нужно как таковое. Я думал будет пример градусника на базе этого устройства, установленного на километры в поле в теплице и передающего показания домой на сервер. А тут какая-то реклама левого ресурса.
Настоятельно рекомендую ознакомиться с обзором LoRaWAN-шлюза и по ссылке в начале обзора дабы не возникало подобных вопросов.
+
avatar
  • scr
  • 02 февраля 2021, 09:33
0
Спасибо за обзор, как раз недавно заприметил эту платку на канале «дядьки со швейцарским акцентом», где очень хвалили ее характеристики. Я правильно понимаю, что имея две таких платы можно обойтись без дорогостоящего шлюза, если задача — дистанционно считывать данные для собственных нужд с одного устройства?
+
avatar
  • Lucky13
  • 02 февраля 2021, 09:44
+2
Я правильно понимаю, что имея две таких платы можно обойтись без дорогостоящего шлюза, если задача — дистанционно считывать данные для собственных нужд с одного устройства?
Да, есть возможность передачи данных в режиме «точка-точка».
+
avatar
  • pulp
  • 02 февраля 2021, 10:24
0
а что в этом случае с дальностью? точка-точка может 3-5 километров обеспечивать?
+
avatar
  • tedbeer
  • 02 февраля 2021, 11:41
+1
на ютюбе куча роликов с тестированием дальности связи, вот в ролике и на 19км получилось связаться
+
avatar
  • AlexVel
  • 02 февраля 2021, 09:57
0
Не совсем понял. Это ведь не p2p. Приемник данных получается некая антенна Lorawan (назовем ее Базовой Станцией (БС)) Thethingsnetwork которая завязана на их-же некий сервер (где и происходит генерация ключей). Какова вероятность, что БС от Thethingsnetwork находится в пределах видимости вашего модуля именно в вашем городе/регионе? Наверно это частный случай и вероятность существования БС Thethingsnetwork скажем в моем городе/регионе равна нулю. PS: посмотрел на сайте www.thethingsnetwork.org/ карту расположения их БС. На всю мою область (которая по площади сравнима с Австрией и Швейцарией, вместе взятыми) — только одна БС, и радиус уверенного приема условно говоря 1км от нее…
+
avatar
  • Nuts_
  • 02 февраля 2021, 10:20
+1
у автора свой собтвенный шлюз описанный в отдельной статье
не совсем понятно зачем его вообще регистрировать где то
ну кроме как на карте поглядеть :)
вообще так у Lora вроде как есть и p2p режимы
+
avatar
  • r0c
  • 02 февраля 2021, 10:08
0
Да и самое главное- 99% успеха в дальнобойности таких проектов- это правильность антенны и качество соединительного кабеля. Тут целая наука, все сложно.
+
avatar
  • nick23
  • 02 февраля 2021, 11:10
+1
LoRaWAN
habr.com/ru/company/nag/blog/371067/

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

Датчик температуры и влажности Xiaomi
mysku.ru/blog/aliexpress/72607.html

future2day.ru/umnyj-dom-na-osnove-arduino/

IoT-роутер + Датчик движения + Датчик протечки + Датчик дыма + Датчик открытия

mysku.ru/blog/china-stores/49856.html
+
avatar
  • Nuts_
  • 02 февраля 2021, 12:18
0
спасибо, уважаемый Гугл, но по ссылкам больше wifi да zigbee
+
avatar
  • nick23
  • 02 февраля 2021, 14:32
0
LoRaWAN пока сырая, дорогая и не развитая технология судя по ценам али.
LoRaWAN Датчик утечки воды 48уе
https://aliexpress.ru/item/item/4001345311618.html
LoRaWAN Датчик температуры и влажности 44уе
https://aliexpress.ru/item/item/4000534426408.html
LoRaWAN шлюз 206-220уе (зависит от модели)
https://aliexpress.ru/item/item/33056657219.html

ZigBee хотя и энергоэффективная технология(с не сильно дорогими датчиками), но для её работы все еще требуется не дешевый Xiaomi Smart Home Gateway 2 или аналог.

В то время как по старой технологии wifi
датчик утечки воды с китайским сервером(но надо уточнять) на али стоит всего 8уе.
https://aliexpress.ru/item/item/4000126345478.html
Датчик темп и влажности с жк экпраном и поддержкой умного дома Alexa и Smart Life 16 уе.
https://aliexpress.ru/item/item/1005001757760066.html

ИМХО наиболее доступная технология это umnyj-dom-na-osnove-arduino в предыдущем сообщении с подключением датчиков по трем — четырем проводам.

Нашел «1-way» программируемый датчик температуры DS18B20
DS18B20 – только температурный водонепроницаемый датчик (-55°С — +125°С):
AM2301 – датчик температуры и влажности (-40°С — +80°С; 0 — 99,9% влажности):
mysku.ru/blog/aliexpress/56754.html (через thingspeak)
Применение в других устройствах:
mysku.ru/blog/china-stores/46334.html (еще интересный недорогой вариант)
mysku.ru/blog/aliexpress/14654.html

Достаточно много относительно недорогих беспроводных проектов на основе ESP8266:
D1R2 ESP8266 от RobotDyn + датчик температуры и влажности Si 7021 = telegrambot
Старые статьи (вроде без thingspeak com и подобных)
mysku.ru/blog/aliexpress/48741.html
mysku.ru/blog/diy/68375.html
mysku.ru/blog/aliexpress/59595.html
+
avatar
0
Спасибо за обзор.
Я немного прифигел, думаю чего это CubaCel здесь, а потом прочёл правильно :)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.