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

ESP8266 и ПК/Телефон (связь по WiFi)

Demon

New member
нет PHP приложения для Linux...
с какого бока к этому подойти?
 

JustACat

Moderator
Команда форума
Опять же - конкретнее, вы какое именно хотите приложение для линукс? То есть что оно делать должно?
Просто web-страничка на PHP - это тоже приложение...
 

JustACat

Moderator
Команда форума
А так, все, что касается работы с системой на PHP, это где-то тут: http://php.net/manual/ru/refs.fileprocess.process.php
На счет Eio, Ev, Expect - не уверен (я их не трогал), а вот те, что дальше по списку - точно да.
А так, алгоритм с нуля примерно такой:
- выбираете сборку серверного linux под вашу железку (лучше Debian либо Ubuntu и именно серверный - зачем нам там GUI), обязательно с наличием в нем SSH, PHP (либо придется подтягивать отдельно)
- ставите ее на вашу железку
- если сборка правильная, то после этого вы получаете сразу доступ ней по SSH (если нет, то придется чутка поколдовать в командной строке)
- подключаетесь к железке по SSH/SFTP: Putty, WinSCP
- пишете вашу программу на PHP
- запускаете ее из командной строки SSH
- смотрите, что вышло.

Вот для начала
Не знаю, не знаю...
Имхо, Notepad++ - ничего лучше нету! :) Дополнительно еще Putty + WinSCP.
Мне этого хватает на все 100%, чтобы ковыряться с этим самым моим микроПК на linux и писать под него все, что нужно (и на PHP и на других языках).
Я на нем и под Arduino / AVR пишу, и под ESP тоже :) Очень он всеядный.
Но это на вкус и цвет :)
 

Demon

New member
ну тот же обмен данными с МК через WiFi... пока я нить разговора не потерял :)
повторюсь, у меня сейчас так:
1. виндоус машина на которой развернут Апачь итд
2. на ней стоит маленькое делфи приложенице которое по ЮСБ порту опрашивает МК
3. пишет полученные данные в майэскуэлевскую базу данных
4. клиент (через браузер или из клиентского приложения) подключается к базе и берет от туда данные и отображает их как хочет
вопрос:
можно на Linux машинке такое реализовать:
1. обмен данными с МК через ESP
2. запись данных в базу?
 

Demon

New member
Спасибо, буду смотреть, для вэб я тоже Notepad++ пользуюсь, замечательная штука!
 

JustACat

Moderator
Команда форума
обмен данными с МК через ESP
Так я ж вам и писал уже - сокеты. Если конкретно на PHP: http://ru2.php.net/manual/en/book.sockets.php и более широко http://ru2.php.net/manual/en/refs.remote.other.php - там целая тьма расширений. Можно выбрать.

запись данных в базу?
PHP с MySQL работает прекраснейшим образом, так что тоже нет никаких проблем. Вы просто написали, что PHP вам сдался, я из этого сделал вывод, что и с БД под ним вы работали уже.

То есть вся структура получается такая же:
- вам надо на PHP создать либо сервер (это сложнее), либо клиент (на ESP соответственно, наоборот клиент либо сервер)
- отправить/получить данные с/на ESP
- записать в БД

Поискать можно по запросам: php сокет сервер / php сокет клиент - это например.
 

JustACat

Moderator
Команда форума
Victor, кстати, если поискать по запросу "php mqtt" то даже такие библиотеки находятся :) В виде экспериментов, в основном, конечно, но все же!
Все же народу под линукс обычно проще на python'е написать.
Кстати, что еще приятно: связывать написанные на python и php программы тоже вполне себе возможно для этого тоже есть в linux несколько разных путей.
Гуглится по запросам "межпроцессное взаимодействие linux" - например: http://habrahabr.ru/post/122108/ (пример на Сях, но все то же самое есть и в PHP и в python).
 

Demon

New member
- отправить/получить данные с/на ESP
вот вот вот... с этого места по подробнее...
как отправить принять байт на МК через ESP from PHP???
c база/PHP проблем нет...
если более точно:
с сокетами из РНР тоже с Вашей помощью разберусь (socket_create, socket_read, socket_send)
ESP передаст/примет байт отправленный из/в PHP сокета на/из МК UART? надо на ней прошивку менять или это будет работать из коробки?
 
Последнее редактирование:

JustACat

Moderator
Команда форума
@Demon, ну для ESP у вас есть такие варианты:
- либо использовать AT прошивку оригинальную от Espressif. И создавать на ней TCP-сервер путем посыла ей AT команд с вашего МК.
- либо использовать какую-то чужую прошивку, например, попробовать прошивку TCP2UART от @pvvx (ищите тут на форуме, легко найдете) - там настройка идет извне через Web-интерфейс.
- либо написать свою прошивку нативную для ESP (например, на Unofficial Developer Kit + Sming - то есть на Сях (я пока на этом варианте сижу), либо на Arduino IDE - тоже на Сях) - все это есть на форуме в отдельных разделах.
- либо использовать прошивку NodeMCU и под нее написать свои скрипты TCP-UART моста на LUA (и это тоже есть на форуме)
Причем если пройти по ссылке (а в вашем случае это обязательно), что у меня в подписи рядом с выделенным красным словом "изучите" - то попадете в мир целой кучи ссылок на документацию по ESP и, наверное, главное для вас - примеров статей других пользователей на тему: как они ESP приручали. Там есть и про то, как прошивать, и про то, как работать с AT прошивками и что это такое вообще, и про NodeMCU есть... В общем, я старался, аха ^_^
Такие дела.

PS: начать советую именно с AT прошивки - хотя бы чтобы понять, что и как, живы ли ваши ESP, правильно ли вы их подключаете и т.п.
И пробовать советую именно с подключения к ПК через USB-UART. То есть забыть на время про ваши AVR'ки, подключить ESP к ПК (как подключать, информации тоже море, хотя бы у меня в подписи есть) через USB-UART переходник (не забыть про уровни в 3.3 вольта) и попробовать пообщаться с ней (скорее всего на ней будет сразу прошита старая версия AT прошивки), затем попробовать перепрошить. И только потом уж подключать к МК и двигаться дальше...
ESP - жутко капризны, так что с ними лучше все делать постепенно.
Короче, идите по ссылке в подписи - выбирайте там одну из статей с маркером "старт" (а лучше все по очереди) и вперед!
 
Последнее редактирование:

Demon

New member
Еще раз спасибо за теплый прием :) не везде так...
Жду с нетерпением железо, начну с АТ прошивок, а там посмотрим, по результатам обещаю отписаться, на форуме народ похожие вопросы уже задавал, только очень скромно...
 

Demon

New member
JustACat, день добрый.
Получил свои модули и адаптер. начал экспериментировать...
Все вроде получается (благодаря сайту). модуль подключил, терминал работает, прошивку обновил, теперь взялся за Делфи.
С ClientSocket все работает замечтательно, данные шлет, принимает в оба конца без проблем, но ClientSocket нет в андроиде, есть Indy...
пробую работать с компонентом IdTcpClient. подключается, данные на модуль шлет а вот с приемом беда...
не меняется размер буфера после отправки данных и соответственно приема нет... не подскажете, что не так? может сталкивались?
уже день бьюсь...
 
Последнее редактирование:

JustACat

Moderator
Команда форума
Demon, привет!
Я б рад помочь конечно, но с таким не сталкивался. Честно говоря, если бы что-то сейчас решил под андрюшку написать, то у меня даже в голову не пришло бы использовать под это дело Delphi. Не, не потому, что это плохо там или неправильно. Просто как-то вот так :)
Так что увы. Но если вы его победите - то отпишите, пожалуйста, о результате!
 

goodwin

Member
ну тот же обмен данными с МК через WiFi... пока я нить разговора не потерял :)
повторюсь, у меня сейчас так:
1. виндоус машина на которой развернут Апачь итд
2. на ней стоит маленькое делфи приложенице которое по ЮСБ порту опрашивает МК
3. пишет полученные данные в майэскуэлевскую базу данных
4. клиент (через браузер или из клиентского приложения) подключается к базе и берет от туда данные и отображает их как хочет
Любопытно, а при чем тут телефон на ведроиде?
Вы (да и вас) тут запутали совсем :)
 

Demon

New member
JustACat, ок обязательно отпишусь :) Делфи юзаю потому что ну как то знаю паскаль и теперь там вроде можно под разные операционки компилить один и тот же проект, выбрал цель и готово... но это только в теории...
поставил еще и андроидстудию, с ней тоже понемногу разбираюсь, но это будет только андроид а в делфи еще и под АйОэС...
goodwin, ну вот как то так :) обозвали тему не совсем удачно :) просвятите, выведите на свет Божий! :)
 
Последнее редактирование:

Demon

New member
Всем привет. После некоторого затыка получилось таки прикрутить ESP к андроид телефону с помощью Делфи... если кому это интересно конечно...
Для меня смысл имеет, по этому выкладываю небольшой проектик, что то типа терминала, шлет данные, принимает данные, работает в виндовсте и стареньком андроиде.
Должен работать и на Айпаде, но у меня его нет :)
тут просто проверка возможность отослать/принять данные, подключаться и контролировать состояние подключения. остальное вопрос творчества. не судите строго...
 

Вложения

Demon

New member
Один из минусов.... Делфи делает апк очень большого размера.... но товарисчи из эмбаркодеро советуют не обращать на это внимания так как любой современный девайс это тянет (и это так) и больше сосредоточится на функционале...
не принимает форум файл... обьем 70329 кб... как быть?
 
Сверху Снизу