go to bottom
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

Еще один калькулятор удобрений

Так вышло, что у меня выдались свободные выходные и я решил наконец автоматизировать свои расчеты удобрений и компонентов. Готовые калькуляторы мне не подходят - у меня нет Microsoft Excel, а все свободные альтернативы оному шайтан-софту не работают с забористыми и древними макросами. Ну и еще личное: я очень не люблю любые интерфейсы и закрытые онлайн калькуляторы. Так что ничего не оставалось, как написать свою поделку.

Задачи были такими:


  • Простой консольный интерфейс, работающий без Интернета и без браузера
  • Сказать, сколько чего добавится в аквариум, если в него добавить какую-то соль в каком-то количестве (KNO3, KH2PO4, CH4N2O итд)
  • Сказать, сколько чего добавится в аквариум, если в него добавить во-он то садовое удобрение с процентами NPK, и trace elements, записанными на коробке (в виде P2O5, K2O, MgO или PO4, NO3 для аквариумных)
  • Уметь делать все это не для "сухого" дозирования, а для дозирования через раствор - растворить X грамм соли/удобрения в Y мл воды, а потом вносить Y' мл раствора
  • Уметь делать все, указанное выше, но рассчитать желаемую дозу
  • Упс, забыл в прошлом пункте - не просто желаемую дозу, а желаемую дозу в NO3, если вносить CH4N2O (мочевину) или "Акварин для цветения"
  • Иметь возможность расширять все это дело своими удобрениями, а также добавлять удобрения в "готовую" базу
  • Ну и все это должно быть Open Source, бесплатно, без всяких комбайнов за сотни денег, должно уметь запускаться на кофеварке, ну и мир-дружба-жвачка, все такое


В общем, это все много слов, а с самим проектом можно ознакомиться тут: https://github.com/v...
Возможно, это будет кому-то еще полезно, кроме меня Смайлик :)
2022-05-2525/05/2022 23:47:07
#3011613
Свой на Aqa.ru
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

9187 4025
Подольск
5 час.

Ой, батенька, а что ж вы это нам предлагаете? Как думаете, много аквариумистов смогут установить ваш продукт? От слова консоль дамы упадут в обморок.В наш век не пугайте людей такими вещами.
Если честно, то не впечатляет работа без графики. Графику хоть бы простенькую и собрать всё в пакет. Короче, нужна хоть как то законченная работа.
Без обид.

2022-05-2626/05/2022 18:58:51
#3011844
Нравится Nurgleat, Gra Crysis
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

Hedin
Ой, батенька, а что ж вы это нам предлагаете? Как думаете, много аквариумистов смогут установить ваш продукт?


Ну, тут вопрос предпочтений. Меня лично выворачивает от табличек в Excel (у меня они ассоциируются с накокаиненными трейдерами, когда я работал в хедж-фонде), а к любому графическому интерфейсу отношение, скорее, негативное - я даже обычным калькулятором пользуюсь исключительно консольным. Я думал о некоем подобии веб-морды, может, когда-то дойдут руки.

В данном виде калькулятор мне сильно упрощает разведение удобрений, чтобы не рыться в записях, а быстренько все посчитать, причем, в аквариумных единицах, а не вспоминать каждый раз, какой там коэффициент перевода N в NO3 итп. Впрочем, любые пожелания полезны, так что спасибо Смайлик :)
2022-05-2626/05/2022 20:07:59
#3011853
Свой на Aqa.ru
Аквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбкаАквафорум рыбка
Аватар пользователя

9187 4025
Подольск
5 час.

vstakhov
Да я всё понимаю.Но если решили обнародовать такое дело, то нужно думать о людях. А что они там понимают, имея на борту Винду или Андроид? У нас бывший президент не смог одолеть консоль и завалил линух на корню.
Вот у меня жена понятие не имеет об операционной системе, вообще! Но много лет сидит под Линуксом и не подозревает об этом. Слава богу, времена консоли в лине ушли в прошлое.Спасибо немецким комрадам и их Минту. Вот так и надо работать.Не зря учёные считали, что самым сложным не сделать открытие, а донести его суть до людей. То есть, популяризировать.
Впрочем, ладно об этом.Работайте спокойно.
2022-05-2626/05/2022 20:26:52
#3011858
Премодератор, Советник
Советник аквафорума

Аватар пользователя

11742 10794
Москва
2 мес.

Hedin

А у вас все запустилось? Смайлик :)

vstakhov

some crates failed to install
Вообще быстро вы, и формат json отличный выбор.
2022-05-2626/05/2022 20:43:23
#3011866
Завсегдатай, Советник
Советник аквафорума

Аватар пользователя

1686 2333
Москва
53 мин.

vstakhov
тут вопрос предпочтений

Меня тоже вполне устраивает консоль в таком калькуляторе. Просто и эффективно.
Хотя, полагаю, такую снасть можно в разные морды запихать, и не только в веб.


чтобы не рыться в записях, а быстренько все посчитать, причем, в аквариумных единицах, а не вспоминать каждый раз, какой там коэффициент перевода N в NO3 итп.

У меня таки все это в таблицах и формулах. Но не самый удобный способ. Возможно, с таким калькулятором будет проще.
К сожалению, вечно недосуг было всерьез разбирался в макросах и расширениях LibreOffice, а то бы попробовал туда внедрить этот калькулятор прямо на днях. Смайлик :)

Изменено 26.5.22 автор maculatus
2022-05-2626/05/2022 20:45:12
#3011868
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

maculatus
Хотя, полагаю, такую снасть можно в разные морды запихать, и не только в веб.


Веб там очень просто добавить с точки зрения архитектуры - все внутренние стурктуры десериализуются из json/toml, что легко разделяет визуализацию и логику калькулятора. Просто "визуализация" сейчас - это консоль Смайлик :)


maculatus
К сожалению, вечно недосуг было всерьез разбирался в макросах и расширениях LibreOffice, а то бы попробовал туда внедрить этот калькулятор прямо на днях.


Да мне тоже было все время недосуг понять, почему формулы Excel не работают в LibreOffice, ну и вообще, понять логику всех этих таблиц, которые вроде бы все умеют, но непонятно, как именно. И куда там вводить данные своих удобрений, да.
2022-05-2626/05/2022 22:53:08
#3011902
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

Olga K Button
some crates failed to install


Странно: только что проверил все инструкции даже под Windows, и все сработало с "нуля". Установил rust через rustup, дальше через cargo установил проект и запустил. Все в command shell, без особых проблем. Понятно, что в Linux и под маком все тоже работает.
2022-05-2627/05/2022 00:44:42
#3011922
Завсегдатай, Советник
Советник аквафорума

Аватар пользователя

1686 2333
Москва
53 мин.

vstakhov
Просто "визуализация" сейчас - это консоль

Уже вижу. Возможно, просится api, благо сложным он не выглядит. Зато можно будет даже на любом скриптовом языке сделать под разные ситуации хоть сценарий, хоть разные вариации визуализации.

А базу расширяемую можно вообще держать как отдельный сервис. Учитывая, что садовых (и не только) удобрений может оказаться немало. Смайлик :)

Главное, вовремя остановится. Смайлик :)
2022-05-2727/05/2022 02:00:39
#3011930
Премодератор, Советник
Советник аквафорума

Аватар пользователя

11742 10794
Москва
2 мес.

vstakhov

Ну тут могут быть варианты:
1. попробовать --force cargo to force overwriting existing crates or binaries;
2. due to thin client - тем более, на другой лаптоп можно поставить полноценный компилятор;
3. all the rest are non blondies & advanced Rust developers.

Одно из двух Смайлик :)
2022-05-2727/05/2022 11:03:19
#3011982
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

Olga K Button
Ну тут могут быть варианты:


Так вы скажите, как ставите и на какой OS, а то не очень понятно.

maculatus
Возможно, просится api, благо сложным он не выглядит.


Ну да, там самым сложным было распарсить формулу, типа KNO3 или Ca(NO3)2, и получить из нее состав по элементам. А остальное - игра в конструктор "Лего" Смайлик :)
2022-05-2727/05/2022 11:37:13
#3012006
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

vstakhov
Веб там очень просто добавить с точки зрения архитектуры - все внутренние стурктуры десериализуются из json/toml, что легко разделяет визуализацию и логику калькулятора.


В общем, тряхнул стариной и впилил простой веб-интерфейс. Можете посмотреть на https://fertcalc.xyz...
Список готовых удобрений брал из тех, что нашлись у меня в сарае, но, в принципе, любое удобрение, в том числе и аквариумное, можно там легко задать, так как все компоненты определяются в виде как элементов (NPK), так и в виде сложных веществ (типа NO3, P2O5 итд).
2022-07-1212/07/2022 13:11:22
#3020926
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

347 79
Москва
5 час.

vstakhov
Поясните, для тех кто в танке, "Enter dose volume in milliliters" - это недельная или ежедневная доза?
2022-09-0808/09/2022 12:04:11
#3031503
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

fogary
Поясните, для тех кто в танке, "Enter dose volume in milliliters" - это недельная или ежедневная доза?


Это та доза, которую вам удобно вносить. Например, я хочу в свой 190 литровый аквариум вносить в неделю 15мг/л нитрата. У меня есть литровая бутылка и мерный стаканчик на 20мл. Мне также удобно вносить эту дозу за три приема: поэтому за один прием я хочу вливать 20мл из литровой бутылки и получать 5мг/л нитрата. Ну и в калькуляторе выходит так: ввожу компонент (KNO3), вношу геометрический объем 190 (реальный объем калькулятор считает сам), вношу 1000мл объем моей бутылки, дозу 20мл и цель в 5мг/л. Ну и получаю, что мне нужно в бутылке замешать 65г KNO3.

Кроме того, я сразу вижу, что при таком внесении я буду также вносить 9мг/л калия. Если мне это много, то я могу половину вносить на мочевине, уменьшив дозу KNO3 в два раза. Тогда мне вместе с 32.5г KNO3 нужно добавить еще 9.7г мочевины (ввожу 2.5мг/л NO3 в калькуляторе), что даст тот же результат по азоту, но калия будет добавлять не 9мг/л, а всего 4.5мг/л в неделю.
2022-09-0808/09/2022 15:22:03
#3031522
Нравится maculatus
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

347 79
Москва
5 час.

vstakhov
Спасибо за разъяснение, стало более понятно.

В вэб версии калькулятора, если вместо объема указать размеры аквариума в сантиметрах, то получаются какой-то чудовищный вес реактива. Для вводных из Вашего примера и размера 70х40х45 см, расчетный вес KNO3 - 43658.701 г. Если указывать размеры в дециметрах, то вес совпадает с рассчитанным по объему.
2022-09-0808/09/2022 16:30:00
#3031529
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Cambridge
2 час.

fogary
Если указывать размеры в дециметрах, то вес совпадает с рассчитанным по объему.


Ну да, там ожидаются на входе именно дециметры (потому что литр - это кубический дециметр), так что это задача JS выполнить преобразование. Я это дело поправил, но не очень понятно, как оно должно обновиться. В любом случае, спасибо за нахождение ошибки.
2022-09-0909/09/2022 01:42:38
#3031645
Посетитель
Аквафорум рыбкаАквафорум рыбка
Аватар пользователя

347 79
Москва
5 час.

vstakhov
Спасибо, после обновления страницы (Ctrl+F5) калькулятор стал считать правильно.

В случае монофосфата калия, считать нужно по P или PO4?
Кажется логичным считать по PO4, раз и тест на него.
2022-09-0909/09/2022 10:39:03
#3031695
Свой на Aqa.ru, Кандидат в Советники
Кандидат в советники аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорумаРыбки аквафорума

Аватар пользователя

4592 3931
United Kingdom Seacroft
2 час.

Добавил в калькулятор выбор языка. Может, не до конца все переводится, так как я вообще не особо специалист во фронтэнде, и слепил его "из того, что было". Также добавил в парсер формул поддержку гидратов (типа CaCl2*2H2O).

В дальнейшем планирую дополнительный режим расчета - расчет по покомпонетной формуле удобрения. Например, у нас есть удобрение, где на этикетке написано N: 10%, P2O5: 1%, K2O: 15%, и мы хотим понять, что будет, если такое удобрение засыпать в аквариум. Или, в случае с аквариумными: NO3: 20%, PO4: 5%, K: 25%.

2023-08-1717/08/2023 16:57:11
#3098239
Нравится Drumkar



Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Польвователь
Top