С появлением у меня собственного 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
GSM подешевле будет, особенно за счёт того что «приёмная аппаратура» всё равно имеется.
Ардуино-Нано $2, GSM модуль меньше $5.
Хотя «просто набрать номер» наверно хватит и дигиспарка на Attiny85 за $1.2 вместо 328P.
Энергопотребление? Так в гараже электричество есть, подзаряжать батарею несложно.
Задавить помехами GSM сложнее.
Радиус действия — всё покрытие сети с учётом роуминга.
Девайс в обзоре — для другого. Для независимой (от ОпСоСов) и бесплатной передачи информации, пакетов данных, а не просто «датчик сработал».
Какое-нибудь гигантское тепличное хозяйство и сбор информации о температуре, влажности, содержании углекислого газа с сети датчиков, чтобы не морочиться с проводами (прокладкой и поддержанием в рабочем состоянии).
Большой логистический комплекс и сбор информации с погрузчиков (пробег, время простоя, тоннаж, уровень заряда батарей, примерное местонахождение по последним считанным стационарным меткам). И всё это на карте комплекса, как в Старкрафте…
Направьте в нужном направление. Нужно в гараж без электричества сигналку поставить. Информирование о вскрытие (может датчик движения). Можно на ардуино.
Собранный девайс отработал четыре полных месяца без подзарядки и продолжает работать, хотя правильнее сказать «спать». Проверяется это простой перезагрузкой через белую кнопку. При энергопотреблении 250 мкА (через стабилизатор LE33) и аккумуляторе ~1430 mAh, хотя ладно, ввиду неновизны аккумулятора округлим до 1000mAh, получается, что девайс может отсыпаться около 5.5 месяцев без подзарядки. Если всё-таки выпаять стабилизатор, то время работы можно смело умножить в 10 раз.
вот все лора лора — супер дальнобой… в выводе до 6км на открытой местности — если только в океане на забытом острове, где нет индустриальных помех.
с сигналками 800МГц тоже обещают 1.5км, а реально торец высотки не пробивают…
брал ВиФи репитер, обещали до 10км — ага, 1.5км не пробивает…
Тоже как-то брал пару Лораван, при прямой видимости — 200 м (без зданий и деревьев). А если без прямой видимости, то даже торец 9 этажки не пробивает, как тут человек написал. Прямо расстройство. Антенны использовал типа «пружинка».
Торец — это боковая стенка здания без окон? Девятиэтажка — это из панелей?
Ну, тогда стена дома представляющая собой сплошной бетон (без окон), армированный металлической сеткой, возможно по которой идёт проводка, является для радиосигнала довольно сильным препятствием.
Нет.
Motorola, Kenwood, ICOM, Vertex… и их клоны — да. Но можете написать в ЛС. Возможно, смогу помочь.
… По статистике надёжности я бы на первое место поставил Motorola. Не убиваемые… Ремонт у них в 99% это ремонт тангенты :) И 1% от старости может слететь прошивка (флэш не вечная)
C такой мощностью и на такой частоте на 9км по прямой видимости будет нормально работать и обычная FM-радиостанция. Не нужно никакой Лоры. :)
Причем тут FM/AM и т.д.? У вас логическая ошибка. Работать будет много чего. Но будет ли оно энергоэффективнее? И мой пример это просто как получилось. Может оно и на 30км или на 100 пробило бы, я не пробовал.
С точки зрения энергоэффективности — что в лоб, что по лбу, тут либо скорость, либо мощность. Нюансы в том, что в эфире мы не одни плюс к тому есть шум. А так бы да, 100 км одним ваттом вообще не вопрос, даже без ухищрений с размазыванием спектра…
2 Siroc-co
Логическая ошибка у вас. Вы написали про 9км с «Лорой», как про некое достижение.
нормально работала на 9км
… Если мало, то активно набирает развитие проект lacuna lora satellite.
:)
Вот если бы написали про 99км, тогда да, заинтересовало бы…
Энергоэффективности можно достичь разными путями. Вот одна моя самоделка: radiokot.ru/circuit/analog/receiv_transmit/19/
… В современной цифровой радиосвязи очень хорошо учтены разные нюансы. Лора не первая.
Посмотрите меню программы-конфигуратора, например, к цифровой радиостанции Motorola. Уверен, что о половине пунктов настройки вы даже ничего ещё никогда не слышали.
Там много есть по энергоэффективности — настройка тайм-слотов (две р/с могут одновременно работать на одной частоте) и т.д.
На фото, что я выложил выше — прошлый век в прямом и переносном смысле. Списанные мною аналоговые р/с.
Не поверите, но на международную космическую станцию легко передать вай-фай. Образно говоря. Тут дело больше в препятствиях, чем в расстоянии. Законы физики не отменить.
QAM таблицы развалятся изза допплера, да и не только они, частота уплывет тоже. Помню как на 2м и 70см их слушал и даже на такой частоте допплеровский сдвиг приходилось учитывать :)
Вот тоже много где читал нарекания по поводу дальнобойности лоры. Интересно, есть какая-нибудь более дальнобойная альтернатива, км эдак на 20, пусть даже с максимально никакущей скоростью? Хоть байт, хоть бит в секунду… Само собой без обустройства вышек с направленными антеннами, чтобы конечное устройство было компактным, не привлекающим постороннего внимания и энергоэффективным.
есть конечно — радиолюбители пользовались в прошлом веке — КВ и выше (по длине волны), в моменты прохождения легко тысячи км было прохождение))))))) антенна — провод натянул между домами)))))))
насчет компактности и далее — чем то приходится жертвовать…
Автоматизация сельского хозяйства, где нет и не будет NB-IOT (я вот тоже планирую использовать для теплиц и ульев).
Сбор показаний с датчиков (вода, газ, отопление и т.д.- уже много мест, где внедряется это).
Можно использовать транспорта данных (но достаточно медленного тогда) в местах, где много помех — заводы всякие.
Да любые вещи требующие датчики и не имеющие розетки, чтобы дальнобойные и батарейку не жрали.
Особо актуально во всяких датчиках на гвс/хвс/цо, чтобы показания передавал сам раз в день, да ежемесячно при этом было недорого…
Поставили станцию на район, вот все показания четко собираются, сразу видно где не работает, сигнализирует, что батарейка нуждается в замене, даты поверки и прочее…
Я так и делал. Мои модули lora работают по uart — тоесть куда угодно можно лепить, к роутеру/контроллерам/мобильнику.., хоть из терминала напрямую можно работать. Есть модули с AT командами.
Буду признателен если поделитесь скетчем Ардуинки для Lora по UART или ссылкой где взять примеры. У меня есть несколько плат Лоры, но проверить их не знаю как. К сожалению имею совсем небольшой опыт в этой области.
совместимость с Ардуино ИДЕ. Так в чем плюс? А том, что генерится куча пустого кода, который жрет процессорное время и память?
Плюс здесь только в том, что просто лепить из кучи готовых. библиотек, которые тянутся ради одной функции каждая. По факту получается громоздкий неэффективный код
ну вот пробовал на Ардуино ИДЕ написать код. Получил задержки больше, чем ожидал, код большой, который влез без запаса по памяти.
Написал то же на gcc, и задержки.пропали и код компактнее
Ну начинаецо :)
Arduino IDE, внезапно как раз gcc и использует.
Вот честно, где-то слышали, что Arduino — не труъ, а почему, фигегознает? Так ведь?
Повальная декларация совместимости с Arduino IDE означает, во-первых, что модуль можно будет запрограммировать даже программатором Громова, а во-вторых, где-то лежит либа, тупо реализующая стандартные методы и дефайнящая стандартные алиасы. Ну и может кое-какой рантайм, если он нужен.
И использовать всё это вы можете совсем даже не в Arduino IDE, а например, в CLion + PIO, выкинув GCC, или даже (хоба!) Visual C++.
Действительно, а в чем собственно проблема совместимости. Любая совместимость — плюс, вас не заставляют ею пользоваться. Сам пишу VSC+PIO, а совместимость — возможно подсмотреть в библиотеку (несколько библиотек), которые уже кто то написал до меня. Если каждый заново колесо будет изобретать, телега вряд ли получится. Мне кажется в основном arduino-ненавистники — люди, сами недалеко ушедшие от arduino, но уже мнящие себя мастерами своего дела.
модуль можно будет запрограммировать даже программатором Громова
Вовсе не обязательно для поддержки arduino даже иметь SPI программирование. Список поддерживаемых программаторов задаются в конфиге платы, можно туда поставить хоть один единственный свой проприетарный программатор. (И его поддержку добавить в Arduino IDE)
а во-вторых, где-то лежит либа, тупо реализующая стандартные методы и дефайнящая стандартные алиасы
Это да, но как писал автор «Идеальная совместимость с Arduino!» уже не верно, т.к. не одними стандартными методами богата arduino. А и набором библиотек, которые с кастомными платами могут и не дружить. Бывает просто подшаманить у них в кишочках и добавить поддержку. А бывает что написаны на чистом С, и придется это все переводить.
И использовать всё это вы можете совсем даже не в Arduino IDE, а например, в CLion + PIO, выкинув GCC, или даже (хоба!) Visual C++.
Более того, можно даже в Arduino IDE скопипастить код из Visual C++ / avr-gcc и он заработает на чистом С++ (переопределить main и все arduino зависимости будут выброшены еще на этапе компиляции).
Предложите более подходящий для задачи (набор «МК для чайников») контроллер. Предлагая не забудьте сместиться во времени на полтора десятка лет назад.
ps: для большинства diy применений мощностей atmega328 и сейчас достаточно. Более чем достаточно.
По большому счету из опенсорсного диайвая, стартовавшего на ардуине лично мне известны только две предметные области, где серьезно уперлись в производительность платформы: прошивки 3D принтеров и полетные контроллеры.
ну лично я полтора десятка лет назад сыскал atmega 162 c двумя аппаратными Uart и приделал к ним USB от igor plug и вcе на асме и без ардуин
собтвенно, это не у меня, а у другого господина сегодня утром возникли некие задержки и его давно заминусовали
наверное нам уже не скажут — шашечки или ехать.
у меня на вскидку не хватает фантазии предтавить зачем «чайнику» прям понадобиться одновременно 2 UART и 10 битный АЦП, если припрет то можно «шить» через isp, без uart.
Ну и внешний АЦП к ардуинам иногда любят подключать, хоть 24 разрядный. Пусть это будет измеритель чего нибуть, с передачей куда нибуть по gsm. задача в принципе неторопливая — можно использовать софтовый порт, но и к cкорости работы АЦП требований нет.
Ну а дальше, у нас лет как 6 есть atmega32u4 — отлаживать можно по usb к компу подключать.
Очень напрягают безграмотные комменты людей, которые не совсем врубаются в то что такое Arduino
Ну ко мешает написать грамотный код в Arduino IDE без задержек, применения глючных библиотек и даже без Wiring? А если мешает еще и начальная задержка загрузчика, то загрузить свой код чере программатор из той же Arduino IDE?
да, но не только. для того же esp он позволяет использовать фреймворк и от производителя чипа.
а если использовать библиотеку ардуино, то в отличие от arduino ide в нем нет стремного кастомного препроцессора, и можно писать на плюсах во всю мощь)
если вернуться к «истокам» то для расматриваемой платы с psoc 4000 вообще мало чего есть,
platformio ее не поддерживает, но есть родная среда разработки на осове толи make толи cmake — не помню уже, но все как «в лучших домах»
Придется правда подумать о поддержке lora, но наработки рабочие то можно и у ардуино подглядеть.
Там и так нет никакого Wiring) это обычные плюсы с несколько необычным препроцессором и «библиотекой ардуино», и все это сделано так, чтоб было похоже на Wiring. Они вообще назвали это «Arduino programming language (based on Wiring)»
Полгода назад делал на s76s лораван накладку на водяной и газовый счетчик. Ток потребления был 10мка при 5 герцах работы оптики считывания зеркала. Думаю что если уйти от обдурины, то потребление в спячке при включенном ртц будет порядка 1 мка.
Там внутри стоит STM32L073x, поэтому ардуина и не нужна.
А я вот в свое время понапокупал всяких E78, которые по идее тоже с ASR650x, но никак не могу разобраться — ни один программатор их не видит.
Должно, но у меня что-то никак не выходит каменный цветок.
Может модули мёртвые, но десяток от разных продавцов…
наверное руки, вот займусь их выпрямлением, и при успехе будет мой первый обзор)
Там то стоит стмка, но инфы никакой на то время о внутренних связях с трансивером не было. Пришлось подолбаться, а вот на это хозяйство US $5.12 29%OFF | Модуль LoRa SX1276 SX1278, Модуль Node STM32, 433 МГц, 470 МГц, 868 МГц, 915 МГц, низкая мощность a.aliexpress.com/_AN2ZcL стек быстро прилепил, но он туда еле влез, пришлось немного поурезать. А так если честно, то можно со всем разобраться, тут главное что бы настроение и время было.
Вертушка наполовину черная наполовину с отражателем. Бывает отражатель с сектором 120 градусов а не 180. В центр светим ик светодиодом, а в трех точках вписанного треугольника с фототранзисторов снимаем через ацп сигнал. В принципе все очень просто, но есть дофига мелких ньюансов.
Началось всё вроде за здравие, типа «есть поддержка Ардуино», потом всё сорвалось в какой-то «Thethingsnetwork» (что это вообще? и кому это нужно?).
Где описание (или хотя бы упоминание) MCU на котором построен модуль? Если это STM32, то причём тут Ардуино? (кому и зачем нужно программировать STM32 в Ардуино?).
Где хоть какой-то базовый пример программирования модуля в Ардуино? (чтобы было понятно о чём вообще идёт речь)
конечно правильно все пояснить
только в двух словах это не объяснить не углубляясь сильно в стороны, и не понятно будеттли польза от этого
ведь сразу пойдут коментарии: много воды, много текста, ничего не понятно, это надо на хабр.
а это обзор желёзки а не пошаговая инструкция.
Обзор железки говорите? Как можно умудриться обозреть модуль и даже не упомянуть MCU на котором он сделан? Это малозначительная информация? Зато пол-обзора занимает рассказ о каком-то «Thethingsnetwork».
Кстати таким же подходом страдает и компания-производитель: «у нас классные модули, у нас классные модули», а что у них внутри и как с этим работать — догадайся сам.
в самом начале написано следующее
" в которые уже интегрированы MCU серии PSoC® 4000"
про установку написано
«Для добавления поддержки данной платформы в Arduino IDE нужно всего пара действий: добавить источник загрузки пакетов поддержки и в менеджере плат непосредственно найти и установить пакет поддержки для Cube Cell. „
источник вот только не указан в текстовом виде.
В принипе можно расписать что такое PSoC® 4000, где скачать Arduino… но это перебор.
А вот про «Thethingsnetwork» как бы маловато написано потому что непонятно что это такое есть.
Но если читать с начала то есть ссылка на предыдущуюю статью mySKU.me/blog/aliexpress/81731.html где подробно и скартинками расписано что это такое и с чем его едят.
Вот поэтому Cube Cell как платформа сейчас находится в глубой … и далее будет находиться там же, пока до производителя не дойдёт, что нужно каждому потенциальному покупателю на пальцах объяснять, что такое PSoC® 4000 и как работать с её контроллерами (это конечно если они хотят сделать платформу популярной, если не хотят — то можно продолжать делать вид, что все знают, что такое PSoC® 4000 и как с ним работать).
Вот поэтому Cube Cell как платформа сейчас находится в глубой … и далее будет находиться там же, пока до производителя не дойдёт, что нужно каждому потенциальному покупателю на пальцах объяснять, что такое PSoC® 4000 и как работать с её контроллерами (это конечно если они хотят сделать платформу популярной, если не хотят — то можно продолжать делать вид, что все знают, что такое PSoC® 4000 и как с ним работать).
Разработчики решили пойти по другому пути. Текст с официальной страницы товара (автоматический перевод)
ну так можно сказать про очень много вещей которые сделаны может и хорошо но продаются плохо — об них никто не знает. ну или может продают достаточно чтобы окупаться.
«покупатели должны сами найти» что то мне напоминает… но на такие вещи покупателя ещё сыскать надо.
зато популярны малина и Андуина.
что касается psoc то это штука сама по себе интересная но почему то на слуху avr и stm32
Насколько я понимаю, поэтому и реализована поддержка Ардуино IDE и для решения большинства задач, для которых предназначена эта платформа, совершенно не нужно знать, что такое PSoC® 4000.
Я вот тоже ничего не понял, сначала описание ТТХ девайса и сразу какая-то «сетка с вещами». WTF??? Если это ардуина с лорой то на кой хрен там это? Ардуина и лора самодостаточные устройства и им не вперлось это непонятное трудно выговариваемое смешение букв. А если это устройство заточено онли под этот ресурс, то оно не нужно как таковое. Я думал будет пример градусника на базе этого устройства, установленного на километры в поле в теплице и передающего показания домой на сервер. А тут какая-то реклама левого ресурса.
я так понимаю он не захотел париться изобретением велосипедов а взял готовое и проверенное решение :) о чем и поделился (там еще предыдущая статья есть).
свой сервер — это как миниум вопрос с маршрутизацией и доменным именем, можно дома, можно VPS использовать. а можно воспользоваться готовым сервисом. И данные на него передавать можно по разному.
и да он не потрудился толком объснить логичку выбора, но явлется ли это рекламой?
Вы путаете два различных понятия. NAT это не маршрутизация, а преобразование (изменение одного адреса на другой). При маршрутизации адреса источников не меняются.
Если хотите могу расписать подробно как это выглядит.
Я вот тоже ничего не понял, сначала описание ТТХ девайса и сразу какая-то «сетка с вещами». WTF??? Если это ардуина с лорой то на кой хрен там это? Ардуина и лора самодостаточные устройства и им не вперлось это непонятное трудно выговариваемое смешение букв. А если это устройство заточено онли под этот ресурс, то оно не нужно как таковое. Я думал будет пример градусника на базе этого устройства, установленного на километры в поле в теплице и передающего показания домой на сервер. А тут какая-то реклама левого ресурса.
Настоятельно рекомендую ознакомиться с обзором LoRaWAN-шлюза и по ссылке в начале обзора дабы не возникало подобных вопросов.
Спасибо за обзор, как раз недавно заприметил эту платку на канале «дядьки со швейцарским акцентом», где очень хвалили ее характеристики. Я правильно понимаю, что имея две таких платы можно обойтись без дорогостоящего шлюза, если задача — дистанционно считывать данные для собственных нужд с одного устройства?
Я правильно понимаю, что имея две таких платы можно обойтись без дорогостоящего шлюза, если задача — дистанционно считывать данные для собственных нужд с одного устройства?
Да, есть возможность передачи данных в режиме «точка-точка».
Не совсем понял. Это ведь не p2p. Приемник данных получается некая антенна Lorawan (назовем ее Базовой Станцией (БС)) Thethingsnetwork которая завязана на их-же некий сервер (где и происходит генерация ключей). Какова вероятность, что БС от Thethingsnetwork находится в пределах видимости вашего модуля именно в вашем городе/регионе? Наверно это частный случай и вероятность существования БС Thethingsnetwork скажем в моем городе/регионе равна нулю. PS: посмотрел на сайте www.thethingsnetwork.org/ карту расположения их БС. На всю мою область (которая по площади сравнима с Австрией и Швейцарией, вместе взятыми) — только одна БС, и радиус уверенного приема условно говоря 1км от нее…
у автора свой собтвенный шлюз описанный в отдельной статье
не совсем понятно зачем его вообще регистрировать где то
ну кроме как на карте поглядеть :)
вообще так у Lora вроде как есть и p2p режимы
Да и самое главное- 99% успеха в дальнобойности таких проектов- это правильность антенны и качество соединительного кабеля. Тут целая наука, все сложно.
В связи с периодическими внезапными морозами хотелось бы иметь недорогие системы умного дома с удаленным мониторингом(с датчиками температуры) для предотвращения замораживания отопительной систем и других функций.
ZigBee хотя и энергоэффективная технология(с не сильно дорогими датчиками), но для её работы все еще требуется не дешевый Xiaomi Smart Home Gateway 2 или аналог.
Ардуино-Нано $2, GSM модуль меньше $5.
Хотя «просто набрать номер» наверно хватит и дигиспарка на Attiny85 за $1.2 вместо 328P.
Энергопотребление? Так в гараже электричество есть, подзаряжать батарею несложно.
Задавить помехами GSM сложнее.
Радиус действия — всё покрытие сети с учётом роуминга.
Девайс в обзоре — для другого. Для независимой (от ОпСоСов) и бесплатной передачи информации, пакетов данных, а не просто «датчик сработал».
Какое-нибудь гигантское тепличное хозяйство и сбор информации о температуре, влажности, содержании углекислого газа с сети датчиков, чтобы не морочиться с проводами (прокладкой и поддержанием в рабочем состоянии).
Большой логистический комплекс и сбор информации с погрузчиков (пробег, время простоя, тоннаж, уровень заряда батарей, примерное местонахождение по последним считанным стационарным меткам). И всё это на карте комплекса, как в Старкрафте…
а zigbee маловато
а вот модуль на LORA по типу описываемого — самый раз.
или из этой серии
mySKU.me/blog/ebay/43282.html
mySKU.me/blog/ebay/44545.html
mySKU.me/blog/aliexpress/49889.html
mySKU.me/blog/aliexpress/50940.html
Датчик движения — это постоянное потребление энергии, хоть и небольшое. Чаще придётся ходить аккумуляторы менять.
mySKU.me/blog/diy/70860.html
Или солнечную батарею городить…
Питается только Ардуина, которая при срабатывании «будит» GSM модуль.
Меньше $2 https://aliexpress.ru/item/item/32283531730.html
с сигналками 800МГц тоже обещают 1.5км, а реально торец высотки не пробивают…
брал ВиФи репитер, обещали до 10км — ага, 1.5км не пробивает…
Поэтому можно обещать ТОЛЬКО на открытой местности, всё остальное зависит от конкретной ситуации.
Ну, тогда стена дома представляющая собой сплошной бетон (без окон), армированный металлической сеткой, возможно по которой идёт проводка, является для радиосигнала довольно сильным препятствием.
Если мало, то активно набирает развитие проект lacuna lora satellite.
А я ею занимаюсь (в частности ремонтом радиостанциий) уже 25 год…
Motorola, Kenwood, ICOM, Vertex… и их клоны — да. Но можете написать в ЛС. Возможно, смогу помочь.
… По статистике надёжности я бы на первое место поставил Motorola. Не убиваемые… Ремонт у них в 99% это ремонт тангенты :) И 1% от старости может слететь прошивка (флэш не вечная)
Логическая ошибка у вас. Вы написали про 9км с «Лорой», как про некое достижение.
:)
Вот если бы написали про 99км, тогда да, заинтересовало бы…
Энергоэффективности можно достичь разными путями. Вот одна моя самоделка:
radiokot.ru/circuit/analog/receiv_transmit/19/
… В современной цифровой радиосвязи очень хорошо учтены разные нюансы. Лора не первая.
Посмотрите меню программы-конфигуратора, например, к цифровой радиостанции Motorola. Уверен, что о половине пунктов настройки вы даже ничего ещё никогда не слышали.
Там много есть по энергоэффективности — настройка тайм-слотов (две р/с могут одновременно работать на одной частоте) и т.д.
На фото, что я выложил выше — прошлый век в прямом и переносном смысле. Списанные мною аналоговые р/с.
насчет компактности и далее — чем то приходится жертвовать…
Очень интересно, если есть реальное приминение !!!
Сбор показаний с датчиков (вода, газ, отопление и т.д.- уже много мест, где внедряется это).
Можно использовать транспорта данных (но достаточно медленного тогда) в местах, где много помех — заводы всякие.
Особо актуально во всяких датчиках на гвс/хвс/цо, чтобы показания передавал сам раз в день, да ежемесячно при этом было недорого…
Поставили станцию на район, вот все показания четко собираются, сразу видно где не работает, сигнализирует, что батарейка нуждается в замене, даты поверки и прочее…
Плюс здесь только в том, что просто лепить из кучи готовых. библиотек, которые тянутся ради одной функции каждая. По факту получается громоздкий неэффективный код
Написал то же на gcc, и задержки.пропали и код компактнее
Arduino IDE, внезапно как раз gcc и использует.
Вот честно, где-то слышали, что Arduino — не труъ, а почему, фигегознает? Так ведь?
Повальная декларация совместимости с Arduino IDE означает, во-первых, что модуль можно будет запрограммировать даже программатором Громова, а во-вторых, где-то лежит либа, тупо реализующая стандартные методы и дефайнящая стандартные алиасы. Ну и может кое-какой рантайм, если он нужен.
И использовать всё это вы можете совсем даже не в Arduino IDE, а например, в CLion + PIO, выкинув GCC, или даже (хоба!) Visual C++.
и platformio
Это да, но как писал автор «Идеальная совместимость с Arduino!» уже не верно, т.к. не одними стандартными методами богата arduino. А и набором библиотек, которые с кастомными платами могут и не дружить. Бывает просто подшаманить у них в кишочках и добавить поддержку. А бывает что написаны на чистом С, и придется это все переводить.
Более того, можно даже в Arduino IDE скопипастить код из Visual C++ / avr-gcc и он заработает на чистом С++ (переопределить main и все arduino зависимости будут выброшены еще на этапе компиляции).
хотя по факту все верно там все самопальное, и пргограмматор там всякой свой
а то извините в адрудине есть даже software uart непонятно для чего
здесь к тому же arm а не avr
сперва берётся неподходящий для задачи контроллер, нагружаем проц, а потом удивляемся на задержки
а виновата почему то Ардуина
ps: для большинства diy применений мощностей atmega328 и сейчас достаточно. Более чем достаточно.
По большому счету из опенсорсного диайвая, стартовавшего на ардуине лично мне известны только две предметные области, где серьезно уперлись в производительность платформы: прошивки 3D принтеров и полетные контроллеры.
собтвенно, это не у меня, а у другого господина сегодня утром возникли некие задержки и его давно заминусовали
у меня на вскидку не хватает фантазии предтавить зачем «чайнику» прям понадобиться одновременно 2 UART и 10 битный АЦП, если припрет то можно «шить» через isp, без uart.
Ну и внешний АЦП к ардуинам иногда любят подключать, хоть 24 разрядный. Пусть это будет измеритель чего нибуть, с передачей куда нибуть по gsm. задача в принципе неторопливая — можно использовать софтовый порт, но и к cкорости работы АЦП требований нет.
Ну а дальше, у нас лет как 6 есть atmega32u4 — отлаживать можно по usb к компу подключать.
Ну ко мешает написать грамотный код в Arduino IDE без задержек, применения глючных библиотек и даже без Wiring? А если мешает еще и начальная задержка загрузчика, то загрузить свой код чере программатор из той же Arduino IDE?
а если использовать библиотеку ардуино, то в отличие от arduino ide в нем нет стремного кастомного препроцессора, и можно писать на плюсах во всю мощь)
platformio ее не поддерживает, но есть родная среда разработки на осове толи make толи cmake — не помню уже, но все как «в лучших домах»
Придется правда подумать о поддержке lora, но наработки рабочие то можно и у ардуино подглядеть.
А я вот в свое время понапокупал всяких E78, которые по идее тоже с ASR650x, но никак не могу разобраться — ни один программатор их не видит.
www.ebyte.com/en/product-view-news.aspx?id=770
Может модули мёртвые, но десяток от разных продавцов…
наверное руки, вот займусь их выпрямлением, и при успехе будет мой первый обзор)
a.aliexpress.com/_AN2ZcL стек быстро прилепил, но он туда еле влез, пришлось немного поурезать. А так если честно, то можно со всем разобраться, тут главное что бы настроение и время было.
Где описание (или хотя бы упоминание) MCU на котором построен модуль? Если это STM32, то причём тут Ардуино? (кому и зачем нужно программировать STM32 в Ардуино?).
Где хоть какой-то базовый пример программирования модуля в Ардуино? (чтобы было понятно о чём вообще идёт речь)
только в двух словах это не объяснить не углубляясь сильно в стороны, и не понятно будеттли польза от этого
ведь сразу пойдут коментарии: много воды, много текста, ничего не понятно, это надо на хабр.
а это обзор желёзки а не пошаговая инструкция.
Кстати таким же подходом страдает и компания-производитель: «у нас классные модули, у нас классные модули», а что у них внутри и как с этим работать — догадайся сам.
" в которые уже интегрированы MCU серии PSoC® 4000"
про установку написано
«Для добавления поддержки данной платформы в Arduino IDE нужно всего пара действий: добавить источник загрузки пакетов поддержки и в менеджере плат непосредственно найти и установить пакет поддержки для Cube Cell. „
источник вот только не указан в текстовом виде.
В принипе можно расписать что такое PSoC® 4000, где скачать Arduino… но это перебор.
А вот про «Thethingsnetwork» как бы маловато написано потому что непонятно что это такое есть.
Но если читать с начала то есть ссылка на предыдущуюю статью mySKU.me/blog/aliexpress/81731.html где подробно и скартинками расписано что это такое и с чем его едят.
«покупатели должны сами найти» что то мне напоминает… но на такие вещи покупателя ещё сыскать надо.
зато популярны малина и Андуина.
что касается psoc то это штука сама по себе интересная но почему то на слуху avr и stm32
— много такого о чем создатели ардуино и не задумывались
-своя свреда разработки и даже немного визуальная
свой сервер — это как миниум вопрос с маршрутизацией и доменным именем, можно дома, можно VPS использовать. а можно воспользоваться готовым сервисом. И данные на него передавать можно по разному.
и да он не потрудился толком объснить логичку выбора, но явлется ли это рекламой?
Если хотите могу расписать подробно как это выглядит.
не совсем понятно зачем его вообще регистрировать где то
ну кроме как на карте поглядеть :)
вообще так у Lora вроде как есть и p2p режимы
habr.com/ru/company/nag/blog/371067/
В связи с периодическими внезапными морозами хотелось бы иметь недорогие системы умного дома с удаленным мониторингом(с датчиками температуры) для предотвращения замораживания отопительной систем и других функций.
Датчик температуры и влажности Xiaomi
mySKU.me/blog/aliexpress/72607.html
future2day.ru/umnyj-dom-na-osnove-arduino/
IoT-роутер + Датчик движения + Датчик протечки + Датчик дыма + Датчик открытия
mySKU.me/blog/china-stores/49856.html
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.me/blog/aliexpress/56754.html (через thingspeak)
Применение в других устройствах:
mySKU.me/blog/china-stores/46334.html (еще интересный недорогой вариант)
mySKU.me/blog/aliexpress/14654.html
Достаточно много относительно недорогих беспроводных проектов на основе ESP8266:
D1R2 ESP8266 от RobotDyn + датчик температуры и влажности Si 7021 = telegrambot
Старые статьи (вроде без thingspeak com и подобных)
mySKU.me/blog/aliexpress/48741.html
mySKU.me/blog/diy/68375.html
mySKU.me/blog/aliexpress/59595.html
Я немного прифигел, думаю чего это CubaCel здесь, а потом прочёл правильно :)