Powiadomienia
Wyczyść wszystko

[Rozwiązany] Problem z Build AFE Firmware przy uzyciu ATOM software

6 Wpisów
2 Użytkownicy
1 Likes
1,985 Wyświetleń
Wpisów: 3
Autor tematu
(@paul119)
Bywalec
Dołączył: 6 lat temu

Próbuję zbudować wersję używając narzędzia: ATOM i kodu dostępnego tutaj:

https://github.com/tschaban/SONOFF-DS18B20-MQTT/blob/master/src/sonoff-ds18b20-mqtt.ino

Dołączyłem znalezione na necie brakujące pliki: DallasTemperature.h, OneWire.h, PubSubClient.h

Błedy jakie otrzymuję:

[01/09/18 07:18:37] Processing esp01_1m (platform: espressif8266; board: esp01_1m; framework: arduino)

Verbose mode can be enabled via `-v, --verbose` option
Collected 26 compatible libraries
Scanning dependencies...
Library Dependency Graph ( http://bit.ly/configure-pio-ldf )
|-- <Ticker> v1.0
|-- <ESP8266WiFi> v1.0
Linking .pioenvs\esp01_1m\firmware.elf
.pioenvs\esp01_1m\src\main.o:(.text._Z14getTemperaturev+0x10): undefined reference to `DallasTemperature::requestTemperatures()'
.pioenvs\esp01_1m\src\main.o:(.text._Z14getTemperaturev+0x14): undefined reference to `DallasTemperature::getTempCByIndex(unsigned char)'
.pioenvs\esp01_1m\src\main.o: In function `getTemperature()':
main.cpp:(.text._Z14getTemperaturev+0x30): undefined reference to `DallasTemperature::requestTemperatures()'
main.cpp:(.text._Z14getTemperaturev+0x3b): undefined reference to `DallasTemperature::getTempCByIndex(unsigned char)'
.pioenvs\esp01_1m\src\main.o:(.text._Z18publishTemperaturev+0x14): undefined reference to `PubSubClient::publish(char const*, char const*)'
.pioenvs\esp01_1m\src\main.o: In function `publishTemperature()':
main.cpp:(.text._Z18publishTemperaturev+0x5e): undefined reference to `PubSubClient::publish(char const*, char const*)'
main.cpp:(.text._Z16getConfigurationv+0x23): undefined reference to `PubSubClient::publish(char const*, char const*)'
.pioenvs\esp01_1m\src\main.o:(.text._Z13connectToMQTTv+0x14): undefined reference to `PubSubClient::connect(char const*, char const*, char const*)'
.pioenvs\esp01_1m\src\main.o:(.text._Z13connectToMQTTv+0x18): undefined reference to `PubSubClient::subscribe(char const*)'
.pioenvs\esp01_1m\src\main.o:(.text._Z13connectToMQTTv+0x1c): undefined reference to `PubSubClient::connected()'
.pioenvs\esp01_1m\src\main.o: In function `connectToMQTT()':
main.cpp:(.text._Z13connectToMQTTv+0x4a): undefined reference to `PubSubClient::connect(char const*, char const*, char const*)'
main.cpp:(.text._Z13connectToMQTTv+0x61): undefined reference to `PubSubClient::subscribe(char const*)'
main.cpp:(.text._Z13connectToMQTTv+0x7b): undefined reference to `PubSubClient::connected()'
.pioenvs\esp01_1m\src\main.o:(.text.loop+0x0): undefined reference to `PubSubClient::loop()'
.pioenvs\esp01_1m\src\main.o: In function `loop':
main.cpp:(.text.loop+0x13): undefined reference to `PubSubClient::connected()'
main.cpp:(.text.loop+0x20): undefined reference to `PubSubClient::loop()'
.pioenvs\esp01_1m\src\main.o:(.text.setup+0x24): undefined reference to `PubSubClient::setServer(char const*, unsigned short)'
.pioenvs\esp01_1m\src\main.o:(.text.setup+0x28): undefined reference to `PubSubClient::setCallback(std::function<void (char*, unsigned char*, unsigned int)>)'
.pioenvs\esp01_1m\src\main.o: In function `setup':
main.cpp:(.text.setup+0xc8): undefined reference to `DallasTemperature::begin()'
.pioenvs\esp01_1m\src\main.o:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0x4): undefined reference to `PubSubClient::PubSubClient(Client&)'
.pioenvs\esp01_1m\src\main.o:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0x8): undefined reference to `OneWire::OneWire(unsigned char)'
.pioenvs\esp01_1m\src\main.o:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0xc): undefined reference to `DallasTemperature::DallasTemperature(OneWire*)'
.pioenvs\esp01_1m\src\main.o: In function `_GLOBAL__sub_I_WIFI_SSID':
main.cpp:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0x3e): undefined reference to `PubSubClient::PubSubClient(Client&)'
main.cpp:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0x4b): undefined reference to `OneWire::OneWire(unsigned char)'
main.cpp:(.text.startup._GLOBAL__sub_I_WIFI_SSID+0x56): undefined reference to `DallasTemperature::DallasTemperature(OneWire*)'
collect2.exe: error: ld returned 1 exit status
*** [.pioenvs\esp01_1m\firmware.elf] Error 1
[ERROR] Took 12.39 seconds

Czy ktoś wie co jest nie tak, lub co źle robię?

5 Odpowiedzi
1 Reply
adrian
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Dołączył: 10 lat temu

Szefu
Wpisów: 3981

daj mi chwilę to skonwertuje to repozytorium pod ATOMa - dam znać jak będzie gotowe

adrian
Wpisów: 3981
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Szefu
Dołączył: 10 lat temu

@paul119 ściągnij nową wersje z gitHub - powinno chodzić i automatycznie doinstalować brakujące biblioteki

 

Wpisów: 3
Autor tematu
(@paul119)
Bywalec
Dołączył: 6 lat temu

1. Rozumiem adri@n, że soft jest z tej stronki: link ?

2. Czy ten soft ma też możliwość pracy w http? Bo jak dla mnie, to będzie najlepsza opcja z tego względu, że mogę sobie już sam obsłużyć obiekt JSON i mogę stworzyć swoją apkę która to ogarnie tak jak ja chcę.

3. Mam jakiś problem z importem tego projektu. Info w załączonym pliku (cannot_import.jpg).

cannot import
adrian
Wpisów: 3981
Admin Zasłużony dla Forum, Patron Strony
(@adrian)
Szefu
Dołączył: 10 lat temu
  • Ad1. tak
  • Ad2 nie
  • Ad3. ściągnij kod źródłowy uzywając przycisku Clone or Download z GitHub
  • a później w Atom Otwórz Projekt - nie Import projekt

Jeśli potrzebujesz sterowania przez HTTP z odpowiedziami w JSON to skorzystaj z AFE Firmware

  • Wersja źródłowa (wersja T1, która obsługuje DS18B20) - to oprrogramowanie jest bardziej złożone niż to o które pytasz
  • Wersja do wgrania do urządzenia jest dostępna tutaj
Wpisów: 3
Autor tematu
(@paul119)
Bywalec
Dołączył: 6 lat temu

Ok, dzięki. Teraz widzę że działa Build. 

Udostępnij: