Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.12.2012, 20:51   #21
Gruni
Junior Member
 
Регистрация: 11.12.2012
Сообщений: 8
Вес репутации: 0
Gruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud ofGruni has much to be proud of
По умолчанию

установил вдобавок luci-proto-3g luci-proto-ppp и настроил 3G через веб интерфейс. Спасибо
Gruni вне форума   Ответить с цитированием
Старый 22.01.2013, 19:47   #22
aszxx
Junior Member
 
Регистрация: 29.11.2012
Сообщений: 28
Вес репутации: 0
aszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to behold
По умолчанию

Я чего-то торможу, но как послать с помощью gnokii смской данные полученные, например, от Ардуино? Величину температуры или напряжения? Просто послать смс в случае превышения дельты измеряемой величины нет проблем, но хочется иметь в тесте точные значения датчиков....
aszxx вне форума   Ответить с цитированием
Старый 23.01.2013, 19:52   #23
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

1. На роутере должна "крутится" какая-то программа-сервер (писать на С и компилировать) или скрипт на bash или perl, которая будет вести диалог с ардуиной и запускать gnokii передавая ей данные.

2. gnokii программа довольно сложная, которая может работать самостоятельно в качестве демона и взаимодействовать с MySQL БД. Эта возможность конечно расширяет ее возможности, но требует инструмента (программы) взаимодействующей с этой БД и ардуино, опять же возвращаемся к п.1

Вот здесь есть пример реализации на bash

Последний раз редактировалось andr128; 23.01.2013 в 20:14.
andr128 вне форума   Ответить с цитированием
Старый 23.01.2013, 20:18   #24
aszxx
Junior Member
 
Регистрация: 29.11.2012
Сообщений: 28
Вес репутации: 0
aszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to behold
По умолчанию

Вот как раз данные как передать?
gnokii "test" | --sendsms '+7*****' - передает текст, а как передать данные с переменной? Допустим Ардуинка просто пихает в порт раз 10 секунд строчку с температурой, ну например Temp1=23.04 или выдает её по запросу скрипта - неважно в общем. Скрипт считывает или пишет в базу данные, а дальше то как?
Попробовал на скрипт на bash
Вариант такого типа не прокатывает
-----
temp=23.04
gnokii temp | --sendsms '+7*****'


PS. Я всё как-то больше с микроконтроллерным программированием сталкиваюсь, там все проще - послал в порт/считал с порта...
aszxx вне форума   Ответить с цитированием
Старый 23.01.2013, 20:57   #25
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

вот ваш пример:
Код:
#!/bin/sh
DATA=25.2
echo "Temperature: $DATA"  | gnokii --sendsms '+7905ХХХХХХХ';
создайте файл (например sms) в каталоге /usr/sbin/sms

задайте ему права
chmod 755 /usr/sbin/sms

и тестируйте

А как вы будите получать данные с ардуино с помощь bash скрипта я не знаю. Нужно сначала научиться вести диалог с ардуиной т.е. какой-то минимальный протокол должен быть.
andr128 вне форума   Ответить с цитированием
Старый 23.01.2013, 23:17   #26
aszxx
Junior Member
 
Регистрация: 29.11.2012
Сообщений: 28
Вес репутации: 0
aszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to behold
По умолчанию

Спасибо, работает, знак доллара в переменной потерял, когда пробовал. Задачка пока простая (в планах большее, но сначала с минимума плясать будем) - считать на роутер данные с 4-5 датчиков с аналога Ардуинки в какой нибудь файл, раз 5-10 минут считывать данные оттуда BASH скриптом и по СМС запросу выдать последние данные обратной СМС-кой. Планирую в автозапуске поставить скрипт на прием/передачу СМС и отправку СМС по превышению условий с датчиков. Скрипт записи данных в текстовый файл с Ардуины будет крутится отдельно, на чем его делать пока не знаю, везде вообще советуют СУБД прикрутить.
На много пока не замахиваюсь, я больше "железячник", вот за пару-тройку часов сделать печатную плату с паяльной маской и химическим лужением проводников это мне более просто и понятно.
Нажмите на изображение для увеличения
Название: _MG_3910.jpg
Просмотров: 392
Размер:	224.5 Кб
ID:	764 Вот моя тестовая ардуино с ИИП на 5В 3А - я как раз роутер, картридер и модем от нее запитываю.
PS.Проще было бы на SIM900D задачку решить, но у роутера возможностей "допиливания" гораздо больше...
aszxx вне форума   Ответить с цитированием
Старый 24.01.2013, 03:52   #27
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

теперь вам нужна программка умеющая общаться с ардуинкой и записывать данные в файл или в выходной поток. Самый простой способ без кросс-компиляции это на Perl написать. Можно в инете поискать примеры perl serial.
andr128 вне форума   Ответить с цитированием
Старый 24.01.2013, 10:50   #28
aszxx
Junior Member
 
Регистрация: 29.11.2012
Сообщений: 28
Вес репутации: 0
aszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to behold
По умолчанию

Не, я её на PHP с библиотекой php_serial.class.php сварганил и загнал в cron. Уже несколько часов в тестовом режиме работает. Был затык именно с СМС.

Программа считывания данных start.php
PHP код:
<?php
include "php_serial.class.php";

// Let's start the class
$serial = new phpSerial;

// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyATH0 etc)
$serial->deviceSet("/dev/ttyATH0");

// Then we need to open it
$serial->deviceOpen();

// Or to read from
$read $serial->readPort();


$fp fopen('/srv/www/arduino.txt''a+'); // Открытие файла, Текстовый режим
$test fwrite($fp$read ); //считывает что накопилось в буфере UART и бросает их в файл
echo $read;
fclose($fp); // Закрытие файла


// If you want to change the configuration, the device must be closed
$serial->deviceClose();

// We can change the baud rate
$serial->confBaudRate(9600);

?>
в crone прописал
*/1 * * * * wget http://192.168.1.99/start.php -O /dev/null - запуск PHP скрипта каждую минуту

скрипт на bash - считывает последние данные из файла arduino.txt и бросает их в виде СМС и в файл лога каждые 30с.
Код:
#!/bin/sh
while :
do

q=`tail -1 /srv/www/arduino.txt`
echo "temper: $q" | gnokii  --sendsms '+7926*****'  - отправка СМС
echo $q >>/srv/www/db2.txt - запись лога отправки
sleep 30 - выполняем каждые 30 секунд
done
Скрипт прописал в автозапуск /etc/rc.local
/srv/www/"имя файла".sh &

Файлы пока тестовые для пробы и проверки стабильности передачи, реально скрипт будет посложнее.
aszxx вне форума   Ответить с цитированием
Старый 24.01.2013, 12:42   #29
andr128
Senior Member
 
Аватар для andr128
 
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1604
andr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond reputeandr128 has a reputation beyond repute
По умолчанию

временные данные лучше записывать в /tmp а то быстро флэшку убъете
andr128 вне форума   Ответить с цитированием
Старый 24.01.2013, 18:19   #30
aszxx
Junior Member
 
Регистрация: 29.11.2012
Сообщений: 28
Вес репутации: 0
aszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to beholdaszxx is a splendid one to behold
По умолчанию

Цитата:
Сообщение от andr128 Посмотреть сообщение
временные данные лучше записывать в /tmp а то быстро флэшку убъете
Не совсем верно, вернее совсем неверно - /TMP ведь на флешке располагается?. Писать нужно в большой файл в режиме добавления данных и стирать его как можно реже, идеально вообще при переполнении флешки. Тогда в цикле записи будут использоваться разные части флешки и уменьшится износ отдельных ячеек. А вот где файл будет располагаться совершенно безразлично - начало и конец данных на флеше читаются одинаково. В существенном уменьшении износа есть смысл, если бросать временные данные в ОЗУ когда её много....
aszxx вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 18:54. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика