Anonymous
Так из коробки не дружит в связке с прошивкой Micropython
Дио
Друзья, помощь по коду нужна
Дио
У меня есть массив статический, я его в цикле перебираю, надо сравнить с другим значением. В чем фишка, он все нормально сравнивает, кроме первой строки, то есть получается "Строка" = "Строка", но он все равно не считает, что они одинаковые
Дио
Но вот все следующие значения нормально работают
Дио
bool isNumberAllowed = false; for (int i = 0; i < MAX_NUMBERS; i++) { if (allowedNumbers[i].equals(phoneNumber)) { isNumberAllowed = true; break; } }
Дио
И что за говно такое статические массивы
Дио
Я прочитал, что с динамическими тут проблемы?
Slava
Я прочитал, что с динамическими тут проблемы?
Пиши в строку через запятую и в ней ищи. Как такой метод?
Дио
Делаю, просто мусор отсюда убрал
Дио
bool isNumberAllowed = false; for (int i = 0; i < MAX_NUMBERS; i++) { SerialMon.print(allowedNumbers[i]); SerialMon.print(" = "); SerialMon.println(phoneNumber); if (allowedNumbers[i].equals(phoneNumber)) { isNumberAllowed = true; break; } }
Дио
Короче с первого номера в массиве звоню - не распознает, со второго - все ок, с третьего ESP упала
Дио
Ну упала она скорее всего из-за того, что я i -1 поставил для теста
Дио
Пиши в строку через запятую и в ней ищи. Как такой метод?
А может вообще номера одной строкой хранить и все? И ее проверять?
Дио
Дио
Просто задумался мож
Дио
Я вот первый раз
Slava
Это же не функция
Логичнее её сделать функцией
Дио
Логичнее её сделать функцией
Да меня тошнит от кода
Дио
Я там нахуевертил на ЕСПШКЕ 700 строк и на сайте около 2000
Дио
Ладно, сейчас попробую к себе в API подсунуть первый элемент фейковый
Дио
Ладно, сейчас попробую к себе в API подсунуть первый элемент фейковый
Вот, теперь короче API подсовывает первым фейковый номер, не из MySQL, при сравнении он пролетает и тогда мой номер нормально сравнивается. Вот так пока победил, но буду думать, этот масив еще во флеше надо хранить
Дио
Спасибо всем
Slava
Ладно, сейчас попробую к себе в API подсунуть первый элемент фейковый
А у тебя телефоны в виде чисел типа инт? И дай угадаю, они больше 4 миллиардов?
Дио
Слава или я? Ну я понял про что он:)
Дио
Я не программист просто
Дио
Короче переделал я код, лучше буду строку хранить, чем массив ебучий. Смысл такой, список номеров хранится в виде строки, когда надо проверить я строку быстро превращаю в массив, перебираю и избавляюсь нахер, получив булево значение есть номер в списке или нет. И теперь не надо фармить размер массива постоянно, не надо париться с тем, как во флеше хранить строку, короче отличный вариант
Дио
А зачем строку превращать в массив? Можно же просто искать строку в строке. Гдеискать.indexOf(что искать) например
Я наверное неправильно выразился, я короче на основании запятой получаю номер, то есть беру все символы до запятой, сверяю их со своим номером, если не совпадает - удаляю и дальше так иду
Дио
Ну короче как на массив, но не массив
Дио
Короче надо было бы еще один sim800l купить, написать на нем скрипт, который бы пульнул 100 звонков на мое устройство, чтобы проверить, сколько по факту обработается звонков, руками замучаешься
Дио
Ага
Slava
Чето я задумки не пойму.
Дио
Я куплю обязательно, мне так эта штука понравилась
Slava
Устройство что делает?
Дио
Чето я задумки не пойму.
Ну бля, имеем 100 исходящих вызовов на мое устройство, смотрим сколько по факту скрипт сработал верно
Дио
Устройство что делает?
Звонит на шлагбаум
Дио
// определите количество байтов, к которым вы хотите получить доступ #define EEPROM_SIZE 1
Дио
А откуда я знаю, сколько брайтов мне надо?)
Дио
В плане?
Дио
0
Почему 0? Мне надо сохранить строку в ЕЕПРОМЕ
Slava
Подсчитай предположительно сколько байт надо
Дио
Ну сек попробую
Slava
Можно еепром не использовать, а писать-читать файлик в спиффс
Slava
2600 байт
Легко
Дио
Легко
Попробую через спиффс твой
Дио
А какой формат файла лучше использовать? ТХТ или есть требования?
Slava
В примерах джейсона есть загрузка конфигурации. Щас попробую найти тебе ссылку
Дио
В примерах джейсона есть загрузка конфигурации. Щас попробую найти тебе ссылку
Судя по описанию как-то так? void setup() { SPIFFS.begin(); } Потом где-то File numbersFile = SPIFFS.open("/numbers.txt", "w"); numbersFile.println(myString); numbersFile.close();
Slava
Да
Slava
https://github.com/bblanchon/ArduinoJson/blob/6.x/examples/JsonConfigFile/JsonConfigFile.ino
Slava
Тут пример для sd, для спифс аналогично
Slava
В этом примере можно много переменных созранять-читать
Slava
Спасибо
Я на его основе сделал так...
Slava
Slava
Редактирую и загружаю куеву тучу значений
Дио
Я к сети не подключен по вайфай
Дио
Реши отказаться от этой идеи
Дио
error: 'SPIFFS' was not declared in this scope
Дио
Дио
Ничего я не понял короче
Дио
Я вроде плагин запихнул, а он не отображается в ардуино иде
Дио
Note: at the time of writing this post, the ESP32 Filesystem Uploader plugin is not supported on Arduino 2.0.
Sergey
у thread требуется border router соединяющий сеть mesh, с внешней сетью, в esp mesh ситуация аналогичная? если ситуатция аналогичная, то может ли както быть настроен border router на два режима, режим когда он раздает интернет с какой то ноды в сети mesh и режим когда он принимает с внешней сети и расшаривает интрнет во внутреннюю сеть?
Sergey
раздача ip адресов в thread децентрализованная, как с этим делом здесь?
Sergey
есть ли какие то отличия от B.A.T.M.A.N ? в нем вообще вся сеть как локалка (распределенный коммутатор)
Indr1x
Я не думаю что вам кто то ответит на ваш вопрос. Все эти esp это кейс iot устройств и тот же меш там заточен тупо под пересылку данных с ноды. Вы же хотите сделать из них фактически телекоммуникационное оборудование. Полагаю возможно, ценой усилий и преодолением трудностей, но это не правильный выбор стека для задачи скорее. потому что никто в них ничего подобного не закладывал, а сетевой уровень закрытый блоб
Sergey
фигово 😁
AntikillerVova 🇷🇺
Добрый день господа. Проблема, функции не хотят корректно работать когда под условием. Помогите найти где я ошибся. И да, это всё 74hc595 и 74hc165.
AntikillerVova 🇷🇺
if(En165)     {         byte xy = in_165();     }  If(en595)         {         out_595(data);          }         //----------------------------- byte in_165() {     byte b = 0;     GPOC = (1 << 2); // вытсавляем 2 в лог0       GPOS = (1 << 2); // вытсавляем 2 в лог1       byte ii = 0b00000001;     for (int i = 0; i <= 7; i++)     {         if (GPI & (1 << 12)) b |= ii; //             ii <<= 1;         GPOS = (1 << 14); // вытсавляем 14 в лог1             GPOC = (1 << 14); // вытсавляем 14 в лог0     }     return b; } void out_595(byte x) {     GPOC = (1 << 2); // вытсавляем 2 в лог0       byte ii = 0b00000001;     for (int i = 0; i <= 7; i++)     {         if (ii & x)         {                 GPOS = (1 << 13); // вытсавляем 2 в лог1         }          else         {                   GPOC = (1 << 13); // вытсавляем 2 в лог0         }         ii <<= 1;         GPOS = (1 << 14); // вытсавляем 2 в лог1             GPOC = (1 << 14); // вытсавляем 2 в лог0     }       GPOS = (1 << 2); // вытсавляем 2 в лог1 }
Sergey
я готов денег отсыпать, но для начала хотел бы понять можно ли такое вообще реализовать… смотрю на b.a.t.m.a.n. смотрю на DDHCP, пока понял что нет готового решения и мне это нужно для того что бы сделать модуль для RPI zero (мобильный модуль) в котором будут LTE, акселерометр/компас, GPS и вот этот mesh в виде еще одного сетевого интерфейса…