Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@2:a2eb4f90766e, 2018-11-21 (annotated)
- Committer:
- juancarlos2018
- Date:
- Wed Nov 21 20:27:37 2018 +0000
- Revision:
- 2:a2eb4f90766e
- Parent:
- 1:b20b759ee10e
lll
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| juancarlos2018 | 0:71e6ca69d41f | 1 | #include "mbed.h" |
| juancarlos2018 | 0:71e6ca69d41f | 2 | |
| juancarlos2018 | 0:71e6ca69d41f | 3 | RawSerial pc(USBTX, USBRX); // Comunicacion serial via USB KL46Z a la PC |
| juancarlos2018 | 0:71e6ca69d41f | 4 | RawSerial dev(PTE16,PTE17); // Comunicacion serial desde KL46Z a ESP8266 |
| juancarlos2018 | 0:71e6ca69d41f | 5 | DigitalOut led1(LED1); |
| juancarlos2018 | 0:71e6ca69d41f | 6 | DigitalOut led2(LED2); |
| juancarlos2018 | 0:71e6ca69d41f | 7 | DigitalIn sw1(PTC3); // Interrupcion para cambiar |
| juancarlos2018 | 0:71e6ca69d41f | 8 | DigitalIn sw2(PTC12); // Interrupcion para cambiar |
| juancarlos2018 | 0:71e6ca69d41f | 9 | |
| juancarlos2018 | 0:71e6ca69d41f | 10 | void dev_recv() // Funcion de SerialPasstrough |
| juancarlos2018 | 0:71e6ca69d41f | 11 | { |
| juancarlos2018 | 0:71e6ca69d41f | 12 | led1 = !led1; |
| juancarlos2018 | 0:71e6ca69d41f | 13 | while(dev.readable()) { |
| juancarlos2018 | 0:71e6ca69d41f | 14 | pc.putc(dev.getc()); |
| juancarlos2018 | 0:71e6ca69d41f | 15 | } |
| juancarlos2018 | 0:71e6ca69d41f | 16 | } |
| juancarlos2018 | 0:71e6ca69d41f | 17 | |
| juancarlos2018 | 0:71e6ca69d41f | 18 | void pc_recv() // Funcion de SerialPasstrough |
| juancarlos2018 | 0:71e6ca69d41f | 19 | { |
| juancarlos2018 | 0:71e6ca69d41f | 20 | led2 = !led2 ; |
| juancarlos2018 | 0:71e6ca69d41f | 21 | while(pc.readable()) { |
| juancarlos2018 | 0:71e6ca69d41f | 22 | dev.putc(pc.getc()); |
| juancarlos2018 | 0:71e6ca69d41f | 23 | } |
| juancarlos2018 | 0:71e6ca69d41f | 24 | } |
| juancarlos2018 | 0:71e6ca69d41f | 25 | |
| juancarlos2018 | 0:71e6ca69d41f | 26 | int main() |
| juancarlos2018 | 0:71e6ca69d41f | 27 | { |
| juancarlos2018 | 0:71e6ca69d41f | 28 | pc.baud(115200); // Sincronismo de transmicion hacia la PC |
| juancarlos2018 | 0:71e6ca69d41f | 29 | dev.baud(115200); // Sincronismo de transmicion hacia el dispositivo |
| juancarlos2018 | 0:71e6ca69d41f | 30 | |
| juancarlos2018 | 0:71e6ca69d41f | 31 | pc.attach(&pc_recv, Serial::RxIrq); |
| juancarlos2018 | 0:71e6ca69d41f | 32 | dev.attach(&dev_recv, Serial::RxIrq); |
| juancarlos2018 | 0:71e6ca69d41f | 33 | |
| juancarlos2018 | 1:b20b759ee10e | 34 | dev.puts("AT+RESTORE\r\n"); // Restablese la salida en puerto del dispositivo ESP8266 |
| juancarlos2018 | 1:b20b759ee10e | 35 | wait(10); // Tiempo de espera de 1 seg. para esperar respuesta del ESP8266 |
| juancarlos2018 | 0:71e6ca69d41f | 36 | |
| juancarlos2018 | 1:b20b759ee10e | 37 | dev.puts("AT+CWMODE=1\r\n"); // configuracion en modo estacion al dispositivo ESP8266 por comandos AT |
| juancarlos2018 | 0:71e6ca69d41f | 38 | wait(1); // Tiempo de espera de 1 seg. para esperar respuesta del ESP8266 |
| juancarlos2018 | 0:71e6ca69d41f | 39 | |
| juancarlos2018 | 1:b20b759ee10e | 40 | dev.puts("AT+CWJAP=\"LEIS-1\",\"leis@3459\"\r\n"); // Se enlaza a la red de nombre "SE18" y su password "12345678" a traves de comandos AT |
| juancarlos2018 | 1:b20b759ee10e | 41 | wait(10); |
| juancarlos2018 | 1:b20b759ee10e | 42 | |
| juancarlos2018 | 1:b20b759ee10e | 43 | // dev.puts("AT+CIPSTA=\"192.168.4.3\",\"192.168.4.1\",\"255.255.255.0\"\r\n"); // Se coloca IP fijo, con el IP del Servidor y mascara /24 |
| juancarlos2018 | 1:b20b759ee10e | 44 | // wait(1); |
| juancarlos2018 | 1:b20b759ee10e | 45 | |
| juancarlos2018 | 1:b20b759ee10e | 46 | dev.puts("AT+CIPMUX=1\r\n"); // Se declara que el Modulo ESP8266 trabaje con conexciones multiples |
| juancarlos2018 | 0:71e6ca69d41f | 47 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 48 | |
| juancarlos2018 | 1:b20b759ee10e | 49 | dev.puts("AT+CIPSTA?\r\n"); |
| juancarlos2018 | 0:71e6ca69d41f | 50 | wait(1); |
| juancarlos2018 | 2:a2eb4f90766e | 51 | |
| juancarlos2018 | 0:71e6ca69d41f | 52 | while(1) { |
| juancarlos2018 | 0:71e6ca69d41f | 53 | if (sw1==0){ |
| juancarlos2018 | 0:71e6ca69d41f | 54 | dev.puts("AT+CIPCLOSE=1\r\n"); |
| juancarlos2018 | 0:71e6ca69d41f | 55 | wait(1); |
| juancarlos2018 | 1:b20b759ee10e | 56 | dev.puts("AT+CIPSTART=1,\"UDP\",\"10.1.1.130\",1001,1003,0\r\n"); // coneccion con Curu |
| juancarlos2018 | 0:71e6ca69d41f | 57 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 58 | dev.puts("AT+CIPCLOSE=2\r\n"); |
| juancarlos2018 | 0:71e6ca69d41f | 59 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 60 | dev.puts("AT+CIPSTART=2,\"UDP\",\"192.168.4.2\",1002,1003,0\r\n"); // coneccion con BJ |
| juancarlos2018 | 0:71e6ca69d41f | 61 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 62 | } |
| juancarlos2018 | 0:71e6ca69d41f | 63 | if (sw2==0){ |
| juancarlos2018 | 1:b20b759ee10e | 64 | dev.puts("AT+CIPSEND=1,8\r\n"); |
| juancarlos2018 | 0:71e6ca69d41f | 65 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 66 | dev.puts("FUNCIONA"); |
| juancarlos2018 | 0:71e6ca69d41f | 67 | wait(1); |
| juancarlos2018 | 0:71e6ca69d41f | 68 | } |
| juancarlos2018 | 0:71e6ca69d41f | 69 | } |
| juancarlos2018 | 0:71e6ca69d41f | 70 | } |