send and receive data with bluetooth module hc05
Dependencies: atterm hc_05 mbed
main.cpp
- Committer:
- rainerraul
- Date:
- 2018-08-27
- Revision:
- 7:cc8eacadcf09
- Parent:
- 6:eb3f0392ebd9
- Child:
- 8:d597a92014c4
File content as of revision 7:cc8eacadcf09:
#include "mbed.h" #include "at.h" #include "hc05.h" bt_modul_hc05 hc05; DigitalOut led1(LED1); char *receive, *ok; void menu(); void getInfo(); void options(); int main() { pc.terminal_init(38400, ON); hc05.initUART(UART6, 38400, OFF); wait(1.0); pc.pc_send("\r\nInfo: please type '?' for menue options\r\n", ""); while(1) { wait(0.5); menu(); } } void menu() { if(strncmp(pc.buffer, "pin", 3) == 0) { pc.pc_send("set pin: %s", hc05.set_modul_pincode(pc.buffer + 4)); } else if(strncmp(pc.buffer, "name", 4) == 0) { pc.pc_send("set name: %s", hc05.set_modul_name(pc.buffer + 5)); } else if(strncmp(pc.buffer, "mastermode", 10) == 0) { hc05.init_master_fixed("0000", "nucleo", "2015,11,27524"); pc.pc_send("master init OK\r\n", ""); } else if(strncmp(pc.buffer, "role", 4) == 0) { ROLE r; if(strcmp(pc.buffer + 5, "1") == 0) { r = MASTER; } else if(strcmp(pc.buffer + 5, "0") == 0) { r = SLAVE; } pc.pc_send("state role: %s", hc05.set_modul_role(r)); } else if(strncmp(pc.buffer, "uart", 4) == 0) { pc.pc_send("set uart: %s", hc05.set_modul_uart(pc.buffer + 5)); } else if(strcmp(pc.buffer, "info") == 0) { getInfo(); } else if(strcmp(pc.buffer, "search") == 0) { pc.pc_send("%s", "CMD:ADDR0:ADDR1:ADDR2,CLASS,RSSI\r\n"); pc.pc_send("%s", hc05.search_device()); } else if(strcmp(pc.buffer, "end search") == 0) { pc.pc_send("end search: %s", hc05.set_modul_inqc()); } else if(strncmp(pc.buffer, "send", 4) == 0) { hc05.data_send(pc.buffer + 5); pc.pc_send("Data send\r\n", ""); } else if(strcmp(pc.buffer, "?") == 0) { options(); } pc.clear(); } void getInfo() { pc.pc_send("state: %s\r\n", hc05.get_modul_state()); pc.pc_send("own address: %s\r\n", hc05.get_modul_address()); pc.pc_send("name is: %s\r\n", hc05.get_modul_name()); pc.pc_send("pin is: %s\r\n", hc05.get_modul_pincode()); pc.pc_send("role is: %s\r\n", hc05.get_modul_role()); pc.pc_send("uart settings are: %s\r\n", hc05.get_modul_uart()); } void options() { pc.pc_send("\r\n********* Menu ***********************************\r\n\r\n", ""); pc.pc_send("Pincode read type in 'pin'\r\n", ""); pc.pc_send("Name read type in 'name'\r\n", ""); pc.pc_send("Set to Mastermode type in 'mastermode'\r\n", ""); pc.pc_send("Set to Role type in 'role 0, 1 or 2'\r\n", ""); pc.pc_send("Set to UART type in 'uart baud, startbit, parity'\r\n", ""); pc.pc_send("Info Modul settings type in 'info'\r\n", ""); pc.pc_send("Search other BT-Moduls type in 'search'\r\n", ""); pc.pc_send("Cancel search type in 'end search'\r\n", ""); pc.pc_send("Send Data to Connected type in 'Strings'\r\n", ""); pc.pc_send("Display this Menue type in '?'\r\n", ""); pc.pc_send("\r\n********* End Menu ********************************\r\n", ""); }