Ова апликација успоставља канал између две микро: битним уређаја. Канал ће бити ханделед као УАРТ комуникацију. Морате да развију и программ на свакој микро: битну уређај са трансфером УАРТ.
Индикације активе: БЛЕ индикација (УТЦ)
Индикација инактиве: БЛЕ Обавештење
Силент активе: Не визуелни евидентирање
Силент инактиве: Пријављивање
zahtevi:
- Мин. андроид 4.4
- Блуетоотх са ниском потрошњом (БЛЕ)
- Упарени уређаји
- Микро: Мало Програм (развијен од себе)
МБЕД пример:
#инцлуде "МицроБит.х"
#инцлуде "МицроБитУАРТСервице.х"
Мицробит убит;
МицроБитУАРТСервице * УАРТ;
Инт повезан = 0;
воид онЦоннецтед (МицроБитЕвент д)
{
уБит.дисплаи.сцролл ( "Ц");
повезане = 1;
}
воид онДисцоннецтед (МицроБитЕвент д)
{
уБит.дисплаи.сцролл ( "Д");
повезане = 0;
}
воид онБуттонА (МицроБитЕвент д)
{
ако (повезан == 0) {
уБит.дисплаи.сцролл ( "НЦ");
ретурн;
}
уарт-> послати ( "Да");
уБит.дисплаи.сцролл ( "И");
}
воид онБуттонБ (МицроБитЕвент д)
{
ако (повезан == 0) {
уБит.дисплаи.сцролл ( "НЦ");
ретурн;
}
уарт-> послати ( "Не");
уБит.дисплаи.сцролл ( "Н");
}
воид онБуттонАБ (МицроБитЕвент д)
{
ако (повезан == 0) {
уБит.дисплаи.сцролл ( "НЦ");
ретурн;
}
уарт-> послати ( "СК");
уБит.дисплаи.сцролл ( "СК");
}
празнина процессБЛЕУарт () {
уинт8_т реадБуф [22];
док (1) {// петља заувек
ако ((! повезане) || (! уарт-> исРеадабле ())) {
уБит.слееп (50); // Чекати 50мс и проверите поново
цонтинуе; // Петља;
}
// Друго смо повезани и постоји неки улаз за читање
ако (уарт-> исРеадабле ()) {
док (уарт-> исРеадабле ()) {
Инт цхарЦоунт = уарт-> реад (реадБуф, 22, асинц);
ако (цхарЦоунт! = 0) {
фор (инт и = 0; и уБит.дисплаи.сцролл ((инт) реадБуф [И]);
}
}
}
}
}
/ *
ВАЖНО !!!
Охервисе вам понестане меморије!
Препоручујемо онемогућавање дфу и Евент услуге у МицроБитЦонфиг.х јер нису овде потребни:
мицробит-> Мицробит-дал-> Инц-> Цоре-> МицроБитЦонфиг.х
#дефине МИЦРОБИТ_БЛЕ_ДФУ_СЕРВИЦЕ 0
#дефине МИЦРОБИТ_БЛЕ_ЕВЕНТ_СЕРВИЦЕ 0
#дефине МИЦРОБИТ_СД_ГАТТ_ТАБЛЕ_СИЗЕ 0к500
* /
инт маин ()
{
// Инитиалисе на микро: бит рунтиме.
уБит.инит ();
уБит.мессагеБус.листен (МИЦРОБИТ_ИД_БЛЕ, МИЦРОБИТ_БЛЕ_ЕВТ_ЦОННЕЦТЕД, онЦоннецтед);
уБит.мессагеБус.листен (МИЦРОБИТ_ИД_БЛЕ, МИЦРОБИТ_БЛЕ_ЕВТ_ДИСЦОННЕЦТЕД, онДисцоннецтед);
уБит.мессагеБус.листен (МИЦРОБИТ_ИД_БУТТОН_А, МИЦРОБИТ_БУТТОН_ЕВТ_ЦЛИЦК, онБуттонА);
уБит.мессагеБус.листен (МИЦРОБИТ_ИД_БУТТОН_Б, МИЦРОБИТ_БУТТОН_ЕВТ_ЦЛИЦК, онБуттонБ);
уБит.мессагеБус.листен (МИЦРОБИТ_ИД_БУТТОН_АБ, МИЦРОБИТ_БУТТОН_ЕВТ_ЦЛИЦК, онБуттонАБ);
УАРТ = нови МицроБитУАРТСервице (* уБит.бле, 32, 32);
уБит.дисплаи.сцролл ( "Го");
цреате_фибер (& процессБЛЕУарт); // Креирање влакана и распоред га.
релеасе_фибер ();
}