Перейти к содержимому

Фотография

Платформа ESP8266 для Катеров и Яхт

esp8266 Arduino sensor web wifi

Сообщений в теме: 92

#1 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 16 марта 2015 - 17:08

ESP8266 новая восходящая звезда. По возможностям как Arduino, но в 3 раза дешевле и меньше по габаритам, wifi в комплекте (как клиент, так и сервер). По сути можно обойтись без паяльника. Но если хочется встроить модуль ESP8266 (по сути один из самых маленьких веб серверов с WiFi в мире) в почти любой уже установленный на яхте прибор, то это возможно. Размер модулей в 6-10 раз меньше  Arduino. Можно управлять прямо с судового планшета или компьютера через WiFi любым полключённым устройством. Есть готовые сенсоры для компаса, измерения магнитного поля, давления, гироскопа и т.д.

 

Цены радуют от $3 до $12 в зависимости от переферийных устройств.

 

Что думают уважаемые коллеги? 

 

ESP8266-EVB.jpg

ESP8266-EVB маленькая плата (57×50 мм) с реле и кнопкой, которая подключается к бортовой сети через ESP8266 WIFI модуль. Сам модуль ESP8266 можно прошивать, как Arduino.

 

Есть множество различных модулей, сенсоров и адаптеров под UEXT (Universal-EXTension-Connector), которые можно подключать к этой платой без паяльника:

https://www.olimex.c...oducts/Modules/


Сообщение отредактировал ignat99: 16 марта 2015 - 18:04

  • 1

#2 The_Average_KZ_male

The_Average_KZ_male

    Яхтенный капитан

  • Капитан
  • 9 086 сообщений
  • Из:Rijeka, HR
  • Судно: FP Salina 48
  • Название: Eva

Отправлено 16 марта 2015 - 17:37

Нужна очень большая лодка, чтобы её системами управлять с яхтенного планшета... ;)
  • 0

#3 StrangerM

StrangerM

    чужой

  • Модератор форума
  • 15 683 сообщений
  • Из:СПб
  • Судно: МН
  • Название: Stranger

Отправлено 16 марта 2015 - 17:44

А вот мой пост 192 в теме про Ардуино (от октября 14 г (вроде)) - Существенно расширились возможности Ардуино с появлением в продаже дешевых (~150p.)WiFi модулей. Можно посмотреть, например, http://geektimes.ru/post/241054/ :-) Я, кстати, купил по 2 шт 2х разновидностей модулей - но... пока не добрался до них.
  • 0

#4 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 16 марта 2015 - 17:55

Нужна очень большая лодка, чтобы её системами управлять с яхтенного планшета... ;)

На маленькой лодке можно использовать Android часы:

https://www.indiegog...an-a-smartwatch

 

Если есть RPi на борту или аналогичное устройство (Cube, Olimex OLinuXino, Odroid) то подойдут любые часы с BlueTooth:

https://getpebble.com/pebble

 

А вот мой пост 192 в теме про Ардуино (от октября 14 г (вроде)) - Существенно расширились возможности Ардуино с появлением в продаже дешевых (~150p.)WiFi модулей. Можно посмотреть, например, http://geektimes.ru/post/241054/ :-) Я, кстати, купил по 2 шт 2х разновидностей модулей - но... пока не добрался до них.

 

Да этот пост как раз про ESP8266 (те самые WiFi модули за ~180 руб = $3.3 ), но для некотрых приложений можно обойтись совсем без Arduino.

 

Вот нашёл ссылку, как начать делать прошивки под эти модули на РС с любой OS (OS X, Windows, Linux):

https://github.com/m...sky/esp8266-dev


Сообщение отредактировал ignat99: 16 марта 2015 - 18:20

  • 0

#5 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 17 марта 2015 - 18:21

После настройки виртуальной машины с Linux, попробуем прошить плату Olimex ESP8266-EVB с модулем ESP8266.

Китайские модули прошиваются аналогично, но нужно самостоятельно подключать питание и последовательный интрерфейс.

 

Вначале помигаем светодиодом. Для этого выполним инструкции:

https://olimex.wordp...-button-status/

 

Обратите внимание в этом примере используюется SDK:

https://github.com/e....3_14_11_21.zip

И патчь:

https://github.com/e...1_21_patch1.zip

 

Мы используем 2 кабеля, которые подключаем к устойству:

 

Питание:

https://www.olimex.c.../Power/SY0605E/

 

Кабель для прошивки устройства:

https://www.olimex.c...Serial-Cable-F/

 

Голубой провод USB-Serial-Cable-F подключаем к Pin #2

Зелёный провод USB-Serial-Cable-F к Pin #3

Красный провод USB-Serial-Cable-F к Pin #4

 

Командой lsusb - проверяем подключение UART через USB адаптер. Должно быть что то вроде:

 

Bus 001 Device 003: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

 

Если же набрать ls /dev/tty* , то увидим:

 

***

/dev/ttyUSB0

 

Если всё в порядке, то заходим в 

 

cd /opt/Espressif/ESP8266/ESP8266-EVB-blinkLED/

 

делаем

 

make

 

если нет ошибок, то можно прошить модуль. Для этого отключаем питание, удерживаем нажатой кнопку и не отпуская кнопку - подключаем питание. Далее из рабочего каталога проекта -  /opt/Espressif/ESP8266/ESP8266-EVB-blinkLED/ - набираем :

 

sudo make flash

 

Получаем результат (надо подождать):

 

/opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin

 

Connecting...

Erasing flash...

Writing at 0x00007000... (100 %)

Erasing flash...

Writing at 0x00063000... (100 %)

 

Leaving...

 

Сразу видим - начинает моргать светодиод. Устройство прошито правильно.


  • 1

#6 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 17 марта 2015 - 19:27

Теперь сделаем из ESP8266 модуля веб сервер.

Проверим, что в каталоге /opt/Espressif/ символическая ссылка  esp8266_sdk указывает на старый SDK (на моей системе было предупреждение):

 

/opt/Espressif/ESP8266_SDK/esp_iot_sdk_v0.9.3/

 

Для этого перейдём в каталог 

 

/opt/Espressif/ESP8266/esphttpd

 

В файле /opt/Espressif/ESP8266/esphttpd/Makefile исправим строчки (надо добавить слеш между путём и файлами компилятора):



# select which tools to use as compiler, librarian and linker
CC<----><------>:= $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-gcc 
AR<----><------>:= $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-ar 
LD<----><------>:= $(XTENSA_TOOLS_ROOT)/xtensa-lx106-elf-gcc

Затем выполнить команду:

 

make

 

Далее отключить питание, нажать кнопку, не отпуская кнопку включить питание (переключаем модуль в режим прошивки - подаём 5 вольт на флеш) и вводим команду:

 

sudo make flash

 

Получаем результат:



FW firmware/0x00000.bin 
/opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin 
Connecting... 
Erasing flash... 
Writing at 0x00008000... (100 %) 
Erasing flash... 
Writing at 0x00063000... (100 %) 

Leaving...


Далее, снова отключаем питание, удерживаем кнопку, включаем питание и вводим команду для прошивки вебстранички:

 

sudo make htmlflash

 

Результат:



if [ $(stat -c '%s' webpages.espfs) -gt $(( 0x2E000 )) ]; then echo "webpages.espfs too big!"; false; fi 
/opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x12000 webpages.espfs 
Connecting... 
Erasing flash... 
Writing at 0x0001b000... (100 %) 

Leaving...

Теперь можно подключить рабочий компьютер к модулю, как к WiFi роутеру. Название сети похоже ESP_9C6165.

Надо подождать пока наш модуль-WiFi узел загрузиться и пройдя по ссылке http://192.168.4.1/index.html#, мы видим нашу страничку с 3 кнопками: Home, Relay, Button.

 

Нажав на кнопку Relay - попадаем на страничку, где можно включать и выключать Реле, управля удалённо устройством, которое подключено к реле. Если не чего не подключено, тем не менее мы увидим на плате идикацию светодиодом о текущем состоянии реле.

 

relay.png


Сообщение отредактировал ignat99: 17 марта 2015 - 19:28

  • 1

#7 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 17 марта 2015 - 21:39

Для этого перейдём в каталог:

 

/opt/Espressif/ESP8266/esphttpd

 

 

Затем выполнить команды:

 

git submodule init

git submodule update

make

 

Далее отключить питание, нажать кнопку, не отпуская кнопку включить питание (переключаем модуль в режим прошивки - подаём 5 вольт на флеш) и вводим команду:

 

sudo make flash

 

 

Перед командой make надо не забыть выполнить команды для копирования кода (без этого кода веб-сервер не соберётся) для получения кода специального архиватора, который используется веб-сервером и расходует мало памяти, так как использует стек для хранения переменных. 

 

git submodule init

git submodule update

 

А затем уже :

 

make

 

Репозитарий оригинального сервера находиться тут:

https://github.com/bjpirt/esphttpd

 

Интересно ли уважаемым коллегам продолжение?

Как собрать сервер на основе ESP8266,  который может измерять температуру, сканировать WiFi сети, обмениваться файлами по tftp? 


Сообщение отредактировал ignat99: 17 марта 2015 - 21:44

  • 3

#8 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 18 марта 2015 - 11:58

у него на борту  сколько ацп? что он и температуру и ветер и компас .. можно ссыль на русское описание?

а вообще компьютеризпцию я бы стал делать на рпи и какойнибудь плате портов и ацпэшек. а то получается какоето одинокое устройство (или несколько одиноких устройств). Естессно можно их завязать на тотже рпи, но тогда зачем они? Для яхты не вижу применения. Разве что понавстраивать в качестве пультов дистанционного управления в шпили и подрульки..

По русски:

 

Общее описание:

http://habrahabr.ru/...rf/blog/238443/

http://homes-smart.r...isa-narodmon-ru

Кстати самопальный аналог рассматриваемой тут платы:

http://esp8266.ru/es...witch/#more-777

 

 

Xtensa LX106:

http://zeptobars.ru/...232-ESP8089-IoT

 

А что такое шпили?

 

Подрулька - это видимо автоподруливающее устройство (Raymarine ST1000 & ST2000 Tiller Pilots) ?

 

Вот хорошие ссылки для создание свой собственной платы или модификации чужой:

http://www.moravia-m...m/mcu-8051-ide/

http://www.rs-online...he-flowcode-way


Сообщение отредактировал ignat99: 18 марта 2015 - 12:36

  • 0

#9 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 18 марта 2015 - 13:08

Про шпиль нашёл:

 

http://www.moreman.r...cid=259&pid=105

 

Вопрос к уважаемым коллегам, какой автомат и конструкцию порекомендуете для грот-автомата?

 

https://yachtshipyar...еменных-подрул/

 

Вероятно, электрическое автоподруливающее устройство можно подключить прямо к ветро-подруливающему, при этом упростить конструкцию ветро-подруливающего устройства?


Сообщение отредактировал ignat99: 18 марта 2015 - 13:14

  • 0

#10 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 20 марта 2015 - 15:46

Добавим управление реле через HTTP GET запрос в файл relay.html :
28	
29	function getQueryVariable(variable) {
30	      var query = window.location.search.substring(1);
31	      var vars = query.split("&");
32	      for (var i = 0; i < vars.length; i++) {
33	        var pair = vars[i].split("=");
34	        if (pair[0] == variable) {
35	          return pair[1];
36	        }
37	      }
38	      return (false);
39	    }
40	
41	    var press_btn = getQueryVariable('press_btn');
42	    if (press_btn == 'on') {
43	      setRelay(1);
44	    } else if (press_btn == 'off') {
45	      setRelay(0);
46	    }
Исходные коды для прошивки ESP8266-EVB можно взять в ветви  "espain"
 
https://github.com/I...266/tree/espain
 
Пошить можно следующим способом:
 
- обновить код в каталоге : /opt/Espressif/ESP8266/esphttpd
- перейти в каталог /opt/Espressif/ESP8266/esphttpd и удалить файл : webpages.espfs
- подключить кабель USB, удерживая кнопку подключить кабель питания ESP8266-EVB
- ввести команду :
 
sudo make htmlflash
 
Результат:
cd html; find | sudo ../mkespfsimage/mkespfsimage  > ../webpages.espfs; cd ..
relay.html (65%)
ESP8266-EVB.jpg (100%)
index.html (65%)
140midley.min.js (45%)
home.html (88%)
logo.png (100%)
button.html (59%)
style.css (47%)
if [ $(stat -c '%s' webpages.espfs) -gt $(( 0x2E000 )) ]; then echo "webpages.espfs too big!"; false; fi
/opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x12000 webpages.espfs
Connecting...
Erasing flash...
Writing at 0x0001b400... (100 %)

Leaving...

Управлять реле можно следующими запросами: 
 
http://192.168.4.1/r...ml?press_btn=on
 
http://192.168.4.1/r...l?press_btn=off

Сообщение отредактировал ignat99: 20 марта 2015 - 16:34

  • 1

#11 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 20 марта 2015 - 16:25

Андроид 2.3.7 приложение для управления реле на плате ESP8266-EVB. При запуске приложения выключает реле, при нажатии на кнопку включает.

 
https://github.com/Ignat99/Android-Evaluation/tree/espain
 
Сделано под старый мобильный телефон с API 10.

 

В будущем на основе этого кода возможно понаделать кнопок для ходовых, стоповых огней, для освещения внутри яхты, раздать модулям названия WiFi сетей и паролей, сделать конфигурацию подключений в Android приложении.

 

Возможно позже добавлю второую кнопку off, если кому то будет нужно это приложение?
 


Сообщение отредактировал ignat99: 20 марта 2015 - 16:46

  • 0

#12 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 20 марта 2015 - 17:48

Так же можно подключить платы с дополнительными реле:

 

https://www.olimex.c...cts/Modules/IO/

 

или конроллер RGB ленты (для освещения в каютах):

 

https://www.olimex.c...source-hardware

 

Через ESP8266-DEV можно подключить трюмную помпу. Желательно разместить управляющую электронику в герметических корпусах на уровне иллюминаторов яхты или выше (лучше выше ватерлинии) и с возможностью обычного ручного включения\отключения оборудования и освещения. 


  • 1

#13 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 24 марта 2015 - 23:41

Надо поробовать подключить датчик:

 

Наиболее проработанная библиотека для ESP8266-EVB:

https://github.com/I...r/arduino_style

 

Но для конкретных датчиков пока кода нет, поэтому ссылки (Замечаем, что надо добавить в проект C++):

 

https://github.com/a...it_BMP085_U.cpp

 

Впрочем можно и на чистом Си:

https://github.com/e...no_20150217.ino

Оригинальный сайт автора:

http://www.serandour...etre-bmp180.htm


  • 1

#14 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 25 марта 2015 - 09:40

Вот ещё пара ссылок на пмогофункциональный софт для китайских\болгарских модулей ESP8266 (без привязки к шине UEXT).

 

https://github.com/d...66-frankenstein

https://github.com/anakod/Sming

 

Какой из этих 5 подходов (Olimex, Adafruit, Arduino, Anakonda Software(http://anakod.ru/), Neúron/Necromant (http://ncrmnt.org/) и Дмитрий Моськин (https://darkbyte.ru/) ) выбрать?


Сообщение отредактировал ignat99: 25 марта 2015 - 10:15

  • 0

#15 filichev

filichev

    Яхтенный капитан

  • Капитан
  • 1 566 сообщений
  • Из:SPb
  • Судно: Bavaria 30

Отправлено 25 марта 2015 - 17:58

Зачем вы пишете такие простыни с информацией, которую любой способный подключить релейную плату к помпе найдет и сам ?

Честно, на мой взгляд плата ничем не примечательна - для людей дружащих с паяльником и микроконтроллерами слишком ограничена, для остальных - сложна.

 

А вот честно - что нибудь кроме управления розеткой по вай фай придумали? Интересное! У меня 6 GSM модемов валяется, я придумать им применение не могу. А тут то же самое, в виде еще более ограниченного вайфая.


  • 0

#16 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 25 марта 2015 - 18:23

Вот коллега StrangerM сделал барограф. Очень хорошее применение. К плате можно подключать сенсоры и вообще любые устройства через UEXT а так же LCD.

 

http://homedevice.pr...y/uext-modules/

 

По поводу модемов их можно использовать вполне для видеопередачи.


  • 0

#17 БАР

БАР

    Яхтенный капитан

  • Инженер
  • 21 872 сообщений
  • Из:СПб
  • Судно: СТ-31э
  • Название: Авось

Отправлено 25 марта 2015 - 18:51

 У меня 6 GSM модемов валяется, я придумать им применение не могу. 

Сделайте сторож. Если зловред в яхту влезет - получите сообщение. А можно и фото.  :D

Можно уровень воды в трюмах контролировать. В принципе - любую интересную численную информацию о состоянии лодки можно иметь, не выходя из дома.

А самому включать-выключать внутреннюю вентиляцию, например.


  • 0

#18 filichev

filichev

    Яхтенный капитан

  • Капитан
  • 1 566 сообщений
  • Из:SPb
  • Судно: Bavaria 30

Отправлено 25 марта 2015 - 19:26

Трекеры сигнализации и тп вы думаете это не то чтобыло уже сделано? Я в телефонах уже путаюсь, где канал яхты где катера квадрика машин дачи и. Тп. Это пройденный и скучный этап. Реально применить их с толком больше никак не получаетсЯ
  • 0

#19 StrangerM

StrangerM

    чужой

  • Модератор форума
  • 15 683 сообщений
  • Из:СПб
  • Судно: МН
  • Название: Stranger

Отправлено 25 марта 2015 - 19:59

Плз. Про модули или чип пишите. Сотру ведь флуд.
  • 1

#20 filichev

filichev

    Яхтенный капитан

  • Капитан
  • 1 566 сообщений
  • Из:SPb
  • Судно: Bavaria 30

Отправлено 25 марта 2015 - 20:00

Ок. О них писать нечего:)
  • 0

#21 StrangerM

StrangerM

    чужой

  • Модератор форума
  • 15 683 сообщений
  • Из:СПб
  • Судно: МН
  • Название: Stranger

Отправлено 25 марта 2015 - 20:05

Ок. О них писать нечего :)

Спасибо за понимание. :-) конечно, в малине wifi usb свистки пашут. А вот в ....ардуино очень даже. :-) через СОМ порт.
  • 0

#22 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 25 марта 2015 - 22:15

Вот такой проект по ссылке от создателя прошивки ESP8266 возможно вдохновит:

 

http://hackaday.io/project/1313-openmv


  • 0

#23 filichev

filichev

    Яхтенный капитан

  • Капитан
  • 1 566 сообщений
  • Из:SPb
  • Судно: Bavaria 30

Отправлено 25 марта 2015 - 22:27

Вот такой проект по ссылке от создателя прошивки ESP8266 возможно вдохновит:

 

http://hackaday.io/project/1313-openmv

 

Интересно, но опять же не про модуль в сабже.

 

Вообще чем больше делаешь такой фигни, тем больше начинаешь ценить по жизни простой механический тумблер. :)


  • 0

#24 yuri_b

yuri_b

    Яхтенный капитан

  • Капитан
  • 2 313 сообщений
  • Из:telaviv
  • Судно: Шхуна
  • Название: Tiku Moye

Отправлено 27 марта 2015 - 08:47

Купил такой модуль (esp-12) но сделать с ним чтото серьезное нет времени, с ардуино проще
Наверное поавильней использовать его как модем с ардуино а не заниматься прошивками

Сообщение отредактировал yuri_b: 27 марта 2015 - 08:49

  • 0

#25 ignat99

ignat99

    Яхтенный капитан

  • Капитан
  • 2 743 сообщений
  • Из:Барселона
  • Судно: East Anglian Mk II
  • Название: Elsje

Отправлено 27 марта 2015 - 09:25

Можно расширить командную оболочку. Можно расширить GET  или  POST запросы у Вебсервера со встроенным JS, добавить работу с различными сенсорами. Файлы и скрипты вебсервера можно прошить отдельной командой не затрагивая основную прошивку. 

 

Если есть достаточно памяти и скорости для таких задачь можно обойтись без дополнительного потребления с маленькими габаритами. Вероятно, если время прошивки несколько секуднд (включая время на подключение кабелей, как в случае ESP8266-EVB, а цена вместе с реле, кнопкой, светодиодами и разъёмами всего 10 евро) то думаю, это удобно. 

 

Цена с чёроно-белым экраном около 17 Евро. 

http://homedevice.pr...ct/mod-lcd3310/

 

 

Arduino c экраном (правда цветным) стоит почти на 3 евро дороже и требует шильдов или дополнительной обвязки. Так как я не использовал в реальных проектах Arduino, то могу использовать библиотеки и код от Arduino для ESP8266.

ESP8266-EVB - открытый и свободный проект, поэтому любой желающий может сделать модификацию платы или программы.

 

IMHO


Сообщение отредактировал ignat99: 27 марта 2015 - 09:32

  • 0



Ответить



  



Темы с аналогичным тегами esp8266, Arduino, sensor, web, wifi

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей