version 1.0
Last UpDate :13 sept 2013


module bluetooth JY-MCU BT-Board:
nom par defaut : linvor
@mac : 20:13:01:24:11:22


images/JY_MCU_board_a.jpg images/JY_MCU_board_b.jpg



Test avec Google App Inventor 1 Beta
maj:13/09/2013

Prealable :
Il faut avoir ouvert un compte Google adresse gmail + password
- Installer App Inventor : :Built: July 18 2013 Version: v134
- verifier la presence de Java 7u25 + simulateur android ADB.
- cle BlueTooth APM sur le PC
L'ideal est d'avoir 2 ecrans , un pour le Viewer et un pour le Blocks editor
Parti d'une version de base Bluetooth_YCMCU
principales modifs :
Propriete de Bluetooth client : le "delimiterByte" is 13, Charactere encoding" = UTF-6, case "secure" cochée!
Avec AppInventor no problemo avec usage du <CR> contrairement avec RFOBASIC.
Rajout de boutons pour envoyer les caracteres de commandes au PIC : A,E,L,R,U,1,2,3
Un BP envoi un caractere scii suivi de <CR>
sauf le "BP MAJ RTC" qui envoit une chaine de caractere contenant la date et heure , modifiable dans un "TextBox"
par activation du clavier de saisie, puis OK , rajoute "U;" en entete et <#><CR> en terminaison
de sorte à ca que le PIC reconnaisse cette sequence et mette à Jour la RTC DS13027.

Decodage trame recue pour isoler les bits du portB et les 3 mesures analogiques, apres verifixation de la longueur mini de trame.
Affichage leds etat port B
Nota: tres bonne reactivité (vitesse) par rapport à la simulation de la tablette via ADT = Archos virtuel.
La seule difficulté rencontrée a été la gestion d'affichage des leds..
la superposition d'images ne marche pas
il faut passer par la gestion de sprites : exemple ci joint :
Test_PortB_2.zip
Une image en arriere plan,permanente, represente l'etat des 8 leds OFF,
par dessus on gere un sprite Led_ON avec la proprieté Visible ou pas en fonction du decodage du message apres B=11111111
On isole et verifie que l'info utile renferme bien 8 infos contenant '0' ou '1' pour valider la suite.
La led est ON si la position du bit est "1" sinon invisible et donc on voit la partie LedOFF
Pour les test reel, j'ai relié la sortie RA4 à l'entree RB4,
de sorte à voir l'etat de l'entree changer si on fait LedON => RB4 Off
Rev BT9:
Il n'est pas explicité qu'une variable texte puisse etre utilisée comme un nombre..mais cela marche !
La demande "Read ADC1" entraine la mise à l'echelle de la valeur (ascii) * 50 et / 1024 pour une echelle 0 -50°C
Le label "Mesure1" affiche alors la valeur en unite physique XX;XX°C et non plus en points ADC. ex:1023

Rajout Parlote:
Rajout de l'ennonciation vocale de la valeur Mesure ADC1 en unites physiques (si click sur "Read ADC1")
Utilise L' application android.TTS.
Fonctionne
coté PIC18F avec : 18F26K22_BT_YC-MCU_LCD_DS1307_C18_Appinventor_130911.c
Trame envoyée par le PIC18 via BlueTooth YC-MCU:
longueur minimale ( Toogle OFF => pas de mesures ADC)
B=00101111;
moyenne : si appui sur un des 3 PB "Read ADCx"
B=00111111;M1=00407;
maxima (Toogle ON, le BP all ADCs est en Orange => les 3 mesures sont emises)
B=00111111;M1=00407;M2=00582;M3=00257;

Possibilité de faire touner l'application en cours d'ecriture sur la cible : Tablette Archos 43it, via une liaison Wifi
grace au MIT Compagnion : Appli à charger sur votre Android Tablette ou Phone
.Possibilité de suivre des varaibles ou resultats dans la fenetre du Blocks Editor
On peut ensuite sauvegarder le projet dans un Zip et le rappatrier sur le PC
et de meme compiler en 1 click, le projet en BT9.apk et le rapatrier sur le PC..
projet :
BT9.zip

images/BT9_viewer_130911.jpg images/BT9_Blocks_Editor_130912_timer.jpg images/MIT_AIC_Compagnon_linked.jpg images/Archos_BT8_test_130911a.jpg
images/t_BT9_Blocks_Editor_130912.jpg
images/t_BT9a_Blocks_Editor_130912_parole.jpg
Viewer : definition des elements Blocks editor MIT Compagnion :
activation du lien WIFI
Application en live
sur l'archos 43IT

A suivre : modif pour eviter de traiter le message error timeout
voir Autre Appli Domotique :
EDFinfo....

Remarques:
Ce module YC-MCU, pas cher ! , est en classe 2 et donc ne peut pas porter au dela de 20 Metres.(testé à 15M maxi)
Il est suffisant pour la majorité des cas, mais je lui prefere le Bluetooth-click RN41 de classe 1
presentant beaucoup plus de possibilité, portée theorique 100M (testé OK à 30M) et ayant
une solide doc technique , malgré un cout plus elevé ( 40€)



03/02/2016
Application avec AppIventor 2

Impossible de récuperer une appli Appinventor1 .. c'est bien dommage !

Montage HARDWARE :

images/t_BlueTooth_HC06_18F2550_Test_160116.gi  
   

Module StartUsb 18F2550, avec bootloader incorporé
La liasion USB alimente le tout en 5V et permet le upload du programme *.hex
Ce module BT est tolerant 5V ..

Appli MikroC coté MCU PIC

Hardware :
Un module HC06 est relié au PIC18F2550 via l'UART1 RC6 RC7
rajout test STATE HC06 sur input RB2
Timer1, en mode interrupt, passé à 100mS pour tester le clignotement STATE HC06
si on detecte un passage à Zero, c'est qu'on clignote et donc NON Appairé ,NON CONNECTE
si led fixe (pendant 1sec ) STATE=1 => OK .. donc APPAIRé & CONNECTé
En fin d'init du module HC06, on passe en surveillance de l'etat HC06, dans une boucle d'attente de 3mn maxi
pour declarer celui ci connecté ou pas .
L'afficheur LCD montre l'etat de connection via le parametre LI=1 ( LIaison OK) ou LI=0 (LIaison BAD)
Problemo:
led verte sur RB1 ... same pin as I2C1 SCL
led verte passée via un fil F-F sur pin RB4 => compilation conditionnelle

// rajout LCD 4x20 car en I2C1
// Essai du LCD 4x20 I2C mode
// SCL = 4 connecteur LCD --> B1 18F2550
// SDA =3 connecteur LCD -> B0 18F2550
// il faut bien rajouter des resistances (2,7K) de rappel sur L'I2C ..
les pull ub PORTB ne suffisent pas

SOFTWARE:

On peut commander les 2 leds Verte et Rouge de cette carte.
Commande Toggle = telerupteur (à associer à une sortie)
recuperer la valeur Analogique RA0, et retour des etats de commandes

Commandes reconnues par l'Appli MC :
RED_ON, ou RED_OFF
GREEN_ON, ou GREEN_OFF
TOGGLE change alternativement un bit à 0 ou à 1 , utilisé ici pour valider l'affichage de la mesure ADC sur le LCD
HELP pour liste des commandes

Toutes les secondes, la trame suivante est envoyée :"
LR=.;LV=.;TO=.;LI=.;EA0= ...; ...,.. "<CR>
Les divers champs sont completes par les valeurs en cours, et délimités par des ";" pour que l'appli Appinventor puisse les reperer facilement
L'etat connecté du module BT est surveillé en permance .
message "PB liaison B.T. " sur l'afficheur LCD, si perte de connection

Tests prealables avec BlueSoleil , Appli bluetooth sur PC (+ cle USB/Blootooth)


Designer Appinventor 2

Nota: Le design sur PC differe legerement du design reel sur mon Archos43 It


Le programme Appinventor2

images/blocks_160126.jpg
Bloc HC06_160127.aia



Mode d'emploi:
Appuyer sur BT selection
La liste des divers equipements B.T. environnant appait alors
Selectionner le module concerné . ici HC06-2187-J
le J pour Pastille JAUNE collé dessus ( vu que j'ai 3 autres module HC06)
Les BP Marche (ON) Arret (OFF) de chaque Leds
Nota: la discordance est gérees dans l'appli inventor , il se peut que le boton passe en Jaune
si la commande n'est pas encore realisé en fonction du retour d'info momentané.
Un vrais test de discordance serait de commander un relais, et d'envoyer en retour un contact du relais commandé
Si ce relais est alimenté en 12V et que le 12V disparaisse (mais pas le 5V MCU !), on serait en permanence
en discordance suite à une commande ON. De meme l'eat ON de la led ne serait pas affiché
On affiche que l'etat reel des sorties Led ON ou Led OFF.
Dans la zone info , en bas de l'ecran smarphone, on affiche la valeur en points de l'ADC
et la Temperture en degres correspondante du capteur LM35DZ
En bas, a droite de l'ecran ,
un icone BlueTooth apparait si le PIC et Smartphone sont effectivement connectés.

TEST REELS avec smartphone
Telecharger l'appli *.apk dans le telephone.. le plus simple est par liaison USB avec le PC
AUTORISER Application Inconnue
Installer l'application sur le Smartphone .. ex: avec ESFiles
L'appairage, si non realisé auparavant, necessitera d'entrer le code PIN "1234"
Le
Smartphone doit etre VISIBLE et AUTORISER cette connection !

















paulfjujo@free.fr


common/GIF/LTC1286p.jpg



Retour à l'index general