Расчет расстояния и курса по координатам двух точек земли.
rw6cm 27.09.21
Блок для веб интерфейс JeeUI2-v.4.09 для esp8266 / esp32
Веб интерфейс для esp 8266/32*, использующий при построении веб-интерфейса привычный блочный принцип.
-Блоки компилируются также как находятся на плате. (по тем же правилам как и остальные блоки в FLProg).
-Используйте кнопку 'Порядок компиляции блоков" чтобы убедиться в правильности сборки блоков при компиляции!
-Счет страниц начинается с "0", т.е. страница=0 - это Первая страница!!! Номер страницы задается для каждого блока отдельно в параметрах блока.
-Возможно использование совместно со штатным веб-интерфейсом (в этом случае необходимо задать свой адрес, например, " /test").
-Возможно использование опции "Обновление прошивки" (WebUpdate Firmvare).
-Имена пунктов в меню, кнопках и т.д. - не должны быть пустыми.
-Выход "out" в блоках - на этом выходе появятся Данные с веб страницы на один цикл
-Выход "новые данные" в блоках - на этом выходе будет "1" на один цикл и говорит о том что получены новые данные с веб страницы.
-Надпись на выходах блоков "(R-t) ..." означает, что выход работает как R-триггер (R-t).
-Надпись на выходах блоков "(i)" означает, что выход носит информационный характер и не требует подключения.
-Выход "get" - при каждом запросе данных с веб-страницы это вход будет принимать значение "1".
-На странице 0 (т.е. на первой странице) - должен быть хотя один (ЛЮБОЙ) элемент веб-интерфейса. хоть просто один перенос
----------------------------------------------------------------------------
-ВСЕ блоки веб-интерфейса должны быть в самом конце проекта. (необязательно на одной плате)*
-В самом конце проекта, на самой последней плате необходимо вытащить блок "ПОСЛЕДНИЙ БЛОК"
-(for devops) Весь код, содержащийся в Любых Других блоках в секциях "Конец секции Loop", будет помещен в функцию empty().
Эта функция empty() ,будет запускаться в конце Loop.
-----------------------------------------------------------------------------
*в целом необязательно - важно не забыть "Последний Блок" вытащить)
----------------------------------ВНИМАНИЕ!!!---------------------
в FLProg 7.5.2 - если изменяете МК, то Перед компиляцией:
1.Cохраните проект после этого.
2.Переоткройте проект заново.
(иначе не сработают условия внутри блоков и получите ошибку при компиляции!).
**это обязательно!
**данный баг известен разработчику FLProg, ожидаем исправления :)
----------------------------------------------------------------------------
****отладочную информацию (json строку) можно посмотреть по адресу: "тут-IP-есп/echo?0, где 0 - это номер страницы"
Блок "убирает тормоза" esp8266 если она не подключена клиентом к WiFi сети.
Пока на входе "Отключать Точку Доступа при соединении клиентом" единица - точка
доступа будет отключаться при соединении клиентом.
Вход "period002" - время в мсек, по истечении которого будет осуществлена
попытка подключиться клиентом к WiFi сети. (т.е. если на входе "period002"
установлено значение 30000 - то esp8266 будет пытаться подключиться
к WiFi сети один раз в 30 секунд).
*не рекомендуется менее 30000 мсек
**иногда возможен ребут в случае: нет соединения клиентом + юзер находится на
веб-странице Точки Доступа + нажимает например там кнопку - и в это время происходит
попытка соединения клиентом.
Мультиблок GPS, выбирает данные из пакета NMEA формата, переданного по UART.
Данные могут быть, как общепринятые, так и дополнительные, заложенные производителем GPS.
Мультиблок имеет блоки:
"Дата" "Время" "Координаты" "Курс" Высота" "Скорость" Спутники" "Точность места"
А так же блок извлекающий дополнительные данные, заложенные производителем GPS
Во многих блоках есть подсчет времени загрузки цикла блоком.
Некоторые имеют дополнительные выходы (встроенные детекторы изменения сигналов).
Блоки используются в проекте один раз, кроме блока со звездочкой.
Библиотека TinyGPSflp.
Это слегка измененная под FLProg библиотека «TinyGPS++» version=1.0.2.
Более подробней на форуме:
https://forum.flprog.ru/viewtopic.php?f=74&t=7582#p106420
rw6cm 27.09.21
flp7.3.8
Блок для записи данных в Google-Таблицы
// 0) Заходим в Google-Таблицы, Инструменты > Редактор скриптов...
// 1) Вставляем туда этот код
// 2) Сохраняем и именуем уникальным названием
// 3) Задаем в меню способ запуска в режиме "doGet"
// 4) При первом запуске скрипт попросит вас дать ему права на редактирование таблицы
// 5) В главном меню > Развернуть как веб-приложение...
// Каждый раз, когда заново разворачиваете скрипт, выбирайте последнюю версию
// Выставляем права: "Me (your email address)"
// ВАЖНО: выберите "Anyone, even anonymous" в меню "Кто может редактировать этот скрипт"
// Сохраняем опубликованный URL для использования в дальнейшем.
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec
// https://script.google.com/macros/s/---Ваш-Script-ID--здесь---/exec?tag=test&value=-1
// Эта Функция будет вызвана один раз при первом исполнении
Блок для Google таблица из двух параметров, float, integer.
Сайт: https://www.google.ru/sheets/about
Код по видео: https://www.youtube.com/watch?v=okNECYf2xlY&t=415s
rw6cm 21.03.21
esp8266 flp7.3.4
Блок для автомобильного бортового компьютера
Rh — мгновенный расход бензина в литрах в час (когда стоишь с заведённым двигателем). Когда машина едет вместо Rh появляется Ri — мгновенный расход на 100км.
Rm — средний расход в литрах на 100км за минуту. Только при движении.
Rp — количество потраченного бензина в литрах за поездку. Если заглушить и опять завести машину, обнуляется.
S — скорость км/ч. Скорость откалибрована по навигатору под конкретные колёса. При скорости выше 110 км/ч подсветка экрана начинает моргать. Удобно на трассе если семья и семейный бюджет дороже адреналина.
T — пробег в км за последнюю поездку.
t — температура за бортом.
Rzapr и Tzapr — общий расход бензина в литрах и расстояния в километрах. Хранится в энергонезависимых ячейках. Обнуляется маленькой кнопкой если включен второй экран. Удобно контролировать подсчёт потраченного бензина для корректировки. Также можно контролировать АЗС, если заправить полный бак и обнулить. Через пару недель приехать туда же и опять заправить до полного. Сравнить показания на колонке АЗС с Rzapr. У меня были расхождения максимум в 0.3 литра.
Ta — тахометр об/мин
Блок предназначен для работы с программой CANHacker V2.00.01 и работает в связке с модулем MCP2515
Подключение модуля:
SCK - 13 pin arduino
SI - 11 pin arduino
SO - 12 pin arduino
CS - настраивается (по умолчанию 10 pin arduino)
INT - настраивается (по умолчанию 2pin arduino)
Внимание! Библиотека CanHacker.h по умолчанию настроена на частоту кварца в модуле MCP2515 на 16 мГц. Если у вас модуль с частотой 8 мГц. То вам необходимо в библиотеке CanHacker.h в строке 68 найти: CAN_CLOCK canClock = MCP_16MHZ; сделать изменения на такие : CAN_CLOCK canClock = MCP_8MHZ;
Автор блока : aidar_i на форуме flprog
Тестирование и оформление : Eraser19rus на форуме flprog
Блок был создан на основе скетча и библиотек для CANHacker автор : Dmitry
Flprog v 6.3.1 . Arduini IDE v 1.8.12 на момент создания