This is a sample example code to get started using ESP8266NodeMCU library. Please make necessary changes.
Dependencies: ESP8266NodeMCUInterface mbed
main.cpp@0:d526a142e48f, 2015-12-20 (annotated)
- Committer:
- ARK4579
- Date:
- Sun Dec 20 08:37:57 2015 +0000
- Revision:
- 0:d526a142e48f
This is just a sample code to get Started using esp8266NodeMCU library. Please make necessary changes.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ARK4579 | 0:d526a142e48f | 1 | #include "mbed.h" |
ARK4579 | 0:d526a142e48f | 2 | #include "ESP8266.h" |
ARK4579 | 0:d526a142e48f | 3 | #include "TCPSocketConnection.h" |
ARK4579 | 0:d526a142e48f | 4 | #include <string> |
ARK4579 | 0:d526a142e48f | 5 | using namespace std; |
ARK4579 | 0:d526a142e48f | 6 | |
ARK4579 | 0:d526a142e48f | 7 | DigitalOut myled(LED1); |
ARK4579 | 0:d526a142e48f | 8 | ESP8266 ark(PA_9,PA_10,D3,115200); |
ARK4579 | 0:d526a142e48f | 9 | Serial pc(SERIAL_TX, SERIAL_RX); |
ARK4579 | 0:d526a142e48f | 10 | TCPSocketConnection gm; |
ARK4579 | 0:d526a142e48f | 11 | |
ARK4579 | 0:d526a142e48f | 12 | int main() |
ARK4579 | 0:d526a142e48f | 13 | { |
ARK4579 | 0:d526a142e48f | 14 | pc.baud(115200); |
ARK4579 | 0:d526a142e48f | 15 | int i=0; |
ARK4579 | 0:d526a142e48f | 16 | while(1) { |
ARK4579 | 0:d526a142e48f | 17 | if(i==0) { |
ARK4579 | 0:d526a142e48f | 18 | hardwareInit: |
ARK4579 | 0:d526a142e48f | 19 | pc.printf("intializing hardware,...\r\n"); |
ARK4579 | 0:d526a142e48f | 20 | if(ark.init()) { |
ARK4579 | 0:d526a142e48f | 21 | pc.printf("hardware intialized!\r\n"); |
ARK4579 | 0:d526a142e48f | 22 | i=1; |
ARK4579 | 0:d526a142e48f | 23 | nustConnection: |
ARK4579 | 0:d526a142e48f | 24 | pc.printf("connecting to NUST,...\r\n"); |
ARK4579 | 0:d526a142e48f | 25 | if(ark.connect("NUST","nust008tech")) { |
ARK4579 | 0:d526a142e48f | 26 | |
ARK4579 | 0:d526a142e48f | 27 | pc.printf("NUST Connected!\r\n"); |
ARK4579 | 0:d526a142e48f | 28 | if(ark.is_connected()) { |
ARK4579 | 0:d526a142e48f | 29 | pc.printf("connection confirmed!\r\n"); |
ARK4579 | 0:d526a142e48f | 30 | pc.printf("IP Adress: %s\r\n",ark.getIPAddress()); |
ARK4579 | 0:d526a142e48f | 31 | hostConnection: |
ARK4579 | 0:d526a142e48f | 32 | pc.printf("connecting to Host,...\r\n"); |
ARK4579 | 0:d526a142e48f | 33 | if(gm.connect("207.58.139.247",80)==0) { |
ARK4579 | 0:d526a142e48f | 34 | pc.printf("Host connected.\r\n"); |
ARK4579 | 0:d526a142e48f | 35 | |
ARK4579 | 0:d526a142e48f | 36 | char getRequest[] = "GET /testwifi/index.html HTTP/1.1\r\nHost: www.adafruit.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n"; |
ARK4579 | 0:d526a142e48f | 37 | sendGETRequest: |
ARK4579 | 0:d526a142e48f | 38 | pc.printf("sending GET request,...\r\n"); |
ARK4579 | 0:d526a142e48f | 39 | if(gm.send_all(getRequest,strlen(getRequest))>0) { |
ARK4579 | 0:d526a142e48f | 40 | pc.printf("GET requested!\r\n"); |
ARK4579 | 0:d526a142e48f | 41 | |
ARK4579 | 0:d526a142e48f | 42 | char getResponce[500]={}; |
ARK4579 | 0:d526a142e48f | 43 | pc.printf("reading responce of GET request!\r\n"); |
ARK4579 | 0:d526a142e48f | 44 | int resBytes = gm.receive_all(getResponce,500); |
ARK4579 | 0:d526a142e48f | 45 | if(resBytes > 0) { |
ARK4579 | 0:d526a142e48f | 46 | pc.printf("Responce Received!\r\n"); |
ARK4579 | 0:d526a142e48f | 47 | pc.printf("Responce:\r\n%s\r\n",getResponce); |
ARK4579 | 0:d526a142e48f | 48 | } else if(resBytes==0) { |
ARK4579 | 0:d526a142e48f | 49 | pc.printf("Empty Responce!\r\n"); |
ARK4579 | 0:d526a142e48f | 50 | goto sendGETRequest; |
ARK4579 | 0:d526a142e48f | 51 | } else { |
ARK4579 | 0:d526a142e48f | 52 | pc.printf("Resopnce NOT Received!\r\n"); |
ARK4579 | 0:d526a142e48f | 53 | goto sendGETRequest; |
ARK4579 | 0:d526a142e48f | 54 | } |
ARK4579 | 0:d526a142e48f | 55 | |
ARK4579 | 0:d526a142e48f | 56 | } else { |
ARK4579 | 0:d526a142e48f | 57 | pc.printf("GET request failed!\r\n"); |
ARK4579 | 0:d526a142e48f | 58 | goto sendGETRequest; |
ARK4579 | 0:d526a142e48f | 59 | } |
ARK4579 | 0:d526a142e48f | 60 | } else { |
ARK4579 | 0:d526a142e48f | 61 | pc.printf("Host Connection Failed\r\n"); |
ARK4579 | 0:d526a142e48f | 62 | goto hostConnection; |
ARK4579 | 0:d526a142e48f | 63 | } |
ARK4579 | 0:d526a142e48f | 64 | } else { |
ARK4579 | 0:d526a142e48f | 65 | pc.printf("sonething went wrong with connection. not connected \r\n"); |
ARK4579 | 0:d526a142e48f | 66 | goto nustConnection; |
ARK4579 | 0:d526a142e48f | 67 | } |
ARK4579 | 0:d526a142e48f | 68 | } else { |
ARK4579 | 0:d526a142e48f | 69 | pc.printf("conenction fail!\r\n"); |
ARK4579 | 0:d526a142e48f | 70 | goto nustConnection; |
ARK4579 | 0:d526a142e48f | 71 | } |
ARK4579 | 0:d526a142e48f | 72 | } else { |
ARK4579 | 0:d526a142e48f | 73 | pc.printf("hardware not intialized!\r\n"); |
ARK4579 | 0:d526a142e48f | 74 | goto hardwareInit; |
ARK4579 | 0:d526a142e48f | 75 | } |
ARK4579 | 0:d526a142e48f | 76 | } |
ARK4579 | 0:d526a142e48f | 77 | wait(1); |
ARK4579 | 0:d526a142e48f | 78 | } |
ARK4579 | 0:d526a142e48f | 79 | } |