Делюсь опытом WiFi репитер на ESP-12F

Arthur

Active member
@Ksiw , почему же - на вражьем?
Для меня английский - совсем даже не фражий.
Тем более, Я пишу статьи редко, да и то с одной целью - чтобы показать себя, свои знания.
Вы в курсе, сколько платят электронщику в ЕС? А в Канаде? А в США? )))
В Казани, например, Я не смог найти себе работу по электронике, под которую по требованиям бы Я прошёл и которые платили бы согласно моим ожиданиям.
Не так давно был в одной конторе на собеседовании. Так вот, хотят, чтобы человек всё умел, а готовы платить, а как электронщику-студентику. То есть, около 90-100 тр. Для сравнения - знакомый пацанчик учится в колледже в США и левачит в свободное время разнорабочим в WalMart и имеет порядка 1200-1400 баксов в мес. Это при том, что он ещё с родителями живёт и они его обеспечивают.
 

Ksiw

New member
@Arthur Я Вас прекрасно понимаю, потому как сам вапще самоучка, С++ освоил по учебникам и надеюсь, хотя бы к 35 годам поступить в универ на электронщика чтоб получать зп электронщика, а не электромонтажника.
О политике не будем - не место)
 

Arthur

Active member
А никто и не и не заговаривал о политике. Тут больше разговор о финансовых ожиданиях и об экономической реальности :).
Я в своё время завод электроники хотел открывать, по своей бизнес-идее... Скажем так, в СНГ... Но ни одно государство не заинтересовалось.
Затопили вопросами в стиле "Предоставьте производственный план", хоть Я изначально везде и озвучивал и писал, что нужно будет с нуля поднимать, ничего готового нет и нужно пройти путь начиная с закупки технологий :)...
В результате народ закупается на AliExpress, хотя мой проект подразумевал то, чтобы насытить внутренний рынок дешёвой техникой...
Почти всё, что Я покупал когда-либо из техники - всё это можно было бы производить самим... Да и затраты под завод не такие уж и большие требуются, в рамках государства-то :)
 
Последнее редактирование:

Сергей_Ф

Moderator
Команда форума
изъяснитесь, пожалуйста, понятнее. Вы про что?
честно говоря, не знаю как понятнее объяснить настройки Вашего же репитера.
У каждого, своя домашняя сеть со своим именем и паролем, свой диапазон ip адресов домашней сети.
В Вашем коде есть места
Код:
 // Setup credentials for original WiFi, that we plan to repeat
const char* ssidExt = "MyOrigWiFi";
const char* passwordExt = "MyOrigWiFiPass";


// Update these with values suitable for your network.
IPAddress ip(192, 168, 0, 13); //Node static IP
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
которые нужно, как я понимаю править под свою сеть. Именно потому, что настройка данных параметров в коде не предусмотрена, Вы не можете предоставить свою разработку в виде готовой прошивке. Я понял именно так, если не прав поправьте.

Я предлагаю сделать настройку данных параметров через веб-морду ( ну и сделать веб-морду, естественно), тогда разработку можно будет выложить в виде готового bin-файла для прошивки через esptool. В этом случае Вашу замечательную разработку можно будет просто прошить на любом компе, без предварительной сложной и непонятной преднастройки и коррекции скетча. Все настройки можно будет сделать уже в прошитом модуле. Более того, подозреваю что для корректной работы Arduino IDE "шаманские" действия пунктов 3-11 надо будет повторить в обратном порядке. Может я ошибаюсь, но так Ваша разработка только выиграет.
 

tretyakov_sa

Moderator
Команда форума
Более того, подозреваю что для корректной работы Arduino IDE "шаманские" действия пунктов 3-11 надо будет повторить в обратном порядке. Может я ошибаюсь, но так Ваша разработка только выиграет.
Шаманские действия :) нужно будет повторить в обратном порядке :)!
В прямом бы порядке выполнить :) хотя бы понимать, для чего, что мы делаем например зачем ставить Python 2.7 после его установки обычно у меня другие программы отказываются работать.
Для чего Cygwin, попытался поставить и не получилось.
Может сжать папку с настроенным arduino IDE в архив и выложить.
Скачал, развернул, загрузил скетч и вытер все.
 

Сергей_Ф

Moderator
Команда форума
@tretyakov_sa @Arthur у меня вообще Линукс и я поставить Cygwin не могу. Попробовал скомпилировать без пунктов 3-11 получил
Код:
Arduino: 1.6.12 (Linux), Плата:"NodeMCU 1.0 (ESP-12E Module), 160 MHz, 460800, 4M (3M SPIFFS)"

/opt/arduino-1.6.12/arduino-builder -dump-prefs -logger=machine -hardware /opt/arduino-1.6.12/hardware -hardware /home/sergey/.arduino15/packages -tools /opt/arduino-1.6.12/tools-builder -tools /opt/arduino-1.6.12/hardware/tools/avr -tools /home/sergey/.arduino15/packages -built-in-libraries /opt/arduino-1.6.12/libraries -libraries /home/sergey/Arduino/libraries -fqbn=esp8266:esp8266:nodemcuv2:CpuFrequency=160,UploadSpeed=460800,FlashSize=4M3M -ide-version=10612 -build-path /tmp/arduino_build_815100 -warnings=default -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=/home/sergey/.arduino15/packages/esp8266/tools/esptool/0.4.9 -prefs=runtime.tools.mkspiffs.path=/home/sergey/.arduino15/packages/esp8266/tools/mkspiffs/0.1.2 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=/home/sergey/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -verbose /home/sergey/Arduino/repiter/repiter.ino
/opt/arduino-1.6.12/arduino-builder -compile -logger=machine -hardware /opt/arduino-1.6.12/hardware -hardware /home/sergey/.arduino15/packages -tools /opt/arduino-1.6.12/tools-builder -tools /opt/arduino-1.6.12/hardware/tools/avr -tools /home/sergey/.arduino15/packages -built-in-libraries /opt/arduino-1.6.12/libraries -libraries /home/sergey/Arduino/libraries -fqbn=esp8266:esp8266:nodemcuv2:CpuFrequency=160,UploadSpeed=460800,FlashSize=4M3M -ide-version=10612 -build-path /tmp/arduino_build_815100 -warnings=default -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.esptool.path=/home/sergey/.arduino15/packages/esp8266/tools/esptool/0.4.9 -prefs=runtime.tools.mkspiffs.path=/home/sergey/.arduino15/packages/esp8266/tools/mkspiffs/0.1.2 -prefs=runtime.tools.xtensa-lx106-elf-gcc.path=/home/sergey/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2 -verbose /home/sergey/Arduino/repiter/repiter.ino
Using board 'nodemcuv2' from platform in folder: /home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0
Using core 'esp8266' from platform in folder: /home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0
Изменены опции сборки, пересобираем все
Detecting libraries used...
"/home/sergey/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/tmp/arduino_build_815100/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11  -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=160000000L -DLWIP_OPEN_SRC   -DARDUINO=10612 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_NODEMCU"  -DESP8266 "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu" "/tmp/arduino_build_815100/sketch/repiter.ino.cpp" -o "/dev/null"
"/home/sergey/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/tmp/arduino_build_815100/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11  -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=160000000L -DLWIP_OPEN_SRC   -DARDUINO=10612 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_NODEMCU"  -DESP8266 "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src" "/tmp/arduino_build_815100/sketch/repiter.ino.cpp" -o "/dev/null"
"/home/sergey/.arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include" "-I/tmp/arduino_build_815100/core" -c -w -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11  -ffunction-sections -fdata-sections -w -x c++ -E -CC -DF_CPU=160000000L -DLWIP_OPEN_SRC   -DARDUINO=10612 -DARDUINO_ESP8266_NODEMCU -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD="ESP8266_NODEMCU"  -DESP8266 "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/cores/esp8266" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/variants/nodemcu" "-I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi/src" "/tmp/arduino_build_815100/sketch/repiter.ino.cpp" -o "/tmp/arduino_build_815100/preproc/ctags_target_for_gcc_minus_e.cpp"
/home/sergey/Arduino/repiter/repiter.ino:2:21: fatal error: WiFiUDP.h: No such file or directory
#include <WiFiUDP.h>
                     ^
compilation terminated.
Используем библиотеку ESP8266WiFi версии 1.0 из папки: /home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/ESP8266WiFi
exit status 1
Ошибка компиляции для платы NodeMCU 1.0 (ESP-12E Module).
попытка выполнить команду make all, приводит к ошибке
Код:
 make all
../../../xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -c -Os -g -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -std=gnu99 -ffunction-sections -fdata-sections -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -DLWIP_OPEN_SRC -Ibuild -I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/include -I/home/sergey/.arduino15/packages/esp8266/hardware/esp8266/2.3.0/tools/sdk/lwip/include core/dhcp.c -o build/core/dhcp.o
make: ../../../xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc: Команда не найдена
Makefile:20: ошибка выполнения рецепта для цели «build/core/dhcp.o»
make: *** [build/core/dhcp.o] Ошибка 127
 
Последнее редактирование:

pvvx

Активный участник сообщества
А в чем сама разработка?
В изменении опции IP_FORWARD и пересылке DNS на 8.8.8.8 ? :)
WiFi репитер вооб-ще-то не так организуется...
 

Arthur

Active member
Народ, данную затею Я выложил лишь с двумя целями:
1) показать одному товарищу из ЕС, на что Я способен.
2) провести в комнату родителей WiFi.
Так что данная реализация не претендует на какой-либо функционал, который может быть кем-либо сходу, без разбора воспроизведён.
Да, это была замена переменных, но вопрос был в том, как это реализовать.
Аналогичных tutorial Я в сети не нашёл, именно по ESP8266 Arduino. Про NodeMCU - писали.
Вобщем, товарищ из ЕС доволен, а мне больше и не нужно - вдруг в ЕС пригласят работать...
Как Бог даст, как говорится.
 
Последнее редактирование:

Arthur

Active member
И это не репитер, по реализации, что Я написал в своей статье. Перечитайте её ещё раз.
 

Arthur

Active member
@Сергей_Ф, у вас уже была установлена Arduino IDE, не так ли?
Я писал статью про установку с нуля.
Для тестов - заново перекачайте дистрибутив Arduino IDE, удалите или переименуйте каталог /home/sergey/.arduino15/ и повторите все шаги с нуля.
 

Сергей_Ф

Moderator
Команда форума
Для тестов - заново перекачайте дистрибутив Arduino IDE, удалите или переименуйте каталог /home/sergey/.arduino15/ и повторите все шаги с нуля.
Для чего перекачивать IDE? Вы предлагаете изуродовать систему и не предлагаете вариантов отката в исходное состояние. Что потом пользователи будут делать?
Ещё раз повторю, команда make all выдает ошибку и не создает файлы, которые были удалены в предыдущих шагах.
 

Arthur

Active member
Я дал Вам совет, как исправить ошибку и дал вам готовый дистрибутив.
Вопросы же бэкапа и отката к нужной версии дистрибутива - это уже на усмотрение тех, кто это делать будет.
Не думаю, что тут сидят люди из дет. сада... Разберутся уже сами как-нибудь, с бэкапами-то.
Если вы последуете моей инструкции в точности, как написано, то у вас гарантированно всё получится...
При несоблюдении инструкции может и не получиться.
Честно говоря, мне лень вам объяснять, почему и что как - за это не платят.
Я дал полную и подробную инструкцию. Хотите поизвращаться в настройке и дебаге - пожалуйста. Но Я бы не стал на это тратить время и сделал бы всё по инструкции.
 
Последнее редактирование:

Arthur

Active member
Да и вообще, обращайтесь ко мне на "ты" - Я не люблю Вы-кание... Это какой-то пережиток, "Вы-кание"-то...
 

Arthur

Active member
@Сергей_Ф, обратите внимание, что Я никогда не утверждал, что где-то лучше, а где-то - хуже. :)
Я лишь пишу факты. Что где-то что-то открылось, а где-то - никогда не откроется.
По поводу Я с заглавной буквы - это нормальная практика.
Приведу примеры:
"Where are you?"
"Who am I?"
Плюс, если почитать литературу (западную :) ) по личностному развитию, то там явным образом рекомендуют научиться любить и уважать самого себя. Эгоизм, определённо, зачастую бывает полезен.

Если быть предельно честным - Я чутка потроллить люблю. :)
 
Последнее редактирование:

Arthur

Active member
Да, кстати :). Про репитер-то и забыли уже, наверное :).
А то, как Я на каком-нибудь форуме появляюсь, тема сразу куда-то в офф-топ сливается. :)
Люблю Я поболтать, как говорил мой Учитель. Я, вот, тоже люблю впустую подискутировать :).
 
Сверху Снизу