Контрольные весы для пасеки с отправкой данных в SMS

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Здравствуйте!

Не программист, просто электронщик. Также работаю с веб. На досуге работаю с пчёлами.

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

Для "пасечника выходного дня" личный ежедневный контроль неприемелем, особенно когда пасека далеко. Потому было принято решение собрать относительно простой электронный вариант дистанционного контроля привеса контрольного улья.

Исходный функционал намечается следующий (может быть дополнен, но для начала - базовый функционал):

1. Питание автономное. Отсюда требования к низкому энергопотреблению, по возможности. В идеале, устройство должно всё время спать, когда не производятся измерения.
2. Цикл работы: выход из спящего режима в 20:00, измерение веса, вычисление привеса (данные сегодня в 20:00 минус данные вчера в 20:00), оценка состояния батареи, активация GSM-модуля, отправка SMS, уход в спящий режим.
3. Экрана и подключения к устройству "в поле" не предусмотрено. Будет возможность только замены элементов питания, не более того. Установка номера, на который будет отправляться SMS с данными - путём отправки на номер телефона симки, установленной в весах, сообщения с паролем/командой. При получении пароля необходимо считать номер, с которого пришло сообщение, и занести его в память для последующей отправки на него данных.

Это - базовая "хотелка". В перспективе, по мере реализации, добавление датчика температуры и давления, съём данных с 5 до 20 часов каждый час с отправкой данных в 20:00 на сервер. Но то позже. Сначала - работоспособность базового варианта.

Из имеющегося в наличии:
1. Китайский клон Uno R3 с CH340 на борту (вроде стандартный кабель микро-юсб, а с драйверами при подключении поприседать пришлось).

2. 4 полумостовых тензодатчика по 50 кг каждый с возможностью перегрузки до 150%.

3. Hx711 для подключения тензодатчиков к Arduino.

4. Модуль часов реального времени DS3231 с автономным питанием для сохранения данных о дате/времени при смене источников питания всего устройства.

Не совсем понятно, как можно "в поле", в случае каких-либо проблем, задать время и дату, если питание отвалится или ещё какой казус произойдёт... Как задать время срабатывания будильника?

5. Самый смешной элемент: GSM-шилд от китайских братьев, на чипе Neoway M590 с даташитом на китайском языке

С ним всё классно, кроме того, что есть на нём 12 ног, которые не подписаны, и как оно будет работать - пока неясно :( Зато достался за $7,80... Разобраться пока не смог :(

Алгоритм работы всей системы представляю себе следующим образом:
Включили питание, система запускается, производится замер сигнала с датчиков веса, который принимается за ноль - происходит автоматическое обнуление веса, затем система уходит в сон (нашёл соответствующую библиотеку, команда, судя по всему -  set_sleep_mode (SLEEP_MODE_PWR_DOWN); подробности), затем в заданное время с ноги SQW часов подаётся сигнал на пробуждение системы - соединяем с выводом D2 или D3 Arduino (они отвечают за прерывания INT0/INT1), затем производится считывание усреднённого значения 1000 измерений веса, чтобы уйти от флуктуаций. Затем вычисляется привес путём вычитания вчерашнего значения из сегодняшнего (может принимать отрицательные значения), вычисляется состояние источника питания, и полученные три параметра (вес, привес, батарея) отправляются посредством SMS на заданный номер. В идеале - будить систему входящими SMS/звонком - если сообщение или звонок приходит с заданного номера, то звонок сбрасывать, а в ответ на зквонок/sms отправлять сообщение с текущими значениями веса и привеса, а если получено сообщение с произвольного номера, но с паролем - считать данный номер заданным по умолчанию, с удалением предыдущих номеров (на случай смены номера и т.д.).

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

добавление датчика температуры и давления, съём данных с 5 до 20 часов каждый час с отправкой данных в 20:00 на сервер.

модуль SD-карточки для накопления данных за день для отправки в 20:00 ( и на весь период работы пчёлок - полная статистика за лето ),

 питание - АКБ от бесперебойника, на месяц хватит, дома второй на зарядке держать

работают ардуина и часы, каждый час ардуина подаёт питание на все датчики, передатчик, SD - потом всё выключает.

спать МК может, но должен переодически просыпаться чтобы посмотреть на часы

bwn
Offline
Зарегистрирован: 25.08.2014

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

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

SU-27-16 пишет:
модуль SD-карточки для накопления данных за день для отправки в 20:00 ( и на весь период работы пчёлок - полная статистика за лето ),

Это вообще мечта идиота, но... Я решил действовать по принципу "От простого - к сложному" ;) Плюс ещё DHT11 или DHT22 для контроля температуры и влажности ;)

SU-27-16 пишет:
питание - АКБ от бесперебойника, на месяц хватит, дома второй на зарядке держать

Двух штук 18650 не хватит для начала? Или блока из 6 батареек АА? Хочется дёшево и сердито... Бюджет должен быть разумно минимальным :)

SU-27-16 пишет:
работают ардуина и часы, каждый час ардуина подаёт питание на все датчики, передатчик, SD - потом всё выключает.

Самое ненасытное - GSM-модуль... Потому и думал его задействовать раз в сутки.

SU-27-16 пишет:
спать МК может, но должен переодически просыпаться чтобы посмотреть на часы

А просыпаться от будильника внешнего модуля часов, не глядя по сторонам - не достаточно будет?

 

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

bwn пишет:
Я думаю вы зря отказываетесь от экрана, для сервисного обслуживания вещь не лишняя.

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

С другой стороны, экран - это плюс к бюджету, от чего хотелось бы уйти - доллар крепко подорожал, точнее - крепко обесценилась гривна, в три раза, что на фоне двукратного удорожания всего и вся плюс урезанной зарплаты заставляет очень крепко экономить на комплектующих. Собственно, это одно из объяснений, почему ноунейм GSM-модуль с непредсказуемым финалом, а не более понятный SIM900 за $30. Год назад он стоил бы 240 гривен, что ещё в какие-то ворота попадает, а сегодня он обойдётся уже в 750...

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

bwn пишет:
По питанию есть смысл предусмотреть подзаряд солнечным модулем.

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

А просыпаться от будильника внешнего модуля часов, не глядя по сторонам - не достаточно будет?

просыпаться по будильнику, делать работу, переустанавливать будильник на +1 час ( пока не ночь ) и засыпать ?

тады, да.... я ещё не работал с прерыванием от будильника :(

а дисплейчик I2C можно сделать выносным через разъём и привозить его с собой при посещении пасеки

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

оптопару на входе - можно будет оценить количество прилётовылетов пчёлков :))))))))

bwn
Offline
Зарегистрирован: 25.08.2014

Сейчас на али глянул, lcd1602 без подсветки(она вам и без надобности) 120 российских, меньше 2 американских. По солнечной понял, я думал быстрее на улики позарятся(((.

Насчет того, что часы сумеют разбудить, не уверен. У них обмен по I2C, а она в спящем режиме тоже спит.

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Насчет того, что часы сумеют разбудить, не уверен. У них обмен по I2C, а она в спящем режиме тоже спит.

bwn, на моих часиках есть нога SQ - зачем она ?

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

bwn пишет:
Сейчас на али глянул, lcd1602 без подсветки(она вам и без надобности) 120 российских, меньше 2 американских.

$1,65 - есть такое... Вариант, в принципе... С I2C тут есть смысл заморачиваться, или лепить напрямую и не думать?

bwn пишет:
Насчет того, что часы сумеют разбудить, не уверен. У них обмен по I2C, а она в спящем режиме тоже спит.

Хм... Получилось, то, что я считал достоинством, оказалось недостатком...
Но вроде ж часы идут независимо? SQW нельзя задействовать, как я выше писал в стартовом сообщении? Информация взята из одной из тем этого форума, обсуждение сводилось к снижению энергопотребления до нуля...

bwn
Offline
Зарегистрирован: 25.08.2014

SU-27-16 пишет:

Насчет того, что часы сумеют разбудить, не уверен. У них обмен по I2C, а она в спящем режиме тоже спит.

bwn, на моих часиках есть нога SQ - зачем она ?

C нее тактовые частоты идут, могу соврать (1, 4096 ,8192,32768 Гц)

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

спасибо :) буду посмотреть....

ардуина может просыпаться по вачдогу и смотреть на часы, график включений и инструкции - в массив

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

Мне кажется, ардуина не лучший выбор для устройства, которое расчитано на длительную эксплуатацию от автономного источника питания. Возможно имело бы смысл посмотреть на какую-нибудь Discovery на базе STM8L или TI-шный LaunchPad на базе MSP430. Последний интересен еще и тем, что для него существует ардуино-подобная среда разработки и какая-никакая совместимость по коду.

bwn
Offline
Зарегистрирован: 25.08.2014

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

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

a5021 пишет:

Мне кажется, ардуина не лучший выбор для устройства, которое расчитано на длительную эксплуатацию от автономного источника питания. Возможно имело бы смысл посмотреть на какую-нибудь Discovery на базе STM8L или TI-шный LaunchPad на базе MSP430. Последний интересен еще и тем, что для него существует ардуино-подобная среда разработки и какая-никакая совместимость по коду.

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

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

bwn пишет:

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

Ага... Будем смотреть, спасибо! :)
На 1307 это было бы проще реализовать?

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Если не удастся запустить мой GSM-шилд, есть вариант попробовать подключить старую Нокию :)

bwn
Offline
Зарегистрирован: 25.08.2014

Voblin_UA пишет:

bwn пишет:

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

Ага... Будем смотреть, спасибо! :)
На 1307 это было бы проще реализовать?

На 1307 этот вариант точно не катит, а 3231 возможно все таки и позволяют. У них SQ звучит как INT/SQ и похоже этот INT можно запрограммировать. Говорили мне в школе - учи английский(((

bwn
Offline
Зарегистрирован: 25.08.2014

Voblin_UA пишет:

a5021 пишет:

Мне кажется, ардуина не лучший выбор для устройства, которое расчитано на длительную эксплуатацию от автономного источника питания. Возможно имело бы смысл посмотреть на какую-нибудь Discovery на базе STM8L или TI-шный LaunchPad на базе MSP430. Последний интересен еще и тем, что для него существует ардуино-подобная среда разработки и какая-никакая совместимость по коду.

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

Если честно, то для вашей задачи, проще отладить на дуине, а потом развести платку под процессор с минимальной обвязкой и к ней лепить модули. По энергопотреблению выиграете очень сильно. Все что налеплено на плате для работы фактически не нужно, а питание потребляет. Здесь на форуме пара тем про это было.

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Я английским в совершенстве владел два десятилетия назад, но отсутствие практики свело знания к безпроблемному чтению, говорить уже так свободно, как по-русски и по-украински не получится, наверное...
Мне бы времени на прочтение всего этого ;)
Пошёл искать даташит и вникать :)

По поводу макетирования с последуюей перепайкой с нуля - согласен. Но для начала, чтобы минимизировать затраты в том числе времени - выбраны готовые модули и готовая плата :)

bwn
Offline
Зарегистрирован: 25.08.2014

Voblin_UA пишет:

Я английским в совершенстве владел два десятилетия назад, но отсутствие практики свело знания к безпроблемному чтению, говорить уже так свободно, как по-русски и по-украински не получится, наверное...
Мне бы времени на прочтение всего этого ;)
Пошёл искать даташит и вникать :)

По поводу макетирования с последуюей перепайкой с нуля - согласен. Но для начала, чтобы минимизировать затраты в том числе времени - выбраны готовые модули и готовая плата :)

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

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Думаю отладить всё на том, что есть, а потом заказать отдельно про мини и пересобрать уже более основательно. Ну, и компактно. Естественно, однозначно пайка, это даже не обсуждается :)

Только что нарыл скетч для установки часов и будильника - мелочь, а приятно :)

bwn
Offline
Зарегистрирован: 25.08.2014

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

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Voblin_UA пишет:

Думаю отладить всё на том, что есть, а потом заказать отдельно про мини и пересобрать уже более основательно. Ну, и компактно. Естественно, однозначно пайка, это даже не обсуждается :)

Только что нарыл скетч для установки часов и будильника - мелочь, а приятно :)

я тоже рядом ходил, но ни там, ни там нет про будильники полностью :(

http://knodit.blogspot.ru/2014/05/arduino-ds3231-i2c-wire.html

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
greencave
Offline
Зарегистрирован: 08.02.2015

всем привет!  Кто мне поможет?! мне нужно устройство на тензодатчиках для контроля давления (веса) "онлайн" с отправкой данныйх по блютус на телефон :)  Весма компактное и автономное (с аккамуляторной батареей). Есть небольшие средства, которые готов заплатить за составление устройства (компановка, что купить где купить и т.п) . Есть опыт с ардуино и электроникой, но нет времени.  почта trylife@bk.ru 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

вам в ветку - ищу исполнителя :)

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Вот я и столкнулся с нехваткой знаний ;)
Пилю помаленьку в свобдное время. Осваиваюсь. Время на DS3231 выставил, библиотеку брал вот тут - готовый скетч из образца позволил выставить время и посмотреть его на мониторе порта :) Для меня - достижение ;)
Есть в библиотеке и объяснение, как выставить будильник на заданное время, чтобы срабатывал каждый день, в любой день недели любого месяца любого года :) Не могу понять, как установить будильник :( Для часов есть установка часов, минут, секунд и т.п. А для будильника вижу только turnOnAlarm и всё :(

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Разобрался, как пользоваться аппаратными будильниками. Время срабатывания будильников выставляется через следующие адреса:

Alarm 1 - 0x07,0x08,0x09,0x0A

Alarm 2 - 0x0B,0x0C,0x0D

(см. таблицу 1 на стр.11 даташита)

http://knodit.blogspot.ru/2014/05/aduino-rtc-ds3231-sqw.html

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

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

Сейчас курю вот этот мануал: https://github.com/JChristensen/DS3232RTC

nioli
Offline
Зарегистрирован: 14.03.2015

Тема притихла хотя актуальна и по пчёлкам и по DS3231+arduino.

Сам тоже электронщик. Ардуинщик начинающий. Разобрался с управлением будильниками в DS3231 с формированием сигнала прерывания на выходе INT (для выведения ардуино из сна по прерыванию). Скеч составной пробный из кусков, но пробовал на PROTEUSE 8.1 всё работает и на выходе INT загорается светодиод(пока). Ардуино плат нет, жду по почте. Скеч с коментариями ниже, если что не так, пишу в первый раз на форуме.

nioli
Offline
Зарегистрирован: 14.03.2015

 

nioli
Offline
Зарегистрирован: 14.03.2015

Время будильника выставил на 4 секунды позже выставления часов (54 и 50 соответственно), чтобы долго не ждать в PROTEUSE(медленно работает).

bwn
Offline
Зарегистрирован: 25.08.2014

Когда код вставляете, там есть галочка - свернуть. Покошернее будет.

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Доберусь до офиса - гляну :)
Китайцы удивили - прислали схему включения GSM-модуля...

nioli
Offline
Зарегистрирован: 14.03.2015

В скече который выложил выше день недели установлен 4, а будильник настроен на 5 (выложил отладочный скеч,чтобы проверить ,что будильник срабатывать не будет). Чтобы будильник сработал приведите всё в соответствие.

 Clock.setDoW(5); //Set the day of the week

Случайные ошибки в своих и чужих скечах заставляют поработать мозгами.

erd
Offline
Зарегистрирован: 16.03.2015

Получилось что-нибудь с этим модулем (m590)?

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Пока не было времени заняться. Так что пока что приведу только то, что по Neoway M590 прислали китайцы, может кому-то будет полезно:

 

erd
Offline
Зарегистрирован: 16.03.2015

Весьма важная информация.... Как общаться с модулем.

А контакты есть китайцев? Я бы их сам помучил

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Контакт есть :) Но там девочка, которая сама спрашивала у меня, почему такой модуль у их клиента не завёлся, а перегружается каждые 10-15 секунд и не работает с операторами (Голландия, кажись), как не работал и SIM900A. Ответил ей, что ещё не запускал, а проблема, скорее всего, кроется в двухдиапазонности данного модуля, в то время как в Европе используется 4 диапазона. По этой же причине столь популярный Nokia 5110 сегодня практически бесполезен, ибо не работает на современных частотах. Как-то так.

erd
Offline
Зарегистрирован: 16.03.2015

Я написал на их support. Пока тишина

Voblin_UA
Voblin_UA аватар
Offline
Зарегистрирован: 12.01.2015

Дык, часовые пояса-то разные, ночь у них сейчас, поди ;)

retroban
Offline
Зарегистрирован: 16.03.2015
retroban
Offline
Зарегистрирован: 16.03.2015

Схема подключения модуля

retroban
Offline
Зарегистрирован: 16.03.2015

Взаимодействие_с_gsm_gprs_shield_для_работы_с_sms_и_голосовыми_вызовами

http://wiki.amperka.ru/%D0%B1%D0%B5%D1%81%D0%BF%D1%80%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F-%D1%81%D0%B2%D1%8F%D0%B7%D1%8C:gprs-shield

по ссылке примеры кода для ардуинки, по иформации модуль полностью совместим с SIM900 по АТ командам.

erd
Offline
Зарегистрирован: 16.03.2015

Был ли модуль опробован?

Интересует именно стабильность.

erd
Offline
Зарегистрирован: 16.03.2015

В примере sim900A. О стабильности это ничего не скажет.

Кстати support так ничего и не написал. Весьма подозрительная контора...

Shoower
Offline
Зарегистрирован: 14.08.2014

Доброго дня.

И все-таки. Получилось подключить и "заработать" GSM?

Очень волнующий меня вопрос, самому очень нужно смс отправлять/получать, а это самый дешовый вариант. Вот хотелось бы узнать рабочий ли он.

retroban
Offline
Зарегистрирован: 16.03.2015

Жду модуль из алиэкспресса, как только получу, отпишусь.

Думаю проблем не должно быть. На зарубежных форумах мелькало что, всё работает.

Вот ещё один проэкт с использованием этого модуля:

http://m.geektimes.ru/post/243033/

erd
Offline
Зарегистрирован: 16.03.2015

Там М660, а тут М590. Я думаю разница может быть радикальна.

Служба техподдержки, в лице менеджера по продажам Дорис Жу, почему-то также предлагает М660, так и не предоставив информацию по М590.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Есть ощущение, что основные грабли будут со взвешиванием улья.