Каким-то аналогичным образом можно, например, закодировать любой алгоритм в виде многочлена, в том числе для простых чисел.
Понятно — любое простое число можно записать с помощью полинома. На сегодня — это полином, содержащий 26(!) переменных и имеющий степень 25(!).
А есть уверенность в том, что с увеличением вычислительных возможностей компьютеров не придется, например, добавлять в полином 27-ю переменную?
Несколько не по теме: о формуле простых чисел. Многие серьезные математики (и не только) занимались этой проблемой, но до сих пор — вопрос открытый. Запомнилась одна из последних попыток (автора не помню): 6i — 1, 6i + 1, где i = 1,2,3….
Дело, казалось бы, за малым: убрать из ряда квазипростые числа — произведение простых чисел. Например, 5 * 7 = 35 — не простое число.
Интересно, будет в ближайшее время найдена формула простых чисел? Какие прогнозы?
Согласитесь, обратный осмос и дистилляция — разные технологии очистки одного из самых эффективных растворителей — воды. Но я не отличиях этих технологий, а о общей минерализации питьевой воды.
Например, ГCанПиН 2.2.4-171-10 (Украина) задает не только верхний (7,0), но и нижний предел общей жесткости — 1,5 ммоль/дм3.
А ставить под сомнение рекомендации ВОЗ, которыми руководствуются правительства многих стран, — это чересчур смело с Вашей стороны. Успехов!
В какой-то мере деминерализованную воду можно сравнивать с дистиллированной. Читаем в Википедии: «Дистиллированная вода сама по себе пригодна для питья. Всемирная организация здравоохранения в 2011 году отметила, что не имеется достаточно данных для установления нижних (и верхних) пределов жёсткости воды[4]. Однако, поскольку питьевая вода может оказаться важным источником кальция и магния для некоторых категорий населения (у которых другие источники этих минералов ограничены), то при использовании деминерализованной воды в источниках водоснабжения рекомендовано добавлять соли кальция и магния до уровней, наблюдаемых в природной воде в данной местности[4].»
Уточню свой вопрос: как построить построить тестовый скетч, чтобы проверить файловую систему?
Я пытался, что-то найти в нете, но ничего не нашел. Возможно не там искал?
На основе Вашего монитора качества воздуха сделал два проекта: термостат и очередной вариант монитора.
Но вот уже несколько недель мучаюсь с проблемой:
При выполнении функции, где идет проверка файловой системы (if (!SPIFFS.begin()) ...) выводится сообщение «Failed to mount file system».
Поначалу предполагал, что в результате многочисленных перезаписей затер файловую систему, но на новом модуле NodeMCU ESP12E проблема не исчезла.
Для наглядности привожу информацию с монитора Arduino IDE (ESP.reset(); и factoryReset(); в скетче закомментированы).
протокол
Failed to mount file system
*WM: Adding parameter
*WM: blynk_token
*WM: Adding parameter
*WM: address
*WM: Adding parameter
*WM: tZ
*WM: Adding parameter
*WM: Tmn
*WM: Adding parameter
*WM: Tmx
*WM: Adding parameter
*WM: Cmx
*WM: Adding parameter
*WM: Hmn
*WM: Adding parameter
*WM: timeSW
*WM: Adding parameter
*WM: formFS
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client…
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 0
Connect to WiFi:
net: am180206
pw: vb654321
Open browser: 192.168.4.1
to setup device
*WM:
*WM: Configuring access point…
*WM: am180206
*WM: vb654321
*WM: AP IP address:
*WM: 192.168.4.1
*WM: HTTP server started
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Sent config page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: WiFi save
*WM: Parameter
*WM: blynk_token
*WM: b0bf3e0d02f648c6b7aff07028fff25c
*WM: Parameter
*WM: address
*WM: cadil@ukr.net
*WM: Parameter
*WM: tZ
*WM: 2.0
*WM: Parameter
*WM: Tmn
*WM: 18.0
*WM: Parameter
*WM: Tmx
*WM: 25.0
*WM: Parameter
*WM: Cmx
*WM: 1600.0
*WM: Parameter
*WM: Hmn
*WM: 35.0
*WM: Parameter
*WM: timeSW
*WM: 1.0
*WM: Parameter
*WM: formFS
*WM: 0
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client…
*WM: Connection result:
*WM: 3
Should save config
saving config
failed to open config file for writing
{«blynk_token»:«b0bf3e0d02f64хххххххххх»,«address»:«ххххххххх»,«tZ»:«2.0»,«Tmx»:«25.0»,«Cmx»:«1600.0»,«Tmn»:«18.0»,«Hmn»:«35.0»,«timeSW»:«1.0»,«formFS»:«0»}WiFi connected
IP address: 192.168.1.102
Load config…
Failed to open config file
Failed to load config
e-mail: e-mail
T_Zone:
T max:
CO2 max:
T min:
H min:
Time Summer/Winter:
format FS: 0
token: Blynk token
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client…
*WM: Already connected. Bailing out.
*WM: IP Address:
*WM: 192.168.1.102
IP number assigned by DHCP is 192.168.1.102
Starting UDP
Local port: 2390
waiting for sync
Transmit NTP Request
time.nist.gov: 132.163.97.4
No NTP Response :-(
! Off Blynk!
:) OnLINE
T: -100.00*C
H: -1%
Ti: -100.00*C
165.85.2009
37:165
…
Из протокола видно, что ключ Blynk и и остальное не сохранилось. Ответ, конечно, есть в первой строке - «Failed to mount file system», но с трудом верится, что на трех модулях ESP8266 проблемы с ФС.
Помогите, пожалуйста, разобраться.
а зачем так сложно? не проще ли поменять gpio15 и gpio16 местами и gpio15 притянуть резистором на землю?
Т.е. cs экрана дергать через gpio15, а с датчиком общаться по gpio16.
Тогда и транзистор не нужен будет.
У вас конфликт: сначала вы предлагаете притянуть gpio15, к которому подключаете вывод CS экрана, к «земле», а потом «дергать» CS, получается, «землю».
В целом, это попытка перевести управление экраном 1.44 SPI Adafruit с 4-х проводов на 3 (RESET — не в счет).
Цитирую из примера test к библиотеке TFT_ILI9163C.h (экран 1.44, 128х128 Adafruit):
/*
Teensy3.x and Arduino's
You are using 4 wire SPI here, so:
MOSI: 11//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
MISO: 12//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
SCK: 13//Teensy3.x/Arduino UNO (for MEGA/DUE refere to arduino site)
the rest of pin below:
*/
#define __CS 10
#define __DC 9
/*
Teensy 3.x can use: 2,6,9,10,15,20,21,22,23
Arduino's 8 bit: any
DUE: check arduino site
If you do not use reset, tie it to +3V3
*/
Я доверяю разработчику библиотеки. Хотя, поверьте, мне бы очень хотелось ошибаться.
Популярно о 1.44″TFT можно посмотреть тут.
«цепи питания условно не показаны:
...»
Спасибо!
У меня просьба — укажите, пожалуйста, соответствие выводов экрана на вашей схеме маркировке для экрана 8-pin: CS, AO, SCK, SDA.
«Для домашнего применения сойдет, но для улицы я бы держался от них подальше.»
Да я и не замахиваюсь на улицу. Монитор качества воздуха — помещение заложено в названии.
«В обоих условиях DHT не жил больше 2х месяцев при эксплуатации на улице.»
Жаль, что в то время с интервалом два месяца вы только набирали статистику, меняя приборы с датчиком или сам датчик DHT22. Возможно задумайся раньше, у вас на сегодня была положительная (или другая) статистика по другому датчику, например, тому же ВМЕ280.
«Я честно говоря не понимаю зачем вам измерять индекс жары в помещении»
В северной стране Канада считают по-другому — там метеорологи публикуют этот индекс, в США тоже есть его аналог — индекс тепла. Что касается меня, то планы есть, но пока не буду их обнародовать, не проверив на практике.
«Я склонен думать что BME умеет отображать этот параметр.»
У меня тоже много догадок.
«Я всего лишь написал что-бы поделиться опытом.» Спасибо!
«На вашем месте я бы сменил DHT-22 на BME, или хотя-бы на более дешевые BMP от Bosch. По моему опыту DHT датчики совершенно не адекватные в плане измерение влажности и не очень долговечные.»
Я вожусь с датчиком DHT22 около двух лет (после того, как благополучно сжег дорогой BME280). У меня свой опыт:
Разница в показаниях влажности между DHT22 и метеостанцией **CROSS* не более 10%. Сейчас, когда набираю эти строки 52% и 49%.
Неадекватность проявилась только один раз: датчик на двое суток зашкалил на отметке 99%, скорее всего, после моих издевательств.
У датчика есть «плюс» — он рассчитывает индекс жары. Насколько этот «плюс» актуальный — посмотрим летом…
«На куске схемы с транзистором 2N2222A нужно поставить ограничивающий резистор в базу, иначе он будет помирать с завидной регулярностью.»
Спасибо! Сделал.
«Соре за негатив, но разработки подобного уровня не дотягивают до звания «профессиональные». Их нельзя тиражировать, т.к. они не до конца продуманы и не имеют сборочного комплекта, т.е. платы, на которую можно монтировать компоненты (или готовая смонтированная, которую нужно собрать в корпус).»
Не отрицаю. Читаем выше: "… немного приблизился к статусу профессиональной разработки".
«Вы не поняли, я просто хотел узнать — данные отправляются куда либо только из этой функции? Т.е. нет других участков кода, откуда отправляются данные наружу?»
Посмотрите mailer() — тут тоже отравляются данные наружу.
«Скажите, за передачу данных наружу отвечает void sendToBlynk()? Хочется например передавать по http данные куда то на свой сервис.»
Функция sendToBlynk() отравляет данные на сервер Blynk'а. Как отправить данные на другой сервис? — у меня нет ответа. Извините.
Понятно — любое простое число можно записать с помощью полинома. На сегодня — это полином, содержащий 26(!) переменных и имеющий степень 25(!).
А есть уверенность в том, что с увеличением вычислительных возможностей компьютеров не придется, например, добавлять в полином 27-ю переменную?
Дело, казалось бы, за малым: убрать из ряда квазипростые числа — произведение простых чисел. Например, 5 * 7 = 35 — не простое число.
Интересно, будет в ближайшее время найдена формула простых чисел? Какие прогнозы?
Например, ГCанПиН 2.2.4-171-10 (Украина) задает не только верхний (7,0), но и нижний предел общей жесткости — 1,5 ммоль/дм3.
А ставить под сомнение рекомендации ВОЗ, которыми руководствуются правительства многих стран, — это чересчур смело с Вашей стороны. Успехов!
Я пытался, что-то найти в нете, но ничего не нашел. Возможно не там искал?
Но вот уже несколько недель мучаюсь с проблемой:
При выполнении функции, где идет проверка файловой системы (if (!SPIFFS.begin()) ...) выводится сообщение «Failed to mount file system».
Поначалу предполагал, что в результате многочисленных перезаписей затер файловую систему, но на новом модуле NodeMCU ESP12E проблема не исчезла.
Для наглядности привожу информацию с монитора Arduino IDE (ESP.reset(); и factoryReset(); в скетче закомментированы).
*WM: Adding parameter
*WM: blynk_token
*WM: Adding parameter
*WM: address
*WM: Adding parameter
*WM: tZ
*WM: Adding parameter
*WM: Tmn
*WM: Adding parameter
*WM: Tmx
*WM: Adding parameter
*WM: Cmx
*WM: Adding parameter
*WM: Hmn
*WM: Adding parameter
*WM: timeSW
*WM: Adding parameter
*WM: formFS
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client…
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 0
Connect to WiFi:
net: am180206
pw: vb654321
Open browser:
192.168.4.1
to setup device
*WM:
*WM: Configuring access point…
*WM: am180206
*WM: vb654321
*WM: AP IP address:
*WM: 192.168.4.1
*WM: HTTP server started
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Sent config page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: WiFi save
*WM: Parameter
*WM: blynk_token
*WM: b0bf3e0d02f648c6b7aff07028fff25c
*WM: Parameter
*WM: address
*WM: cadil@ukr.net
*WM: Parameter
*WM: tZ
*WM: 2.0
*WM: Parameter
*WM: Tmn
*WM: 18.0
*WM: Parameter
*WM: Tmx
*WM: 25.0
*WM: Parameter
*WM: Cmx
*WM: 1600.0
*WM: Parameter
*WM: Hmn
*WM: 35.0
*WM: Parameter
*WM: timeSW
*WM: 1.0
*WM: Parameter
*WM: formFS
*WM: 0
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client…
*WM: Connection result:
*WM: 3
Should save config
saving config
failed to open config file for writing
{«blynk_token»:«b0bf3e0d02f64хххххххххх»,«address»:«ххххххххх»,«tZ»:«2.0»,«Tmx»:«25.0»,«Cmx»:«1600.0»,«Tmn»:«18.0»,«Hmn»:«35.0»,«timeSW»:«1.0»,«formFS»:«0»}WiFi connected
IP address: 192.168.1.102
Load config…
Failed to open config file
Failed to load config
e-mail: e-mail
T_Zone:
T max:
CO2 max:
T min:
H min:
Time Summer/Winter:
format FS: 0
token: Blynk token
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client…
*WM: Already connected. Bailing out.
*WM: IP Address:
*WM: 192.168.1.102
IP number assigned by DHCP is 192.168.1.102
Starting UDP
Local port: 2390
waiting for sync
Transmit NTP Request
time.nist.gov: 132.163.97.4
No NTP Response :-(
! Off Blynk!
:) OnLINE
T: -100.00*C
H: -1%
Ti: -100.00*C
165.85.2009
37:165
…
Из протокола видно, что ключ Blynk и и остальное не сохранилось. Ответ, конечно, есть в первой строке - «Failed to mount file system», но с трудом верится, что на трех модулях ESP8266 проблемы с ФС.
Помогите, пожалуйста, разобраться.
Надеюсь, СО — это досадная описка.
Очень обнадеживающе! Спасибо!
Как это сделать? Возможно в нете кто-то проделал эту работу? Подскажите!
У вас конфликт: сначала вы предлагаете притянуть gpio15, к которому подключаете вывод CS экрана, к «земле», а потом «дергать» CS, получается, «землю».
В целом, это попытка перевести управление экраном 1.44 SPI Adafruit с 4-х проводов на 3 (RESET — не в счет).
Цитирую из примера test к библиотеке TFT_ILI9163C.h (экран 1.44, 128х128 Adafruit):
Я доверяю разработчику библиотеки. Хотя, поверьте, мне бы очень хотелось ошибаться.
Популярно о 1.44″TFT можно посмотреть тут.
...»
Спасибо!
У меня просьба — укажите, пожалуйста, соответствие выводов экрана на вашей схеме маркировке для экрана 8-pin: CS, AO, SCK, SDA.
Да я и не замахиваюсь на улицу. Монитор качества воздуха — помещение заложено в названии.
«В обоих условиях DHT не жил больше 2х месяцев при эксплуатации на улице.»
Жаль, что в то время с интервалом два месяца вы только набирали статистику, меняя приборы с датчиком или сам датчик DHT22. Возможно задумайся раньше, у вас на сегодня была положительная (или другая) статистика по другому датчику, например, тому же ВМЕ280.
«Я честно говоря не понимаю зачем вам измерять индекс жары в помещении»
В северной стране Канада считают по-другому — там метеорологи публикуют этот индекс, в США тоже есть его аналог — индекс тепла. Что касается меня, то планы есть, но пока не буду их обнародовать, не проверив на практике.
«Я склонен думать что BME умеет отображать этот параметр.»
У меня тоже много догадок.
«Я всего лишь написал что-бы поделиться опытом.»
Спасибо!
Я вожусь с датчиком DHT22 около двух лет (после того, как благополучно сжег дорогой BME280). У меня свой опыт:
Разница в показаниях влажности между DHT22 и метеостанцией **CROSS* не более 10%. Сейчас, когда набираю эти строки 52% и 49%.
Неадекватность проявилась только один раз: датчик на двое суток зашкалил на отметке 99%, скорее всего, после моих издевательств.
У датчика есть «плюс» — он рассчитывает индекс жары. Насколько этот «плюс» актуальный — посмотрим летом…
Спасибо! Сделал.
«Соре за негатив, но разработки подобного уровня не дотягивают до звания «профессиональные». Их нельзя тиражировать, т.к. они не до конца продуманы и не имеют сборочного комплекта, т.е. платы, на которую можно монтировать компоненты (или готовая смонтированная, которую нужно собрать в корпус).»
Не отрицаю. Читаем выше: "… немного приблизился к статусу профессиональной разработки".
Посмотрите mailer() — тут тоже отравляются данные наружу.
Еще раз — успехов!
Функция sendToBlynk() отравляет данные на сервер Blynk'а. Как отправить данные на другой сервис? — у меня нет ответа. Извините.
Спасибо за понимание!