• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь WiFi.BSSID и запись на SD Card

manuk3

New member
Здравствуйте!

Возникли проблемы при получении BSSID, а точнее при попытке записи на flash карту.
Конструкция:
[inline]file.write(WiFi.BSSIDstr(i));[/inline]
при компиляции выдает ошибку.

Подскажите пожалуйста рабочий вариант!
 

Юрий Ботов

Moderator
Команда форума
Вы бы хоть сказали что за ошибку оно выдает...
Мы даже не в курсе есть у вас где то функция с таким именем BSSIDstr или нет.
И заодно скажите что эта строка с вашей точки зрения должна делать.
 
Последнее редактирование:

manuk3

New member
Прошу прощения, что непонятно изъяснился.
Этот код должен писать BSSID (MAC адрес) в файл в цикле. Ошибки которые выдает Arduino под сполером.
Код:
Arduino: 1.8.4 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

C:\Users\user\Desktop\WiFiScan\WiFiScan.ino: In function 'void setup()':

WiFiScan:47: error: no matching function for call to 'File::write(String)'

       logfile.write(WiFi.BSSIDstr(i));

                                     ^

C:\Users\user\Desktop\WiFiScan\WiFiScan.ino:47:37: note: candidates are:

In file included from C:\Users\user\Desktop\WiFiScan\WiFiScan.ino:1:0:

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:34:18: note: virtual size_t File::write(uint8_t)

   virtual size_t write(uint8_t);

                  ^

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:34:18: note:   no known conversion for argument 1 from 'String' to 'uint8_t {aka unsigned char}'

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:35:18: note: virtual size_t File::write(const uint8_t*, size_t)

   virtual size_t write(const uint8_t *buf, size_t size);

                  ^

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:35:18: note:   candidate expects 2 arguments, 1 provided

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:52:31: note: size_t File::write(T&) [with T = String; size_t = unsigned int]

   template<typename T> size_t write(T &src){

                               ^

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD\src/SD.h:52:31: note:   no known conversion for argument 1 from 'String' to 'String&'

In file included from C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Stream.h:26:0,

                 from C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/HardwareSerial.h:31,

                 from C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:245,

                 from sketch\WiFiScan.ino.cpp:1:

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:62:16: note: size_t Print::write(const char*, size_t)

         size_t write(const char *buffer, size_t size) {

                ^

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:62:16: note:   candidate expects 2 arguments, 1 provided

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:56:16: note: size_t Print::write(const char*)

         size_t write(const char *str) {

                ^

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Print.h:56:16: note:   no known conversion for argument 1 from 'String' to 'const char*'

Несколько библиотек найдено для "SD.h"
Используется: C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\SD
Не используется: C:\arduino\libraries\SD
exit status 1
no matching function for call to 'File::write(String)'
Проблема явно в типа выдаваемых данных, видимо его нужно преобразовать в другой тип.
 
Сверху Снизу