Arduino Mega Server

Модератор: Alex

Maks_K
Сообщения: 31
Зарегистрирован: Пт мар 13, 2015 5:10 pm
Благодарил (а): 8 раз
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение Maks_K » Пн сен 28, 2015 1:28 am

Тестировал на работе
а там какие то сложности с сетевым экраном (я так думаю)
-не мог на прямую достучатся к интернет серверу времени пинг был, а вот по 123 порту фиг
тогда для проверки поднял на соседней машине службу времени и с ней пошла синхронизация
P.S. другой глюк AMS работает
вот скрины web страниц 1 и 2, но такое впечатление что там чег то не хватает
P.P.S пробую из AMS достучатся до мажардома - тишина
хотя такой отдельный файл
СпойлерПоказать
/* РАБОТАЕТ !!!!!!!
  Web client
 
 This sketch connects to a site Majardom
 using an Arduino Wiznet Ethernet shield. 
 
 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 
 created 18 Dec 2009
 modified 9 Apr 2012
 by David A. Mellis
 
 */

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//IPAddress server(173,194,33,104); // Google
IPAddress server(80,94,237,183);// MK home
// Initialize the Ethernet client library
// with the IP address and port of the server 
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for(;;)
      ;
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.println("connecting...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 8080)) {
    Serial.println("connected");
    // Make a HTTP request:
    //client.println("GET /search?q=arduino HTTP/1.0");
    client.println("GET /objects/?object=mk_iBoardPro&op=get&p=Test_answer");
    client.println();
  } 
  else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
}

void loop()
{
  // if there are incoming bytes available 
  // from the server, read them and print them:
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();

    // do nothing forevermore:
    for(;;)
      ;
  }
}
отрабатывает на ура
Добро торжествует, зло действует
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн сен 28, 2015 6:11 am

но такое впечатление что там чег то не хватает
Я тоже так думаю и вы очень прозорливы. Там не хватает рекламы от технологических партнёров проекта. И в 0.13 версии там будут баннеры со ссылками на партнёрские проекты Возможно даже скидки на железо для пользователей АМС (кто покупает в России, с китайцами я пока не успел договориться :) ).
geor
Сообщения: 83
Зарегистрирован: Сб май 17, 2014 2:52 am
Откуда: Новосибирск
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение geor » Пн сен 28, 2015 7:07 am

Alex, спасибо за проект, разбираюсь.
Не получается подключить модуль "Температура".
Выдает "temp:13: error: variable 'idTempDat1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
temp:14: error: variable 'idTempDat2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
temp:15: error: variable 'idTempDat3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
temp:16: error: variable 'idTempDat4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
temp:17: error: variable 'idTempDat5' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
variable 'idTempDat1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
Что я не так делаю?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн сен 28, 2015 7:22 am

Тут такой момент. Я столкнулся с тем, что народ борется с ошибками, а потом выясняется, что это не оригинальная версия. Надо понимать, что отвечать я могу только за то, что сделал сам и что сам протестировал. Поэтому просьба указывать, если у вас неоригинальная версия.

По поводу температуры. По идее при включении модуля таких ошибок не должно быть. Что это сходу сказать не могу, похоже на ошибку в определении. Но! В 0.13 версии полностью переработан модуль температуры и, возможно, вам стоит подождать её выхода.
geor
Сообщения: 83
Зарегистрирован: Сб май 17, 2014 2:52 am
Откуда: Новосибирск
Благодарил (а): 10 раз
Поблагодарили: 4 раза

Re: Arduino Mega Server

Сообщение geor » Пн сен 28, 2015 7:27 am

Alex писал(а):Тут такой момент. Я столкнулся с тем, что народ борется с ошибками, а потом выясняется, что это не оригинальная версия. Надо понимать, что отвечать я могу только за то, что сделал сам и что сам протестировал. Поэтому просьба указывать, если у вас неоригинальная версия.

По поводу температуры. По идее при включении модуля таких ошибок не должно быть. Что это сходу сказать не могу, похоже на ошибку в определении. Но! В 0.13 версии полностью переработан модуль температуры и, возможно, вам стоит подождать его выхода.
Спасибо.
nicelight
Сообщения: 4
Зарегистрирован: Пн сен 28, 2015 7:32 am
Откуда: Новосибирск
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение nicelight » Пн сен 28, 2015 7:37 am

dimonkos писал(а):Доброго дня! К великому сожалению не получается залить скетч в ардуину. Ошибка компиляции и все тут. Ни народную версию ни версию автора
Привет. Чтобы нормально откомпилировалось, сбрось папку с библиотеками не в стандартный путь, как в мануале у Алекса написано, а скопируй их в папку Мои документы с примерным путем :
C:\Users\Admin\Documents\Arduino\libraries
перезагрузи ардуиновскую среду и все будет пучком.
За это сообщение автора nicelight поблагодарил:
dimonkos (Пн сен 28, 2015 8:27 am)
Рейтинг: 1.16%
nicelight
Сообщения: 4
Зарегистрирован: Пн сен 28, 2015 7:32 am
Откуда: Новосибирск
Благодарил (а): 3 раза
Поблагодарили: 1 раз

Re: Arduino Mega Server

Сообщение nicelight » Пн сен 28, 2015 7:49 am

Ребята, очень нуждаюсь в помощи.
С ардуинами дружу, с программированием немного тоже, ардуинки кодить могу, а вот с версткой мало опыта. Ну ставил пару раз вордпресовский сайт, да настраивал его с верхнего уровня.
Кто может взяться за меня, растолковать, какой файл на карте памяти за что отвечает и как правильно исправлять или добавлять нвоые страницы.
Минимально что прошу, пояснить ( можно в личку, можно вк http://vk.com/dyingseed ) как подредактировать хотя бы страницу "Пример Ajax" чтобы на ней помимо тех двух кнопок добавить пару кнопок, отправляющих команды по ethernet и принимающие.
Понимаю что тут все на энтузиазме, и я пытался открыть в блокноте SAMPLE2.html и SAMPLE2ю Jscript но даже не смог найти там текст описания кнопокок, ну как на морде страницы отображен: "Светодиоды,
использующие чекбоксы" и т.п.
Кто шарит в html и верстке хоть мало мальски, буду очень признателен! У нас управление квестами перемещается на AMS. )
dimonkos
Сообщения: 39
Зарегистрирован: Сб сен 26, 2015 1:46 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение dimonkos » Пн сен 28, 2015 8:49 am

GaiverX писал(а):В ссылке на народную версию поменять arturmon на gaiverx.
https://github.com/GaiverX/Arduino-Mega-Server-
Только учитывайте, что версия адаптирована для включения в домашнюю сеть с роутером. Настройка ip выполняется в файле Ethernet.ino
Скачал Вашу версию. При попытке компиляции высыпаются ошибки и компиляция не проходит
СпойлерПоказать
rtc.ino:10:1: error: expected ',' or ';' before 'EthernetUDP'
rtc.ino: In function 'void rtcInit()':
rtc.ino:16:3: error: 'Udp' was not declared in this scope
rtc.ino: In function 'time_t getNtpTime()':
rtc.ino:75:10: error: 'Udp' was not declared in this scope
rtc.ino:80:16: error: 'Udp' was not declared in this scope
rtc.ino: In function 'void sendNTPpacket(IPAddress&)':
rtc.ino:114:3: error: 'Udp' was not declared in this scope
Ошибка компиляции.
Armbian 5.38 на Orange Pi PC
GaiverX
Сообщения: 62
Зарегистрирован: Ср авг 26, 2015 3:15 pm
Благодарил (а): 1 раз
Поблагодарили: 6 раз

Re: Arduino Mega Server

Сообщение GaiverX » Пн сен 28, 2015 9:11 am

dimonkos писал(а): Скачал Вашу версию. При попытке компиляции высыпаются ошибки и компиляция не проходит
СпойлерПоказать
rtc.ino:10:1: error: expected ',' or ';' before 'EthernetUDP'
rtc.ino: In function 'void rtcInit()':
rtc.ino:16:3: error: 'Udp' was not declared in this scope
rtc.ino: In function 'time_t getNtpTime()':
rtc.ino:75:10: error: 'Udp' was not declared in this scope
rtc.ino:80:16: error: 'Udp' was not declared in this scope
rtc.ino: In function 'void sendNTPpacket(IPAddress&)':
rtc.ino:114:3: error: 'Udp' was not declared in this scope
Ошибка компиляции.
"В голове моей опилки, небеда!" Винни-Пух.
Моя ошибка, в строке:
IPAddress timeServer(191, 233,81,105);
unsigned int localPort = 123
при редактировании после 123 забыл ; поставить. Поэтому ошибка выдается.
должно быть:
IPAddress timeServer(191, 233,81,105);
unsigned int localPort = 123;
Исправил на гите.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн сен 28, 2015 9:19 am

чтобы на ней помимо тех двух кнопок добавить пару кнопок, отправляющих команды по ethernet
Просто так вы кнопку не добавите. Вы её сможете добавить, когда «въедите» в HTML, CSS, JavaScript, Ajax и механизм работы Ардуино скетча. Это объективная плата за чудеса на 8-и битном контроллере. По-другому никак.

Начать нужно с того, что понять, что АМС живой, у него (пока) нет осознания, но он живой в том смысле, что в системе происходит постоянный обмен информацией и результат этого обмена вы видите на экране.

Смысл такой: по запросу браузера Ардуино отдаёт страничку со встроенной управляющей логикой (JavaScript), которая в свою очередь активизирует циклический процесс запроса Ajax данных из Ардуины, и сама же начинает принимать эти данные и отправлять дополнительные команды Ардуине (в циклическом потоке). Приходящие данные обрабатываются JavaScript-ом и «засовываются» в нужные места на веб-странице (аналог мимики у живых систем), предварительно накладывая на данные стилевое оформление CSS.

Работая с АМС вы в прямом смысле смотрите этому существу в «фейс». А когда нажимаете на кнопки — разговариваете (своеобразным образом с ним). Сенсоры это его органы чувств, прошивка — набор врождённых рефлексов, системные библиотеки — подсознание, скетч — нервная система.

А вы говорите «кнопку добавить» :)
Ответить