Голубчики, такой вопрос, как можно сопрядить ведройд и дуину, чтобы они работали как иммобилайзер, то есть, как только я подхожу к ардуинке в радиусе энном со своим ведройдом, ардуинка просыпается и начинает выполнять скетч, как лучьше, это можно реализовать, возможно ли это сделать, какими шилдами не важно =) надо, чтобы реагировало именно на мой аппарат, ну в смысле, чтобы я потом программку на другой аппарат поставил, и дуинка с ним заработал =)
1. Через БТ. Согласовать протокол обмена по последовательному порту. Ардуина ждет на последовательном порту появления данных. Телефонная программа постоянно пытается соединиться с БТ устройством, дабы соединиться через него по последовательному порту и передать пакет данных. Ардуина читает их. Если пароль совпадает, то что-то делать. Желательно обмен сделать позаковыристее, насытить случайными данными, заскремблировать и зашифровать, чтобы не сразу догадались о сути обмена. Только одна проблема. Ардуино будет всегда "слушать" порт и тратить энергию. Телефон будет постоянно искать и тратить энергию. Если проблему ардуины можно частично снять (усыплять ее и просыпаться по данным от последовательного порта), то с телефоном никак, иначе ардуина не узнает, что телефон объявился рядом 2. Через WiFi Загнать WiFi в режим Ad-hoc и следить за подключениями (не знаю как, в WiFi Bee 2.0 не нашел такого) или пинговать телефон. Телефон настроить на автоподключение к сетке модуля с установкой фиксированного IP (чтобы WiFi модуль знал, кого пинговать). Если модуль пингует телефон, то для вящей достоверности идентификации устроить шифрованный обмен, разбавленный случайным мусором, через TCP сокет. Проблема та же с потреблением энергии, хотя на телефоне вроде чуть в меньшем объеме. 3, Телефон как NFC метка. Проблемы две: телефон должен иметь поддержку NFC, и его придется прикладывать к датчику (или тереться об него карманом с телефоном). 4. RFID метка. Приклеить ее к телефону. На новый придется переклеивать.
ооо, спасибо за ответ, а можно примеры или где покапать про вариант с Wi-Fi но тут я так понимаю пинговать дуина будет постоянно и с неё экономии не получится, или по таймеру, тоесть пинговать через каждые 30 сек, но это тоже как то не очень экономично? и про RFID метку, как реализовать, в примере, небольшой скетчик же я так думаю там будет, интересует именно, чтобы дуина в спячку уходила именно если её нету поблизости? =)
Могу только потеоретизировать, ибо реально с WiFi и RFID применительно к ардуине не работал. Проверять каждые 30 секунд - это ждать полминуты, если неудачно подошел. Можно повесить датчик движения, чтобы просыпать ардуину по прерыванию. Но датчик будет жрать энергию. Можно попробовать просыпать ардуину по каким-то данным с WiFi (сделать автоматическое установление соединения по TCP, и если оно произойдет, то какие-то данные пойдут на последовательный порт, посылая в начале мусор можно дать ардуине время проснуться). Но сам WiFi модуль будет жрать энергию постоянно. Его тоже можно усыплять, но это отдельная история. К спящему модулю телефон не подключится, а для установления соединения надобно какое-то достаточно большое время (найти сеть, соединиться, установить соединение по сокету). С меткой то же самое. Можно попытаться организовать прерывание от сканера, когда рядом появилась метка.
ТАкой ещё вопрос, можно как то подружить nrf24l01 с ведройдом, в том смысле, чтобы они между собой общались ARDUINO + nrf24l01 и Ведро?
В большинстве случаев никак. Но есть финт ушами: http://habrahabr.ru/post/245671/ Правда требуется, чтобы ведроидное устройство поддерживало Bluetooth 4.0. Да и затратно оно по батарейке получается в силу некоторых особенностей реализации финта.
Ок, понял, тогда такой ещё вопрос, можно пример соединения аппарата по синизубу, с переходом в спящий режим после чистого эфира в течении эн-ного времяни, и просыпание по синезубу, то-есть, я кидаю кличь через телефон в дуину по блюпупу, проэкт проснулся, в течении эн-ного времени если он не получает команд Дуина засыпает или не засыпает, если команды продолжаются? или же не засыпает если я выполнил какоето действие, нажал на кнопку и отпустил её, и не уходит в спящий режим до того моменда пока, я не вырублю другую кнопку, тоже через задержку, вот такая не хитрая задача
Если погружать Arduino в Idle, то после появления данных в последовательном порту она вроде как должна просыпаться. т.е. достаточно подключить БТ к последовательному порту. Но питание на БТ модуле снимать нельзя, чтобы он мог ловить внешнее подключение. Если погружать Arduino в PowerDown, то можно соединить RX с ногой прерывания через резистор, и делать примерно как тут: http://www.polesite.ru/?p=1273 Но с поправкой на то, что засыпать надо не каждый раз, а только спустя некоторое время после последнего обмена (для чего писать в переменную millis() после каждого чтения или записи, а потом проверять, не прошло ли достаточно времени, чтобы заснуть). Ну и бесконечный цикл при пробуждении лишнее.
Спасибо огромное за помощь!))) так или иначе, я добился нужного результата, но немного иначе, пробуждаю дуину от прерывания, так надёжнее, и проще было реализовать для меня, сделал следующее, состряпал метку себе из НАНО + nrf24l01, также сделал приёмник, алгоритм просто до ужаса, метки нету в поле действия, дуина улетает в сон через 30 секунд, как я в поле действия появляюсь, я ему прерывание она просыпается ищет метку, находит, продолжает работать, отсчитывает 30 сек и так по кругу пока не потеряет метку, не находит опять в сон))) так вот, теперь есть ещё одна задача... тут Вообще трудно))) надо как то научить ведро понимать команды из дуины, то есть, при уходе в спячку нано посылает команду LOW или HIGH или go home, не важно, в ведро и ведроид у себя включает программу какую надо)))) смысл в том, чтобы включить GPS трекинг на ведре после того как дуина поставилась в режим сна))) ну и соответственно, чтобы дуина могла сказать мобиле, что мол надо дозвонится до абонента если, что не так(на дуине будет стоять дадчик качения или подобной ерунды) (Это блин-блинский, мега старт кнопка на мотоцикл, без использования ключа вообще, даже, для того, чтобы лючок бака открывать и седёлку в том числе=)))))
В дальнейшем, хочу, чтобы с телефона с другого по синезубу, управлять мотом полностью, в том числе его просыпание по примеру выше, вкл свет, открыть багажник и т.д. но шилда синезуба нету пока и это является как бы дополнительным вариантом пробуждения мотоцикла, так сказать, хочешь так, а хочешь эдак заводи.
Так, Граждане, выяснилось, что ведром управлять не выгодно (дорого, обьёмно, и не спортивно), аказывается есть спец шилд (SIM908) вот его и надо будет прикручивать к дуино и посылать координаты в GPRS или же SMS там по ходу дела разберемся, суть в другом, надо, чтобы этот шилд тоже спал, пока дуина спит и актевировался, когда я на него смску скину и передавал мне в ответ координаты, при этом и синезуб остаётся и nrf24l01, то есть этот шилд исключительно для того, чтобы узнать где мой мот сейчас находится, а ну и ещё, чтобы он естественно срабатывал он какого нить то прерывания(вроде датчика качения или концевика какого,(вроде подножки, мол подножка убралась, тот мне херак смску с координатами, я там то и там и меня кажется похитили, ну и естественно, чтобы это сообщение передавалась раз в 30 сек, пока я не появлюсь в радиусе действия своего мега ключа))))))) Может есть примеры скетчей, я бы очень был бы благодарен Вам, повыдергивал бы для себя из них кусочки))))