mit app inventor примеры приложений

MIT App Inventor Gallery

You are not logged in.

Featured Applications

CreativeProject

June 8, 2016, 3:45 p.m. Likes: 38 numLikeHollow

Our brains reach capacity at some point; if we were to engage in mindfulness, rather than allowing our minds to be too full, we may achieve the widely sought-after balance of work and play.

March 23, 2016, 5:32 a.m. Likes: 84 numLikeHollow

This app allows you to direct yourself anywhere.

Credit: http://explore.appinventor.mit.edu/ai2/android-wheres-my-car This is a change from this original code.
More Info: http://explore.appinventor.mit.edu/ai2/android-wheres-my-car

Rock_Scissors_Paper

July 7, 2015, 4:21 p.m. Likes: 44 numLikeHollow

Dare and challenge the machine. With ten points you earn glory.

BrickBreak_Final

May 27, 2015, 12:56 p.m. Likes: 34 numLikeHollow

Bounce the ball off the pad and destroy the blocks to win. Its pretty self explanatory especially after playing the game once or twice.

WheresMyLaundry9

May 1, 2015, 11:10 p.m. Likes: 30 numLikeHollow

Where’s My Laundry? is a useful app that saves you time and makes your life easier. Instead of not knowing when your laundry has been dropped off and sorted from the truck, now you know exactly when your laundry is ready. Prior to this app, customers would come down to pick up their laundry, only to find that it hadn’t arrived yet, or that it wasn’t yet sorted. Now with Where’s My Laundry?, you know when your laundry is ready, so you can wash away your worries!

More Info: https://www.youtube.com/watch?v=_2RV8vc1Qgs

ColoredDots_with_background

April 26, 2015, 11:16 a.m. Likes: 13 numLikeHollow

This is a modified version of the Colored Dots tutorial. It demonstrates the use of multiple screen, and it also lets you add a background image by loading it from a file or by taking a new photo with the camera.

More Info: http://explore.appinventor.mit.edu/ai2/colored-dots

pongpub

April 26, 2015, 10:02 a.m. Likes: 106 numLikeHollow

The classic ping pong game in App Inventor. This app demonstrates use of the ImageSprite component and its internal clock mechanism, as well as how to react to events such as a ball hitting the edge or another object.

More Info: http://www.appinventor.org/content/ai2apps/intermediateApps/pong

AndroidMashWeb

April 26, 2015, 10 a.m. Likes: 31 numLikeHollow

Touch the Android dude to win points! This app shows how to create an animated app with a Canvas and ImageSprite and how to use the Clock timer and program random behavior.

Credit: This app is a remake of the Mole Mash game created for a tutorial by Hal Abelson, Ellen Spertus and the original App Inventor team.
More Info: http://www.appinventor.org/content/ai2apps/simpleApps/androidMash

presidentsQuiz

April 26, 2015, 9:59 a.m. Likes: 16 numLikeHollow

This trivia quiz concerns US Presidents but can be used as a template for quizzes and study guides on any topic. Demonstrates use of lists and index variables.

More Info: http://www.appinventor.org/content/ai2apps/intermediateApps/presidentsQuiz

NoTextingWhileDriving

April 26, 2015, 9:45 a.m. Likes: 25 numLikeHollow

This «text answering machine» app auto-responds to incoming texts and speaks them aloud.

Источник

App Inventor — создание Android-приложений для каждого: Урок 1

Для начала я расскажу вам немного про App Inventor, а потом мы напишем первое приложение, где будем кормить кота.

App Inventor может использовать человек, не владеющий языками программирования. По принципу действия мне он напоминает WYSIWYG-редактор. Пока регистрация доступна только с разрешения Google. App Inventor освобождает вас от написания кода, вместо этого вы используете подобие блок-схем.

Приступаем к работе

Вначале настройте ваш компьютер и телефон для работы с App Inventor. Затем создайте новый проект, назовите его «HelloPurr», откроете редактор блоков и присоедините телефон. Затем перейдите обратно в окно браузера.

Сейчас в вашем браузере должен быть открыт appinventor.googlelabs.com, а на вашем телефоне должен быть запущен App Inventor Phone Application. Браузер должен быть открыт на странице конструктора, которая выглядит так:

image loader

Обзор процесса разработки

В App Inventor приложения строятся объединением стандартных компонентов. Компоненты являются основным элементом разработки Android-приложений, как ингредиенты в рецепте. Некоторые компоненты очень просты, например Label(метка), который просто показывает текст на экране, или Button, который реализует кнопку. Другие же компоненты более сложны: Canvas, в котором можино располагать изображения или анимацию; accelerometer (motion) sensor, который работает как контроллер от Wii, и определяет когда вы трясете или переворачиваете телефон; компоненты, отправляющие сообщения, проигрывающие видео, получающие данные с сайтов, и много других.

Окно конструктора

Создаем метку

Источник

UDP в MIT App Inventor 2 на примере программы управления роботом

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

На пример установив приложение UDP Sender из Play market, в android появится служба отправки UDP пакетов, которую можно вызвать из другого приложения, даже «написанного» в визуальном редакторе.

1468939454129673436

Всё, что нужно знать, чтобы использовать службу отправки UDP пакетов, это полное название пакета приложения, класс, который может взаимодействовать с другими приложениями ну и как формировать запрос из другого приложения.

Для UDP Sender приведу пример отправки UDP пакета с содержимым «send» на IP адрес 192.168.1.200 и порт 8888 из визуального редактора MIT App Inventor2.

1468938345165326806

Тут при нажатии «Кнопка2» пакет уйдет.

Более подробно, в том числе о скетче для arduino IDE для приема пакетов и исполнении команд смотрим в видео https://www.youtube.com/watch?v=QoNQS12oFFY

1468939882164669790

P.S. привожу ссылку на видео, по скольку прикрепить видос к посту не хватает кармы))

152152692524870827

Arduino & Pi

1.1K поста 18.1K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Рассуждать на темы политики

Подскажите, под какую среду подходит ваш код?

IP адрес для UDP не обязателен. В андроид приложении смотрим наш IP адрес телефона (например 192.168.1.25), берем первую часть 192.168.1. и добавляем 255 и отправляем пакет на 192.168.1.255 и соответствующий порт (на котором у нас слушает nodemcu).

Вот примитивный код для андроид приложения для отправки и приема пакетов по UDP с устройством в локальной сети на 2390 порту

String address = InetAddress.getLocalHost().getHostAddress();

String[] parts = address.split(«\\.»);

String ip = parts[0] + «.» + parts[1] + «.» + parts[2] + «.» + «255»;

InetAddress IP = InetAddress.getByName(ip);

byte [] bytes = new byte[128];

DatagramSocket ds = new DatagramSocket();

DatagramPacket dp = new DatagramPacket(bytes, bytes.length, IP, 2390);

dp = new DatagramPacket(bytes, bytes.length);

String out = new String(dp.getData(), 0, dp.getLength());

m3019465 916757295

152152692524870827

Увеличение количества пинов NodeMCU с помощью сдвигового регистра

Так как у NodeMCU не так и много пинов для подключения периферии, часто возникает нехватка pin. Поэтому такую замечательную отладочную плату откладываем на полку и ищем другие железки для реализации проекта.

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

1630588606172336280

Все исходные материалы к уроку можно найти на сайте>>

Надеюсь моя информация будет полезной.

Спасибо! Всем добра!

m263719

152152692524870827

Термометр-котик

Давно тешил себя мыслью найти термометр, данные с которого будут доступны в веб-панели.

Вопрос стал еще более актуальным после удачной покупки дешевого Б/у кондиционера и желанием прикрутить к нему самопальный климат-контроль (управление любыми устройствами дома через интернет давно налажено)

Проблема заключалась в том, что цена на готовые устройства неприятно кусается, а те, что в обиходе (вроде решений от Xiaomi) не позволяют «просто так» забрать данные каким-либо открытым протоколом

Вдохновившись этой статьей понял, что пора начинать работать с Arduino.

Прошивка из статьи у меня работать почему-то не захотела, решил попробовать написать что-то своё.

Купил всё что надо на одном известном красненьком китайском сайте и достал с полки паяльник.

Вот так выглядит криво пропаенная плата

1625920616180216708

1625920628198038349

Да, можно было купить NodeMCU с уже готовыми «рогами» и припаяться к ним, но они торчат и мешают, а мне всё это дел надо уложить в корпус котика

Отрезаем котику ненужные детали в виде светодиодного модуля ночника с батарейками и днища

Аккуратно впихиваем плату и датчик внутрь

1625920684161992157

Выводим коту на голову антенну для связи с пришельцами (на самом деле это корпус датчика)

1625920766187051050

Делаем отверстие для ввода кабеля питания, соединяем всё между собой, приделываем днище на место, заливаем щели клеем и вуаля! Термометр-котик весьма сомнительного вида готов!

162592082016292042

Теперь данные о температуре можно легко посмотреть через импровизированную веб-страничку

16259208751292968

1625920924111738567

На всё про всё потрачено часов 10 (из них 8 на разработку и 2 на сборку-отладку)

m3075435 1281269032

152152692524870827

Ветряная метеостанция на ESP8266

Мой первый опыт в этой сфере, поэтому логично, что метеостанция. Прошу гуру не кидаться тапками, если вопрос для всех давно решенный. Хочу собрать более или менее полный метеокомплект, нашел «в этих ваших интернетах» как подключить к ESP8266 всякие разные датчики температуры, влажности, давления и даже радиации. Но только не ветра. Пришлось искать своё решение.

Мой выбор пал на датчики, как обычно, с Али WH-SP-WD (флюгер) и WH-SP-WS01 (анемометр), вот эти:

161570881711446833

В сети есть проект под Arduino, там еще описание датчика дождя есть из этого набора. Немного поковырявшись в нём и поняв как устроены эти датчики, собрал такую нехитрую схемку (красный – 3,3V; черный – GND; зеленый – D5; желтый – A0):

1615708892165878297

На столе она выглядит вот так:

1615708968188038226

Анемометр устроен максимально просто, один оборот вокруг оси даёт 2 разрыва цепи между 2-м и 3-м контактами телефонного разъема RJ11. Формула расчета скорости ветра

Флюгер устроен чуть сложнее, собран на 8 резисторах:

1615709007142119735

Соседние дополнительно попарно складываются друг с другом и дают 16 вариантов сопротивлений между 1-м и 4-м контактами RJ11. Я не понял почему, но таблица диапазона значений АЦП из найденного решения для Ардуино (U=5V, R=10кОм) не совсем удовлетворительно легла на мою ESP (U=3,3V и тот же R=10кОм), хотя вроде должна была. Долго разбираться что пошло не так я не стал, просто составил свою таблицу диапазона значений АЦП (на основании фактических показаний):

1615709072197563812

Вот как бы и всё. Надеюсь кому-нибудь эта информация пригодится.

m3140187 511403230

16102753611816462

В одном из предыдущих видео на своём канале я рассмотрел погодную станцию на базе модуля ESP8266 и конструктора прошивок «WiFi-IoT» полностью собранную в корпусе для размещения на улице, т. е. она не имела дисплея. Параметры датчиков с неё я мониторил на своём телефоне через сервис «Народный мониторинг». Это не всегда удобно, и хотелось иметь стационарный дисплей с погодными данными, размещённый в комнате или на кухне, коридоре. В предыдущем посте я рассмотрел такой вариант на базе дисплея TM1637, а до этого на базе дисплея LCD1602. Но здесь есть недостаток – это длинный провод датчика температуры, который идёт от станции за окно. Решений данной проблемы на самом деле несколько, например на комнатном модуле с дисплеем брать данные с «Народного мониторинга», которые туда отправил уличный модуль. Но более простым способом будет взять данные с уличного модуля и вывести на комнатный с дисплеем в локальной сети, а не через многокилометровый путь интернет сервера. В конструкторе прошивок «WiFi-IoT» для этого есть функционал «Virtual SENS» и «Датчики GET запросом», настройку которого мы сейчас и рассмотрим.

В прошивке (профиле) своего «Уличного» модуля на сайте WiFi-IOT.com добавляем (ставим галочку) «Датчики GET запросом» в разделе «Системные». Нажимаем клавишу «Сохранить изменения» и «Скомпилировать».

16102756461941370

1610275764144182087

После успешного обновления переходим по адресу http://[ip адрес модуля]/sensors и здесь мы должны увидеть строку подобного вида (мой вариант):

bmet:-13.0 – температура с датчика BME280 – вторая метрика;

bmeh:48.8 – влажность с датчика BME280 – третья метрика;

bmep:773.62 – давление с датчика BME280 – четвертая метрика;

dsw1:-14.43 – температура с датчика DS18B20 – пятая метрика;

bh:1260 – датчик освещённости – шестая метрика;

В прошивке (профиле) своего «Комнатного» модуля с дисплеем добавляем (ставим галочку) «Virtual SENS» в разделе «Сервисы». Нажав на шестерёнку, указываем нужное количество модулей и датчиков с них (у меня будет один модуль и 5 датчиков с него), а также порт, если доступ к удаленному устройству будет через интернет (не в локальной сети). Нажимаем клавишу «Сохранить изменения» и «Скомпилировать».

1610276076116386176

161027613318472798

Дожидаемся обновления. И на главном экране в сенсорах у нас появятся виртуальные датчики с «Уличного» модуля, но пока они будут выдавать ошибку, т.к. не настроены.

161027629211283788

Для настройки переходим во вкладку «VSENS», здесь указываем IP-адрес «Уличного» модуля

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

161027644113363351

1610276734136472453

Теперь Вы их можете вывести их на дисплей ТМ1637 перейдя во вкладку «7SEGM», если собирали «Домашний» модуль по моему предыдущему посту:

1610277316169154858

Или через «Конструктор строк», используя топик _VSyx_ где «у» и «х» это параметры виртуального сенсора, если вы собрали «Домашний» модуль на базе дисплея LCD1602 по моему этому посту (видео).

Для этого переходим во вкладку «Designer_lines» и указываем нужный текс и параметр виртуального сенсора. Пример:

1610278740139461044

m3140187 511403230

Простая мини погодная станция на ESP8266 с дисплеем TM1637 + DS18B20 + BME280. Своими руками и без программирования!

160988340812897619

Сегодня соберём более компактную погодную станцию на тех же элементах, но в качестве дисплея будем использовать маленький светодиодный TM1637, на который будут поочерёдно выводиться три любых показания с датчиков. Например время, температура на улице и температура в квартире. Так же подключим станцию к «Народному мониторингу» для возможности смотреть погоду удалённо.

1609890874174092271

Для этого проекта нам понадобятся следующие комплектующие (я покупал их на AliExpress):

3) Датчик температуры DS18B20 (герметичный для размещения на улице);

4) Датчик температуры, давления и влажности BME280 (будет показывать параметры в помещении). Если вам не интересно атмосферное давление, но интересна влажность в помещении, то лучше с этим справится датчик температуры и влажности SHT21, ну а если влажность тоже не интересна, а нужна только температура, то можно обойтись двумя (можно подключить до 10) датчиками DS18B20.

5) Провода Dupont для соединения датчика с платой;

7) Любой подходящий по размерам корпус на ваш вкус и цвет, можно в принципе и обойтись и без него сделав «навесной монтаж»;

UPD по вопросу из комментариев: Себестоимость комплектующих в районе 8-10$ (ESP8266

1609883816162864846

Выбираем новый профиль и вводим для него имя.

«Сенсоры» ставим галочку «1-wire DS18B20»;

«Системные» ставим галочку «Время и NTP»;

«Дисплеи» ставим галочку «TM1637»;

Этот набор имеет бесплатный функционал.

1609883985196240512

Если Вы планируете добавить датчики температуры и другие, хотите «откалибровать» (скорректировать показания) датчиков под свой эталон, обновить прошивку через интернет и использовать все возможности сайта, то приобретите в личном кабинете лицензионный ключ, который стоит 110 рублей на один модуль ESP8266.

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

— в «Сенсорах» на датчике BME280 и/или SHT21/SI7021, в зависимости от того, какой будете использовать и «Коррекция датчиков» (+ галочку на DS18B20, нажав на шестеренку)

— в «Системных» на «Обновление ОТА» и «Настройки по умолчанию», где нажимаем шестерёнку и вводим «Имя» и «Пароль» своей Wi-Fi точки доступа, здесь же можете указать динамический или статический IP адрес модуля + IP шлюз. Шлюз обычно имеет адрес 192.168.1.1 или 192.168.0.1 – гуглите инструкцию к своему роутеру/маршрутизатору и смотрите в его настройках. Обратите внимание, что цифры до третьей точки IP адреса и шлюза должны быть одинаковы, и только последнюю у IP адреса вы присваиваете самостоятельно.

Либо вы можете пойти другим путём используя Captive Portal для подключения к модулю и уже в нём настроить подключение к сети Wi-Fi. Этот способ подробно описан в моём первом посте на эту тематику.

Далее, в самом низу нажимаем «Сохранить изменения», затем «Скомпилировать».

1609884588146130240

Я скачиваю одним файлом (0х00000). Запоминаем путь, куда скачали файл.

Примечание: в некоторых случаях рекомендовано создать в корне диска (С:) папку с названием английскими символами, например «ESP8266» и поместить скачанный файл туда, вместе с программатором, который скачаем следующим этапом.

Подключаем через USB-кабель плату NodeMCU к компьютеру.

1609884807112947388

Скачиваем с ГитХаба программатор NodeMCU Flasher по этой ссылке.

Распаковываем архив в папку, созданную на диске (С:) (см. Первый этап)

в папке Win32/Release (32-разрядная ОС) или Win64/Release (64-разрядная ОС) находим и запускаем файл ESP8266Flasher.exe

После запуска на вкладке «Advansed» сверяем параметры со скриншотом:

1609885374193164707

Во вкладке «Config» выбираем, нажав на шестерёнку нашу ранее сохраненную прошивку на диске (С:) и ставим крестик (если не стоит) слева.

Перед первой прошивкой рекомендуется залить в модуль blank по адресу 0х00000, особенно, если в модуле до этого использовалась какая-либо другая прошивка. Подробнее в документации на wifi-iot.com. Я прошиваю сразу, без «чистки бланком», пока проблем не было.

1609885495156150805

Во вкладке «Operation» выбираем COM Port, который мы запомнили выше в «Диспетчере устройств» и нажимаем кнопку «Flash(F)». По завершении прошивки появится галочка в зеленом кружочке в левом нижнем углу, как на скриншоте:

1609885535114198489

После прошивки и подключения питания к плате NodeMCU нажимаем однократно кнопку «RST» (ресет) на плате модуля.

Подключаем датчики и дисплей согласно схеме.

1609885616163291872

Вы можете использовать другие GPIO для подключения, но тогда вам нужно зафиксировать их для себя, чтобы указать в настройках. На фото выше приведена «распиновка» на этот случай.

Подключаем питание к плате NodeMCU и заходим в web-интерфейс модуля, для этого вбиваем указанный в прошивке IP адрес модуля.

— Первым делом нажав «Get Pro mode». Активируйте свою лицензию, купленную на сайте wifi-iot.com

— Переходим во вкладку «Main»;

— Здесь в окошке «GMT zone» устанавливаем свой часовой пояс;

1609887212139214994

1609887453115352732

— Возвращаемся в главное меню «Main»;

— Переходим во вкладку «Hardware»;

— Ставим галочку «EnableDS18B20»;

— Указываем GPIO к которому подключен наш датчик температуры, у меня 14;

— Ставим галочку «Enable BME280» или «SHT21» (в зависимости от того, какой датчик установлен);

— Ниже указываем I2C GPIO датчика BME280 или SHT21, у меня GPIO SDA (4) GPIO SCL (5)

— Переходим во вкладку «1-wire». Нажимаем «Clear & Scan list».

1609887538174120201

1609887650140531095

— Если хотите скорректировать показания датчика температуры по своему эталону (при наличии) во вкладке «Correction». вводите правки со знаком +/ –, где 10 — это 1 градус.

Самый простой и доступный эталон температуры– это температура человеческого тела )))

— Далее переходим во вкладку настройки дисплея «7SEGM»;

— Ставим галочку «Enable TM1637»;

— Устанавливаем яркость дисплея от 0 до 7;

— Ниже выбираем параметры, которые будут циклично отображаться на дисплее. У меня это время, температура датчика на улице и температура датчика дома. Комфортное время цикла для меня 4-3-2 секунды.

1609887719129936023

Копируем ваш ID в блокнот, нажимаем «SET» и «SEND NOW». После появления надписи «Server Reply:OK» ваши показания были успешно переданы на «Народный мониторинг».

1609888548139968774

На этом, но настройке модуля погодной станции у меня в принципе всё, остальное это дело вашей фантазии и желания экспериментировать. ;-)

Из особенностей, в заключении хочу добавить, что данная схемотехника позволяет питать станцию, как непосредственно от USB кабеля, подключенного к модулю, так и через кабель для подключения датчика температуры DS18B20, т.к. здесь у нас общая «земля» и «пин 5 вольт» соединён на плате на прямую с USB. В схемотехнике так же указан резистор 4,7 кОм, без него датчик температуры тоже работает, но рекомендовано его всё же поставить, т.к. его назначение – повысить управляющий сигнал для однопроводной шины, без него питание идёт по паразитной составляющей и датчик может работать некорректно или вовсе выйти из строя. По даташиту датчик температуры DS18B20 работает в диапазоне напряжений от 3 до 5.5 вольт, выбранное мной питание 5 вольт позволяет применять достаточно длинный провод до датчика на улице, не переживая за падение напряжения до критически низкой отметки.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • mistake 3 формы глагола
  • missed 3 формы глагола