Длинный провод для датчика температуры

n.osennij
Offline
Зарегистрирован: 10.08.2016

Вообще я новичок и только ещё планирую покупку. Сейчас пытаюсь определиться, что нужно покупать и будет ли это работать.

Что планируется:
около 8 датчиков температуры в холодильники и морозильники
около 3 датчиков температуры и влажноти в комнаты

Две команты удалены достаточно далеко (находятся на другом этаже). На вскидку провода длина понадобится где-то около 100 метров.

Вопрос - можно ли будет нарастить стандартные короткие проводки? И будет ли это вообще работать на таком расстоянии? Или проще будет купить два arduino: один в двух комнатах на другом этаже, а второй в комнате на первом. Две комнаты на втором этаже близко - одна граничит с другом.

Данные с датчиков должны будут записываться в базу данных MySQL с использованием php. Вопрос этот я изучил более-менне. Такое возможно.

И ещё вопрос - какой arduino  покупать? Ничего кроме датчиков температуры и влажности не нужно.

 

Подскажите, пожалуйста.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

На 100м не взлетит напрямую. Юзайте RS-485 - на одном конце МК с датчиками, на другом - мастер, по запросу мастера слейв выдаёт ему данные датчиков.

a5021
Offline
Зарегистрирован: 07.07.2013

Автор вопроса не уточнил, какие датчики он планирует использовать. Если под 1-Wire, то шина может работать на длинах до 500м, если соблюсти ряд условий. На ста метрах оно должно работать "искаропки" (см. Guidelines for Reliable Long Line 1-Wire Networks)

n.osennij
Offline
Зарегистрирован: 10.08.2016

А как быть с самим ардуино?

Наверное, я остановлюсь на варианта с двумя ардуино. Но какие брать?

В одной удалённой от всех комнате понадобится установить 1 датчик влажности и температуры (планирую совмещённый) и два датчика температуры в холодильник и морозильник. Непосредственно с самими датчиками я ещё  не определился. Но возможно эти -

http://xrobot.by/sensors/ds18b20

http://xrobot.by/sensors/dht11

И связь с компьютером.

На другом этаже в двух совмещённых комнатах нужно будет поставить в каждую по датчику влажности и температуры. И около 5 датчиков температуры и влажности. Даже 4, мне кажется.
И тоже нужна связь с компьютером.

Запись данных хотелось бы проводить по расписанию. Можно же будет получить системное время на ПК?

alexvs
Offline
Зарегистрирован: 22.07.2014

Откажитесь сразу от DHT11 (22). Используйте Si7021 или BME280.

 

n.osennij
Offline
Зарегистрирован: 10.08.2016

У нас они не продаются, к сожалению. А в чём причина? Если дело в высокой точности, то это не страшно. А данном случае погрешность в +-2 градуса и =-5% будет нестрашна.

Хотя, возможно лучше использовать такой датчик температуры, особенно для холодильников и морозильников - 

http://xrobot.by/sensors/ds18b20_waterproof

И как быть с ардуино?

alexvs
Offline
Зарегистрирован: 22.07.2014

По Ардуинкам посоветовать трудно, слишком разымыты ваши требования.

Если к ним подключать только датчики, то достаточно Pro Mini 8MHz 3,3V  или 16MHz 5V. Если же вы хотите сливать данные в MySQL, то потребуется подключение к Ethernet, а значит нужен EthernetShield под него удобнее Arduino UNO (ну или Mega).

n.osennij
Offline
Зарегистрирован: 10.08.2016

Может я что-то не понимаю... Если радуино подключён, скажем, по usb к компьютеру, разве по этому же usb я не смогу работать с ним, получать данные от датчиков? Разве нельзя ему будет прописать, чтобы данные с датчика он отправлял mysql? 

alexvs
Offline
Зарегистрирован: 22.07.2014

Ну вообщето можно, но понадобится программа, которая будет принимать данные по сериалу, парсить их и затем отсылать куда угодно. В этом случае наверное лучше брать Arduino Nano, т.к. у нее на борту есть УСБ, и он дешевле и компактнее чем УНО.

Я думал, что вы хотите автономное решение, работающее без компьютера.

n.osennij
Offline
Зарегистрирован: 10.08.2016

Arduino UNO R3 справится с такой задачей?

 

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

alexvs
Offline
Зарегистрирован: 22.07.2014

Arduino UNO R3 спокойно справится. И этот же УНО, при наличии соответсвующего шилда, может быть подключен к локальной сети и абсолютно регулярно и абсолютно автоматически записывать в базу данных MySQL с использованием php. Вот так.

Удачи!

alexvs
Offline
Зарегистрирован: 22.07.2014

И да, по датчикам, DS18B20 вполне могут работать на шине длинною 100 метров, а вот DHT11 - не могут, но метров 5 - без проблем.

n.osennij
Offline
Зарегистрирован: 10.08.2016

Т.е. вы хотите сказать, что без докупки Ethernet модуля я не смогу получать на компьютер данные?

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

сможете (по UART-протоколу, затем написать прогу, которая умеет взаимодействовать с COM-портом), но с Ethernet модулем все будет проще в программной части - все библиотеки уже написаны и проверены.

n.osennij
Offline
Зарегистрирован: 10.08.2016

Tomasina пишет:

сможете (по UART-протоколу, затем написать прогу, которая умеет взаимодействовать с COM-портом), но с Ethernet модулем все будет проще в программной части - все библиотеки уже написаны и проверены.

Прогу для ардуино через среду разработки ардуино. И эта программа зашиваетя на ардуино? Подключение к компьютеру по usb остаётся. И ардуино шлёт по прграмме данные на комп на заданный порт?

 

Или я что-тто не так понимаю?

alexvs
Offline
Зарегистрирован: 22.07.2014

Блин, как все запущено.......

Прога для ардуины (скетч, называется) - это прога для Ардуино, да, она заливается в контроллер и нужна для того, что бы опрашивать датчики и затем, что бы сформировать пакет данных для передачи на компьютер по UART-протоколу.

Ну вот передали вы эти данные на компьтер, а кто их примет и обработает и положит в базу данных? Сам по себе этого компьютер не умеет, глупый он :( Поэтому придется написать программу, но уже для компьютера, котрая выполнит все эти действия. Как то так.....

n.osennij
Offline
Зарегистрирован: 10.08.2016

Я просто точно хочу всё знать.

Тут говорилось, что передаёт на COM порт. Значит всего-то нужно опросить этот порт черрз php
 

exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
$fp = fopen ("COM3", "w");
if (!$fp) {
   echo "Not open";
} else {
   echo "Open";
}
James
Offline
Зарегистрирован: 26.02.2016

ttl-to-rs485 шилд, + rs485-to-usb свисток+ MAsterOPC server+ любая скада. сам прикручивал к бесплатной Simple Scada