Справочные материалы и примеры App Inventor
Справочные материалы и примеры App Inventor
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
приложений для платформы 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
-
- Капитан
- Сообщения: 833
- Зарегистрирован: 17 ноя 2015, 20:36
- Имя: Сергей
- Благодарил (а): 20 раз
- Поблагодарили: 1 раз
Справочные материалы и примеры App Inventor
Вот видео проекта на ESP8266 c исходниками для Inventora https://www.youtube.com/watch?v=FUqxYxwdveo&t=307s
- Phazz
- Полковник
- Сообщения: 2703
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 30 раз
- Поблагодарили: 13 раз
Справочные материалы и примеры App Inventor
[ref=#808080]Phazz[/ref],
что именно интересует?
я так делал:
-в флпрог для есп8266 создаю блок-(xml-страничка), у которого есть входы, на которые подаю нужные мне переменные.
-в ai забираю эту xml страницу и разбираю ее по тегам (теги создаются в блоке в флпрог).
-на экране телефона вывожу то что разобрал.
(можно и не xml ,а json, но там гемор с библиотеками в ide и плюс ранее в ai нельзя было обработать json.)
что именно интересует?
я так делал:
-в флпрог для есп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
[ref]feodor53[/ref], Хочу управлять через точку доступа поднятой на есп
Справочные материалы и примеры App Inventor
управление из ai:
-шлем из ai , http запрос на есп
-в флпрог штатный есть инструмент для разбора этих запросов (WebPage - в нем поставить галку "при вызове адреса включить выход").
Справочные материалы и примеры App Inventor
берем проект:
[spoiler]
[/spoiler]
в результате получаем:
штатная веб страница по адресу точки доступа (ip):
[spoiler] [/spoiler]
страница обновления прошивки с блоком web update (ip:8080/update)
[spoiler] [/spoiler]
xml страничка, которую будем разбирать в AI (ip:8989/xml):
[spoiler] [/spoiler]
[spoiler]
[/spoiler]
в результате получаем:
штатная веб страница по адресу точки доступа (ip):
[spoiler] [/spoiler]
страница обновления прошивки с блоком web update (ip:8080/update)
[spoiler] [/spoiler]
xml страничка, которую будем разбирать в AI (ip:8989/xml):
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 10 окт 2021, 10:49, всего редактировалось 2 раза.
Справочные материалы и примеры App Inventor
там есть блок "XML данные - порт 8989 (можно сменить в блоке)"
Отправлено спустя 1 минуту 23 секунды:
в этом блоке в разделе "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
Что-то не пойму как в AI это распарсить )
Отправлено спустя 55 секунд:
Отправлено спустя 55 секунд:
Справочные материалы и примеры App Inventor
ставим кнопку, текст и интернет
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 23 секунды:
создаем глобальную переменную куда будем закидывать ВЕСЬ xml
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 49 секунд:
создаем переменные куда будем скидывать результаты полученные для каждого из входов (в нашем проекте .flp четыре входа: bool - integer - float - string):
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 15 секунд:
создаем процедуру-функцию
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 11 секунд:
создание процедуры
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 13 секунд:
создание процедуры
[spoiler] [/spoiler]
Отправлено спустя 2 минуты 38 секунд:
тут в процедуре присваиваем переменной "iz_esp" все из полученного из xml
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 27 секунд:
парсим сначала все что между тегами "D" (в xml )
[spoiler] [/spoiler]
Отправлено спустя 3 минуты 27 секунд:
теперь из полученного парсим из разных входов (то что между тэгами "i")
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 58 секунд:
теперь при нажатии кнопки, присваиваем url и делаем запрос к есп
[spoiler] [/spoiler]
Отправлено спустя 6 минут 45 секунд:
если от есп respounce code == 200 , то вызываем нашу созданную функцию xml и присваиваем надписи значения полученные в функции
[spoiler] [/spoiler]
Отправлено спустя 9 минут 11 секунд:
скачиваем и устанавливаем созданный .apk
[spoiler] [/spoiler]
----------------------------------------------------------------------------
заливаем в есп проект выше.
подключаемся телефоном к ТД есп.
запускаем приложение созданное.
жмем на кнопку "Текст для Кнопка1" и получаем наши данные из есп на телефон:
[spoiler] [/spoiler]
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 23 секунды:
создаем глобальную переменную куда будем закидывать ВЕСЬ xml
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 49 секунд:
создаем переменные куда будем скидывать результаты полученные для каждого из входов (в нашем проекте .flp четыре входа: bool - integer - float - string):
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 15 секунд:
создаем процедуру-функцию
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 11 секунд:
создание процедуры
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 13 секунд:
создание процедуры
[spoiler] [/spoiler]
Отправлено спустя 2 минуты 38 секунд:
тут в процедуре присваиваем переменной "iz_esp" все из полученного из xml
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 27 секунд:
парсим сначала все что между тегами "D" (в xml )
[spoiler] [/spoiler]
Отправлено спустя 3 минуты 27 секунд:
теперь из полученного парсим из разных входов (то что между тэгами "i")
[spoiler] [/spoiler]
Отправлено спустя 4 минуты 58 секунд:
теперь при нажатии кнопки, присваиваем url и делаем запрос к есп
[spoiler] [/spoiler]
Отправлено спустя 6 минут 45 секунд:
если от есп respounce code == 200 , то вызываем нашу созданную функцию xml и присваиваем надписи значения полученные в функции
[spoiler] [/spoiler]
Отправлено спустя 9 минут 11 секунд:
скачиваем и устанавливаем созданный .apk
[spoiler] [/spoiler]
----------------------------------------------------------------------------
заливаем в есп проект выше.
подключаемся телефоном к ТД есп.
запускаем приложение созданное.
жмем на кнопку "Текст для Кнопка1" и получаем наши данные из есп на телефон:
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 02 окт 2021, 22:00, всего редактировалось 1 раз.
- Phazz
- Полковник
- Сообщения: 2703
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 30 раз
- Поблагодарили: 13 раз
Справочные материалы и примеры App Inventor
Огромное спасибище!!!! Целый мастер класс запил. Пойду поставлю плюсы на каждое сообщение )))
Справочные материалы и примеры App Inventor
П.С.: данные с есп можно таким образом получать не только по нажатию кнопки (это больше как пример), а например по таймеру или по факту подключения телефона к определенному wifi и т.д.
- Phazz
- Полковник
- Сообщения: 2703
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 30 раз
- Поблагодарили: 13 раз
Справочные материалы и примеры App Inventor
делаем в AI так:
[spoiler] [/spoiler]
проект для флпрог
[spoiler] [/spoiler]
т.е. при запросе из телефона (подключенного к есп к AP) по адресу "http://192.168.4.1/pin_d4" будет так
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей