ПРЕДУПРЕЖДЕНИЕ: При подключении солнечной панели или батареи полярность булавок должна быть следующим образом:

Предупреждение: если требуется контроллер заряда для литий-ионной батареи, перемычка аккумулятора должна быть подключена:

Arduino IDE можно использовать для загрузки программного обеспечения через порт Micro USB. Прежде чем его можно использовать, IDE должен быть настроен. Первое - установить доску через Manager.
Перейдите в файл -> предпочтения. Добавьте следующую ссылку на URL -адреса менеджера дополнительных плат: https://github.com/skylabiot/loraedge_basictracking/raw/master/package_skylab_index.json.
Пакет пакета можно загрузить через инструменты -> Правление -> Manager ... Поиск Skylab.
Выберите плату с помощью инструментов -> Плата -> Доски Skylab -> Skylab Lora Edge.
Пример эскиза может быть загружен с помощью файла -> Примеры -> Skylab Lora Edge -> Basicloraa.
Основные зависимости эскиза базовых
Arduino Samd21 Low Power Library: https://www.arduino.cc/en/reference/arduinolowpower
Библиотека Arduino RTC: https://www.arduino.cc/en/reference/rtc
Библиотека Adafruit BME280: https://github.com/adafruit/adafruit_bme280_library
Adafruit LMS303 Библиотека акселерометра: https://github.com/adafruit/adafruit_lsm303_accel
Библиотека Flashstorage от Cmaglie: https://github.com/cmaglie/flashstorage
После загрузки режима пример наброска серийного монитора может быть открыт на уровне 9600. Система начинается с отображения настроенных DEV_EUI, JOIN_EUI и APP_KEY (MSB первой). DEV_EUI запрашивается из чипа LR1110 и является уникальным для этого конкретного чипа. Этот ключ следует использовать в консоли подержанной сети. JOIN_EUI и APP_KEY настроены в коде и должны быть изменены для правильных клавиш, заданных использованной сетевой консоли. Если правильно настроить устройство автоматически соединяется.
Отправьте 0x01, чтобы запросить полезную нагрузку сканирования Wi-Fi и GNSS (ответ находится на порте 2 и 3).
Отправьте 0x02, чтобы запросить текущую конфигурацию (ответ находится на порту 44).
Отправьте 0x03, чтобы запросить текущее напряжение батареи (ответ находится на порте 10).
Формат конфигурации нисходящей линии связи должен быть следующим:
| 0 | 1-2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| ВЕЛ | Интервал | Маяк | Wi-Fi | GNSS | Активация движения / время | Продолжительность интервала движения | Регистр порогового датчика датчика | Регистр продолжительности датчика движения |
Байт 0: привел этот байт настраивает светодиод состояния.
Байт 1 и 2: Интервал. Эти 2 байта Настройка стандартного интервала времени между сообщениями. Интервал, установленный на 0, сохранит текущие настройки и не установит новое время интервала. Максимальное время - 65535 минут.
Byte 3: Beacon Этот байт настраивает время, когда De Beacon включен. Время в минуты. Максимальное время составляет 255 минут. Когда установлено на 0, маяк не будет включен.
Байт 4: Wi-Fi Этот байт включает или выключите полезную нагрузку Wi-Fi.
Байт 5: GNSS Этот байт включает или выключите полезную нагрузку GNSS.
Байт 6: Активация движения / время. Этот байт устанавливает интервал отправки, если обнаружено движение. Время проходит в минутах с максимум 255. При установке на 0, прерывание обнаружения движения отключено.
Байт 7: Продолжительность интервала движения Этот байт устанавливает продолжительность, которую система использует интервал движения после последнего обнаружения движения. Время проходит в минутах с максимум 255. При установке на 0 этот байт будет игнорироваться (настройки тока будут использоваться).
Байт 8: Пороговый реестр датчика движения Этот байт устанавливает реестр порогового датчика движения. Если байт 7 установлен на 0, этот байт будет проигнорирован (будут использоваться текущие настройки).
Байт 9: Регистр продолжительности датчика движения Этот байт устанавливает регистр продолжительности датчика движения. Если байт 7 установлен на 0, этот байт будет проигнорирован (будут использоваться настройки тока)
Система подтверждает нисходящую линию связи, отправляя установленную конфигурацию в восходящей линии связи на порту 44 в том же формате, что и нисходящая линейка.
Ведение, интервал на 5 минут, без маяк, Wi-Fi и GNSS PAYTOAR ON, обнаружение движения:
01 00 05 00 01 01 00 00 00 00
Вернувшись, интервал 600 минут, без маяка, Wi-Fi полезная нагрузка, полезная нагрузка GNSS, обнаружение движения отключено:
00 15 36 00 01 00 00 00 00 00
Держите текущие светодиодные и интервальные настройки, без маяка, Wi-Fi полезная нагрузка, полезная нагрузка GNSS, обнаружение движения:
02 00 00 00 00 01 00 00 00 00
Включите маяк на 5 минут, обнаружение движения, оставьте все остальные настройки тока:
02 00 00 05 02 02 00 00 00 00
Держите текущие светодиодные и интервальные настройки, без маяка, Wi-Fi полезной нагрузки, полезной нагрузки GNSS, обнаружение движения с 1-минутным интервалом отправки, интервал движения, используемый в течение 4 минут после последнего движения, реестр пороговых значений движения установлен в 7, регистр продолжительности движения установлен в 3: 3:
02 00 00 00 01 00 01 04 07 03
Режим, примерный эскиз, может отправить 4 типа полезной нагрузки. Эти типы полезных нагрузок идентифицируются по используемому номеру порта. Пример сценария декодера TTN можно найти на этой странице Github (exampledecoderttn.js).
Это полезная нагрузка Wi-Fi и датчика. Эта полезная нагрузка имеет информацию о 3 точках Wi-Fi и данных датчика. Формат заключается в следующем:
| 0 | 1-6 | 7 | 8-13 | 14 | 15-20 | 21 | 22-23 | 24-25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RSSI 1 | Мак 1 | RSSI 2 | Mac 2 | RSSI 3 | Мак 3 | Напряжение аккумулятора | Температура | Давление | Влажность | Активация движения |
Байт 0, 7 и 14: Wi-Fi RSSI
Эти байты имеют силу RSSI / сигнал отсканированных точек Wi-Fi. Эти значения должны интерпретироваться как подписанные целые числа.
Байт от 1 до 6, от 8 до 13 и 15-20: Wi-Fi Mac
Эти байты имеют MAC-адреса отсканированных точек Wi-Fi.
Байт 21: напряжение аккумулятора
Этот байт имеет необработанное значение напряжения батареи. Точное напряжение может быть рассчитано с помощью: voltage = (float) ((3,3 / 255) * ((4,7 + 10) / 10) * (напряжение батареи));
Байт от 22 до 23: температура
Эти байты имеют значение температуры. Точную температуру в градусе Цельсия (◦C) можно рассчитать с помощью: температура = (float) (температура / 100);
Байт от 24 до 25: давление
Эти байты имеют значение давления воздуха. Точное давление в градусе Гектор Паскаль (HPA) можно рассчитать с помощью: давление воздуха = (float) (давление / 10);
Байт 26: влажность
Этот байт имеет ценность влажности в %.
Байт 27: Активация движения
Этот байт показывает 0 при нормальном интервале. Когда в интервале движения этот байт дает количество минут, оставшееся в интервале движения.
Это полезная нагрузка GNSS. Эта полезная нагрузка имеет только необработанные данные GNSS и имеет переменную по размеру.
Эта полезная нагрузка используется как сообщение «Я бодрствую». По умолчанию он установлен на каждые 24 часа. Это может быть изменено, изменяя значение «Время управления». Формат заключается в следующем:
Байт 0: напряжение батареи
Этот байт имеет необработанное значение напряжения батареи. Точное напряжение может быть рассчитано с помощью: voltage = (float) ((3,3 / 255) * ((4,7 + 10) / 10) * (напряжение батареи));
LR1110 отправляет автоматическое сообщение при присоединении и каждые 24 часа после этого. Это сообщение можно игнорировать.
Когда настройка маяка установлена на 1, маяк будет активирован. Устройство покинет сеть и отправляет случайную полезную нагрузку LORA каждую секунду на частоте 869800000 Гц (за пределами официальной частоты LORA). Зеленый светодиод включится, если активация светодиода установлена на 1. Маяк остановится, когда установлено время. Система вернется в сеть и будет работать, как и раньше.
| UC PIN | ПИНА ПИНА | Имя в Arduino Ide |
|---|---|---|
| PA02 | А0 | A0, DAC0 |
| PA05 | Ain5 (батарея) | Ain5 |
| PA06 | D0 | D0 |
| PA07 | D8 | D8 |
| PA08 | D3 | D3 |
| PA09 | D4 | D4 |
| PA10 | Занят (LR1110) | ЗАНЯТЫЙ |
| PA11 | Событие (LR1110) | СОБЫТИЕ |
| PA14 | Nreset (LR1110) | Nreset |
| PA15 | Светодиодный красный | Ледр |
| PA16 | Моси | Моси |
| PA17 | SCK | SCK |
| PA18 | NSS (LR1110) | NSS |
| PA19 | Мисо | Мисо |
| ПА20 | Int2 (LSM303agr) | Int2 |
| PA21 | Int1 (LSM303AGR) | Int1 |
| PA22 | SDA | SDA |
| PA23 | SCL | SCL |
| PA24 | D- (USB) | Pin_usb_dm |
| PA25 | D+ (USB) | Pin_usb_dp |
| PA27 | PA27 (PAD) | PA27 |
| PA28 | PA28 (PAD) | PA28 |
| PA30 | SWDCLK/TCK (отладчики) | - |
| PA31 | SWDIO/TMS (Debug Pins) | - |
| PB02 | PB02 (PAD) | PB02 |
| PB03 | PB03 (PAD) | PB03 |
| PB08 | LNA (GNSS) | LNA |
| PB09 | Int3 (LSM303agr) | Int3 |
| PB10 | Светодиод зеленый | Ледон |
| PB11 | Светодиодный синий | Лидер |
| PB22 | Техас | Pin_serial_tx |
| PB23 | Rx | Pin_serial_rx |
| Версия | Изменения |
|---|---|
| 1.0 | Первый релиз. |
| 1.2 | Поддержка для большей конфигурации через нисходящую связь, интеграцию датчика в полезной нагрузке Wi-Fi и радио-маяк. |
| 1.3 | Изменения для эскиза Basicloraa: Измененная нисходящая линия, чтобы взять меньше байтов. Исправьте проблему с объединением батареи, когда нет покрытия LORA. Добавлена поддержка обнаружения движения, включите путем установки MotionActivation на 1. |
| 1.3.1 | Исправлено вопрос об присоединении после неудачного присоединения в эскизе Basicloraa. |
| 1.4 | Обновленная вершина порта 2 (байт 27). Обновленный формат нисходящей связи, включая примеры. Добавлена нисходящая линия подтверждения восходящей линии связи. Возможность сохранять настройки в EEPROM, чтобы они не перезагружались при перезагрузке. |
| 1.4.1 | Очистка файлов. |
| 1.5 | Фиолетовый светодиод включается при попытке присоединиться. Исправлено для отсутствия ошибки полезной нагрузки Wi-Fi. Поддержка ALC Sync для будущего использования. Сделал код более читабельным, добавив комментарии. |
| 1.5.1 | Подготовленные EUI / ключи с нулями на серийном мониторе для облегчения копирования. Версии Lorawan, прошивка и загрузчика теперь печатают в Hex на серийном мониторе. |
| 1.5.2 | Исправлено, не отправляя первую полезную нагрузку после запуска и после первого обнаружения движения. |
| 1.5.3 | Добавлена функция нисходящей линии связи для запроса настроек. Исправлена ошибка в интервале движения. |
| 1.5.4 | Фиксированное значение интервала не всегда загружается правильно после перезагрузки. |