Arduino Mega Server
Модератор: Alex
Re: Arduino Mega Server
Планируется ли работа с датчиками температуры? Графики? Архивирование данных? Задание времени архивирования, скачивание архива.
Re: Arduino Mega Server
Это есть. Правда пока графики в реальном времени.Планируется ли работа с датчиками температуры? Графики?
Сохранение статистики сенсоров на карту памяти планируется, но на всё времени не хватает. Но это могут реализовать заинтересованные энтузиасты самостоятельно.Архивирование данных? Задание времени архивирования, скачивание архива.
Re: Arduino Mega Server
Народ, подскажите пожалуйста, куда копать?
Исходные данные: Arduino Mega, Ethernet Shield (w5100).
На SD карту распаковал все, что было в директории microSD.
Запускаю Adruino IDE (версия 1.6.5), запускаю проверку Arduino Mega Server.h и ловлю такую ошибку:
(ошибка в модуле servers)
server.ino: In function 'void serverWorks()':
server:207: error: 'class EthernetServer' has no member named 'available_'
'class EthernetServer' has no member named 'available_'
Относительно похожее на форуме есть, но что да как раскурить пока не могу...
Исходные данные: Arduino Mega, Ethernet Shield (w5100).
На SD карту распаковал все, что было в директории microSD.
Запускаю Adruino IDE (версия 1.6.5), запускаю проверку Arduino Mega Server.h и ловлю такую ошибку:
(ошибка в модуле servers)
server.ino: In function 'void serverWorks()':
server:207: error: 'class EthernetServer' has no member named 'available_'
'class EthernetServer' has no member named 'available_'
Относительно похожее на форуме есть, но что да как раскурить пока не могу...
Re: Arduino Mega Server
А библиотеки правильно подключили? Можете просто заменить родную и подставить из дистрибутива. И какая плата и версия АМС ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Re: Arduino Mega Server
только что заменил библиотеку Ethernet (менял тут-> C:\Program Files (x86)\Arduino\libraries) на ту, что шла в комплекте с AMS (AMS\Sketches\ams\Arduino\libraries)serghei писал(а):А библиотеки правильно подключили? Можете просто заменить родную и подставить из дистрибутива. И какая плата и версия АМС ?
Ошибка поменялась:
void serverWorks() {
for (int sock = 0; sock < MAX_SOCK_NUM - freeSockets; sock++) {
EthernetClient sclient = server.available_(sock); << тут подсветка синтаксиса
serverWorks2(sclient);
}
Ошибка:
SPOILERSPOILER_SHOW
server.ino: In function 'void serverWorks()':
server:207: error: 'class EthernetServer' has no member named 'available_'
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paintImpl(DefaultTokenPainter.java:106)
at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paint(DefaultTokenPainter.java:58)
at org.fife.ui.rsyntaxtextarea.SyntaxView.drawLine(SyntaxView.java:178)
at org.fife.ui.rsyntaxtextarea.SyntaxView.paint(SyntaxView.java:722)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
at org.fife.ui.rtextarea.RTextAreaBase.paintComponent(RTextAreaBase.java:719)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.paintComponent(RSyntaxTextArea.java:1993)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
'class EthernetServer' has no member named 'available_'
server:207: error: 'class EthernetServer' has no member named 'available_'
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paintImpl(DefaultTokenPainter.java:106)
at org.fife.ui.rsyntaxtextarea.DefaultTokenPainter.paint(DefaultTokenPainter.java:58)
at org.fife.ui.rsyntaxtextarea.SyntaxView.drawLine(SyntaxView.java:178)
at org.fife.ui.rsyntaxtextarea.SyntaxView.paint(SyntaxView.java:722)
at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
at org.fife.ui.rtextarea.RTextAreaBase.paintComponent(RTextAreaBase.java:719)
at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.paintComponent(RSyntaxTextArea.java:1993)
at javax.swing.JComponent.paint(JComponent.java:1056)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JViewport.paint(JViewport.java:728)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
'class EthernetServer' has no member named 'available_'
Плата Arduino Mega 2560
Re: Arduino Mega Server
Плата какая! Случайно не Дуя? С ней повозится надо - в менеджере плат добраться до версии 1.6.8
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Re: Arduino Mega Server
не дуяserghei писал(а):Плата какая! Случайно не Дуя? С ней повозится надо - в менеджере плат добраться до версии 1.6.8
Re: Arduino Mega Server
Скачай 015 для Меги и просто скомпилируй без загрузки . С 016 не столкнулся, но сейчас попробую
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
Re: Arduino Mega Server
Сделал хуже! Удалил IDE, поставил самую последнюю версию (1.6.11)serghei писал(а):Скачай 015 для Меги и просто скомпилируй без загрузки . С 016 не столкнулся, но сейчас попробую
Запускаю компиляцию Arduino mega server, а в ответ мне такое:
SPOILERSPOILER_SHOW
In file included from E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\arduino_mega_server.ino:115:0:
E:\Desktop\AMS\Sketches\libraries\DS1307RTC/DS1307RTC.h:19:22: error: 'tmElements_t' has not been declared
static bool read(tmElements_t &tm);
^
E:\Desktop\AMS\Sketches\libraries\DS1307RTC/DS1307RTC.h:20:23: error: 'tmElements_t' has not been declared
static bool write(tmElements_t &tm);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void rtcInit()':
rtc:10: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(getNtpTime);
^
rtc:14: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(RTC.get); // get time from RTC
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void rtcSync()':
rtc:24: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(getNtpTime);
^
rtc:26: error: 'timeStatus' was not declared in this scope
if (timeStatus() != timeNotSet) {
^
rtc:26: error: 'timeNotSet' was not declared in this scope
if (timeStatus() != timeNotSet) {
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void serialRTC()':
rtc:42: error: 'year' was not declared in this scope
Serial.print(year());
^
rtc:44: error: 'month' was not declared in this scope
printDigits(month());
^
rtc:46: error: 'day' was not declared in this scope
printDigits(day());
^
rtc:48: error: 'hour' was not declared in this scope
printDigits(hour());
^
rtc:50: error: 'minute' was not declared in this scope
printDigits(minute());
^
rtc:52: error: 'second' was not declared in this scope
printDigits(second());
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void showDuration(time_t)':
rtc:73: error: 'SECS_PER_DAY' was not declared in this scope
if(duration >= SECS_PER_DAY){
^
rtc:78: error: 'SECS_PER_HOUR' was not declared in this scope
if(duration >= SECS_PER_HOUR){
^
rtc:83: error: 'SECS_PER_MIN' was not declared in this scope
if(duration >= SECS_PER_MIN){
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void checkEvent(time_t*)':
rtc:94: error: 'now' was not declared in this scope
time_t timeNow = now();
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void setNtpInterval()':
rtc:149: error: 'timeStatus' was not declared in this scope
if (timeStatus() == timeNotSet) {
^
rtc:149: error: 'timeNotSet' was not declared in this scope
if (timeStatus() == timeNotSet) {
^
rtc:150: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(18);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server.ino: In function 'void serverWorks()':
server:207: error: 'class EthernetServer' has no member named 'available_'
EthernetClient sclient = server.available_(sock);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server_ajax.ino: In function 'String makeTime()':
server_ajax:226: error: 'hour' was not declared in this scope
s += makeDigits(hour());
^
server_ajax:227: error: 'second' was not declared in this scope
if (second() % 2 == 0) {s += " ";}
^
server_ajax:229: error: 'minute' was not declared in this scope
s += makeDigits(minute());
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server_ajax.ino: In function 'void responseDash(EthernetClient)':
server_ajax:789: error: 'day' was not declared in this scope
s += makeTag("day", "", String(day()));
^
server_ajax:790: error: 'month' was not declared in this scope
s += makeTag("month", "", String(month()));
^
server_ajax:791: error: 'weekday' was not declared in this scope
s += makeTag("weekday", "", String(weekday()));
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\tntp.ino: In function 'time_t getNtpTime()':
tntp:54: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(3600);
^
tntp:55: error: 'SECS_PER_HOUR' was not declared in this scope
return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR;
^
tntp:59: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(18);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\upload.ino: In function 'void uploadWorks()':
upload:160: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(RTC.get);
^
upload:162: error: 'timeStatus' was not declared in this scope
if (timeStatus() != timeSet) {
^
upload:162: error: 'timeSet' was not declared in this scope
if (timeStatus() != timeSet) {
^
exit status 1
'setSyncProvider' was not declared in this scope
E:\Desktop\AMS\Sketches\libraries\DS1307RTC/DS1307RTC.h:19:22: error: 'tmElements_t' has not been declared
static bool read(tmElements_t &tm);
^
E:\Desktop\AMS\Sketches\libraries\DS1307RTC/DS1307RTC.h:20:23: error: 'tmElements_t' has not been declared
static bool write(tmElements_t &tm);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void rtcInit()':
rtc:10: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(getNtpTime);
^
rtc:14: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(RTC.get); // get time from RTC
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void rtcSync()':
rtc:24: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(getNtpTime);
^
rtc:26: error: 'timeStatus' was not declared in this scope
if (timeStatus() != timeNotSet) {
^
rtc:26: error: 'timeNotSet' was not declared in this scope
if (timeStatus() != timeNotSet) {
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void serialRTC()':
rtc:42: error: 'year' was not declared in this scope
Serial.print(year());
^
rtc:44: error: 'month' was not declared in this scope
printDigits(month());
^
rtc:46: error: 'day' was not declared in this scope
printDigits(day());
^
rtc:48: error: 'hour' was not declared in this scope
printDigits(hour());
^
rtc:50: error: 'minute' was not declared in this scope
printDigits(minute());
^
rtc:52: error: 'second' was not declared in this scope
printDigits(second());
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void showDuration(time_t)':
rtc:73: error: 'SECS_PER_DAY' was not declared in this scope
if(duration >= SECS_PER_DAY){
^
rtc:78: error: 'SECS_PER_HOUR' was not declared in this scope
if(duration >= SECS_PER_HOUR){
^
rtc:83: error: 'SECS_PER_MIN' was not declared in this scope
if(duration >= SECS_PER_MIN){
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void checkEvent(time_t*)':
rtc:94: error: 'now' was not declared in this scope
time_t timeNow = now();
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\rtc.ino: In function 'void setNtpInterval()':
rtc:149: error: 'timeStatus' was not declared in this scope
if (timeStatus() == timeNotSet) {
^
rtc:149: error: 'timeNotSet' was not declared in this scope
if (timeStatus() == timeNotSet) {
^
rtc:150: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(18);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server.ino: In function 'void serverWorks()':
server:207: error: 'class EthernetServer' has no member named 'available_'
EthernetClient sclient = server.available_(sock);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server_ajax.ino: In function 'String makeTime()':
server_ajax:226: error: 'hour' was not declared in this scope
s += makeDigits(hour());
^
server_ajax:227: error: 'second' was not declared in this scope
if (second() % 2 == 0) {s += " ";}
^
server_ajax:229: error: 'minute' was not declared in this scope
s += makeDigits(minute());
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\server_ajax.ino: In function 'void responseDash(EthernetClient)':
server_ajax:789: error: 'day' was not declared in this scope
s += makeTag("day", "", String(day()));
^
server_ajax:790: error: 'month' was not declared in this scope
s += makeTag("month", "", String(month()));
^
server_ajax:791: error: 'weekday' was not declared in this scope
s += makeTag("weekday", "", String(weekday()));
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\tntp.ino: In function 'time_t getNtpTime()':
tntp:54: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(3600);
^
tntp:55: error: 'SECS_PER_HOUR' was not declared in this scope
return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR;
^
tntp:59: error: 'setSyncInterval' was not declared in this scope
setSyncInterval(18);
^
E:\Desktop\AMS\Sketches\ams\Arduino\arduino_mega_server\upload.ino: In function 'void uploadWorks()':
upload:160: error: 'setSyncProvider' was not declared in this scope
setSyncProvider(RTC.get);
^
upload:162: error: 'timeStatus' was not declared in this scope
if (timeStatus() != timeSet) {
^
upload:162: error: 'timeSet' was not declared in this scope
if (timeStatus() != timeSet) {
^
exit status 1
'setSyncProvider' was not declared in this scope
Re: Arduino Mega Server
Вот на каком человеческом языке надо писать в каждом втором ответе - ну не будет она компилиться ни какой другой среде , кроме 1.6.5 !!!! Не мучайте себя!
- Вложения
-
- Все работает
- 1.6.5.png (50.47 КБ) 13051 просмотр
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS