![]() |
![]() |
#51 |
Member
Регистрация: 23.11.2012
Сообщений: 47
Вес репутации: 185 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
К сожалению не поможет, но вот нашел проект отдаленно похожий, что я хочу сделать http://engenheirando.com/projetos/automacao/
буду изучать.... |
![]() |
![]() |
![]() |
#52 |
Senior Member
Регистрация: 06.11.2012
Сообщений: 153
Вес репутации: 0 ![]() |
![]()
похоже нет принципиальной возможности в php реализовать toggle button..
нам некуда сохранять промежуточное значение флага.. можно конечно попробовать сохранять данные сессии или тупо писать флажок в какойто файл на диске, но в случае openwrt могут возникнуть трудности.. есть вариант, но он прокатит только если MK не ресетится каждый раз после обращения к порту на котором он висит (а обновление странички с php кодом $serial->deviceOpen(); всегда ресетит мой Uno rev3 ) - нужно сразу после нажатия кнопки определять - "горит лампочка" или нет. если вкл - то кнопка выключает, если наоборот, то наоборот. |
![]() |
![]() |
![]() |
#53 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Состояние должно сохраняться в переменную ардуино и вы должны его при обращении к ардуино читать и анализировать в php и затем показывать на странице.
Как то так. Вообще низкоуровневое обращение к serial порту нужно писать на C, а не на php т.е. нужен какой-то промежуточный сервер который будет посредником между php и ардуиной. |
![]() |
![]() |
![]() |
#54 |
Senior Member
Регистрация: 06.11.2012
Сообщений: 153
Вес репутации: 0 ![]() |
![]()
если состояние нужно сохранять в переменную, то эта переменная должна инициализироваться при старте скетча и лучше всего если она при старте будет присваиваться текущему состоянию "лампочки": 0 - выключено, 1 - включено.
значит нам нужно уметь считывать это состояние при старте.. скажем, в случае светодиода, наверное это просто.. в случае серва - уже нет.. |
![]() |
![]() |
![]() |
#55 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
На случай сброса контроллера, лучше писать состояние в EEPROM энергонезависимую память
|
![]() |
![]() |
![]() |
#56 | |
Senior Member
Регистрация: 06.11.2012
Сообщений: 153
Вес репутации: 0 ![]() |
![]() Цитата:
я до сих пор бодаюсь с авторесетом своего МК.. или научится запускать его в openwrt без ресета или както научится не дергать сервами при запуске скетча.. ничего в голову не идет.. |
|
![]() |
![]() |
![]() |
#57 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Вот пример
вместо переменной addr нужно указать адрес ячейки EEPROM Диапазон адресов для Atmega328 от 0 до 1023 PHP код:
|
![]() |
![]() |
![]() |
#58 |
Senior Member
Регистрация: 06.11.2012
Сообщений: 153
Вес репутации: 0 ![]() |
![]()
спасибо. возможно это поможет правильно инициализировать сервы в моем случае..
только мне же нужно сохранять данные в loop - после каждого изменения положения серва. ведь питание может выключится в любой момент.. |
![]() |
![]() |
![]() |
#59 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Это только пример записи и считывания.
Вставляйте запись и чтение в любое место кода, только не забывайте что число циклов записи в EEPROM Arduino 10000 циклов |
![]() |
![]() |
![]() |
#60 |
Senior Member
Регистрация: 06.11.2012
Сообщений: 153
Вес репутации: 0 ![]() |
![]()
а вот этот лимит - это уже не хорошо.. лично мне не нравится такое решение..
буду копать в сторону отключения авторесета.. |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|