Справочные материалы и примеры App Inventor

Anydy

Справочные материалы и примеры App Inventor

Сообщение Anydy »

MIT App Inventor (http://ai2.appinventor.mit.edu/) - облачная среда визуальной разработки
приложений для платформы OS Windows, Android, Mac работа в которой не требует знания языка
программирования Java и Android SDK, достаточно знания элементарных основ
алгоритмизации. Для работы в MIT App Inventor необходимо наличие Google или Google Apps
аккаунта, а построение программ осуществляется в визуальном режиме с использованием
блоков программного кода.

Полный текст в PDF

Расширение mqtt для arduino и esp8266. Внимание - Webviwer должен иметь совместимость с websocket
Тесты проводились на Thunkable.com
https://groups.google.com/forum/#!msg/m ... 8BJEPGAQAJ
Аватара пользователя
romechka
Рядовой
Сообщения: 72
Зарегистрирован: 22 авг 2016, 07:28
Откуда: Sukhum
Имя: Роман

Справочные материалы и примеры App Inventor

Сообщение romechka »

Серия видеоуроков по App Inventor здесь
fsergei70
Капитан
Сообщения: 833
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей
Благодарил (а): 20 раз
Поблагодарили: 1 раз

Справочные материалы и примеры App Inventor

Сообщение fsergei70 »

Вот видео проекта на ESP8266 c исходниками для Inventora https://www.youtube.com/watch?v=FUqxYxwdveo&t=307s
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

Кто дружил AI с Flprog? Как вы это делали?
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

[ref=#808080]Phazz[/ref],
что именно интересует?

я так делал:
-в флпрог для есп8266 создаю блок-(xml-страничка), у которого есть входы, на которые подаю нужные мне переменные.
-в ai забираю эту xml страницу и разбираю ее по тегам (теги создаются в блоке в флпрог).
-на экране телефона вывожу то что разобрал.

(можно и не xml ,а json, но там гемор с библиотеками в ide и плюс ранее в ai нельзя было обработать json.)
Последний раз редактировалось feodor53 02 окт 2021, 16:52, всего редактировалось 1 раз.
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

[ref]feodor53[/ref], Хочу управлять через точку доступа поднятой на есп
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Phazz писал(а): 02 окт 2021, 16:51 , Хочу управлять через точку доступа поднятой на есп
управление из ai:

-шлем из ai , http запрос на есп
-в флпрог штатный есть инструмент для разбора этих запросов (WebPage - в нем поставить галку "при вызове адреса включить выход").
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

берем проект:
[spoiler]

[/spoiler]

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

штатная веб страница по адресу точки доступа (ip):
[spoiler]
штатная web страница флпрог.jpg
[/spoiler]
страница обновления прошивки с блоком web update (ip:8080/update)
[spoiler]
обновление прошивки.jpg
[/spoiler]
xml страничка, которую будем разбирать в AI (ip:8989/xml):
[spoiler]
xml страница - ее будем разбирать в AI.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 10 окт 2021, 10:49, всего редактировалось 2 раза.
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

feodor53 писал(а): 02 окт 2021, 20:27 берем проект:
там есть блок "XML данные - порт 8989 (можно сменить в блоке)"

Отправлено спустя 1 минуту 23 секунды:
feodor53 писал(а): 02 окт 2021, 20:29 там есть блок "XML данные - порт 8989 (можно сменить в блоке)"
в этом блоке в разделе "FunctionSection" имеется функция "buildXML":
[spoiler]
XML+="<D>";

XML+="<i1>";
XML+=input1;
XML+="</i1>";

XML+="<i2>";
XML+=input2;
XML+="</i2>";

XML+="<i3>";
XML+=input3;
XML+="</i3>";

XML+="<i4>";
XML+=input4;
XML+="</i4>";

XML+="<i5>";
XML+=input5;
XML+="</i5>";

XML+="<i6>";
XML+=input6;
XML+="</i6>";

XML+="<i7>";
XML+=input7;
XML+="</i7>";

XML+="<i8>";
XML+=input8;
XML+="</i8>";

XML+="<i9>";
XML+=input9;
XML+="</i9>";


XML+="</D>";
[/spoiler]
где "<D>" - это сокращенное DATA , а "<i1>"- "<i2>" -"<i3>" - "<i4>" и т.д. - это (сокращенное input1 , input2...) так называемые "теги", данные заключенные между которыми мы будем извлекать в AI. (можно было и не сокращать, но т.к. отказался от json - то пришлось экономить на размере xml странички путем сокращения знаков на ней )))))).

*количество входов, их типы, порт - настраивается в блоке этом. Не забываем править функцию "buildXML" под соответствующее кол-во входов
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

А с json как будет выглядеть?
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Phazz писал(а): 02 окт 2021, 20:48 А с json как будет выглядеть?
это для mqtt ?
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

Что-то не пойму как в AI это распарсить )

Отправлено спустя 55 секунд:
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Phazz писал(а): 02 окт 2021, 21:03 о-то не пойму как в AI это распарсить )
так я в процессе)))
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

ставим кнопку, текст и интернет
[spoiler]
1.jpg
[/spoiler]

Отправлено спустя 4 минуты 23 секунды:
создаем глобальную переменную куда будем закидывать ВЕСЬ xml
[spoiler]
2.jpg
[/spoiler]

Отправлено спустя 4 минуты 49 секунд:
создаем переменные куда будем скидывать результаты полученные для каждого из входов (в нашем проекте .flp четыре входа: bool - integer - float - string):
[spoiler]
3.jpg
[/spoiler]

Отправлено спустя 4 минуты 15 секунд:
создаем процедуру-функцию
[spoiler]
4.jpg
[/spoiler]

Отправлено спустя 1 минуту 11 секунд:
создание процедуры
[spoiler]
5.jpg
[/spoiler]

Отправлено спустя 1 минуту 13 секунд:
создание процедуры
[spoiler]
6.jpg
[/spoiler]

Отправлено спустя 2 минуты 38 секунд:
тут в процедуре присваиваем переменной "iz_esp" все из полученного из xml
[spoiler]
7.jpg
[/spoiler]

Отправлено спустя 4 минуты 27 секунд:
парсим сначала все что между тегами "D" (в xml )
[spoiler]
8.jpg
[/spoiler]

Отправлено спустя 3 минуты 27 секунд:
теперь из полученного парсим из разных входов (то что между тэгами "i")
[spoiler]
9.jpg
[/spoiler]

Отправлено спустя 4 минуты 58 секунд:
теперь при нажатии кнопки, присваиваем url и делаем запрос к есп
[spoiler]
10.jpg
[/spoiler]

Отправлено спустя 6 минут 45 секунд:
если от есп respounce code == 200 , то вызываем нашу созданную функцию xml и присваиваем надписи значения полученные в функции
[spoiler]
11.jpg
[/spoiler]

Отправлено спустя 9 минут 11 секунд:
скачиваем и устанавливаем созданный .apk
[spoiler]
test_test.7z
[/spoiler]



----------------------------------------------------------------------------
заливаем в есп проект выше.

подключаемся телефоном к ТД есп.

запускаем приложение созданное.

жмем на кнопку "Текст для Кнопка1" и получаем наши данные из есп на телефон:

[spoiler]
Screenshot_20211002-215240.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 02 окт 2021, 22:00, всего редактировалось 1 раз.
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

как то так)))
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

Огромное спасибище!!!! Целый мастер класс запил. Пойду поставлю плюсы на каждое сообщение )))
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

П.С.: данные с есп можно таким образом получать не только по нажатию кнопки (это больше как пример), а например по таймеру или по факту подключения телефона к определенному wifi и т.д.
Аватара пользователя
Phazz
Полковник
Сообщения: 2703
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 30 раз
Поблагодарили: 13 раз

Справочные материалы и примеры App Inventor

Сообщение Phazz »

feodor53 писал(а): 02 окт 2021, 16:54 -шлем из ai , http запрос на есп
-в флпрог штатный есть инструмент для разбора этих запросов (WebPage - в нем поставить галку "при вызове адреса включить выход").
Как время будет, покажите и этот момент?
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Phazz писал(а): 02 окт 2021, 22:11 Как время будет, покажите и этот момент?
делаем в AI так:
[spoiler]
1.jpg
[/spoiler]

проект для флпрог
[spoiler]
test_iz_AI.flp
[/spoiler]

т.е. при запросе из телефона (подключенного к есп к AP) по адресу "http://192.168.4.1/pin_d4" будет так
[spoiler]
1.jpg
2.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Визуальное программирование в App Inventor»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей