При компиляции вашего примера возникают следующие ошибки. В чем причина?
Arduino: 1.6.11 (Windows 10), Плата:"Arduino/Genuino Uno"
A:\Мои документы\Arduino\Proverka\Proverka.ino: In function 'void setup()':
Proverka:20: error: 'clearSerialBuffer' was not declared in this scope
Proverka:22: error: 'GetResponse' was not declared in this scope
Proverka:24: error: 'connectWiFi' was not declared in this scope
A:\Мои документы\Arduino\Proverka\Proverka.ino: In function 'void loop()':
Proverka:54: error: 'clearSerialBuffer' was not declared in this scope
Proverka:69: error: 'otvet_klienty' was not declared in this scope
Proverka:73: error: 'clearBuffer' was not declared in this scope
exit status 1
'clearSerialBuffer' was not declared in this scope
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Добрый день!
Подскажите в ардуине можно использовать все 14 digital и 6 analog пинов?
И второй вопрос если я подключаю распберри к ардуине по UART то надо писать эту строчку
sudo /mydom/homestd /dev/ttyUSB0 57600 80 /mydom/ 0 я так понял тут прописано подключение по USB
Файл — это да. Можно брать данные и оттуда, вот только для этих целей вовсе не обязательно использовать homestd, можно использовать cat /dev/ttyUSB0 > /tmp/arduino.dat
Я же говорю о сервере.
Homestd тесно связан с ардуиной, он берёт/посылает из/в неё данные. Так же homestd рассчитан для отдачи файлов index.html, jquery.js и style.css, на любой другой запрос отдаст 403.
Вопрос автору.
Если при запущенном ardunetstd отключить ардуину, терминал начинает выдавать ошибку и не прекращает при повторном подключении. Лечится это только перезапуском процесса. Как можно сделать так, чтобы при отключении ардуины, ardunetsd просто завершал свою работу?
Я это видел. Почему я и задал вопрос: насколько тесно Homestd связан с веб-страничкой? А если у меня их три? И как минимум еще одна планируется в будущем? Плюс дальнейшее расширение функционала. Для меня все упирается как раз в программу-сервер, потому как я не программист и написание такой программы для меня невозможно. Тем более под OpenWRT… А то, что я описал выше — продукт универсальный. Он работает просто как ворота между ардуино и веб-интерфейсом, обладая полезной функцией записи данных в файлы. И ему без разницы какой функционал выполняет контроллер, что он передает в веб-интерфейс и как эти данные обрабатывает страничка. Он просто принимает и, в зависимости от условий, передает дальше.
Пятый параметр — может быть 0 или 1. Если указать 1, тогда в папке /tmp/ будет создаваться текстовый файл file.db, в который будут записываться данные полученые от ардуины. Это сделано для того, чтоб можно было забирать эти данные и заносить их куда-либо, например в базу.
Остаётся только написать скрипт, который скажем каждую секунду копирует данные из file.db в ваш журнал.
Идея ведения логов пришла ко мне, когда после подключения RFID считывателя самопроизвольно в любой момент времени могло произойти включение сигнализации. То есть словно кто-то поднес запрограммированный в контроллере брелок. Приходилось отлавливать такие моменты подключая ардуину к компу и смотреть, что валится в терминал. А это, мягко говоря, неудобно.
То есть под логами я понимаю что-то, что шлет ардуино в терминал в ответ на какие-либо действия. Включил свет в комнате с выключателя — запись в лог, включил сигнализцию — запись, сигналка сработала — снова запись. И так далее. Плюс к этому ведение журналов изменения температуры в комнатах и на улице и давления. Ну и всего, чего угодно в будущем.
Как я себе это представляю: есть некая программа — сервер на OpenWRT, которая слушает порт и, в зависимости от заданных параметров, либо записывает данные в файлы, либо передает их на веб-страницу. Причем без всякой привязке к количеству или типу этих данных. То есть просто приняла — передала. Так же и в обратном направлении. Принимает данные от странички и передает их в порт.
Реализацию представляю примерно такую: ардуино в начале каждого пакета данных ставит тег — например #l — данные лога — пишутся в лог файл; #w — данные для передачи на веб-страничку; #j — журнал (изменение температуры). Возможно лог и журнал можно объединить.
Программа-сервер считывает тег и раскладывает данные по нужным направлениям. В общем, как-то так.
Я так понял homestd и веб-страничка тесно связаны между собой. Хотелось бы понять логику этой связи.
HomestD — это проект для «самых маленьких», понажимал кнопки и всё готово, поэтому есть некоторая связь между веб-страничкой и сервером, однако ничто не мешает вносить изменения. Плюс, я тренировался делать онлайн-конструкторы, так что это пока начальная версия.
…
Все, в принципе устраивает, но хотелось бы ведение логов
Про какие логи Вы говорите?
Не совсем понимаю Ваших намерений.
Мистики не бывает, если что-то не так, значит что-то не так сделано. Homestd не нуждается в каких-либо серверах, он сам сервер и работает на заданном порту из указанной папки.
Добрый день!
Я так понял homestd и веб-страничка тесно связаны между собой. Хотелось бы понять логику этой связи. На данный момент мой умный дом работает на вашем примере с PHP со своими доработками. Все, в принципе устраивает, но хотелось бы ведение логов. В этом проекте ведение логов можно включить, но нет той прозрачности и настройки под пользователя, которая была там. Или просто это уже гораздо дальше от моего понимания.
В общем на данный момент у меня имеется управление освещением и температурой в частном доме. Между ардуиной и веб-интерфейсом передаются данные о температуре в каждой комнате и на улице, заданной температурой, статусе выключателей (вкл/выкл), и значениями атмосферного давления для графика. Обратно уходят данные об изменении температуры и управлении светом. Строка такая: 0,0,0,26,26,26,28,26,-75,255,273,253,255,259,722.6,722.4,722.2,722.0,721.5,1,1. Далее страничка все переводит в приемлимый вид и раскладывает куда надо. Имеются основная страница и страница для мобильных устройств. Вот так выглядит страничка для телефонов:
Так же имеется страница настроек умного дома с настройками СМС-уведомлений и задержкой выключения света.
В общем, хотелось бы, чтобы ко всему этому добавилась возможность вести логи. Графики температуры, статистику использования выключателей и т.п., а как это реализовать с помощью схемы PHP — lighttpd, я придумать не могу, так же, как не могу понять как совместить homestd с моим проектом…
так я правильно понял
В статье дана ссылка.
«Уарт в Raspberry представляется как устройство /dev/ttyAMA0»
Подскажите в ардуине можно использовать все 14 digital и 6 analog пинов?
И второй вопрос если я подключаю распберри к ардуине по UART то надо писать эту строчку
sudo /mydom/homestd /dev/ttyUSB0 57600 80 /mydom/ 0 я так понял тут прописано подключение по USB
Я же говорю о сервере.
Если при запущенном ardunetstd отключить ардуину, терминал начинает выдавать ошибку и не прекращает при повторном подключении. Лечится это только перезапуском процесса. Как можно сделать так, чтобы при отключении ардуины, ardunetsd просто завершал свою работу?
Остаётся только написать скрипт, который скажем каждую секунду копирует данные из file.db в ваш журнал.
То есть под логами я понимаю что-то, что шлет ардуино в терминал в ответ на какие-либо действия. Включил свет в комнате с выключателя — запись в лог, включил сигнализцию — запись, сигналка сработала — снова запись. И так далее. Плюс к этому ведение журналов изменения температуры в комнатах и на улице и давления. Ну и всего, чего угодно в будущем.
Как я себе это представляю: есть некая программа — сервер на OpenWRT, которая слушает порт и, в зависимости от заданных параметров, либо записывает данные в файлы, либо передает их на веб-страницу. Причем без всякой привязке к количеству или типу этих данных. То есть просто приняла — передала. Так же и в обратном направлении. Принимает данные от странички и передает их в порт.
Реализацию представляю примерно такую: ардуино в начале каждого пакета данных ставит тег — например #l — данные лога — пишутся в лог файл; #w — данные для передачи на веб-страничку; #j — журнал (изменение температуры). Возможно лог и журнал можно объединить.
Программа-сервер считывает тег и раскладывает данные по нужным направлениям. В общем, как-то так.
HomestD — это проект для «самых маленьких», понажимал кнопки и всё готово, поэтому есть некоторая связь между веб-страничкой и сервером, однако ничто не мешает вносить изменения. Плюс, я тренировался делать онлайн-конструкторы, так что это пока начальная версия.
…
Про какие логи Вы говорите?
Не совсем понимаю Ваших намерений.
Я так понял homestd и веб-страничка тесно связаны между собой. Хотелось бы понять логику этой связи. На данный момент мой умный дом работает на вашем примере с PHP со своими доработками. Все, в принципе устраивает, но хотелось бы ведение логов. В этом проекте ведение логов можно включить, но нет той прозрачности и настройки под пользователя, которая была там. Или просто это уже гораздо дальше от моего понимания.
В общем на данный момент у меня имеется управление освещением и температурой в частном доме. Между ардуиной и веб-интерфейсом передаются данные о температуре в каждой комнате и на улице, заданной температурой, статусе выключателей (вкл/выкл), и значениями атмосферного давления для графика. Обратно уходят данные об изменении температуры и управлении светом. Строка такая: 0,0,0,26,26,26,28,26,-75,255,273,253,255,259,722.6,722.4,722.2,722.0,721.5,1,1. Далее страничка все переводит в приемлимый вид и раскладывает куда надо. Имеются основная страница и страница для мобильных устройств. Вот так выглядит страничка для телефонов:
Так же имеется страница настроек умного дома с настройками СМС-уведомлений и задержкой выключения света.
В общем, хотелось бы, чтобы ко всему этому добавилась возможность вести логи. Графики температуры, статистику использования выключателей и т.п., а как это реализовать с помощью схемы PHP — lighttpd, я придумать не могу, так же, как не могу понять как совместить homestd с моим проектом…