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

Документация, уроки, расширения

Anydy

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

#1

Сообщение Anydy » 09.01.2019{, 00:31}

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.08.2016{, 07:28}
Репутация: 4
Откуда: Sukhum
Имя: Роман

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

#2

Сообщение romechka » 03.03.2019{, 12:56}

Серия видеоуроков по App Inventor здесь

fsergei70
Капитан
Сообщения: 786
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 54
Имя: Сергей

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

#3

Сообщение fsergei70 » 03.03.2019{, 14:50}

Вот видео проекта на ESP8266 c исходниками для Inventora


Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#5

Сообщение Phazz » 02.10.2021{, 14:49}

Кто дружил AI с Flprog? Как вы это делали?

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#6

Сообщение feodor53 » 02.10.2021{, 16:45}

Phazz,
что именно интересует?

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

(можно и не xml ,а json, но там гемор с библиотеками в ide и плюс ранее в ai нельзя было обработать json.)
Последний раз редактировалось feodor53 02.10.2021{, 16:52}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#7

Сообщение Phazz » 02.10.2021{, 16:51}

feodor53, Хочу управлять через точку доступа поднятой на есп

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#8

Сообщение feodor53 » 02.10.2021{, 16:54}

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

-шлем из ai , http запрос на есп
-в флпрог штатный есть инструмент для разбора этих запросов (WebPage - в нем поставить галку "при вызове адреса включить выход").

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#9

Сообщение feodor53 » 02.10.2021{, 20:27}

берем проект:
СпойлерПоказать
в результате получаем:

штатная веб страница по адресу точки доступа (ip):
СпойлерПоказать
штатная web страница флпрог.jpg
страница обновления прошивки с блоком web update (ip:8080/update)
СпойлерПоказать
обновление прошивки.jpg
xml страничка, которую будем разбирать в AI (ip:8989/xml):
СпойлерПоказать
xml страница - ее будем разбирать в AI.jpg
Последний раз редактировалось feodor53 10.10.2021{, 10:49}, всего редактировалось 2 раза.

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#10

Сообщение feodor53 » 02.10.2021{, 20:29}

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

Отправлено спустя 1 минуту 23 секунды:
feodor53 писал(а):
02.10.2021{, 20:29}
там есть блок "XML данные - порт 8989 (можно сменить в блоке)"
в этом блоке в разделе "FunctionSection" имеется функция "buildXML":
СпойлерПоказать
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>";
где "<D>" - это сокращенное DATA , а "<i1>"- "<i2>" -"<i3>" - "<i4>" и т.д. - это (сокращенное input1 , input2...) так называемые "теги", данные заключенные между которыми мы будем извлекать в AI. (можно было и не сокращать, но т.к. отказался от json - то пришлось экономить на размере xml странички путем сокращения знаков на ней )))))).

*количество входов, их типы, порт - настраивается в блоке этом. Не забываем править функцию "buildXML" под соответствующее кол-во входов

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#11

Сообщение Phazz » 02.10.2021{, 20:48}

А с json как будет выглядеть?

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#12

Сообщение feodor53 » 02.10.2021{, 20:57}

Phazz писал(а):
02.10.2021{, 20:48}
А с json как будет выглядеть?
это для mqtt ?

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#13

Сообщение Phazz » 02.10.2021{, 21:03}

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

Отправлено спустя 55 секунд:

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#14

Сообщение feodor53 » 02.10.2021{, 21:04}

Phazz писал(а):
02.10.2021{, 21:03}
о-то не пойму как в AI это распарсить )
так я в процессе)))

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#15

Сообщение feodor53 » 02.10.2021{, 21:10}

ставим кнопку, текст и интернет
СпойлерПоказать
1.jpg
Отправлено спустя 4 минуты 23 секунды:
создаем глобальную переменную куда будем закидывать ВЕСЬ xml
СпойлерПоказать
2.jpg
Отправлено спустя 4 минуты 49 секунд:
создаем переменные куда будем скидывать результаты полученные для каждого из входов (в нашем проекте .flp четыре входа: bool - integer - float - string):
СпойлерПоказать
3.jpg
Отправлено спустя 4 минуты 15 секунд:
создаем процедуру-функцию
СпойлерПоказать
4.jpg
Отправлено спустя 1 минуту 11 секунд:
создание процедуры
СпойлерПоказать
5.jpg
Отправлено спустя 1 минуту 13 секунд:
создание процедуры
СпойлерПоказать
6.jpg
Отправлено спустя 2 минуты 38 секунд:
тут в процедуре присваиваем переменной "iz_esp" все из полученного из xml
СпойлерПоказать
7.jpg
Отправлено спустя 4 минуты 27 секунд:
парсим сначала все что между тегами "D" (в xml )
СпойлерПоказать
8.jpg
Отправлено спустя 3 минуты 27 секунд:
теперь из полученного парсим из разных входов (то что между тэгами "i")
СпойлерПоказать
9.jpg
Отправлено спустя 4 минуты 58 секунд:
теперь при нажатии кнопки, присваиваем url и делаем запрос к есп
СпойлерПоказать
10.jpg
Отправлено спустя 6 минут 45 секунд:
если от есп respounce code == 200 , то вызываем нашу созданную функцию xml и присваиваем надписи значения полученные в функции
СпойлерПоказать
11.jpg
Отправлено спустя 9 минут 11 секунд:
скачиваем и устанавливаем созданный .apk
СпойлерПоказать
test_test.7z
(2.91 МБ) 37 скачиваний


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

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

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

жмем на кнопку "Текст для Кнопка1" и получаем наши данные из есп на телефон:
СпойлерПоказать
Screenshot_20211002-215240.jpg
Последний раз редактировалось feodor53 02.10.2021{, 22:00}, всего редактировалось 1 раз.

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#16

Сообщение feodor53 » 02.10.2021{, 21:59}

как то так)))

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#17

Сообщение Phazz » 02.10.2021{, 22:03}

Огромное спасибище!!!! Целый мастер класс запил. Пойду поставлю плюсы на каждое сообщение )))

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#18

Сообщение feodor53 » 02.10.2021{, 22:07}

П.С.: данные с есп можно таким образом получать не только по нажатию кнопки (это больше как пример), а например по таймеру или по факту подключения телефона к определенному wifi и т.д.

Аватара пользователя
Phazz
Полковник
Сообщения: 2552
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 367
Откуда: Сургут
Имя: Анатолий

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

#19

Сообщение Phazz » 02.10.2021{, 22:11}

feodor53 писал(а):
02.10.2021{, 16:54}
-шлем из ai , http запрос на есп
-в флпрог штатный есть инструмент для разбора этих запросов (WebPage - в нем поставить галку "при вызове адреса включить выход").
Как время будет, покажите и этот момент?

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#20

Сообщение feodor53 » 02.10.2021{, 22:27}

Phazz писал(а):
02.10.2021{, 22:11}
Как время будет, покажите и этот момент?
делаем в AI так:
СпойлерПоказать
1.jpg
проект для флпрог
СпойлерПоказать
test_iz_AI.flp
(3.89 МБ) 44 скачивания
т.е. при запросе из телефона (подключенного к есп к AP) по адресу "http://192.168.4.1/pin_d4" будет так
СпойлерПоказать
1.jpg
2.jpg
2.jpg (38.26 КБ) 1527 просмотров

Ответить

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