version 1.4
Last UpDate :23 Janv 2015

Differents tests de liaisons BlueTooth avec Terminal RS232 ou tablette ARCHOS Android

Application (C18) 18F26K22 Etat PortB et 3 ADC avec module BT YC-MU
Application (C18) 18F46K22 EDFinfo + autres datas avec module BT RN41
Update 18F46K22 EDFinfo + BT RN41 + Teraterminal et appli RFO basic compilee

Lien vers test avec App Inventor beta .


Interface operateur pour Appli DOMOTIQUE
avec appli GetBlue Demo sur mobile Android

Application coté PIC18F26K22
source C18 :
18F26K22_BT_YC-MCU_LCD_DS1307_C18_130824.c
chargeur :
18F26K22_BT_YC_MCU_130824.hex
Hardware:
18F26K22 alimenté en 5V DC
Module YC-MCU alimenté en 3,6V
Module RS232 MAX2332 alimenté en 3,6V
resistance de 1K entre TX PIC et RX YMCU
copie de TX ou RX du PIC sur le RX UART MAX 2332 => espion terminal Vbray
Afficheur LCD 4x20 car sur bus I2C
Horloge RTC DS1307 sur ce meme bus I2C
A la mise sous tension , Message de presentation et date/heure
si RA5=1 on recupere l'heure en cours dans la RTC
si RA5=0 on force en dur la valeur date et time dans la RTC
La led du YC-MCU clignote
L'init du module BT YC-MCU se passe bien ( à condition de mettre un delai de retournement tres long)
Le YC-MCU ne repond que SI IL N'EST PAS APPAIRE !
Les questions-reponses s'affiche sur le LCD coté PIC.: reponse OK .etc..

images/Test_18F26K22_YCMCU_LCD_b.jpg images/Test_18F26K22_YCMCU_LCD_c.jpg images/Test_18F26K22_YCMCU_d.jpg

Ensuite il faut lancer l'appli GetBluedemo sur la tablette Android
Appairer avec le module BT de nom = linvor (nom par defaut)
La led du BT YC-MCU passe alors en feu fixe .. il est appairé !
On observe la reception de l'etat du portB sur l'Android
Commandes possibles depuis GetBlue Demo :
nota: les commandes doivent etre envoyees en hexadecimal, car on ne peut pas inserer le carriage return au clavier ascii normal
L<cr> = 4C0D => fonction toogle ON/OFF de l'affichage et envoi des 3 mesures ADC
l'etat du toogle bit est affiché sur le lCD en fin de 2em ligne Tb=0 (ou 1)
1<cr> = 310D => Mesure ADC1 (1 seule fois)
2<cr>= 320D => Mesure ADC1 (1 seule fois)
3<cr>= 330D => Mesure ADC1 (1 seule fois)
A<cr>=410D => Allume Led sur RA4
E<cr>=4510D=> Eteint Led sur RA4
R<cr>=5210D=> RAZ compteur Timeout
puis valider touche Send To DataSource

pour la mise à jour RTC, il est plus facile de le faire via le terminal (VBRAY)
U;24;08;13;06;16;58#<cr> ou coder cette chaine en hexa !!!
RA5 doit etre mis à zero pour faire une 1ere init par defaut de la RTC DS1307, puis Reset PIC.
L'heure en cours de la RTC est affichée en permanence sur la 1ere ligne du LCD
Si l'appli PIC ne recoit aucune commande dans un interval de 32 secondes, un message "Timeout.." s'affiche en 4em ligne LCD
Le Timeout est remis à zero si reception de R<cr> par le PIC ou de toute autre commande.
Toute commande recu s'affiche en Echo sur la 4em ligne du LCD

Sur l'appli
GetBlue Demo Android ,on peut donc lire l'etat du PortB et les 3 mesures ADC et commander la led RA4
C'est un outil de test ou paliatif à l'ecriture de son propre programme Android..
Mais pour l'instant , je suis bloqué par quelques problemes avec RFO basic et la liaison BT ,
suite à la MAJ de RFO Basic 01.75.=> Crash appli basic !

images/Test_18F26K22_YCMCU_Send_A.jpg images/Test_18F26K22_YCMCU_Getbluedemo.jpg



Test avec version RFO-Basic 01.75
Imposible de recevoir coté Archos .. l'appli Basic CRASH au premier caratere recu
voir echanges sur le forum
http://rfobasic.freeforums.org/f35-bluetooth-bas-crashes-basic-t1560.html
malgre OK par d'autres utilisateurs ?
Test avec envoi contigu ou separé des caractere par le PIC18 .. idem Crash Basic
test versus Basic 01.73 et 01.74.. idem Crash des le 1er caractere
Retour à une version anterieure : version Basic_0172.apk dispo ici :
ftp.laughton.com pwd=basic

Test avec version RFO-Basic 01.72
Bizarre , cette version donne 01.71 avec la variable version$()
AUCUN probleme avec cette version
toutefois, attention à la fonction BT.WRITE Data$ qui rajoute un <LF>=0x0A en fin de ligne et non pas un <CR>=0X0D
j'ai donc modifié mon Appli C18 en consequence pour tester <LF> et non <CR> sur la reception des datas emise par l'archos (RfoBasic)
source basic :
f35_bluetooth_0172_130911.bas
La situation etant bloquée coté RFO-BASIC, je ne peux pas utiliser les versions > 01.72

je me suis donc tourné
ICI :avec App Inventor ...





Application EDFInfo avec interface utilisateur sous RFO basic Android

Source basic :
BTclick_EDFinfo_131228.bas
liens vers la partie interface PIC18F46K22 et appli en MPLAB C18 :
ICI
Fichier compilé avec Appbuilder :
EDFinfo_RFObasic_1312.apk


../Domotique/images/t_EDFInfo_RFO_Android_APK_1312.jpg

Fonctionnalites :
En liaison bluettoth avec interface PIC18F46K22 equipé d'un module BTclick RN41

L'interface recoit la trame info EDF à 1200,7,E,1 bauds , qui contient le cumul Watt/heure et Intensité en Ampere, toutes les 1,2sec
Affichage de la trame complete, en petit caractere, tout en bas de l'ecran
Affichage formaté, en caracteres gras , au centre de l'ecran du Total Watt Heure
Affichage de l'Amperage en cours

Une mesure de temperature Interieure via un capteur LM35DZ (gamme 10 à 40°C)
Affichage sous la forme d'un bargraph vertical d'un thermometre + valeur numerique au sommet
Une mesure de temperature exterieure via un capteur LM335 gamme (-10 à +40°C)
Affichage sous la forme d'un bargraph vertical d'un thermometre + valeur numerique au sommet
Une info "marche Chaudiere Gaz" via un capteur LDDR, placé face au voyant marche de la chaudiere
Etat representé par le symbole d'un Radiateur Actif (rouge) ou Inactif (eteint)
Une info TOR : marche pompe du puit eaux pluviales
Etat representé par le symbole d'une pompe : Active (Rouge) ou Inactive (Gris)
L'horodatage provient d'un circuit RTC1302 avec sauvegarde par pile 3V, liaison via SPI
L'interface affiche le tout en mode local via un LCD Nokia 3310 8 x 16 cars
Les mesures moyennees sont stockee dans l'EEPROM du PIC à chaque minute => total 1Heure d'enregistrement
Une liaison UART1 vers le module BT , qui englobe toutes les donnees , synchronisees sur la trame EDF
Le module BT fonctionne avec le protocole SSP (like RS232) au format 19200,8,N,1

Dans l'autre sens : ecriture -> PIC18F
2 BP lumineux Marche/arret commande respectivement les sorties RC1 et RC2 du PIC18F
Toucher l'ecran dans la zone representant les Boutons poussoirs Rouges
Une fois la commande armée le BP rouge devient un BP Lumineux Vert..il faut le reselectionner pour revenir à l'etat repos = Rouge
La case à cocher MAJ RTC permet de remettre la RTC1302 du PIC à la bonne date et heure
(celle de l'Android Archos43)
A la validation,la commande de mise à l'heure est affichéee à coté de la case à cocher, devalider la case, pour effacer le message
Rappel:
format des trames :
envoyée par le module BT RN41
08783;29/12, 16:15:26;Pump=OFF;Chau=ON_;TExt= 59.80;TInt= 20.70;Wth = 42232038;Amp = 8;Link EDF OK
cette trame, en ascii, peut etre emise en lieu et place de l'interface PIC, pour les tests , via un Terminal sur PC et une cle BT
Trame EDFinfo envoyée par le compteur EDF sur l'UART2 du PIC18F :
My_EDF_Trame_info.txt

A suivre:
stockage local sur carte SDCard 2Go
partie grafique sur Archos
stockage distant des donnees sur fichier et serveur FTP


Remarques:

Ce module YC-MCU, pas cher ! , est en classe 2 et donc ne peut porter au dela de 30 Metres en exterieur (testé à 10M maxi en interieur)
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 en plein air (testé OK à 20M à l'interieur ) et ayant
une solide doc technique , malgré un cout quasiment du double ( 40€)

Janvier 2015
Update Appli EDF info avec RFO basic

Mise à joour cité appli C18
L'Appli tourne à (Q=10Mhz x 4 (PLL) soit) 40Mhz
Amelioration connectivité du RN41
Rajout commande RESET RN41 avant de le configurer , prevu pour se connecter soit sur PC ASUS , soit sur ARCHOS 43
Selection par entree Client_BT =RB5
Test retour info 18F_CONNECT lorsque la liaison COM est active coté distant

Apres Passage sous WIN8.1 avec New PC ASUS 6431 ....
VBRAY Terminal ne fonctionne plus correctement sous WIN8.1 en compagnie de BlueSoleil !
Donc usage de TERATERM terminal à la place.

images/Teraterm_01.jpg images/Teraterm_02.jpg
Tera Term terminal Rappel de la configuration (Setup)
images/Teraterm_03.jpg images/Teraterm_04.jpg
config Display terminal Config des commandes Broadcast
images/Teraterm_05.jpg images/Teraterm_06_BlueSoleil.jpg
Activation de la COM 14 Port A virtuel Bluesoleil connecté à COM14

Une fois réalisé, l'appairage subsiste tant qu'on ne met pas hors tension le RN41 (ou le PC !).
Il faut valider la "Connection" au service PORT A bluesoleil pour etablir le link
Des la connection établie, le module RN41 envoi le message (automatic) 18F_CONNECT au PIC18F.
(Ce message fait partie du parametrage du RN41 !)

On affiche alors coté platine PIC18F , sur la 6em ligne du LCD
en plus du status de la liaison EDF Link EDF OK ou No Link EDF, l'Etat BT=1 si on a reçu 18F_CONNECT
(sinon BT=0 si on a reçu 18F_DISCONNECT )

Appli C18
Zip contenant le source et le chargeur

Schema MAJ:


Appli RFO basic
Source :
Programme compilé :















 


paulfjujo@free.fr


common/GIF/LTC1286p.jpg



Retour à l'index general