реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Sim300+Server, Господа помогите с серверной частью для устройства.
megavoka
сообщение Oct 28 2010, 12:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Здравствуйте,я аспирант веду свой пилотный проект, уже "разработал" железо ATmel+sim300 все стреляет (проверялось по терминалу).Много просматривал форум с целью понять как лучше организовать связь железа и серва (FTP or HTTP). Получется что с HTTP более правильнее, но возникает вопрос о обработке данных на серве. Очень прошу помочь с данным вопросом. Более чем уверен, что у многих получилось решить данный вопрос и связать железо с БД. ЗАРАНЕЕ ВСЕМ БОЛЬШОЕ СПАСИБО.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 12:17
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Поглядите как устроен HTTP протокол, напишите скрипт на PHP и будет вам работа с БД.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 15:00
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 16:17) *
Поглядите как устроен HTTP протокол, напишите скрипт на PHP и будет вам работа с БД.

Спасибо, в общем и целом Вы правы, но может есть у кого либо код от которого отталкиваться, ибо не селен в пхп. В общем буду рад любой помощи.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 15:05
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



В интернете полно инфы по PHP. Поищите, обретёте очень полезный опыт. Там все очень просто, проработайте вопрос на предмет GET и POST запросов.
http://citforum.ru/internet/php/getpost.shtml например
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 15:41
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 19:05) *
В интернете полно инфы по PHP. Поищите, обретёте очень полезный опыт. Там все очень просто, проработайте вопрос на предмет GET и POST запросов.
http://citforum.ru/internet/php/getpost.shtml например

ОК, спасибо, а может и на счет идентификации железа что то подскажите? как определить что от кого?
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 15:53
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



По айди номеру у меня было реализовано. Выж то как-то данные будете передавать, так и передавайте айди устройства.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 16:04
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 19:53) *
По айди номеру у меня было реализовано. Выж то как-то данные будете передавать, так и передавайте айди устройства.

ну на сколько я понял нужно стринг передавать,это я про данные. а вот как вы организовали айди не совсем ясно. хотя конечно можно завести переменную, туда поместить идентификатор и вставлять в каждую посылку. Но что то мне кажется это не кошерное решение. Я не настаиваю, но если вам не сложно поделитесь пожалуйста тем что у вас было наработано, а то пхп меня одолеет smile.gif
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 16:08
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Вам просто чтоб закрыть проект или разобраться на будущее???

h_ttp://myservice.com/insertdata.php?iddevice=82243&st=0&gopid=831164

ddevice=82243
st=0
gopid=831164

вот такие аргументы будут передаваться в скрипт insertdata.php

Хотите чтоб я за Вас делал, платите деньги )))).
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 16:15
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 20:08) *
Вам просто чтоб закрыть проект или разобраться на будущее???

h_ttp://myservice.com/insertdata.php?iddevice=82243&st=0&gopid=831164

ddevice=82243
st=0
gopid=831164

вот такие аргументы будут передаваться в скрипт insertdata.php

Хотите чтоб я за Вас делал, платите деньги )))).

Ясно, спасибо Вам добрый человек. Нее чтобы Вы за меня делали не хочу, да и денег таких нет smile.gif да и не факт что мой проект мне что либо пренесет, тут ситуация называется вляпался smile.gif Просто надеялся, что сможете поделиться. Разобраться безусловно хочу, но боюсь что не успею.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 16:29
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Яж не знаю какая у вас задача, данных вы никаких не предоставили, пример скрипта, что он должен делать, как вы это все видите.
Разобрались бы HTTP сначала....
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 17:10
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 20:29) *
Яж не знаю какая у вас задача, данных вы никаких не предоставили, пример скрипта, что он должен делать, как вы это все видите.
Разобрались бы HTTP сначала....

Да задача у меня простая, есть объект с параметрами, давление, температура, расход, состояние батареи, возможно еще и балланс вот эти данные нужно собирать 2 раза в день и закидывать в БД, дальше эти данные обрабатываются и принимаются соответсвующие выводы. Область применения пищевое производство. В идеале я вижу это так в 7 утра и 7 вечера модем инициализирует соединение с сервом Web или ftp или mysql. открывает транзакцию передает данные и закрывает транзакцию после чего отрубается. Честно говоря за основу была взята схемотехника отладочной платы olimex, но ничего сам все собрал и вроде даже все правильно работает. Особо большого опыта программирования мк как и сервера нет, вот и бьюсь.

И вообще господа, профессионалы кто как видит реализацию, подобной задачи?
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 28 2010, 18:19
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



На Сервере с реальным(чесным) IP поднят WEB сервер.

Написать PHP скрипт который добавляет запись в базу MySQL.

Устройство делает запрос на сервер посредством HTTP протокола примерно такого вида:
h_ttp://255.155.155.1/insetdata.php?ID=001&Temp1=23&Temp2=-4&Temp3=125&Press=50

ID=001 - айди устройства
Temp1=23 - датчик температуры 1
Temp2=-4 - датчик температуры 2
Temp3=125 - датчик температуры 3
Press=50 - датчик давления

Скрипт insetdata.php посредством GET принимает данные с строки и присваивает их переменным.

Далее выполняется SQL запрос на добавление данных в таблицу.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 28 2010, 18:28
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 28 2010, 22:19) *
На Сервере с реальным(чесным) IP поднят WEB сервер.

Написать PHP скрипт который добавляет запись в базу MySQL.

Устройство делает запрос на сервер посредством HTTP протокола примерно такого вида:
h_ttp://255.155.155.1/insetdata.php?ID=001&Temp1=23&Temp2=-4&Temp3=125&Press=50

ID=001 - айди устройства
Temp1=23 - датчик температуры 1
Temp2=-4 - датчик температуры 2
Temp3=125 - датчик температуры 3
Press=50 - датчик давления

Скрипт insetdata.php посредством GET принимает данные с строки и присваивает их переменным.

Далее выполняется SQL запрос на добавление данных в таблицу.
зное
Спасибо тебе ДРУЖИЩЕ, реально выручаешь. Буду пробовать, рад любым твоим подсказкам.
Go to the top of the page
 
+Quote Post
av-master
сообщение Oct 29 2010, 07:30
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998



Мы передаем попроще. на сервере запущена программка которая слушает порт к примеру 12345 . устройство уствнавливает конект к порту. и просто пихает строку 0A0b;ID;D1;D2;D3;crc$
Можно вообще сразу конектиться к БД например MYSQL на порт 3306 и слать чтото типа: INSER IN0(имя таблицы) (ID,D1,D2,D3) VALUE (001,23,-4);
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 08:38
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



А авторизация??
Если есть у кого-то почитать про простой протокол работы с БД MySQL было бы неплохо изучить.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Oct 29 2010, 09:12
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Вариант с программкой слушающей порт попроще, но при переходе реальное использование выльется в хороший такой гемморой. Тут автору надо думать, какие у его проекта перспективы. Если планируется что-то серьёзное (в чём я сильно сомневаюсь при данной постановке задачи), то лучше сразу использовать стандартный протокол а-ля HTTP. Не будет проблем с файрволами, проще будет разворачивать сервер, проще будет интегрироваться с БД и скриптовыми языками, можно будет размещаться на хостинге за мало денег, а не покупать выделенный сервер.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 09:19
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(av-master @ Oct 29 2010, 11:30) *
Мы передаем попроще. на сервере запущена программка которая слушает порт к примеру 12345 . устройство уствнавливает конект к порту. и просто пихает строку 0A0b;ID;D1;D2;D3;crc$
Можно вообще сразу конектиться к БД например MYSQL на порт 3306 и слать чтото типа: INSER IN0(имя таблицы) (ID,D1,D2,D3) VALUE (001,23,-4);

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

Цитата(andrewlekar @ Oct 29 2010, 13:12) *
Вариант с программкой слушающей порт попроще, но при переходе реальное использование выльется в хороший такой гемморой. Тут автору надо думать, какие у его проекта перспективы. Если планируется что-то серьёзное (в чём я сильно сомневаюсь при данной постановке задачи), то лучше сразу использовать стандартный протокол а-ля HTTP. Не будет проблем с файрволами, проще будет разворачивать сервер, проще будет интегрироваться с БД и скриптовыми языками, можно будет размещаться на хостинге за мало денег, а не покупать выделенный сервер.

Ну про серьёзность это вы зря. Это мой первый проект связанный с телеметрией, нужно с чего то начинать. По поводу хостинга, вопрос действительно хороший, нужно понимать 2 составляющие не каждый владелец системы будет заинтересован в том что его база лежит удаленно, а вот на счет разворачивания это в общем то да, берешь денвер или подобное и в путь.
Go to the top of the page
 
+Quote Post
av-master
сообщение Oct 29 2010, 09:29
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 857
Регистрация: 14-05-05
Из: Украина
Пользователь №: 4 998



Подробностей к сожалению незнаю так как сервером заведует другой человек а он заграницей. 100% знаю что стоит он на простом компе с ADSL интернетом с белым не фиксированым IP и девайсы к нему конектятся по имени через dyndns. org на какойто порт.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 11:44
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Господа кому интересен топик вот кое что нашел по поводу обработки в рнр http://www.linedmk.com/page55.html.
Возникает один вопрос как правильнее формировать get чет я пока не допер, может кто подскажет?
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 11:54
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Цитата
<?php
echo $_GET["ID"];
echo $_GET["Temp"];
?>

show.php
Данный скрипт если запустить с параметрами show.php?ID=004&Temp=67

Выведет в браузере
004
67

Разобрались???
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 12:33
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



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

Про то что создаем базу с таблицами это все опускаем, т.к. должно быть
$t1=$_POST['t1'];
$t2=$_POST['t2'];

Для подключения к серверу баз данных нужно выполнить такую команду:
$data_link=mysql_connect("localhost","test","password");
Для подключения к БД:
mysql_select_db("test","$data_link");
затем
$sql="insert into test values ('".t1."','".t2"')";
$result = mysql_query($sql);
if ($result){
echo"Добавлено";
}
else{echo"Ошибка";};
mysql_close(data_link);

Идеология верна?

Цитата(Tcom @ Oct 29 2010, 15:54) *
show.php
Данный скрипт если запустить с параметрами show.php?ID=004&Temp=67

Выведет в браузере
004
67

Разобрались???


Да вроде как. Вы мне очень помогаете. Только вот как вы генерите со стороны уст-ва h_ttp://255.155.155.1/insetdata.php?ID=001&Temp1=23&Temp2=-4&Temp3=125&Press=50 - я понимаю что это строка
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 13:05
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Цитата
int IDDevcie,Temp1,Temp2,Temp3,Press;
char sring[256];

IDDevcie = 4;
Temp1 = 23;
Temp2 = 25;
Temp3 = 36;
Press = 45;

sprintf(sring,"h_ttp://255.155.155.1/insetdata.php?ID=%d&Temp1=%d&Temp2=%d&Temp3=%d&Press=%d",IDDevcie,Temp1,Temp2,Temp3,Press);


в string будет та самая желанная строка.
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 13:18
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 29 2010, 17:05) *
в string будет та самая желанная строка.

СПАСИБО ТЕБЕ. а в ат команду ты уже сформированный стрнг вставляешь. Как звать тебя, добавлю в перечень помошников проекта.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 13:21
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



там кроме команды нужно ещё намахать реализацию протокола HTTP.
ТО что я написал 0.0001% кода
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 13:35
Сообщение #25


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 29 2010, 17:21) *
там кроме команды нужно ещё намахать реализацию протокола HTTP.
ТО что я написал 0.0001% кода

Не совсем понял, поясни пожалуйста, http протокол сто стороны уст-ва. Чтобы нормально get работал.?
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 13:36
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



а вы читали про HTTP протокол?
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 13:40
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 29 2010, 17:36) *
а вы читали про HTTP протокол?

Ну в общем то да. Протокол гипертекстов. В общем ясно со стороны устройства нужен полноценный клиент.
Go to the top of the page
 
+Quote Post
Tcom
сообщение Oct 29 2010, 13:42
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 360
Регистрация: 3-01-06
Из: Украина Запорожская обл.
Пользователь №: 12 792



Блин первая ссылка в гугле.

Цитата
Обычный GET-запрос

Запрос клиента:

Цитата
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close


Ответ сервера:

Цитата
HTTP/1.0 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close


(далее следует запрошенная страница в HTML)

Аналогично выглядит ответ 203. Что существенно, непосредственно запрашиваемые данные отделены от HTTP-заголовков с помощью CRLF CRLF (двух переводов строки).
Go to the top of the page
 
+Quote Post
megavoka
сообщение Oct 29 2010, 13:51
Сообщение #29


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 12-02-09
Пользователь №: 44 759



Цитата(Tcom @ Oct 29 2010, 17:42) *
Блин первая ссылка в гугле.



Ответ сервера:



(далее следует запрошенная страница в HTML)

Аналогично выглядит ответ 203. Что существенно, непосредственно запрашиваемые данные отделены от HTTP-заголовков с помощью CRLF CRLF (двух переводов строки).

нефига не понял. пошел матчасть читать.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 10:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01686 секунд с 7
ELECTRONIX ©2004-2016