Аппараттық және бағдарламалық қамтамасыз етуді орнату

App Inventor кеңейтімдерін әзірлеу: кіріспе. Қолданбаны ойлап табушы - Android қолданбаларына арналған көрнекі әзірлеу ортасы қолданбаны өнертапқышқа арналған қосымша компоненттер

MIT қолданбасындағы ауа райы станциясы Inventor 2 - метеостанцияға арналған қосымша андроид телефондарыкөмегімен құрылған онлайн қызметі.

Бұл метеостанция мақалада сипатталған, онда біз метеостанцияның жұмысын қарастырдық, arduino және метеостанция құрылғысының эскизін жасадық. Бүгін біз андроид үшін қосымшаны қалай жасау керектігін және біздің метеостанциядан алынған барлық деректерді телефоныңызда көрсетуді толығырақ түсінеміз.

MIT App Inventor 2 бағдарламасында ауа райы станциясының қосымшасын жасау үшін сізге қажет:

1. Фондық сурет 540x960 пиксель (өлшемі фондық суретқұрылғыңыздың экран өлшеміне байланысты)

2. Негізгі экранға арналған қолданба белгішесі 128x128 пиксель (PNG32 пішімінде)

3. Өлшемі 80x80 пиксель болатын екі түсті қолданбадағы түйме белгішелері

Қолданбаға барлық қажетті кескіндерді дайындағаннан кейін, біз MIT App Inventor 2 бағдарламасында жұмыс істей аламыз. Бастау үшін бізге келесі компоненттер қажет:

  • ListPicker1 - іске қосу Bluetooth қосылымы, таңдау қолжетімді Bluetooth құрылғыларыжәне қосылым күйін көрсету режимі
  • Label3 - резерв, қосымша ақпаратты көрсету үшін (уақытша жұмыс істемейді, қосу мүмкін емес)
  • Label1 - arduino-дан алынған деректерді көрсету
  • Label2 - жазуды көрсету үшін (бөлмедегі температура, сырттағы температура, қысым және т.б.)
  • HorizontalArrangement1 - элементтерді көлденең туралау режимі, біздің жағдайда режимді ауыстыру түймелері)
  • Түйме 1 - «сыртқы температура» режимін қосу түймесі
  • Түйме2 - «бөлме температурасы» режимін қосу түймесі
  • Түйме 3 – «қысым мм сын.бағ.» режимін қосу түймесі
  • Түйме4 - «дымқылдық %» режимін қосу түймесі
  • Button5 - өшіру түймесі (көрінбейтін)
  • Сағат1 - таймер
  • BluetoothClient1 - Bluetooth-мен жұмыс істеуге арналған компонент (деректерді қабылдау және жіберу)

Енді MIT App Inventor 2 бағдарламасында блоктау режиміне ауысайық Алдымен, ListPicker функциясын жазайық.

содан кейін таймер үшін

bluetooth арқылы деректерді алу үшін

1-4 түймелері үшін

өшіру түймесі үшін

Барлық аяқталған әзірлеу кезеңдері аяқталғаннан кейін біз қолданбаны телефонда сынап, оның жұмысын тексереміз.

MIT қолданбасының өнертапқышы 2- қолданбаны жасауды жеңілдететін визуалды әзірлеу ортасы андроид құрылғыларытіпті бағдарламалау білімі болмаса да.
Бұл әзірлеу ортасы тікелей браузерден жұмыс істейді. Сізге ештеңе жүктеп алудың немесе орнатудың қажеті жоқ. Нәтижені Android құрылғысында көруге болады. Дайын қолданбаларды орналастыруға болады Ойын маркет. Inventor 2 қолданбасы орыс тілін қолдайды.
Бірден іске қосу кезінде өзіңіздің бірегей қосымшаңызды, мысалы, басқа bluetooth құрылғыларын (Arduino-дағы қарапайым Bluetooth құрылғысы) басқара алатын қолданбаны немесе смартфондағы ойынды жасауға болады.
В онлайн редакторы MIT App Inventor 2 қолданбалары стандартты компоненттер негізінде құрастырылған, олар Android қолданбасын әзірлеудің негізгі элементі болып табылады. Интернетте біз жасағымыз келетін қосымшаны алу үшін блоктардың, компоненттердің комбинациясын пайдалану туралы көптеген мысалдар бар.

Дизайнер терезесі
Бұл терезеде қолданбаның қалай көрінетінін конфигурациялауға болады (экранда қандай элементтер көрсетіледі және т.б.). Дизайнер терезесіне қарап, оның бірнеше аймақтардан тұратынын көресіз:

  • палитра (палитра) – қолжетімді құрамдас бөліктер көрсетілетін аймақ. Палитра бөліктерге бөлінген.
  • қарау құралы (көрініс) – құрамдас бөліктер қосылатын және олармен жұмыс істейтін аймақ. Бұл аймақта қолданбаның смартфонда қалай көрінетінін көруге болады.
  • компоненттер (компоненттер) – пайдаланылған құрамдас бөліктер көрсетілген аймақ. Бұл аймақтағы компоненттердің атын өзгертуге немесе жоюға болады, сонымен қатар Қасиеттер аймағын пайдаланып оларды өңдеу ыңғайлы.
  • медиа (медиа) - пайдаланылған суреттер мен аудио жүктелетін аймақ.
  • қасиеттер (қасиеттер) – компоненттердің қасиеттері өңделетін аймақ: түс, мәтін өлшемі, шрифт және т.б.

Редактор терезесін блоктау
Бұл терезеде біз смартфонның сыртқы факторлардың әсеріне ұшыраған кездегі әрекетін конфигурациялаймыз. Мысалы, смартфон экранында пернені басқан кезде сәлемдесу сигналы беріледі немесе сенсорлардың күйі (акселерометр, жақындық сенсоры және т.б.) өзгергенде, батарея қуатын үнемдеу үшін смартфон экраны өшеді.

Операция деп біз әрқайсысында әртүрлі блоктар саны болуы мүмкін әрекеттер тізбегін айтамыз.

Кез келген операцияны оқиғаларды өңдеу блогында немесе процедура блогында орналастыруға болады. Оқиғаларды өңдеу блогында операцияның орналасуы қарапайым сипатталады, бірақ болашақта оны процедурада пайдаланудан айырмашылығы, икемді алгоритмді алуға мүмкіндік беретін көптеген мәселелерге әкелуі мүмкін. Мұны екі блоктан тұратын бос тізімнің ғаламдық айнымалысына қарапайым тағайындау операциясының мысалы арқылы қарастырайық (1-сурет).

Күріш. 1. Операцияның орындалу орнының опциялары.

Операцияны құрамдас оқиғаны өңдеу блогына орналастырған кезде (жоғарғы опция) ол оған жалғанған және басқа блоктардан қоңырау шалу үшін қолжетімсіз болады. Егер бұл операцияны басқа блоктан шақыру қажет болса, оны көшіру керек болады. Операцияның көшірмелерін жасау қажет емес, өйткені оның алгоритмін өзгерту кезінде олардың әрқайсысына өзгертулер енгізуге тура келеді. Бұл әртүрлі қателердің ықтималдығын арттырады: кейбір көшірмені түзетуді ұмытуға болады, блоктарды көшіру, қою және т.б. Операцияны процедура блогында орналастыру оны басқа блоктардан шақыруға мүмкіндік береді және жоғарыда сипатталған қателерді болдырмайды.

Блок редакторында жұмыс істегенде, кейде қоңырау шалу қажет болады әртүрлі нұсқаларбір операция немесе әртүрлі операциялар. Бұл әрекетті орындау үшін, оқиғаларды өңдеудің жаңа блоктары бар жаңа құрамдастарды жасауға немесе оған бір немесе басқа операцияға қоңырау шала отырып, бар бір btnExecute блогын пайдалануға болады. Ауыстыру нәтижесінде бөлінген операциялар ешбір топтық блокқа жатпайтын «қалқымалы» блоктарға айналады (2-сурет).

Күріш. 2. «Қалқымалы» блоктар.

Егер жұмыс алаңында мұндай қалқымалы блоктар көп болса, онда олармен күресу қиын болуы мүмкін. Төменгі блокпен бәрі түсінікті болса – бұл процедураны шақыру блогы болса, онда фигураның жоғарғы бөлігіндегі блоктарды тізбектеу не істейді? Бұл бөлек операция ма, әлде басқа операцияның бөлігі болып табылатын әрекет пе? Бірақ бұл операцияның қалған бөлігі қайда? Процедуралық блокқа операцияны қосу түсініксіз «қалқымалы» блоктардан арылуға мүмкіндік береді.

Блокты орындау үшін оны оқиға өңдегішіне орналастыру қажет емес. Басуға болады оң жақ түймешікті басыңызтінтуірдің үстіне және пайда болды контекстік мәзір Do it опциясын таңдаңыз.

Оқиға өңдегішінде операцияны орналастырудың тағы бір кемшілігі, егер компонент байқаусызда жойылса, конструктор тек осы компонентке жататын барлық блоктарды ғана емес, сонымен бірге оларда орналасқан барлық блоктарды да жояды. Операция көп блоктардан тұрса, бұл әсіресе тітіркендіргіш болады (Cурет 3). Егер btnTest компоненті жойылса, btnTest.Click блогы оның барлық мазмұнымен бірге жойылады.

Күріш. 3. Оқиға өңдегішіндегі блоктарды қажетсіз топтастыру.

Бұл суреттегі блоктар қандай операцияны орындайды? Бірден жауап беру қиын. Ал оларды бөлек процедураға орналастырған кезде барлығы бірден оның атынан түсінікті болады setVarValue – айнымалының мәнін орнатады (4-сурет).

Күріш. 4. Процедурада жақтарды топтастыру.

Процедура мен жергілікті айнымалы блоктарда редуктор белгішесін басу арқылы қол жетімді параметр бар. Процедура блоктары үшін ол оларға енгізу параметрлерін қосудан, ал жергілікті айнымалы блоктар үшін қосымша кірістерді құрудан тұрады. Бұл айнымалылардың төрт блогын төрт айнымалысы бар бір блокқа айналдыруға мүмкіндік береді (4-сурет). Мұндай түрлендіру баламалы ма? Жоқ. Бірнеше жергілікті айнымалылары бар блоктың бір ауқымы бар, ол оның ішіндегі айнымалылардың мәндерін алуға мүмкіндік бермейді. Мысалы, айнымалы мәнге (4-сурет) негізгі айнымалыға мән беру мүмкін емес.

Оқиғаларды өңдеу блогында біз тапқан операцияны орналастырудың кемшіліктерін тізіп көрейік:

  • Таңдалған компоненттің белгілі бір түрінің оқиғалар блогына қатты байланыстыру
  • Операцияны басқа блоктардан шақыру мүмкін емес (бұл оның кітапханаға айналмайтынын білдіреді)
  • Компонентті жою кезінде операцияны жою
  • Блоктардың түсініксіз «қалқымалы» топтарын құру
  • Операция не істейтінін тез түсіну қиын

Барлық операциялар процедураларға орналастырылса, барлық осы кемшіліктерден құтылу өте оңай.

Қарапайымдылық пен жылдамдыққа арналған алгоритмдерді құру кезінде мен әртүрлі операцияларды бір процедураға орналастырғым келеді, бұл блоктар санының тез өсуіне және оның жұмысын түсінуде қиындықтарға әкеледі. Бұған жол бермеу үшін бағдарламалауда қарапайым ереже кеңінен қолданылады:

Бір функция (процедура) – бір операция

Бұл ереже өмірлік тәжірибеден алынған. Бөлмедегі жарықты қосқаныңызды елестетіп көріңіз, сонымен бірге теледидар мен кондиционер қосылып, компьютер өшеді. Сізге ұнай ма? Жоқ, өйткені бұл шатасуға және жағымсыз жағдайларға әкеледі.
Суретте. 4 блоктың басында төрт процедура шақырылады - getKey (кілтті алу), getNewVal (жаңа мәнді алу), getKeys (кілттер тізімін алу) және getIndex (индексті алу). Осы процедуралардың әрқайсысы бір операцияны орындайды. Олардан кейін if блогы келеді, онда setVarValue1 процедурасының бір операциясы орындалады.
Процедуралардағы жергілікті айнымалылардың орнына жаһандық айнымалыларды қолдануға болады ма? Сіз аласыз, бірақ олай етпеуіңіз керек. Процедурада жаһандық айнымалыларды пайдалану, біріншіден, оны олармен және сәйкесінше берілген қолданбамен тығыз байланыстырады, екіншіден, жаһандық айнымалылар көмегімен сыртқы блоктарәр түрлі жерлерден қолдану процедураның ішкі механизміне әсер етуі мүмкін, бұл өте жағымсыз. Автобус жолаушылары оның механизміне қол жеткізе алса, не болуы мүмкін?

Жергілікті айнымалылар буфердің бір түрі болып табылады. Егер ғаламдық айнымалының аты өзгерсе, онда бұл процедураның жұмысын бұзбайды, өйткені оның ішінде өзгермеген жергілікті айнымалылардың атаулары қолданылады. App Inventor бағдарламасында жаһандық айнымалының атын өзгерткен кезде, ол оны пайдаланатын барлық блоктарда автоматты түрде өзгереді. Бұл қолданбада бар маңызды қорытындыны білдіреді Өнертапқышты автоматтандыруайнымалы типтердің дұрыстығын тексеру, айнымалылардың атын өзгерту және т.б., бір жағынан, қолданбаларды әзірлеуді жеңілдетеді, әзірлеушіні осы мәселелер туралы ойлаудан босатады, ал екінші жағынан, немқұрайлылық дағдыларын дамытуға ықпал етеді. алгоритмдерді құрастыру. Жалпы айтқанда, бұл дағдыны кез келген тілде бағдарламалау арқылы дамытуға болады. Оны қалай болдырмауға болады? Көптеген кітаптарда жазылған «таза кодты» жасау үшін нұсқауларды пайдаланыңыз. MIT App Inventor осы ұсыныстардың аз ғана бөлігін ғана пайдалана алады, бірақ оларды орындау алгоритмдерді және олардың жасалған кез келген әдіспен – қағаз парағында, ақ тақтада, кодты өңдеу немесе блоктармен жұмыс істеу кезінде оқу мүмкіндігін жақсартады. .

Оқиға блоктарын пайдалану кезінде жоғарыда аталған ережені де пайдалану керек. Суретте. 4 өңдеуші Оқиғаларды басыңызтек бір операцияны орындайды – процедураны шақырады. Оқиға өңдеушісінен бірнеше процедураларды шақыру қажет болса? Сонда бұл процедуралар тобы бір немесе бірнеше операцияларды орындайтынын түсіну керек пе? Егер біреу болса, онда бәрі тәртіппен. Мысалы, қолданбаны инициализациялау кезінде көптеген процедуралар шақырылады, бірақ олардың барлығы бір операциямен біріктіріледі - инициализация.

Процедура неғұрлым көп операцияларды орындаса, соғұрлым ол осы жобамен тығыз байланысты және оны басқа қолданбада жұмыс істеуге бейімдеу қиынырақ болады. Ең дұрысы, жалпы мақсаттағы процедураны тәуелсіз жасаған жөн бұл қолданбабасқа қолданбаларда қайта пайдалану үшін оны кітапханаңызға қоюға болады.

App Inventor пайдаланылмаған қолданба экрандарын кітапхана процедураларына арналған репозиторий ретінде сақтай алады. нөмірі бар кітапханалар үлкен мөлшерпроцедураларды бір экранда, ал үлкендерін - бөлек орналастыруға болады. Соңғы жағдайда барлық кітапхана блоктарын рюкзакқа жылжыту бір операциямен жасалуы мүмкін.

Егер кітапханалар көп жинақталған болса, оларды қолданба үлгісі ретінде реттеуге болады, онда бірінші экран бос қалады. Біз бұл үлгіні жаңа қолданбаны жасау кезінде қолданамыз және ол дайын болғаннан кейін барлық кітапхана экрандары жойылатын көшірмені жасаймыз.

Жаһандық айнымалылардың атын өзгертуді және оларды рюкзактан қолданбалар экранына көшіру кезінде кітапхана процедураларының жұмысын бұзбау үшін, бірдей атаулары бар ғаламдық айнымалылар болуы мүмкін кітапхана блоктарының атауларына кітапхананы көрсететін префикстермен префикс қою қажет. Егер жұптар тізімімен жұмыс істеуге арналған кітапхана libPairs деп аталады. Содан кейін ондағы айнымалыларды, процедураларды және құрамдастарды келесідей атауға болады: libPairs_name, libPairs_setValue, libPairs_btnExecute.

Қосымша ақпарат алу үшін ыңғайлы жұмысблоктардың үлкен санымен және оларды жұмыс кеңістігінде жылжыту, қарау терезесіндегі масштабтау түймелерінен басқа, Ctrl- немесе Ctrl+ пернелер тіркесімін пайдаланып браузердің жұмыс кеңістігін масштабтау да пайдалы.

Бұл постта мен сіздерді осымен таныстырамын MIT қолданбасының өнертапқышы 2бағдарламалық қамтамасыз ету және мен сізге Arduino-мен өзара әрекеттесетін және басқаратын Android қолданбаларын құруды тез бастау үшін не қажет екенін көрсетемін.

Міне, осы постта қарастырылатын мазмұн:

  • Неліктен MIT App Inventor 2 жақсы таңдау болып табылады?
  • MIT App Inventor 2 қолданбасына кіру
  • MIT App Inventor (Bluetooth) көмегімен Arduino-ны қалай басқаруға болады
  • MIT қолданбасының өнертапқышына шолу
  • MIT App Inventor көмегімен жобалар
  • MIT App Inventor 2 бар Arduino үшін Android қолданбалары

MIT App Inventor 2-мен таныстыру

MIT App Inventor 2 - Android қолданбаларын жасауға арналған қарапайым және интуитивті тегін қызмет. Егер сіз MIT App Inventor бағдарламасынан бастағыңыз келсе, компьютеріңізге кез келген бағдарламаны жүктеп алудың немесе орнатудың қажеті жоқ, өйткені бағдарламалық құрал бұлтқа негізделген, сондықтан қолданбаларды тікелей браузерде (Chrome, Mozilla, Safari, Internet Explorer, т.б.).

Мысалы, қолданбаларды жасау үшін сізге тек интернет байланысы қажет.

Неліктен MIT App Inventor жақсы таңдау болып табылады?

  • MIT App Inventor 2 интуитивті және пайдалану оңай.
  • Керемет, пайдалы нәрселерді жасай алатын қолданбаларды жасау үшін бағдарламалау немесе дизайн саласындағы сарапшы болудың қажеті жоқ.
  • Дизайнды жасау смартфон экранында виджеттерді таңдау және орналастыру сияқты оңай.
  • Код апарып тастау басқатырғыш блоктары арқылы жасалады.

Кез келген адам MIT App Inventor 2 көмегімен бірнеше сағаттық тәжірибе арқылы өз қолданбаларын жасауды үйрене алады.

MIT App Inventor 2 қолданбасына кіру

Arduino-мен пайдаланылатын ең көп таралған Bluetooth модульдері - HC‑05 bluetooth, HC-04 және HC-06.

Bluetooth модулі туралы қосымша ақпарат алу үшін мына блог жазбасын тексеруге болады:

Bluetooth модулі сериялық деректермен жұмыс істейді. Бұл Arduino ақпаратты жібереді және Bluetooth модулі оны сериялық (және керісінше) арқылы алады дегенді білдіреді.

Төмендегі сурет Android қолданбасынан Arduino-ға ақпараттың қалай түсетінін түсіндіреді.

Смартфоныңыз ақпаратты Bluetooth модуліне Bluetooth арқылы жібереді. Содан кейін Bluetooth модулі ақпаратты сериялық байланыс арқылы Arduino-ға жібереді. Бұл ағын да басқа жолмен жұмыс істейді: Arduino ақпаратты Bluetooth арқылы смартфонға жіберетін Bluetooth модуліне жібереді.

MIT қолданбасының өнертапқышына шолу

Бұл сізге Arduino үшін керемет Android қолданбаларын жасауға көмектесетін қадамдық курс, тіпті бұрын тәжірибесі болмаса да! 8+1 жобалар жинағы.

Бұл пост сізге пайдалы болды деп үміттенемін.


Мен habrahabr және geektimes туралы бірнеше мақалалар бар екенінен бастағым келеді алдыңғы нұсқасыҚолданба өнертапқышы. Міне олар:

MIT бета нұсқасында Google App Inventor ашады
Қолданбаны ойлап табушы - Барлығына арналған Android қолданбаларын құру: 1-сабақ
App Inventor көмегімен XML файлын оқу

App Inventor бағдарламасының бұл нұсқасы (бета) 2011 жылдан 2015 жылға дейін жұмыс істеді, бірақ қазір тоқтатылды. Inventor 2 қолданбасы 2014 жылдан бері жұмыс істейді және алдыңғысымен үйлесімді емес. 2011 жылға дейін болды google нұсқасы Google Labs ішіндегі қолданбаларды жасаушы
Сонымен, App Inventor — пайдаланушыдан ең аз бағдарламалау білімін талап ететін Android қолданбаларына арналған көрнекі әзірлеу ортасы. Бұл келесідей көрінеді:

Бұл әзірлеу ортасы тікелей браузерден жұмыс істейді. Сізге ештеңе жүктеп алудың немесе орнатудың қажеті жоқ. Сіз тіпті Android планшетінен, тіпті Ipad құрылғысынан қолданбалар жасай аласыз. Аппараттық құралдарға қойылатын негізгі талап - жақсы экран ажыратымдылығы. Мысалы, мен FullHD ажыратымдылығы экранынан скриншот беремін. Сіз оны HD экранынан жасалған алдыңғысымен салыстыра аласыз.


Дайын қосымшаларды Play Market-те орналастыруға болады, мысалы, мен әзірлеуші ​​тіркелгісін беремін, онда барлық қосымшалар App inventor-да жасалған.
Мен MIT App 2 өнертапқышын егжей-тегжейлі сипаттамаймын, өйткені ол алдыңғы нұсқадан негізінен бірнеше аптада бір рет шығарылатын көптеген шағын жақсартулармен ерекшеленеді. Жоғарыда аталған мақалаларды оқығаннан кейін сіз ағымдағы нұсқаны оңай меңгере аласыз.
ВКонтакте желісінде тікелей эфир жеткілікті қауымдастық, онда қатысушылар App Inventor пайдалану тәжірибесін бір-бірімен бөліседі.
2-бөлім. App Inventor+Arduino жобалары.
Соңғы жылдары заттар интернеті қарқынды дамып келеді. Осы тақырыптағы көптеген жобалар arduino пайдаланады. Кейде мұндай жобаларда андроид қосымшасын жасау керек, ал App Inventor 2 осында қажет болуы мүмкін.Бұл тақырып бойынша habrahabr және geektimes туралы бірнеше мақалалар бар.
1. Bluetooth қосылымын пайдаланатын App Inventor+Arduino жобалары. (bluetooth модулі HC-05\06\07)
Ардуинодағы робот шаңсорғыш
Arduino-да қарапайым bluetooth құрылғысы
arduino теледидарына арналған bluetooth қашықтан басқару құралы
2. App Inventor+Arduino жобасы бар wi-fi пайдалануқосылымдар.(Wi-Fi модулі ESP8266)
Интернет заттары (IoT) және сантехника
3.App Inventor+Arduino жобасы сымды қосылымды пайдаланады (Ethernet модулі Enc28j60)
Android және Arduino қолданбасы арқылы көп аймақты күшейткіштің дыбыс деңгейін басқару
4.App Inventor+Arduino жобасы GPRS/GSM қосылымы (GPRS/GSM қалқаны SIM900)
Саяжайдағы жылытуды басқару
2015 жылдың тамыз айынан бастап App Inventor 2 орыс тілін қолдайтыны туралы жағымды жаңалықпен аяқтағым келеді. Егер біреуде болса қызықты қолданбалар, осы әзірлеу ортасында жасалған, түсініктемелерде жойылуы мүмкін, менің ойымша, көптеген адамдар үшін App Inventor көмегімен басқа қандай қосымшаларды жасауға болатынын көру қызықты болады.
P.S. Жаңадан бастаушылар мен кәсіпқойларға арналған 100-ден астам arduino оқулықтарының жинағы
P.P.S. Онлайн курс arduino арқылы gyktimes

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!