• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

RTL00 MP3 player

A_D

Active member
Подозрения на панические атаки - так и запишите :)

А другая тема не относящаяся к вопросу то при чем? Нарушение ассоциативности мышления - тоже запишите.

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

pvvx

Активный участник сообщества
Последний вопрос как раз касается вас, A_D - вы хотели дать обществу измеритель потребления.... На RTL для INA219 я уже написал то, что в описано вопросе и прогнал на работоспособность - нет только приемного кода на JavaScript. Замеры тока и напряжения прут с дискретом 1 ms, т.к. менее INA219 не способна...
 

Neov

Member
Бредите уже на яву? Бегом в стационар... :)
Истерика все не кончается? Так запишите ещё транквилизаторов, ещё побольше и посильней. Да, именно запишите, лучше на бумажку, ясным почерком, иначе если врач не поймет, вы кинетесь с очередной истерикой, а с врачами так нельзя :) Это чистые мои добрые пожелания вам, программист то вы, кажется, не плохой, но душа явно требует лечения, может к старости и станете полноценным человеком. А впрочем сугубо ваше дело :) меня все устраивает, в любом случае пациент вы полезный --- худо-бедно кривой костыльный и корявый полуСДК из вас вылезает, пилите дальше, а вот форуму бы получить отдельную ветку имени пациента, иначе вся полезная техническая информация смешивается со его желчью.
вот что случается
А вам бы с симптомами неконтролируемого смеха тоже не помешало бы:D или недеюсь прошло? по весне бывает?
 
Последнее редактирование:

Neov

Member
Вы нашли баг в этом (?):
По факту lwip в том обрезанном коде, что я прислал - не падает, а в моем проекте падает, есть потенциальный баг на примете, нужно отлаживать. Не все умеют с первого раза писать :)
Обясняю :) xQueue - это не бездонное FIFO.
Отличное объяснение:D
 

A_D

Active member
Последний вопрос как раз касается вас, A_D - вы хотели дать обществу измеритель потребления.... На RTL для INA219 я уже написал то, что в описано вопросе и прогнал на работоспособность - нет только приемного кода на JavaScript. Замеры тока и напряжения прут с дискретом 1 ms, т.к. менее INA219 не способна...
Да, в процессе. Я приболел неожиданно + как раз на срочную пайку плат это наложилось. :\ (как обычно по Мерфи всё)
По измерителю - я делаю простейшее устройство на STM32 с аппаратным USB + минимум внешней комплектухи. От USB берется питание и прогой на ПК этот девайс конфигурируется, на самом девайсе еще USB мама (только питание) и потребление по ней и измеряется.
Прога на C#. Будут выложены исходники и описание.. но не уверен, что прям хорошо получится. (рабочий прототип уже вышел, надо все баги вычистить только). И что б не быть пустословным, ПО выглядит пока так:
Безымянный.png
А вот в WEB технологиях я не очень разбираюсь... если бы знал - с радостью помог бы!

что то похожее на нужное:
Stream Data to Create Realtime Charts w/ D3.js and Rickshaw | PubNub

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

pvvx

Активный участник сообщества
По измерителю - я делаю простейшее устройство на STM32 с аппаратным USB + минимум внешней комплектухи.
Я так и подумал. Но STM32 измерять то как, без гальвано-равзяки? Тоже ставить что-то подобное INA219 (или более шустрые)? Если нет, то уж надо делать на минимум параллельных 2-х канальных 24-х битных ADC (ток и напруга одновременно и обязательно с одинаковыми импульсными характеристиками фильтров - иначе будет врать). У меня такое уже есть, на eval-board-ADuC7061MKZ - рисует графики и выдает хоть в Exel для дальнейших расчетов... Где-то были и для 2-х AD7714, и на 2-х AD7793... Могу кинуться - где-то уже кидал...
А если уж игрушка - то должна быть дешевой, но функциональной - по тому RTL + INA219 и любое внешнее устройство с броузером. WiFi = гальвано-развязка, хоть на кВ :)

PS: А Neov пусть пишет - народу веселее - читать то нечего... :) Будет совсем плохо себя вести - введем тяжелую артиллерию... :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Истерика все не кончается?
Нет - с вами веселее.
Так запишите ещё транквилизаторов, ещё побольше и посильней. Да, именно запишите, лучше на бумажку, ясным почерком, иначе если врач не поймет, вы кинетесь с очередной истерикой, а с врачами так нельзя :) Это чистые мои добрые пожелания вам, программист то вы, кажется, не плохой, но душа явно требует лечения, может к старости и станете полноценным человеком.
К старости все возвращается - в детство, если дотянете. А так-же я не считаю себя программистом. Какой из меня переводчик в машинные коды? На то есть натасканные особи, зазубривающие все либы и "правила программирования".
А впрочем сугубо ваше дело :) меня все устраивает, в любом случае пациент вы полезный --- худо-бедно кривой костыльный и корявый полуСДК из вас вылезает, пилите дальше, а вот форуму бы получить отдельную ветку имени пациента, иначе вся полезная техническая информация смешивается со его желчью.
Чисто техническое = очень скучное и писать там нечего, т.к. есть справочники, c которыми научиТЬСЯ работать вы не можете освоить... Т.е. всё всегда сводится к вопросам и непоняткам индивидуума. Но, увы - я вам бесплатным личным онлине-дохтуром работать отказываюсь. Веселее будет наоборот - помочь вам в вашем утоплении. :p :)
Вы ещё не знаете, что народу кроме хлеба надо? Google и тот знает, если начать вбивать “хлеба” ... :)
 
Последнее редактирование:

Neov

Member
А так-же я не считаю себя программистом.
А кем пациент себя считает?
Веселее будет наоборот - помочь вам в вашем утоплении. :p :)
Прямо с цитатой, сами уже наверное догадываетесь куда вам идти. Уже маниакальность однако. Надеюсь социальная изоляция не потребуется, сдк то нужен :(
Вы ещё не знаете, что народу кроме хлеба надо? Google и тот знает, если начать вбивать “хлеба” ... :)
На данном форуме народу от вас требуется вменяемый сдк и ардуина, ваши истерики мало кому интересны, хотя и есть такие :)
 

pvvx

Активный участник сообщества
А кем пациент себя считает?
У вас опять путаница. Питание и пищу вам даю я, значит пациентом является Neov. Вы сами требуете исполнять должность вашего лечащего врача... Читайте внимательнее там: "Права пациента", "Обязанности ..." и "Ответственность..."..
Прямо с цитатой, сами уже наверное догадываетесь куда вам идти. Уже маниакальность однако. Надеюсь социальная изоляция не потребуется, сдк то нужен :(
Всё - с моей версией SDK дела заканчиваются. Вышел новый SDK 4.0.a - будете с ним работать, а у меня наступает лето.
Второй раз уже прямо пишу - маниакальность развивается у мелочных эгоистов, а я супер эгоист. Вам этого не достичь и не постичь - разная классификация. Это как "голодный сытому не товарищъ" :)
На данном форуме народу от вас требуется вменяемый сдк и ардуина, ваши истерики мало кому интересны, хотя и есть такие :)
Без проблем могу уйти на другой форум и оставить эту миссию вам :) Пароли и sha ключ от github так-же могу передать... А то и так тут долго задержался, а поставленные задачи уже выполнены - оно проросло и теперь должно приносить плоды чужими руками, что и требовалось для удовлетворения целей супер эгоизма... :p Через некоторое малое время вы уже будете оплачивать мне свою же работу. Или опять непонятно писано – бесплатный сыр… Вот пора взращивать новый источник, пока угасают десятки предыдущих, пророщенных за уже более 35 лет.
 
Последнее редактирование:

pvvx

Активный участник сообщества
А чем flot не устраивает? Вроде Вы уже его использовали для подобных целей на esp8266.
У Smoothie Charts: A JavaScript Charting Library for Streaming Data много ошибок в масштабировании, нет возможностей расчета средних значений и запись точек идет не по индексу, а по времени поступления, что создает ещё бардачек - на одну точку по времени приема приходится несколько точек и отображение выходит некорректное...
 

pvvx

Активный участник сообщества
Я имел в виду Flot: Attractive JavaScript plotting for jQuery , правда ему jQuery нужен.
jquery.js 266 килобайт - больше объема собранных и отображаемых данных
Нулевые возможности в отображении: Flot Examples: Real-time updates
Оно там используется JavaScript Oscilloscope - Developer Help
Все другие, так называемые встроенные в систему, выводят осциллы потоковых данных типа звука. Но это надо кодировать поток, а нет такого желания в перегрузке ненужными функциями простых модулей...
Ещё примеры Libraries - The Open Source Discovery Service
Virtual Oscilloscope
Canvas Oscilloscope
...
Примерно такое надо -> Oscilloscope - - Data Visualizer , но с другими пимпочками - расчеты среднего за указанный замер, сохранение в XLSx и прочих функций... :)
 
Последнее редактирование:

GDI

New member
Ну, jquery.min.js уже в 2 раза меньше 138к + сам jquery.flot.min.js - 51.7к, а дополнительные возможности делаются плагинами по 3-5к размером. А вот данные он отображает ровно как Вам нужно, по порядковому номеру, если есть пропуск в нумерации, то и на графике будет пропуск.
Вот еще такая либа есть Chartist - Simple responsive charts пишут, что без зависимостей. Но я ее сам не пробовал еще.
Пимпочки делаются в html, либа для графиков тут не причем. Сохранение в CSV тоже делается отдельно на javascript, ну, наверное и в либах такое делают, но зачем привязываться к ним? Лучше уж по отдельности собрать из кубиков.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Ну, jquery.min.js уже в 2 раза меньше 138к + сам jquery.flot.min.js - 51.7к, а дополнительные возможности делаются плагинами по 3-5к размером. А вот данные он отображает ровно как Вам нужно, по порядковому номеру, если есть пропуск в нумерации, то и на графике будет пропуск.
В живом, движущемся графике-осциллограмме с синхронизацией. Синхронизация выходит дополнительной "пимпочкой".
Пимпочки делаются в html, либа для графиков тут не причем. Сохранение в CSV тоже делается отдельно на javascript, ну, наверное и в либах такое делают, но зачем привязываться к ним? Лучше уж по отдельности собрать из кубиков.
Это смотря как смотреть.
Обычно, при отображении практически любых данных с датчиков необходимы два варианта - статический (для анализа заранее выбранного куска) и динамический - текущего потока. У нас не высокие скорости и текущий динамический поток данных отобразить несложно, но методы синхронизации могут быть сложнее графической рисовалки... Так-же не зря на осциллографах есть останов и возможности ковыряния в накопленном буфере, для выяснения причины, а ковыряние в предложенных либах вывода графиков сделано ужасно или вообще не реализовано... Ну и с анализом, к примеру уже усредненных пусть за часы и месяцы данные - тут тоже слишком много вариантов и сложно отобрать самые необходимые. Да и путем прикручивания дополнительных "пимпочек-фич" это решается ещё сложнее. По этому проще передать данные более "компетентной" среде обработки, скинув их в стандартном формате.
В итоге и выходит - обычную программу вывода графика в пару килобайт написанного на си, javascript не в состоянии уложить и в мегабайты своего кода. Целый проект на годы надо затевать :) Ужасная вещь эта java, если к ней нет или кто-то не подготовил готовые внешние либы. API современных операционок это всё умеют и уже давно содержат.
Как простой и доступный издавна пример - в Borland Паскале есть полная и готовая рисовалка графиков с вставкой доп. формул и прочей фигней (типа редакцией вывода отображения на ходу)... Её функционала до сих пор нет в javascript исполнении, а если и есть - то это гигабайт скриптов и полный тормоз.
К LabVIEW прикрутить любой поток от датчиков, да с полной обработкой - это дело одного вечера, а в javascript, вообще в REST или ... это морока на годы. :)
 
Последнее редактирование:

GDI

New member
Ну Вы сравнили, цельный осциллограф (LabVIEW, Borland, прогу на ПК) с его LCD экраном, чем, по сути и является JavaScript + HTML. Это же просто средство отображения информации, оно так и задумывалось когда то. Просто сейчас на этот "экран", если продолжать аналогию, навесили тач скрин и стало возможным на него нажимать, но нажатия то все равно в процессоре обрабатываются. Ну, и Джаваскрипт, все же скриптовый язык, а Лабвью и Борланды компилируются. В исходниках то программы тоже намного больше места занимают.
Я джаваскрипт и веб интерфейсы программить сам не люблю, то ли дело на Си накодить по быстрому и в консоль вывести результат :)
 

pvvx

Активный участник сообщества
В исходниках то программы тоже намного больше места занимают.
Да ну. При применении встроенного интерфейса медиа-файлов, ну типа wav, там, в javascript вообще кода отображения нет. Только запуск либ - пару строк, а осцилу уже кажет. Смотрите примеры... Вот только данные надо представить в таком потоковом формате, что требет доп.ресурсов у RTL при передаче. Это цельный сервак вещания мультимедия из RTL сотворить надо (описываю без спец. терминов, чтобы было понятно). Скрипт и вся HTTP может обращаться только к спец.ресурсам (websocket, RTP/RTSP/... и другие потоковые вещания) - простой TCP или UDP порт он открыть и тусовать от туда данные не может... А процедура вывода точки на экран не является сверх задачей и не содержит массу исходников :) Вот только она тут не и не нужна, т.к. весь сервис отображения с любыми масштабированиями (и даже фильтрами) уже есть для этих потоков... Ну и так-же беда - фиг что от туда выташить можно для обычного представления и дальнейшей уже своей обработки... Это закопаться на веки надо в данных либах и результат всё равно будет не известен - выйдет или нет :) Проще это выразить так - всё уже давно сделано до нас, но не для нас :)
Остается найти прямой и малозатратный путь в этих дебрях, чтобы слепить простое очко осциллографа на экране и большую кнопку - выкинуть данные c графика в CSV или XMLx...
Ну а пока ничего не приглянулось - итог только потраченное время на углубление в данные технологии...
 
Последнее редактирование:

GDI

New member
Я делал сохранение в CSV вот так How to export JavaScript array info to csv (on client side)?. Просто взял функцию из второго ответа (где 104). Правда, данные при этом нужно все держать в памяти браузера. Т.е. весь массив накапливается на стороне клиента. У меня было 90000 точек, каждая из которых содержала целочисленный индекс и значение с плавающей точкой, все они отображались на графике flotcharts, сохраненный CSV был размером 1,42Мб. Браузер при этом заметно подтормаживал :). Выглядело это, как Вы и описали, график и кнопка.
 

pvvx

Активный участник сообщества
Я делал сохранение в CSV вот так How to export JavaScript array info to csv (on client side)?. Просто взял функцию из второго ответа (где 104). Правда, данные при этом нужно все держать в памяти браузера. Т.е. весь массив накапливается на стороне клиента. У меня было 90000 точек, каждая из которых содержала целочисленный индекс и значение с плавающей точкой, все они отображались на графике flotcharts, сохраненный CSV был размером 1,42Мб. Браузер при этом заметно подтормаживал :). Выглядело это, как Вы и описали, график и кнопка.
Ну всякие измерения в дом.лабе используются примерно для снятия таких параметров - см. вложение.
(просто тест параметров управления драйвера 4..20 мА путем вывода ШИМ с микроконтроллера с датчиком и запиткой от того-же тока)
Сразу видно, что линейность нормальная для данного дешевого решения с XTR117.. + PIC24FV32KA301.. + цифровой датчик ...
И для большинства замеров требуется гальваническая развязка, что идеально обеспечивает измеритель на WiFi + ADC на 24 бит :)

На БордандПаскале ПО приема замеров с графиками описывается за вечер, но хотелось бы перенести это (и другое нажитое и новое) на обычный браузер с javascript…
Снимок1484.gif
Т.к. подобных тестов и замеров уже сделано немерянно за время разработки и вообще общения с рэа, то опыт показывает, что данное дело стандартизируется в определенные рамки и большой функциональности не требуется. Задачи анализа уже принятых замеров всегда производятся на специализированном ПО.
Тут, к примеру, то что во вложении, в Exel, которое ныне есть почти в каждом устройстве...

В итоге выходит практически одинаковые решения для динамического отображения поступающих данных и редакции – вырезки необходимой выборки для передачи в другое ПО, для всех вариантов – что логгер с датчиком (собирающий данные циклически хоть за год), что измеритель без усреднений. Т.к. в логгер всегда входит отображение текущих данных с дискретом от 1 мс. А при таких скоростях данные всегда можно передать по WiFi и обработать в javascript, даже от десятка каналов 24-х битных ADC на современных устройствах.

И удивляет, почему нет уже готовых решений...
 

Вложения

  • 125.3 KB Просмотры: 8
Последнее редактирование:

pvvx

Активный участник сообщества
Вот такая фигня выходит на основе примера от JavaScript Oscilloscope - Developer Help на RTL00+INA219 (пример кода для передачи бинарного массива в websocket дан в RTL00_WEB):
Снимок1489.gif
sweep 0.5..50 Гц 2 сек
Никакой редакции и масштабирования, а кода javascript там 275 к (jquery.js) + 126 к (jquery.flot.js)... Больше чем вся прошивка с web-сервером :)
 
Последнее редактирование:
Сверху Снизу