version 1.5
Last UpDate :28 mars 2015

Differents tests de liaisons Blue Tooth avec Terminal Vbray ou tablette ARCHOS Android

Application (C18) GeneBF DDS 18F26K22 en liaison bluetooth avec AMARINO.apk
BlueTooth module YC-MU : Test en mode AT
Reseau BlueTooth sur PC
Appli en VB6 pour GeneBF DDS
Appli GeneBF DDS
Interface Operateur RFO-Basic pour Appli DDS via BT HC06 et Tablette Android Archos43it

Application PIC18F46K22 en liaison BLUETOOTH avec Tablette ARCHOS 43 it
But :
Etablir une liaison et dialogue SANS FIL entre une application basée sur un PIC18F46K22 40pins et une tablette Archos 43it

Coté interface d'acquisition PIC:
Pic 18F46K22 pour sa grande taille RAM et EEPROM et tres grande capacite Flash
L'interface assure l'acquisition de 2 valeurs ANA 10 bits, // extensible à ..... par la suite
Gere en local, un afficheur LCD 2x16 car
Une liaison UART RS232
Une liaison reception code IRC5
Un interface BlueTooth_Click de chez MikroE :
docu MikroE trop succinte , voir ces liens Techniques :
http://www.rovingnetworks.com/products/RN_41
http://www.rovingnetworks.com/resources/download/47/Advanced_User_Manual

photo schema
Mikroelektronika
module bluetooth_click
Mac NO : 00-06-66-07-DB-49
FCC ID: equipé de T9-JRN41-1
2 rangees de 8 pins au pas de 2,54mm
Alim 3,3V
 


Programmation via ICSP et PICKIT2 : mobilisation de RB7 et RB6
Nota:
attention, mettre à jour eventuellement PICKIT2 et sa base de donnée pour inclure le 18F46K22
C:\Program Files\Microchip\PICkit 2 v2\PK2DeviceFile.dat 180Ko du 04/10/2011

Phase primordiale : Test du module BlueTooth
en direct via
Terminal Vbray RS232

Il suffit d'alimenter le module blue tooth en 3,3V via un regulateur TS2940-3,3 à partir du 5V
et relier la liaison RS232 Terminal, via un DS275 , aux pins du Bluetooth:
- relier respectivement 3 RS232 ---pin 5-- DS275 --pin 3 RX ---via R=750 ohms au pin Tx --module BlueTooth_Click
- relier respectivement 2 RS232 ---pin 7-- DS275 --pin 1 TX --- via R=750 ohms au pin Rx du module BlueTooth_Click

images/PIC_BT_PC_link.jpg
   



nota:
usage de R=750 ohms pour limiter le courant d'entree (j'aurais pu ausi mettre un pont diviseur de tension !),
car les niveaux TX et RX du module Blue Tooth ne sont pas compatible TTL 5V !
Aiguillage SW1 sur DS275 (voir schema)

Voir resultat et reponses aux commandes : Test Module Bluetooth
Le fichier de config des touches du Terminal Vbray : BTC_2012.tmf


On doit absolument pouvoir recuperer toutes ces infos ,pour valider le fonctionnement du module,

avant de continuer.
dont :
BTName = (was BlueTooth-Click is ) MyBT-DB49
PinCod=1234
qui serviront à la config d'association Bluetooth dans la tablette ARCHOS !




Déboires rencontres et remedes :
Probleme de niveau RS232 avec le DS275:
Celui ci ne peut pas fonctionner sous 3,3V ,il lui faut un mini de 3,6V
le mieux etant de l'alimenter au nominal de 5V. ne pas oublier alors la resistance de 750 à 1K
pour limiter le courant d'ecretage sur la pin d'entree du TX module BT
celui étant alimenté OBLIGATOIREMENT. en 3,3V.
Cela permet de faire des test avec des PIC18Fxx en 5V ou en 3,6V genre PIC18LFxxx

Perte de l'acces Config du module BT via termminal @115200 bauds
DS275 boucle entre Tx=1 et Rx=3 => cra cra sur ecran
il faut descendre la vitesse à 38400 bds pour avoir un echo correct !
Impossible de re-obtenir la config via terminal
echange DS275 -> negatif ..idem
Notice Bluetooth-RN-UM.pdf page 6 para 3.4
Using dip switch and PIO for config
Essai de Factory Reset avec PIO4 relié à la masse -> negatif
Strap J4 pour relier PIO4 au +3V via rappel R3 de 1K (voir schema) ->Negatif
Essai de modifier Baudrate à 9600 bds
Contre-mesure:

en strappant J5 PIO7 relié au +3V via R4=1K

ON=9600 OFF=115200
OK j'ai sur l'ordre "$$$" le retour "CMD" à 9600 bds sur le terminal



Reception de carracteres incongrus n'ayant aucun rapport avec ce qui devrait etre..
La vitesse de l'appli PIC est differente de celle imposée dans le module BlueTooh !
Contre-mesure:
Via un terminal directement connecté au module BT, envoyer la bonne sequence d'init vitesse en bauds
ou modifier coté appli microcontroleur .

Affectation des E/S du PIC:
RB7 , RB6 mobilisé uniquement pour ICSP
RC7, RC6 pour liaison UART1
L'afficheur LCD est géré en mode 4 bits via :
- D7,D6,D5,D4 comme PORT DATA LCD
- C5 et C4 pour le Control du LCD
RB0 pour la reception IRC5, car besoin de l'interrupt Prioritaire sur RB0
recevant la sortie du capteur TSOP1736
Afin de garder des quartets entiers dispos : D0..D3 et C0 ..C3

Pinout et schema

Pinout Schema  ISIS
Bill Of Materials For 18F46K22 18F46K22_LCD_UART_IRC5.DSN


Reseau BlueTooth sur PC

Installation d'une cle USB/Bluetooth APM 571190 portee maxi 100M ! (classe 1)


Livree avec un miniCD pour installer BlueSoleil.

PIC avec module BlueTooth-Click alimenté
Tablette Archos43it sous tension et BlueTooth link Activé :
...Valider la possibilite de reconnaissance, valider les associations
Lancement de recherche d'equipement sur PC BlueSoleil
Lancement des services : Port serie via bluetooth !
vue du reseau B.T.

 

Attention au pare-feu NORTON, donner les autorisations reseau!
Norton Reseau
Connection reseau local 3
IVT Corporation
En ligne
00-15-83-2B-6D-87
PAN IP 192.168.50.1

Noter que le reseau a bien decouvert l'interface BlueTooth-Click, la Tablette ARCHOS, et un telephone qui traine ...
On peut ainsi relier , via bluetooth, le Terminal VBRAY du PC via COM10,
Verifier que la vitesse en bauds soit correcte sur le terminal!
à l'appli basic RFO sur archos :
_Bluetooth_120326.bas

On verifie le dialogue sur le terminal :

 link VBray  to Archos

2 liaisons BlueTooth distinctes et simultannees via BlueSoleil
Terminal TERATERM en liaison 19200,8,1,N avec appli EDFInfo via BT RN41
Terminal VBRAY (version 2013) en liaison 9600,8,N,1 avec Appli DS1631 via BT HC06

PIC 18F46K22 EDFinfo 19200 -> RN41 MyBT-DB49 ))))) ((( APM BT USB Bluesoleil service Port A 19200 COM14 SSP TeraTerm1
PIC 18F26K22 DS1631 9600 -> HC06-2187-J )))) ((( APM BT USB BlueSoleil service Port B 9600 COM15 SSP Vbray Terminal

images/BlueSoleil_2_BT_links_TeraTerm_VBRAY.jpg



Test du link Bluetooth PIC18F46K22 vers Archos

Aiguillage SW1 sur Bluetooth_Click (voir schema)
Coté PIC : Software (MikroC
version Demo)

Source : My_BlueTooth.c



Au lieu de connecter Rx TX à l'interface DS275 RS232 --> terminal VBray,
- relier respectivement PIC RC7 = Rx via R=750 ohms au pin Tx du module BlueTooth_Click
- relier respectivement PIC RC6 = Tx via R=750 ohms au pin Rx du module BlueTooth_Click

Coté tablette ARCHOS
Parametres
Applications
Developpement
Faire une
capture d'ecran au lieu de passer en veille via BP marche/arret (Cocher)

Parametres
Sans fil et reseaux
BlueTooth ...
activer le bluetooth (Cocher)
BlueTooth : Gerer les connections
nom de l'appareil ( Archos43)
Identifiable : permettre l'
identification de l'appareil ( pendant 120 sec!!) (Cocher)
Rechercher des appareils:
MyBT-PC relié mais pas connecté

MyBT-DB49 relié mais pas connecté
N5310 relié mais pas connecté
on les voit aussi tous les 3 ,sur le reseau BT.

 

Active BT Aidentification Recherche

coté PIC18F46K22 + interface BT:
Source C18 et Hex: 18F46K22_BT_Archos.zip


coté Archos
Lancer RFO basic et charger le programme _Bluetooth_Click_120410.bas
Basic RFO v 01.50
Apres initialisation , recherche de connection avec device BlueTooth
Une fois connecté l'echange de donnees est operationnel.. ici toutes les 2 secondes. (Timer1 du PIC)
Affichahe d'un indice envoyé par le PIC, puis de 3 mesures Analogique
L'archos repond en renvoyant un numero de reception de trame.

Active BT Active BT
BT connection Echange de datas


Autre version avec source MikroC avec afichage sur LCD en local sur le PIC et envoi des datas via UART sur le Bluetooth interface.
Affichage distant: sur PC avec Terminal Vbray sur COM8 ( vitual com sous resau BlueSoleil)

source ; 18F46K22_UART_LCD_IRC5_120415_MC.c
Chargeur : 18F46K22_uart_Lcd_Irc5_MC_120415_ok.hex
par defaut rien ne se passe

Le PC ( ou l'archos) doit alors envoyer une commande:

A=Allumme led RA4
E=Eteint Led RA4
L=Lecture permanente des ADC CH0, CH1,CH2 ( L = commande Toogle !)
1= lecture ADC CH0 (Commande One shot !)
2= Lecture ADC CH1 (Cde One Shot)
I= Lecture code telecommande IRC5 (I=Cde Toogle)
H=Help 'Cde One Shot)


Arrivant aux limites de 2K sur MikroC, je suis obligé de revenir au C18 Mplab !
Version C18 :
18F46K22_BluetoothClick_link_Arkos_C18_120420.c

Memes fonctionalites que ci-dessus avec en +
Dans la boucle principale on attent soit la fin du timer1 de 2 secondes, soit l'arrivée d'un caractere
si au bout de 32 secondes , on a AUCUNE reception, on affiche alors un message de Timeout sur le LCD !
Coté appli Archos, il faut se debrouiller à envoyer systematiquement le caracter R pour remettre à zero le timeout
cet echange permet de valider l'echange de donnees (equivaut à un bit de vie d'Automate!)
donc en situation normale il ne devrait jamais apparaitre de message Timeout!

Reseau Bluetooth Reseau Bluetooth Reseau Bluetooth
vue du reseau bluetooth (BlueSoleil) connection PIC BlueTooth à COM Terminal Echange entre PC et PIC



Application PC en VB6
Petite appli montrant la connectivité entre une appli PIC18F26K22 + bluetootth-click
et echange sur PC windows XP via un interface en VB6



coté Inteface PIC18F26K22:

L'appli C18 reagit à l'envoit des commandes suivantes recues : 1,2,3,L,A,E
la mesure de l'ADC #1 ou #2 ou #3
la commande L est une commande Toogle (ON/OFF) et renvoi les 3 mesures ADC #1#2#3
La commande A Allume la led rouge , la commande E eteint la led
Si l'appli C18 ne recoit pas de commande "R" en moins de 32 seconde , envoie le message " Timeout depasse 32 sec"

source C18 :18F26K22_BluetoothClick_link_Arkos_C18_120505.c

coté PC
cle USB Bluetooth et Bluesoleil activé!
package complet en VB6 : VB6_PIC_BT_Package.zip qui contient :
Vb6_PIC_BT_120511.exe
Bluetooth_SSP_PIC_PC_VB6_120506.doc
MSCOMFR.DLL
MSCOMM32.OCX

Definir tout d'abord le port COM #1..13 ,dans mon cas , le port#8 est utilisé comme passerelle UART via le reseau BlueSoleil
Il faut selectionner le PORT et la VITESSE pour voir le controle "Connecter" valide.
Une fois connecté , l'egrenage des secondes s'affiche en haut et
L'interface permet d'envoyer les commandes precisées ci dessus.
Un timer calé sur 10 secondes envoye systematiquement la commande "R" permettant d'eviter un "timeout" (voyant rond vert!)
et garantit ainsi la liaison, si on n'envoye pas de commande.
La commande L , une fois activée permet la lecture permanente des 3 voies ADC
Une nouvelle commande L annulera donc cet envoi.
Les 3 mesures ADC sont affichées en points, et en volts ( +VREF=+5V et -VREF=Gnd)
L'etat reel des Led represente l'etat du PORT B ( inverse, car allume led= etat zero , car led tiree au +5V)
L'etat portb est representé aussi en binaire.
Le champ Retour : affiche la trame recue en reception
Le champ Autre commande permet d'envoyer Autre chose !
.



GeneBF DDS minimaliste, interface Bluetooth JY-MCU,
version PIC18F26K22
(avril 2013)
(DIP28 broches)

Ici, c'est une tablette ANdroid ou Iphone qui sert d'interface utilisateur .
ni LCD, ni terminal RS232, ni Keyboard ou Joystick
..
Montage Hardware
(prototype) :

DDS_18Fx6K22_DAC5b_BT_AMARINO_130415 18F26K22_AMARINO_test
schema et liste des commandes Prototype : led module BT clignote si link OK

Le LCD, et les 5BP (ou Joystick) interface utilisateur sont remplacés par un interface distant, sous Bluetooth.
Un module BT YC-MCU (
dispo at MiniInthebox pour ~16€)
est relié à l'UART du PIC via 2 R de 1K protection niveau 3,3V au lieu de 5V !
et c'est tout ..hardware tres depouillé !
module bluetooth JY-MCU BT-Board:
nom par defaut : linvor
@mac : 20:13:01:24:11:22
nota: module BT non reconfiguré, utilisé en version originale sortie d'usine.

images/JY_MCU_board_a.jpg images/JY_MCU_board_b.jpg


Tests JY-MCU en mode commandes AT

document technique :
HC Serial Bluetooth Products 201104.pdf
le module JY-MCU , alimenté en 3,3V , est connecté directement sur le terminal VBRAY (COMx du PC )
via un interface RS232 (Max3232 nivaux TTL en 3,3V)
La config RS232 : 9600,8,N,1
A la mise sous tension, la led rouge doit clignoter ( signifie NON APPAIRES).
Les commandes AT ne peuvent passer qu'en mode NON APPAIRES. (led fixe=mode appairé)
avec cet interface, le mode AT est tres Reduit et se limite à quelques instructions possibles :
ATTENTION :
*
pas de CR ni LF en fin de commande
*
delay significatif (1seconde!) à respecter apres chaque envoi de commande AT
AT
(sans CR ni LF) --> reponse OK
AT+VERSION -------> reponse OKlinvorV1.5
AT+BAUD6 ----------> reponse OK38400
AT+BAUD5 ----------> reponse OK19200
AT+BAUD4 -------> reponse OK9600 (valeur par defaut )
AT+BAUD3 ----------> reponse OK4800
Nota: si on modifie la vitesse, il faut se caler sur celle ci pour pouvoir la remodifier ou continuer le dialogue! of course !
AT+PIN1234 --------> reponse OKsetPIN le code à fournir pour l'appairage coté host (PC) sera donc 1234
qui est la valeur par defaut (code Usine)
fichier script
YC-MCU_init.tsc Terminal VBRAY pour l'init du module :



ATTENTION PIEGE ! : AT+NAME? ---> reponse OKsetname et donne comme nouveau nom ?
faire donc AT+NAME
MyJYMCU ---> reponse OKsetname et donne comme nom: MyJYMCU
On ne peut donc pas interroger le nom ! .
mais on peut verifier celui ci avec PC BlueSoleil + cle BT , en reactulisant les services
et on voit bien apparaitre le NOUVEAU NOM sous le device correpondant à l'adresse du YC-MCU


images/Change_Name_YMCU.jpg


Appli GENEBF DDS PIC18F

Tests prealable avec un terminal RS232
Dialogue via bluetooth entre le PIC et son interface JY-MCU
et le PC (terminal) equipé d'un module Bluetooth APM
Le logiciel BlueSoleil permet de creer une liaison virtuelle au terminal RS232 VBray avec un module bluetooth

BlueSoelil_JY-MCU_linvo 18F26K22_DDS_DAC5b_BlueTooth_130413
liaison avec PC terminal COM9 PIC18F26K22 en liaison Bluetooth avec PC ou tablette

Les messages d'initialisation doivent apparaitre sur le terminal
En fin d'init le PIC delivre 1000Hz en sortie de RA2 , puis passe par le double ampli OP , pour le reglage de niveau
et adaptation d'impedance.
Forme d'onde via touches de fonction S(inus),C(arre),T(riangle),D(ent de scie),R(everse dent de scie)
Frequence prereglées sur touches de fonction : introduire Fxxxxx# pour autre valeur quelconque

  images/Change_Name_YMCU.jpg images/Change_Name_YMCU.jpg


Interface operateur pour GENEBF DDS
avec appli AMARINO sur mobile Android

Hardware reduit à sa plus simple expresion.
L'interface operateur est 100% externe : c'est une tablette ARCHOS 43it
Inconvenient de cette super simple solution :
- liaison unidirectionnelle Archos ->PIC
- L'Archos43it ne recoit pas de compte rendu




Amarino est utilisé tel qel , avec les Flags suivants :
S,C,T,D,R, pour les formes d'ondes respectives Sinus,Carre,Triangle,Dent de scie,Reverse dent de scie
A pour l'amplitude maxi 1,2, ou 4V
et F pour regler la frequence : "Fxxxxx#" , valeur sur 5 digits comprise entre 1 et 25000 (hz) suivi du terminateur #

links to Amarino :
http://chetanpatil.info/1/post/2011/12/android-talking-to-arduino.html
http://www.amarino-toolkit.net/index.php/tutorials.html
Le programme coté tablette Archos :
Amarino 2.0.apk

choix du device "linvor" ( nota: MyBT-DB49 concerne un autre module Bluetooth-clik 18F46K22 et appli MikroC)
exemple: envoi de la consigne frequence 2500Hz avec le flag F suivi de 02500 et terminateur #

coté Archos : appli Amarino 2.0 envoi consigne frequence 2500 Hz


le programme coté PIC
: (MPLAB C18)
18F26K22_DDS_DAc5b_Amarino.zip

GeneBF DDS sous RFO-basic coté Tablette Android Archos
rev 17/12/2014
RFO-Basic v 0184
Essai de compilation APK avec RFObasic-Appbuilder ..Compilation OK, mais APK crash.
Alors que ce progrmamme *.bas tourne bien dans RFO-Basic.!

source RFO-Basic : PIC_DDS_10Mhz_BT_Archos_141218.bas

Package Application C18 Pic18F46K22 : 18F46K22_DDS_10Mhz.zip
Meme
Schema PIC18F sauf que le module BT est un HC06 avec 6 pins.
Le PIC18F gere la pin ENable pour initialiser le module BlueTooth en mode dialogue.
Sachant qu'à la mise sous tension la led rouge du module doit etre clignotante, passe en fixe, seulement si connection BT OK avec Archos.
Attention: l'ARchos n'est decouvrable que pendant 120 secondes !

1ere Tentative de compilation application:
Usage de RFO-Appbuilder .Compilation OK

mais l'appli CRASH des que la connection BT avec le module HC06 est etablie.
Connected to HC06-2187-J
à noter :
l'init BT se fiat dans le mode texte , puis on passe en mode grafique des la connection etablie !
L'init du module BT , lors de la mise sous tension est assez aleatoire !
Sinon , l'appli tourne correctement dans l'environnement RFO-BASIC.
Essai aussi avec QUICK_APK :
crash immediat

plus tard ...
2eme Tentative de compilation application: OK ,et RUN apk : OK
voir details ICI ( DDS_18Fx6K22_10Mhz.htm)

Remarques:

Ce module YC-MCU, pas cher ! , est en classe 2 et donc ne peut 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 quasiment du double ( 40€)
De plus , aucun aléas d'init , constaté avec ce moduel.

paulfjujo@free.fr


common/GIF/LTC1286p.jpg



Retour à l'index general