• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Умный дом для чайника

Alexey N

Member
Итак, что получилось. Может показаться смешным, но для меня это уже определенный результат, которым я могу если не гордиться, то хотя бы не стыдиться.
Погодный модуль. Три раза в день снимает показания с датчиков температуры, влажности и давления. Результаты записывает в файл data.txt во внутреннюю файловую систему ЕСП (SPIFFS). К модулю есть доступ по IP 192.168.0.8. В этом случае он выводит простенькую страничку с последними значениями датчиков. По адресу 192.168.0.8/data.txt выводится содержимое файла data.txt. Теперь осталось данные из этого файла импортировать в базу данных MySQL. Перед тем как бросаться совершать очередные глупости хотел посоветоваться. На PHP я знаю (теоретически) два способа импортировать данные в базу. Первый это через LOAD DATA INFILE, и второй через fopen. Как проще, надежнее, правильнее импортировать данные из такого файла? Или есть еще более другие варианты?



 

Alexey N

Member
Получается странная штука. Содержимое файла я могу вывести в браузер и увидеть. А скопировать его средствами PHP не получается.
fopen('http://192.168.0.8/data.txt','r'); и file_get_contents ('http://192.168.0.8/data.txt'); как будто не видят содержимое файла. Возможно из-за того, что пока он выводится в браузер функция PHP уже отрабатывает и результат остается пустой.
 

Alexey N

Member
@Sinoptik, не нашел возможности прикрепить файл, а загрузить просто текстом не дает, потому что ограничение на 10000 символов. Попробую сегодня загрузить на какой-нибудь хостинг и дать ссылку.

Скачать weather_module.ino - My-Files.RU вроде получилось залить. Сразу хочу предупредить, что скетч это гигантская простыня чайниковского кода. Непричесанного и неоптимизированного. Да и местами нерабочего пока.
 
Последнее редактирование:

Alexey N

Member
В окошке браузера вы пишете эту-же самую строку
Да. На картинке в первом посте на странице это видно. Пробовал и с "http://" и без. Пробовал получить содержимое любого постороннего txt файла из интернета. file_get_contents работает. Возможно причина в том каким образом я вывожу содержимое SPIFFS в браузер? Вот код.

Код:
  else if (req.indexOf("/data.txt") != -1) {  //  если в адресе есть data.txt
  File f = SPIFFS.open("/data.txt", "r");
  String line_out;
  while (f.available()) {
  //Собрать строку и вывести в браузер содержимое data.txt
  String line = f.readStringUntil('\n');
   line_out += line;
  }
  client.print(line_out);
  client.stop();
  return;
Получается вроде то, что должно. Из браузера этот файл можно сохранить на компьютер через "файл->сохранить как...". Но средствами PHP почему то не получается к нему доступа. Вернее, доступ есть. file_get_contents не возвращает ошибку. Но и содержимого файла не получает.
 

Alexey N

Member
попробуйте File f = SPIFFS.open("data.txt","r");
Без слэша не работает. И в браузер не выводится. И file_get_contents уже точно возвращает ошибку.
На выходных постараюсь попробовать поковыряться с заголовками. То есть посылать в браузер не просто текст, а еще и некоторые служебные заголовки типа:
HTTP/1.1 200 OK
Content-Type: text/plain


Не уверен, что это решение, но попробовать несложно.
 
Последнее редактирование:

Serjaru

Member
Мой совет. Я уже проходил создание умного дома. На текущий момент, это большой проект. На создание ушло несколько лет. Я так же начинал как и вы и много камней не видел.
Но, по поводу EPS8622 , вообще диапазон 2.4 очень застран. И на самом деле все реальные настоящие умные дома - все проводные, все остально это игрушки. И убедитесь, что у вас не будет отваливаться связь и т.п. иначе будут гемморои в будущем!
 

nikolz

Well-known member
Для изучения реального опыта создания умного дома рекомендую почитать это
A GroveStreams Node Red Node | Scargill's Tech Blog
и весь его блок.
Наблюдаю его больше года.
Результаты хорошие.
-----------------------------------
 
Последнее редактирование:

Serjaru

Member
Относительно того, что у кого-то что-то отваливается - надо уметь программировать ESP. Если разберетесь то ничего не отваливается днями и ночами.
-------------------------------------------------------
Для изучения реального опыта создания умного дома рекомендую почитать это
A GroveStreams Node Red Node | Scargill's Tech Blog
-----------------------------------
А вы видимо в физике и ВЧ не рубите или опыта нет. ESP это все хорошо, но окружающие факторы никто не отменял. И не советую быть таким голословным. Чтобы, что-то говорить надо иметь опыт за плечами и не только тупо кодить! Ваш ESP можно завалить и весь УД накроется тазом. И тут ваше "надо уметь" уже не поможет. Вы просто не сталкивались с этим. Я УД занимаюсь уже более 12 лет и поверьте, мой опыть будет более вашего и я видел много ситуаций когда сигнал на 2.4Гц просто с трудом проходит. Ну конечно если вы не в деревне живете.
 

Serjaru

Member
Ну вот еще один хам-самоучка.
Рублю я в физике и в лирике и еще учил радиотехнике студентов.
Поэтому не надо рассказывать про шумы в эфире - это все знают.
Но программирование ESP имеет свои особенности. Если их знать, то проблем по крайней мере в доме не существует.
Учить других - это еще не значит самому знать. Я видел таких учителей. Это все относительно. Я вам не про шумы рассказываю, внимательнее читайте.
У вас все так просто ) я же говорю, опыта у вас видимо нет и вы не сталкивались с реальностью.

Вот у вас в доме (наверное в деревне или в спальном районе) нет проблем, а вот у нас в центре Москвы были проблемы, когда рядом банк и стоят глушилки
(или еще, что-то они поставили), и все работает через ... и Wifi и сигналки от авто.

И таких случаев много. Например, когда сосед врубил свой роутер на >100мватт.

И не надо всех сравнивать по себе. Ну ничего, опыт приходит с годами, но не всем.
Поэтому прежде чем писать уверенно, почитайте, поспрашивайте, хуже не будет. А то так опозоиться можно и перед другими участниками форума.

Удачи в обучении других )

Когда придется вам работать над спецтехникой для структур, то там опыта получите до ... Я сам многое не видел, пока не занялся.
 

Serjaru

Member
А у меня воинская специальность - космическая дальняя связь. тоже спецтехника.
Тем более, вообще не ясно, как вы так просто рассуждаете! Вы должны, даже обязаны понимать, что сама связь не может быть в городских условиях быть на 100%, вы только можете программо реализовать пинги, реконнект и т.п. - это да. Но бывают условия, когда полная Ж и как ни крути, просто ужас а не связь! Что 433, что 866, что 2.4, все зас...ли )))))

Я не говорю, что ESP плохая, но факторы надо учитывать. Я много работал с XBee, Nordic и другие ISM модули, везде геммор. Но это не говорит, что все пропало и надо бросать. Нет наоборот, приходится извращаться кодингом!

Хоть кто-то из воинской специальности преподает, а то я думал уже всё. )))

Тогда Вам уважение!
 

Serjaru

Member
Ну кто Вам сказал про сто процентов?
Я не говорю за всю одессу, Я говорю за себя.
У меня все работает в городских условиях. С 6 активными устройствами в моей квартире и еще с 5 wIFI сетями у соседей.
Более того, даже с оптическим каналам на 100 мбит я не получаю 100% качества связи и без WIFI.
Просто надо быть реалистом.

5 Wifi??? это у вас скромно! У меня в округе более 15-20. см. аттач и это еще не весь список
Про "Просто надо быть реалистом" это я вам говорил. )
 

Вложения

nikolz

Well-known member
5 Wifi??? это у вас скромно! У меня в округе более 15-20. см. аттач и это еще не весь список
Про "Просто надо быть реалистом" это я вам говорил. )
Я не про округ, а про лестничную площадку в высотном доме говорю.
А если взять хотя бы район, то сотня сетей наберется.
Но они мне в квартире не мешают.
 

Alexey N

Member
@Serjaru, я вроде писал уже выше про свои соображения относительно проводной/беспроводной связи. Ели Вы занимаетесь УД более 12 лет, то интересно было бы узнать с чего они начинались? 12 лет назад, насколько я помню Wi-Fi модемов для широкой публики, например, вообще не существовало. Так что провода это единственный возможный вариант был. А пару лет назад про ESP никто не слышал. А что будет лет через 5, трудно себе представить. Так что я буду все-таки делать ставку на беспроводную сеть. Конечно, я постараюсь продумать возможные нештатные ситуации. Кстати, если Вы читали последние пару страниц, то видели, что косяк может обнаружиться и в проводной системе. Там, где его вроде никто и не мог ожидать.
Ну и да, дом будет в деревне. Пробовал искать ноутбуком сети. Ни одной. Хотя знаю, что на другом конце улицы у человека точно есть локальная сеть домашняя. С Wi-Fi в том числе.
 
Последнее редактирование:

Serjaru

Member
@Serjaru, я вроде писал уже выше про свои соображения относительно проводной/беспроводной связи. Ели Вы занимаетесь УД более 12 лет, то интересно было бы узнать с чего они начинались? 12 лет назад, насколько я помню Wi-Fi модемов для широкой публики, например, вообще не существовало. А пару лет назад про ESP никто не слышал. А что будет лет через 5, трудно себе представить. Так что я буду все-таки делать ставку на беспроводную сеть.
Ну и да, дом будет в деревне. Пробовал искать ноутбуком сети. Ни одной. Хотя знаю, что на другом конце улицы у человека точно есть локальная сеть домашняя. С Wi-Fi в том числе.

Почему? модемы wifi уже были, только цена 50-100 у.е. а это дорого для конечного девайса. Если сделать управляемую розетку, и заложить 100$ только за модем - это не выгодно.
Поэтому мы изучили и испробовали многое. Главная задача была это создание mesh сети. Сделать самому трансиверы с такой логикой - это вообще целый проект.
Хотя потом мы сделали это сами. На горизонте появились XBee модемы и ZWavе. ZWave были дешевле раза в 3, но качество и надежность это просто ужас! Мы видели как две лампочки на разных каналах глючили между собой. Там были проблемы в радиоканале. Поэтому мы остановились на XBee, тогда цена была около 600-1400руб взависимости от мощности. Плохого ничего не могу сказать, продуманно там все на высшем уровне, выпускаются прошивки, шифрование, софт, API и т.п. все там на 5+, хотя попадались глюкавые прошивки. Удобство - сформировал пакет, заложил МАС адрес получателя и отправил. Есть даже функция репитора. Но сейчас проблема - цена! У.е. вырос и теперь самый простой модем стоит 1800 руб.

Сейчас когда китайцы сделали ESP уже открывается перспектива. Но все равно это пока на уровне "ардуино", т.е. игрульки. Я видел тут на форуме, что люди даже SCADA делают. Хотя не понимают, что промавтоматика как правило это провод, а провод это надежность. В общем пока глядя на все это, мое мнение это игрулька. Если УД делать для себя и друзей, то можно. Но если серьезно - то опасно. Т.к. китайцы пока делают прошивки с багами (мы как раз тестируем сейчас), то серьезно пока относиться к этому нельзя. Но уж больно цена заманчива )

А сейчас диапазон так загадили, что мы уже сталкивались когда связь не стабильна. А теперь представьте, вы нажимаете кнопку, а она сразу не сработала.
Так же многие боятся беспроводной связи и ее надежность.

Когда я начинал, тоже думал: "а сейчас все просто и быстро", а вот фиг тебе, как потом выяснилось ) Не все так просто.

Тут надо понимать, есть игрушки как на этом форуме, а есть настоящие вещи, и за настоящие придется платить. Но это будет надежность. А пионерский вариант "ардуино + ESP" это только для себя.

В общем пробуйте.
 
Сверху Снизу